/* SIL 2026 v2 — «Plató, no feria». Dirección de arte: SIL-Web-2026/diseno-v2/DIRECCION-DE-ARTE.md
   Naranja #F39200 · Carbón #232526 · papel ≈#EDEDEB · Montserrat (puente hasta tener Cocogoose) + Roboto, autoalojadas.
   REGLAS DE CONTRASTE (calculadas): texto sobre naranja = CARBÓN (6,54:1); naranja sobre claro solo en filetes/decoración, NUNCA texto (2,01:1);
   naranja sobre carbón SÍ vale como texto (6,54:1). Secuencia fija: plató (carbón) → guion (papel) → luz (naranja, una vez) → créditos (pie carbón).
   Rejilla única 4/8/12 columnas · escala de espacios 4 8 12 16 24 32 48 64 96 128 160 · sin sombras, sin píldoras, sin pesos 800/900. */

/* ---------- Fuentes (autoalojadas, variables) ---------- */
@font-face { font-family: "Montserrat"; src: url("../fonts/montserrat-var-latin.woff2") format("woff2"); font-weight: 300 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Roboto"; src: url("../fonts/roboto-var-latin.woff2") format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap; }

/* ---------- Tokens ---------- */
:root {
	--sil-orange: #F39200;
	--sil-orange-hover: #FFA51F;   /* carbón sobre #FFA51F = 7,81:1 */
	--sil-carbon: #232526;
	--sil-carbon-hover: #3A3D3F;   /* blanco sobre #3A3D3F = 10,94:1 */
	--sil-ink: #1B1D1E;
	--sil-paper: #EDEDEB;          /* blanco roto del manual (aprox.; no hay HEX oficial) */
	--sil-on-dark-2: #B9BDBF;      /* 8,13:1 sobre carbón */
	--sil-on-paper-2: #51575A;     /* 6,26:1 sobre papel; 7,34:1 sobre blanco */
	--sil-line-dark: rgba(255, 255, 255, .16);
	--sil-line: rgba(35, 37, 38, .14);

	--f-display: "Montserrat", "Segoe UI", system-ui, sans-serif;
	--f-text: "Roboto", system-ui, -apple-system, "Segoe UI", sans-serif;

	--container: 1360px;
	--gutter: clamp(20px, 5vw, 72px);
	--cols: 4;
	--gap: 16px;
	--header-h: 76px;
	--s-sec: clamp(96px, 4.5vw + 80px, 112px);
	--s-hero-top: calc(var(--header-h) + 32px);
	--r: 6px;

	--t-xl: clamp(2.75rem, 1.25rem + 6.1vw, 6rem);
	--t-display: clamp(2.375rem, 1.45rem + 3.9vw, 4.5rem);
	--t-h1: clamp(2.25rem, 1.3rem + 3.5vw, 4.25rem);
	--t-h2: clamp(1.75rem, 1.2rem + 2.3vw, 3rem);
	--t-h3: clamp(1.1875rem, 1.05rem + .55vw, 1.5rem);
	--t-lead: clamp(1.125rem, 1rem + .5vw, 1.375rem);
	--t-body: 1.0625rem;
	--t-ui: 1rem;
	--t-meta: .75rem;
	--t-num: clamp(2.5rem, 1.8rem + 2.6vw, 4rem);

	--ease-out: cubic-bezier(.23, 1, .32, 1);
	--ease-in-out: cubic-bezier(.77, 0, .175, 1);
	--d-press: 140ms; --d-ui: 200ms; --d-enter: 500ms;
	--ease: var(--ease-out);
	interpolate-size: allow-keywords;
}
@media (min-width: 600px) { :root { --cols: 8; --gap: 20px; --s-hero-top: calc(var(--header-h) + 64px); } }
@media (min-width: 1024px) { :root { --cols: 12; --gap: 24px; --s-sec: clamp(150px, 2.5vw + 124px, 160px); --s-hero-top: calc(var(--header-h) + max(96px, 8vw)); } }

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--header-h) + 12px); scrollbar-color: rgba(255, 255, 255, .34) var(--sil-carbon); }
body { margin: 0; font: 400 var(--t-body)/1.65 var(--f-text); color: #fff; background: var(--sil-carbon); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: hidden; }
img, svg, video { max-width: 100%; height: auto; }
h1, h2, h3, h4 { font-family: var(--f-display); margin: 0; hyphens: auto; overflow-wrap: break-word; text-wrap: balance; }
p { margin: 0 0 1em; text-wrap: pretty; }
a { color: inherit; text-decoration-color: var(--sil-orange); text-underline-offset: .2em; text-decoration-thickness: .1em; }
ul, ol { margin: 0; padding: 0; }
address { font-style: normal; }
::selection { background: var(--sil-orange); color: var(--sil-carbon); }
input, textarea, select { caret-color: var(--sil-orange); }
:focus-visible { outline: 2px solid var(--sil-orange); outline-offset: 3px; }
.sil-section--paper :focus-visible, .sil-section--orange :focus-visible { outline-color: var(--sil-carbon); }
.sil-section--dark :focus-visible, .sil-header :focus-visible, .sil-footer :focus-visible, .hero :focus-visible, .sil-pagehead :focus-visible { outline-color: var(--sil-orange); }
.sil-visually-hidden { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.sil-skip { position: fixed; left: 12px; top: -80px; z-index: 100; background: var(--sil-orange); color: var(--sil-carbon); padding: 14px 20px; border-radius: var(--r); font: 500 var(--t-ui)/1 var(--f-text); text-decoration: none; }
.sil-skip:focus { top: 12px; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
.ar { width: 1.25em; height: 1.25em; flex: none; display: inline-block; vertical-align: middle; }

/* ---------- Rejilla y superficies ---------- */
.sil-wrap, .sil-wrap--wide { width: min(100% - 2 * var(--gutter), var(--container)); margin-inline: auto; }
.sil-grid { display: grid; grid-template-columns: repeat(var(--cols), minmax(0, 1fr)); column-gap: var(--gap); }
.sil-main { display: block; }
.sil-section { padding-block: var(--s-sec); position: relative; }
.sil-section--paper { background: var(--sil-paper); color: var(--sil-ink); }
.sil-section--dark { background: var(--sil-carbon); color: #fff; }
.sil-section--orange { background: var(--sil-orange); color: var(--sil-carbon); }
.sil-section .sil-wrap > :last-child { margin-bottom: 0; }
/* Dos secciones contiguas del mismo sustrato se separan con un filete, no con otro color */
.hero + .sil-section--dark, .sil-section--dark + .sil-section--dark, .sil-section--paper + .sil-section--paper, .sil-pagehead + .sil-content > .sil-section--dark:first-child { padding-top: 0; }
.sil-section--dark + .sil-section--dark > .sil-wrap::before, .hero + .sil-section--dark > .sil-wrap::before { content: ""; display: block; grid-column: 1 / -1; border-top: 1px solid var(--sil-line-dark); margin-bottom: 48px; }
.sil-section--paper + .sil-section--paper > .sil-wrap::before { content: ""; display: block; grid-column: 1 / -1; border-top: 1px solid var(--sil-line); margin-bottom: 48px; }
.sil-pagehead + .sil-content > .sil-section--dark:first-child { padding-top: 48px; }
@media (min-width: 1024px) {
	.sil-section--dark + .sil-section--dark > .sil-wrap::before, .hero + .sil-section--dark > .sil-wrap::before, .sil-section--paper + .sil-section--paper > .sil-wrap::before { margin-bottom: 64px; }
	.sil-pagehead + .sil-content > .sil-section--dark:first-child { padding-top: 64px; }
}

/* ---------- Tipografía ---------- */
.sil-h2 { font-weight: 600; font-size: var(--t-h2); line-height: 1.08; letter-spacing: -.018em; max-inline-size: 22ch; margin-bottom: 24px; }
.sil-h3 { font-weight: 600; font-size: var(--t-h3); line-height: 1.25; letter-spacing: -.005em; margin-bottom: 12px; }
.sil-lead { font-size: var(--t-lead); line-height: 1.55; max-inline-size: 46ch; color: var(--sil-on-paper-2); }
.sil-section--dark .sil-lead, .hero .sil-lead, .sil-pagehead .sil-lead { color: var(--sil-on-dark-2); }
.sil-section--orange .sil-lead, .sil-section--orange p { color: var(--sil-carbon); }
.sil-prose p, .sil-prose li { max-inline-size: 66ch; }
.sil-prose a, .sil-legal a { font-weight: 500; }
.sil-section--paper a:not(.sil-btn), .sil-section--orange a:not(.sil-btn) { text-decoration-color: currentColor; }
.sil-prose ul, .sil-prose ol { padding-inline-start: 1.5em; margin-bottom: 1em; }
.sil-prose ul { list-style: none; }
.sil-prose ul > li { position: relative; margin-bottom: .5em; }
.sil-prose ul > li::before { content: ""; position: absolute; left: -1.25em; top: .72em; width: 6px; height: 6px; background: var(--sil-orange); }

/* Páginas legales: columna de lectura */
.sil-legal { max-inline-size: 74ch; }
.sil-legal__h2 { font-weight: 600; font-size: calc(var(--t-h3) * 1.2); line-height: 1.2; letter-spacing: -.012em; margin: 2.4em 0 .65em; }
.sil-legal__h2:first-child { margin-top: 0; }
.sil-legal__h3 { font-weight: 600; font-size: 1.125rem; line-height: 1.3; margin: 1.7em 0 .45em; }
.sil-legal p { margin-bottom: 1em; }
.sil-legal ul, .sil-legal ol { margin: .3em 0 1.2em; padding-inline-start: 1.5em; }
.sil-legal li { margin-bottom: .45em; }
.sil-legal a { text-decoration-thickness: 1px; }

/* ---------- Botones y enlaces de acción ---------- */
.sil-btn, .wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 52px; padding: 0 28px; border-radius: var(--r); background: var(--sil-orange); color: var(--sil-carbon); font: 500 var(--t-ui)/1 var(--f-text); letter-spacing: .005em; text-decoration: none; border: 1px solid var(--sil-orange); cursor: pointer; transition: background-color var(--d-ui) ease, color var(--d-ui) ease, border-color var(--d-ui) ease, transform var(--d-press) var(--ease-out); }
.sil-btn:active { transform: scale(.97); }
.sil-btn--dark { background: var(--sil-carbon); color: #fff; border-color: var(--sil-carbon); }
.sil-btn[disabled], .sil-btn[aria-busy="true"] { opacity: .7; cursor: progress; }
@media (hover: hover) and (pointer: fine) {
	.sil-btn:hover { background: var(--sil-orange-hover); border-color: var(--sil-orange-hover); color: var(--sil-carbon); }
	.sil-btn--dark:hover { background: var(--sil-carbon-hover); border-color: var(--sil-carbon-hover); color: #fff; }
}
.sil-actions { display: flex; flex-wrap: wrap; gap: 16px 32px; align-items: center; margin: 32px 0 0; }
.sil-textlink { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font: 500 var(--t-ui)/1.2 var(--f-text); color: inherit; text-decoration: underline; text-decoration-color: var(--sil-orange); text-decoration-thickness: .1em; text-underline-offset: .3em; }
.sil-textlink .ar { transition: transform var(--d-ui) var(--ease-out); }
@media (hover: hover) and (pointer: fine) { .sil-textlink:hover .ar { transform: translateX(4px); } }

/* ---------- Cabecera ---------- */
.sil-header { position: fixed; inset: 0 0 auto 0; z-index: 60; color: #fff; transition: background-color var(--d-ui) ease, box-shadow var(--d-ui) ease; }
.sil-header.is-scrolled { background: var(--sil-carbon); box-shadow: 0 1px 0 var(--sil-line-dark); }
.sil-header__bar { display: flex; align-items: center; justify-content: space-between; height: var(--header-h); }
.sil-header__logo { display: flex; align-items: center; min-height: 44px; color: #fff; line-height: 0; }
.sil-header__logo svg { height: 40px; width: auto; display: block; }
.sil-nav__list, .sil-lang { list-style: none; display: flex; align-items: center; }
.sil-nav { display: flex; align-items: center; gap: clamp(16px, 2vw, 32px); }
.sil-nav__list { gap: clamp(14px, 1.7vw, 28px); }
.sil-nav a { font: 500 .9375rem/1 var(--f-text); text-decoration: none; min-height: 44px; display: inline-flex; align-items: center; position: relative; }
.sil-nav__list a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 8px; height: 2px; background: var(--sil-orange); transform: scaleX(0); transform-origin: left; transition: transform var(--d-ui) var(--ease-out); }
.sil-nav__list a[aria-current="page"]::after { transform: scaleX(1); }
@media (hover: hover) and (pointer: fine) { .sil-nav__list a:hover::after { transform: scaleX(1); } }
.sil-nav .sil-nav__cta { background: var(--sil-orange); color: var(--sil-carbon); padding: 0 18px; border-radius: var(--r); transition: background-color var(--d-ui) ease, transform var(--d-press) var(--ease-out); }
.sil-nav .sil-nav__cta::after { display: none; }
@media (hover: hover) and (pointer: fine) { .sil-nav .sil-nav__cta:hover, .sil-header__cta:hover { background: var(--sil-orange-hover); } }
@media (min-width: 1240px) { .sil-nav .sil-nav__cta:active { transform: scale(.97); } }   /* en el menú móvil, la entrada del menú lo pisaría */
.sil-header__cta { display: none; }
.sil-lang { gap: 0; padding-inline-start: clamp(8px, 1vw, 16px); border-left: 1px solid var(--sil-line-dark); }
.sil-lang a { font: 500 var(--t-meta)/1 var(--f-text); letter-spacing: .12em; min-width: 44px; justify-content: center; opacity: .78; }
.sil-lang a[aria-current="true"] { opacity: 1; color: var(--sil-orange); }
@media (min-width: 1240px) { .sil-lang li:last-child a { margin-inline-end: -14px; } }   /* alinear la tinta de «GL» con el margen derecho */
.sil-burger { display: none; }

@media (max-width: 1239px) {
	.sil-burger { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; background: transparent; border: 0; color: #fff; cursor: pointer; border-radius: var(--r); position: relative; z-index: 3; }
	.sil-burger__lines, .sil-burger__lines::before { content: ""; display: block; width: 26px; height: 2px; background: currentColor; transition: transform var(--d-ui) var(--ease-in-out); }
	.sil-burger__lines { position: relative; transform: translateY(-4px); }
	.sil-burger__lines::before { position: absolute; top: 8px; left: 0; }
	.sil-burger[aria-expanded="true"] .sil-burger__lines { transform: rotate(45deg); }
	.sil-burger[aria-expanded="true"] .sil-burger__lines::before { transform: translateY(-8px) rotate(-90deg); top: 8px; }
	.sil-header__logo { position: relative; z-index: 3; }
	.sil-burger { margin-inline-end: -11px; }   /* las 2 líneas de 26 px dentro de 48 px: alinear la tinta con el margen */
	.sil-header__cta { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 16px; margin-inline: auto 8px; background: var(--sil-orange); color: var(--sil-carbon); border-radius: var(--r); font: 500 .9375rem/1 var(--f-text); text-decoration: none; position: relative; z-index: 3; transition: background-color var(--d-ui) ease, transform var(--d-press) var(--ease-out); }
	.sil-header__cta:active { transform: scale(.97); }
	body.home .sil-header__cta { display: none; }
	body.sil-nav-open .sil-header__cta { visibility: hidden; }   /* con el menú abierto el CTA del menú ya está a la vista; visibility mantiene el hueco (sin saltos) */
	.sil-nav { position: fixed; inset: 0; z-index: 2; background: var(--sil-carbon); flex-direction: column; align-items: flex-start; justify-content: center; justify-content: safe center; gap: 24px; padding: calc(var(--header-h) + 8px) var(--gutter) 40px; visibility: hidden; opacity: 0; transition: opacity 150ms ease, visibility 0s 150ms; overflow-y: auto; }
	.sil-nav.is-open { visibility: visible; opacity: 1; transition: opacity 240ms var(--ease-out); }
	.sil-nav__list { flex-direction: column; align-items: flex-start; gap: 0; }
	.sil-nav__list a { font: 600 clamp(1.5rem, 6vw, 2rem)/1.1 var(--f-display); min-height: 52px; }
	.sil-nav__list a::after { bottom: 6px; }
	.sil-nav .sil-nav__cta { margin-top: 20px; font: 500 1.0625rem/1 var(--f-text); min-height: 52px; padding: 0 28px; }
	.sil-lang { border-left: 0; padding-inline-start: 0; gap: 8px; }
	.sil-lang a { font-size: .875rem; border: 1px solid var(--sil-line-dark); min-height: 48px; min-width: 52px; }
	.sil-lang a[aria-current="true"] { border-color: var(--sil-orange); }
	@media (prefers-reduced-motion: no-preference) {
		.sil-nav.is-open .sil-nav__list li, .sil-nav.is-open .sil-nav__cta, .sil-nav.is-open .sil-lang { animation: sil-up 260ms var(--ease-out) both; }
		.sil-nav.is-open .sil-nav__list li:nth-child(1) { animation-delay: 60ms; }
		.sil-nav.is-open .sil-nav__list li:nth-child(2) { animation-delay: 100ms; }
		.sil-nav.is-open .sil-nav__list li:nth-child(3) { animation-delay: 140ms; }
		.sil-nav.is-open .sil-nav__list li:nth-child(4) { animation-delay: 180ms; }
		.sil-nav.is-open .sil-nav__list li:nth-child(5) { animation-delay: 220ms; }
		.sil-nav.is-open .sil-nav__list li:nth-child(6) { animation-delay: 260ms; }
		.sil-nav.is-open .sil-nav__list li:nth-child(7) { animation-delay: 300ms; }
		.sil-nav.is-open .sil-lang { animation-delay: 340ms; }
	}
}
body.sil-nav-open { overflow: hidden; }

/* ---------- Hero (home) ---------- */
.hero { position: relative; background: var(--sil-carbon); color: #fff; overflow: hidden; padding: var(--s-hero-top) 0 64px; }
.hero__inner { display: grid; gap: 32px; align-items: start; }
.hero__art { order: -1; position: relative; }
.hero__logo { display: block; width: min(72vw, 300px); height: auto; margin-inline: 0; color: #fff; overflow: visible; }
.hero__copy { display: flex; flex-direction: column; position: relative; z-index: 2; }
.hero__display { font: 700 var(--t-display)/1.02 var(--f-display); letter-spacing: -.025em; margin: 0 0 24px; margin-inline-start: -.04em; text-wrap: balance; hyphens: manual; }
.hero__display::before { content: ""; display: block; width: 32px; height: 2px; background: var(--sil-orange); margin-bottom: 24px; }
.hero__h1 { font: 600 var(--t-h3)/1.3 var(--f-display); letter-spacing: -.005em; color: #fff; max-inline-size: 36ch; margin: 0 0 16px; }
.hero__sub { font-size: var(--t-lead); line-height: 1.55; color: var(--sil-on-dark-2); max-inline-size: 40ch; margin: 0 0 32px; }
.hero__actions { display: flex; flex-wrap: wrap; gap: 16px 32px; align-items: center; margin: 0; }
@media (max-width: 599px) { .hero__actions .sil-btn { width: 100%; } }
@media (min-width: 1024px) {
	.hero { min-height: min(100svh, 920px); display: flex; align-items: center; padding-bottom: 96px; }
	.hero .hero__inner { grid-template-columns: repeat(var(--cols), minmax(0, 1fr)); column-gap: var(--gap); align-items: center; }
	.hero__copy { grid-column: 1 / span 6; }
	.hero__art { order: 0; grid-column: 8 / span 5; }
	.hero__logo { width: min(100%, 480px); margin-inline: auto; }
}

/* Logo del héroe: entero, nunca recortado. S·I·L visibles desde el primer pintado; la intro anima solo la sonrisa, el lema y el brillo. */
.sil-logo__glyph.is-o { fill: var(--sil-orange); }
.sil-logo__horizon path { vector-effect: non-scaling-stroke; }
@media (min-width: 1024px) { .sil-logo__horizon .hz-l { display: none; } }
.sil-logo__glint { opacity: 0; }
.sil-logo__star { opacity: 0; transform-box: fill-box; transform-origin: center; }
@media (prefers-reduced-motion: no-preference) {
	.sil-logo.is-armed .sil-logo__glyph { opacity: 0; }
	.sil-logo.is-armed .sil-logo__smile-draw { stroke-dasharray: 1 1; stroke-dashoffset: 1; }
	.sil-logo.is-intro .sil-logo__smile-draw { animation: sil-logo-smile 600ms var(--ease-in-out) 120ms both; }
	.sil-logo.is-intro .sil-logo__arc { animation: sil-logo-arc 700ms var(--ease-out) 450ms both; }
	.sil-logo.is-intro .sil-logo__glyph { animation: sil-logo-fade 260ms var(--ease-out) both; }
	.sil-logo.is-intro .sil-logo__glyph:nth-child(1)  { animation-delay: 450ms; }
	.sil-logo.is-intro .sil-logo__glyph:nth-child(2)  { animation-delay: 480ms; }
	.sil-logo.is-intro .sil-logo__glyph:nth-child(3)  { animation-delay: 510ms; }
	.sil-logo.is-intro .sil-logo__glyph:nth-child(4)  { animation-delay: 540ms; }
	.sil-logo.is-intro .sil-logo__glyph:nth-child(5)  { animation-delay: 570ms; }
	.sil-logo.is-intro .sil-logo__glyph:nth-child(6)  { animation-delay: 600ms; }
	.sil-logo.is-intro .sil-logo__glyph:nth-child(7)  { animation-delay: 630ms; }
	.sil-logo.is-intro .sil-logo__glyph:nth-child(8)  { animation-delay: 660ms; }
	.sil-logo.is-intro .sil-logo__glyph:nth-child(9)  { animation-delay: 690ms; }
	.sil-logo.is-intro .sil-logo__glyph:nth-child(10) { animation-delay: 720ms; }
	.sil-logo.is-intro .sil-logo__glyph:nth-child(11) { animation-delay: 750ms; }
	.sil-logo.is-intro .sil-logo__glyph:nth-child(12) { animation-delay: 780ms; }
	.sil-logo.is-intro .sil-logo__glyph:nth-child(13) { animation-delay: 810ms; }
	.sil-logo.is-intro .sil-logo__glint { animation: sil-logo-glint 650ms var(--ease-in-out) 1000ms both; }
	.sil-logo.is-intro .sil-logo__star { animation: sil-logo-star 860ms linear 1440ms both; }
	/* Brillo bajo demanda (escritorio): el destello vuelve al pasar el ratón, sin bucle */
	@media (hover: hover) and (pointer: fine) {
		.hero__logo.is-shine .sil-logo__glint { animation: sil-logo-glint 650ms var(--ease-in-out) both; }
		.hero__logo.is-shine .sil-logo__star { animation: sil-logo-star 860ms linear 440ms both; }
	}
	/* Texto del héroe: .01 y no 0 (Chrome no puntúa LCP con opacity:0; con .01 el titular puntúa al primer pintado) */
	.js .hero__copy > * { opacity: .01; transform: translateY(12px); }
	.js .hero.is-ready .hero__copy > * { animation: sil-up var(--d-enter) var(--ease-out) forwards; }
	.js .hero.is-ready .hero__h1 { animation-delay: 60ms; }
	.js .hero.is-ready .hero__sub { animation-delay: 120ms; }
	.js .hero.is-ready .hero__actions { animation-delay: 180ms; }
}
@keyframes sil-up { to { opacity: 1; transform: none; } }
@keyframes sil-in-8 { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }   /* propio del aviso del formulario: sil-up NO se toca (lo comparten héroe y menú) */
@keyframes sil-logo-smile { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes sil-logo-arc   { from { transform: rotate(8deg); } to { transform: none; } }
@keyframes sil-logo-fade  { from { opacity: 0; } to { opacity: 1; } }
@keyframes sil-logo-glint { from { opacity: 1; transform: translateX(0); } to { opacity: 1; transform: translateX(340px); } }
@keyframes sil-logo-star {
	0%   { opacity: 0; transform: scale(.4) rotate(-45deg); animation-timing-function: cubic-bezier(.23, 1, .32, 1); }
	28%  { opacity: 1; transform: scale(1) rotate(0deg); }
	58%  { opacity: 1; transform: scale(1) rotate(0deg); animation-timing-function: ease; }
	100% { opacity: 0; transform: scale(.8) rotate(20deg); }
}

/* ---------- Revelado de contenido (los hijos, nunca la sección ni su fondo) ---------- */
@media (prefers-reduced-motion: no-preference) {
	.js .sil-rv { opacity: 0; transform: translateY(12px); transition: opacity var(--d-enter) var(--ease-out), transform var(--d-enter) var(--ease-out); }
	.js .sil-rv.is-in { opacity: 1; transform: none; }
}

/* ---------- Cabeceras de sección (titular cols 1–6, entradilla cols 7–11) ---------- */
.sec-head { display: grid; row-gap: 16px; margin-bottom: 48px; }
.sec-head .sil-h2, .sec-head .sil-lead { margin-bottom: 0; }
.sec-head + .sil-cards, .sec-head + .sil-steps, .sec-head + .sil-faq { margin-top: 0; }   /* la cabecera ya trae su margen inferior */
@media (min-width: 1024px) {
	.sec-head { grid-template-columns: repeat(var(--cols), minmax(0, 1fr)); column-gap: var(--gap); align-items: start; margin-bottom: 64px; }
	.sec-head .sil-h2 { grid-column: 1 / span 6; }
	.sec-head .sil-lead { grid-column: 7 / span 5; }
}
@media (min-width: 1024px) and (max-width: 1239px) { .sec-head .sil-lead { grid-column: 7 / span 6; } }   /* 5 columnas quedaban en ≈370 px */

/* ---------- Home: índice de servicios (carbón) ---------- */
.svc-index { list-style: none; border-bottom: 1px solid var(--sil-line-dark); }
.svc-row { display: grid; grid-template-columns: 40px minmax(0, 1fr) 24px; column-gap: 12px; row-gap: 8px; align-items: baseline; padding-block: 24px; min-height: 64px; border-top: 1px solid var(--sil-line-dark); color: #fff; text-decoration: none; }
.svc-row__n { font: 500 var(--t-meta)/1.3 var(--f-text); letter-spacing: .12em; font-variant-numeric: tabular-nums; color: var(--sil-orange); }
.svc-row__t { font: 600 clamp(1.375rem, 1.1rem + 1.1vw, 2rem)/1.1 var(--f-display); letter-spacing: -.012em; margin: 0; transition: color var(--d-ui) ease; }
.svc-row--1 .svc-row__t { font-size: clamp(2rem, 1.2rem + 3.3vw, 3.75rem); letter-spacing: -.02em; }
.svc-row__d { grid-column: 2; margin: 0; max-inline-size: 52ch; font-size: 1rem; line-height: 1.55; color: var(--sil-on-dark-2); }
.svc-row__go { grid-column: 3; grid-row: 1; align-self: center; justify-self: end; transition: transform var(--d-ui) var(--ease-out); }
@media (hover: hover) and (pointer: fine) {
	.svc-row:hover .svc-row__t, .svc-row:focus-visible .svc-row__t { color: var(--sil-orange); }
	.svc-row:hover .svc-row__go { transform: translateX(6px); }
}
.svc-row:focus-visible .svc-row__t { color: var(--sil-orange); }
.svc-row:focus-visible .svc-row__go { transform: translateX(6px); }
@media (min-width: 1024px) {
	.svc-row { grid-template-columns: repeat(var(--cols), minmax(0, 1fr)); column-gap: var(--gap); align-items: center; padding-block: 28px; }
	.svc-row--1 { padding-block: 40px; }
	.svc-row__n { grid-column: 1; }
	.svc-row__t { grid-column: 2 / span 6; }
	.svc-row__d { grid-column: 8 / span 4; grid-row: 1; }
	.svc-row__go { grid-column: 12; grid-row: 1; }
}

/* ---------- Home: qué significa SIL (papel; letras macizas) ---------- */
.meaning__grid { list-style: none; display: grid; gap: 48px; }
.meaning__item { border-top: 1px solid var(--sil-line); padding-top: 24px; }
.meaning__letter { display: block; font: 700 clamp(5rem, 3rem + 8vw, 10rem)/.9 var(--f-display); letter-spacing: -.03em; color: var(--sil-carbon); margin: 0 0 24px -.04em; }
.meaning__k { font: 600 var(--t-h3)/1.25 var(--f-display); margin: 0 0 8px; }
.meaning__item p { color: var(--sil-on-paper-2); max-inline-size: 30ch; margin: 0; }
@media (min-width: 600px) { .meaning__grid { grid-template-columns: repeat(var(--cols), minmax(0, 1fr)); column-gap: var(--gap); } .meaning__item { grid-column: span 8; } }
@media (min-width: 1024px) { .meaning__item { grid-column: span 4; } }

/* ---------- Home: método (papel) ---------- */
.method__steps { list-style: none; display: grid; grid-template-columns: repeat(var(--cols), minmax(0, 1fr)); column-gap: var(--gap); row-gap: 48px; }
.step { grid-column: span 4; position: relative; border-top: 1px solid var(--sil-line); padding-top: 24px; }
.step::before { content: ""; position: absolute; top: -1px; left: 0; width: 32px; height: 2px; background: var(--sil-orange); }
.step__num { display: block; font: 300 var(--t-num)/1 var(--f-display); letter-spacing: -.02em; font-variant-numeric: tabular-nums lining-nums; color: var(--sil-carbon); margin-bottom: 24px; }
.step__t { font: 600 var(--t-h3)/1.25 var(--f-display); margin: 0 0 8px; }
.step p { color: var(--sil-on-paper-2); margin: 0; max-inline-size: 28ch; }
@media (min-width: 1024px) { .step { grid-column: span 3; } }

/* ---------- Home: estudio (papel) ---------- */
.studio__inner { display: grid; row-gap: 48px; }
.studio__copy .sil-h2 { max-inline-size: 18ch; }
.ficha { margin: 0; border-bottom: 1px solid var(--sil-line); }
.ficha > div { display: grid; grid-template-columns: 96px minmax(0, 1fr); column-gap: 16px; padding-block: 20px; border-top: 1px solid var(--sil-line); }
.ficha dt { font: 500 var(--t-meta)/1.6 var(--f-text); text-transform: uppercase; letter-spacing: .12em; color: var(--sil-carbon); }
.ficha dd { margin: 0; font-size: var(--t-body); line-height: 1.55; }
.ficha dd a { font-weight: 500; }
.ficha .sep { color: var(--sil-on-paper-2); }
@media (min-width: 1024px) {
	.studio__inner { grid-template-columns: repeat(var(--cols), minmax(0, 1fr)); column-gap: var(--gap); align-items: start; }
	.studio__copy { grid-column: 1 / span 6; }
	.ficha { grid-column: 8 / span 5; }
}

/* ---------- Home: cierre (naranja, una sola vez) ---------- */
.closing__title { font: 700 var(--t-xl)/.98 var(--f-display); letter-spacing: -.03em; color: var(--sil-carbon); max-inline-size: 14ch; margin: 0 0 24px; text-wrap: balance; }
.closing__text { font-size: var(--t-lead); line-height: 1.55; max-inline-size: 34ch; margin-bottom: 32px; color: var(--sil-carbon); }
.closing__actions { display: flex; flex-wrap: wrap; gap: 16px 32px; align-items: center; margin: 0; }
.closing__mail { font: 500 1.125rem/1.2 var(--f-text); color: var(--sil-carbon); text-decoration: underline; text-decoration-color: var(--sil-carbon); text-underline-offset: .25em; min-height: 44px; display: inline-flex; align-items: center; }
@media (max-width: 599px) { .closing__actions .sil-btn { width: 100%; } }

/* Titulares grandes: sin guiones automáticos desde 600 px («audiovi-/sual» a 1024). En móvil se mantiene auto por las palabras largas en gallego */
@media (min-width: 600px) { .sil-pagehead__title, .closing__title, .sil-cta-band .sil-h2 { hyphens: manual; } }

/* ---------- Páginas interiores: cabecera ---------- */
.sil-pagehead { position: relative; background: var(--sil-carbon); color: #fff; padding: var(--s-hero-top) 0 64px; overflow: hidden; }
.sil-pagehead::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: var(--sil-orange); }
.sil-pagehead__inner { position: relative; z-index: 1; }
.sil-crumbs { font: 500 var(--t-meta)/1.3 var(--f-text); text-transform: uppercase; letter-spacing: .12em; color: var(--sil-on-dark-2); margin: 0 0 24px; font-variant-numeric: tabular-nums; }
.sil-crumbs a { color: inherit; text-decoration-color: var(--sil-line-dark); position: relative; }
.sil-crumbs a::after { content: ""; position: absolute; inset: -14px -8px; }   /* zona táctil ≥ 44 px sin cambiar el diseño */
.sil-crumbs b { font-weight: 500; color: var(--sil-orange); }
.sil-pagehead__title { font: 700 var(--t-h1)/1.04 var(--f-display); letter-spacing: -.022em; max-inline-size: 18ch; margin: 0 0 24px; margin-inline-start: -.04em; }
.sil-pagehead .sil-lead { margin-bottom: 0; }
.sil-pagehead__g1 { display: none; }
@media (min-width: 1024px) {
	/* G1 (auditoría 12-oct, K5/DA §6.1): la caja ocupa SOLO las columnas 9–12 (el texto va en 1–8), desde 1024 px (donde existe la rejilla de 12); la forma se escala entera, anclada abajo a la derecha (preserveAspectRatio en page.php) */
	.sil-pagehead__g1 { display: block; position: absolute; z-index: 0; top: calc(var(--header-h) + 16px); bottom: 24px; right: max(var(--gutter), calc((100% - var(--container)) / 2)); width: calc((min(100% - 2 * var(--gutter), var(--container)) - 11 * var(--gap)) / 12 * 4 + 3 * var(--gap)); height: auto; pointer-events: none; }
	.sil-pagehead__g1 path, .sil-pagehead__g1 circle { fill: none; stroke: rgba(255, 255, 255, .22); stroke-width: 1; vector-effect: non-scaling-stroke; }
	.sil-pagehead { padding-bottom: 96px; }
	.sil-pagehead__inner { display: grid; grid-template-columns: repeat(var(--cols), minmax(0, 1fr)); column-gap: var(--gap); }
	.sil-pagehead__inner > * { grid-column: 1 / span 8; }
	.sil-pagehead__inner > .sil-lead { grid-column: 1 / span 7; }
	.sil-pagehead__inner > .sil-badge { grid-column: 9 / span 4; grid-row: 1 / span 3; align-self: center; justify-self: end; }
}
/* Escudo-U del manual (solo en «Estudio»): recto, sin sombra */
.sil-badge { display: none; }
@media (min-width: 900px) {
	.sil-badge { display: grid; place-items: center; width: clamp(280px, 24vw, 340px); aspect-ratio: 1 / 1.1; background: var(--sil-carbon); color: #fff; border: 6px solid var(--sil-orange); border-radius: 30px 30px 200px 200px / 30px 30px 220px 220px; position: relative; z-index: 1; margin-inline-start: auto; }
	.sil-badge svg { width: 72%; height: auto; display: block; }
}
.sil-content { display: block; }
.sil-content > :first-child { margin-top: 0; }
.sil-pagehead--404 .sil-pagehead__title { max-inline-size: 14ch; }
.sil-pagehead__bang { display: none; }
@media (min-width: 900px) { .sil-pagehead__bang { display: block; position: absolute; right: clamp(24px, 8vw, 140px); bottom: 64px; width: clamp(96px, 12vw, 160px); height: auto; z-index: 0; } }

/* ---------- Componentes de página (los emite el generador; ver COMPONENTES.md) ---------- */
.sil-split { display: grid; row-gap: 48px; }
.sil-split__head .sil-lead { margin-bottom: 0; }
@media (min-width: 1024px) {
	.sil-split { grid-template-columns: repeat(var(--cols), minmax(0, 1fr)); column-gap: var(--gap); align-items: start; }
	.sil-split > :first-child { grid-column: 1 / span 5; position: sticky; top: calc(var(--header-h) + 28px); }
	.sil-split > :last-child { grid-column: 7 / span 6; max-inline-size: 62ch; }
}
.sil-section--dark .sil-split__body p, .sil-section--dark .sil-prose p { color: var(--sil-on-dark-2); }

/* «Tarjetas» = filas de definición: término (H3) a la izquierda, texto a la derecha */
.sil-cards { display: block; margin-top: 48px; border-bottom: 1px solid var(--sil-line); }
.sil-section--dark .sil-cards { border-color: var(--sil-line-dark); }
.sil-section--paper:has(+ .sil-section--paper) :is(.sil-cards, .sil-steps, .sil-faq) { border-bottom: 0; }   /* la siguiente sección de papel abre con su propio filete: no se duplica */
.sil-card { display: grid; row-gap: 12px; padding-block: 32px; border-top: 1px solid var(--sil-line); }
.sil-section--dark .sil-card { border-color: var(--sil-line-dark); }
.sil-card .sil-h3 { margin: 0; }
.sil-card .sil-h3 a { text-decoration: none; }
.sil-card p { margin: 0; max-inline-size: 60ch; color: var(--sil-on-paper-2); }
.sil-section--dark .sil-card p { color: var(--sil-on-dark-2); }
@media (hover: hover) and (pointer: fine) { .sil-card .sil-h3 a:hover { text-decoration: underline; text-decoration-color: var(--sil-orange); text-decoration-thickness: .1em; text-underline-offset: .2em; } }
@media (min-width: 1024px) {
	.sil-card { grid-template-columns: repeat(var(--cols), minmax(0, 1fr)); column-gap: var(--gap); }
	.sil-card .sil-h3 { grid-column: 1 / span 4; }
	.sil-card p { grid-column: 5 / span 7; }
}

.sil-steps { list-style: none; margin-top: 48px; border-bottom: 1px solid var(--sil-line); }
.sil-section--dark .sil-steps { border-color: var(--sil-line-dark); }
.sil-steps > li { display: grid; grid-template-columns: 56px minmax(0, 1fr); column-gap: 16px; row-gap: 8px; padding-block: 32px; border-top: 1px solid var(--sil-line); position: relative; counter-increment: sil-s; }
.sil-steps { counter-reset: sil-s; }
.sil-section--dark .sil-steps > li { border-color: var(--sil-line-dark); }
.sil-steps > li::before { content: counter(sil-s, decimal-leading-zero); grid-row: span 2; font: 300 var(--t-num)/1 var(--f-display); letter-spacing: -.02em; font-variant-numeric: tabular-nums lining-nums; color: var(--sil-carbon); }
.sil-section--dark .sil-steps > li::before { color: var(--sil-orange); }
.sil-steps > li::after { content: ""; position: absolute; top: -1px; left: 0; width: 32px; height: 2px; background: var(--sil-orange); }
.sil-steps .sil-h3 { margin: 0; }
.sil-steps p { margin: 0; max-inline-size: 56ch; color: var(--sil-on-paper-2); }
.sil-section--dark .sil-steps p { color: var(--sil-on-dark-2); }
@media (min-width: 600px) { .sil-steps > li { grid-template-columns: clamp(72px, 9vw, 120px) minmax(0, 1fr); } }

.sil-faq { margin-top: 48px; max-inline-size: 860px; border-bottom: 1px solid var(--sil-line); }
.sil-faq details, details.sil-faq__item { border-top: 1px solid var(--sil-line); }
.sil-faq summary, details.sil-faq__item summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 20px; min-height: 56px; padding-block: 20px; font: 600 var(--t-h3)/1.3 var(--f-display); letter-spacing: -.005em; }
.sil-faq summary::-webkit-details-marker, details.sil-faq__item summary::-webkit-details-marker { display: none; }
.sil-faq summary::after, details.sil-faq__item summary::after { content: ""; flex: none; width: 20px; height: 20px; background: linear-gradient(currentColor, currentColor) center / 20px 1.5px no-repeat, linear-gradient(currentColor, currentColor) center / 1.5px 20px no-repeat; transition: transform var(--d-ui) var(--ease-out); }
.sil-faq details[open] summary::after, details.sil-faq__item[open] summary::after { transform: rotate(45deg); }
.sil-faq details > :not(summary), details.sil-faq__item > :not(summary) { padding-bottom: 24px; margin: 0; color: var(--sil-on-paper-2); max-inline-size: 70ch; }
@supports selector(::details-content) {
	details.sil-faq__item::details-content { block-size: 0; overflow: hidden; transition: block-size var(--d-ui) var(--ease-out), content-visibility var(--d-ui) allow-discrete; }
	details.sil-faq__item[open]::details-content { block-size: auto; }
}

.sil-cta-band .sil-h2 { font: 700 var(--t-h1)/1.04 var(--f-display); letter-spacing: -.022em; max-inline-size: 16ch; margin-bottom: 24px; }
.sil-links-inline { display: flex; flex-wrap: wrap; gap: 0 28px; margin: 24px 0 0; font: 500 var(--t-ui)/1.2 var(--f-text); }
.sil-links-inline a { min-height: 44px; display: inline-flex; align-items: center; color: var(--sil-carbon); text-decoration-color: var(--sil-carbon); }
.sil-contact-data { font-size: 1.125rem; line-height: 1.8; margin-top: 32px; }
.sil-contact-data a { font-weight: 500; }
.sil-section--dark .sil-contact-data a { text-decoration-color: var(--sil-orange); }

/* ---------- Formulario ---------- */
.sil-form { display: grid; gap: 24px; max-inline-size: 720px; }
.sil-field { display: grid; gap: 8px; }
.sil-field label { font: 500 .9375rem/1.3 var(--f-text); }
.sil-req { font-weight: 400; font-size: .85rem; color: var(--sil-on-paper-2); }
.sil-form input[type="text"], .sil-form input[type="email"], .sil-form select, .sil-form textarea { width: 100%; min-height: 52px; padding: 12px 16px; border: 1px solid var(--sil-on-paper-2); border-radius: var(--r); background: #fff; font: inherit; color: var(--sil-ink); transition: border-color 150ms ease, box-shadow 150ms ease; }
.sil-form select { appearance: none; -webkit-appearance: none; padding-right: 44px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23232526' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 16px center; }
.sil-form textarea { min-height: 170px; resize: vertical; }
.sil-form input:focus, .sil-form select:focus, .sil-form textarea:focus { border-color: var(--sil-carbon); }   /* el anillo lo pone :focus-visible global (2 px, offset 3): el halo naranja translúcido daba 1,39:1 */
.sil-form .sil-field :is(input:not([type="checkbox"]), select, textarea):user-invalid { border-color: #B3261E; }   /* especificidad (0,3,1): gana a los input[type] de arriba */
.sil-field--check { grid-template-columns: 24px minmax(0, 1fr); align-items: start; gap: 12px; }
.sil-field--check input { width: 24px; height: 24px; margin: 1px 0 0; accent-color: var(--sil-carbon); }
.sil-field--check label { font: 400 .9375rem/1.5 var(--f-text); }
.sil-fineprint { font-size: .875rem; line-height: 1.55; color: var(--sil-on-paper-2); max-inline-size: 62ch; margin: 0; }
.sil-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.sil-notice { padding: 18px 20px; border: 1px solid var(--sil-carbon); border-radius: var(--r); background: #fff; color: var(--sil-ink); font-weight: 500; max-inline-size: 720px; }
.sil-notice--err { border-color: #B3261E; }
@media (prefers-reduced-motion: no-preference) { .sil-notice { animation: sil-in-8 320ms var(--ease-out) 120ms both; } }

/* ---------- Pie ---------- */
.sil-footer { background: var(--sil-carbon); color: var(--sil-on-dark-2); padding: 96px 0 32px; }
.sil-footer a { color: #fff; text-decoration-color: rgba(255, 255, 255, .3); }
@media (hover: hover) and (pointer: fine) { .sil-footer a:hover { text-decoration-color: var(--sil-orange); } }
.sil-footer__grid { display: grid; row-gap: 48px; }
.sil-footer__logo { display: block; width: min(100%, 220px); color: #fff; line-height: 0; }
.sil-footer__logo svg { width: 100%; height: auto; display: block; }
.sil-footer__desc { margin: 24px 0 16px; max-inline-size: 28ch; font-size: .9375rem; line-height: 1.55; }
.sil-footer__addr { font-size: .9375rem; line-height: 1.7; }
.sil-footer__social { display: flex; flex-wrap: wrap; align-items: center; gap: 0 24px; margin: 20px 0 0; font-size: .9375rem; }
.sil-footer__social-h { font: 500 var(--t-meta)/1.3 var(--f-text); letter-spacing: .12em; text-transform: uppercase; color: var(--sil-orange); }
.sil-footer__social a { display: inline-block; padding-block: 10px; min-height: 44px; min-width: 44px; text-align: center; }
.sil-footer__h { font: 500 var(--t-meta)/1.3 var(--f-text); letter-spacing: .12em; text-transform: uppercase; color: var(--sil-orange); margin: 0 0 12px; }
.sil-footer ul { list-style: none; display: grid; }
.sil-footer li a { display: inline-block; padding-block: 10px; min-height: 44px; }
.sil-footer__base { margin-top: 64px; padding-top: 24px; border-top: 1px solid var(--sil-line-dark); display: flex; flex-wrap: wrap; gap: 6px 32px; justify-content: space-between; font-size: .875rem; }
.sil-footer__base p { margin: 0; }
@media (min-width: 600px) { .sil-footer__grid { grid-template-columns: repeat(var(--cols), minmax(0, 1fr)); column-gap: var(--gap); } .sil-footer__brand { grid-column: 1 / -1; } .sil-footer__col { grid-column: span 4; } }
@media (min-width: 1024px) {
	.sil-footer__brand { grid-column: 1 / span 4; }
	.sil-footer__col--svc { grid-column: 5 / span 3; }
	.sil-footer__col--est { grid-column: 8 / span 2; }
	.sil-footer__col--leg { grid-column: 10 / span 3; }
	.sil-footer__base { margin-top: 96px; }
}

/* ---------- Fotos: huecos opcionales (inc/fotos.php). Sin foto no se pinta nada, asi que estas reglas no afectan a nada hasta que el equipo las suba ---------- */
.sil-foto { margin: 0; overflow: hidden; background: var(--sil-carbon-hover); }
.sil-foto img { display: block; width: 100%; height: 100%; object-fit: cover; }
.sil-foto--principal { aspect-ratio: 4 / 3; margin-top: 48px; }
.sil-foto--banda { aspect-ratio: 4 / 3; }
.sil-foto--galeria { aspect-ratio: 4 / 3; }
.sil-section--foto { padding-block: 0 var(--s-sec); }
.sil-galeria { display: grid; gap: var(--gap); }
.studio__foto { grid-column: 1 / -1; }
.hero + .sil-foto--banda, .sil-foto--banda + .sil-section--dark { margin-top: 0; }
.sil-foto--banda + .sil-section--dark { padding-top: var(--s-sec); }
@media (min-width: 768px) {
	.sil-foto--principal { aspect-ratio: 16 / 9; margin-top: 64px; }
	.sil-foto--banda { aspect-ratio: 21 / 9; }
	.sil-galeria--n2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sil-galeria--n3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* ---------- Impresión: el revelado nunca deja bloques en blanco ---------- */
@media print { .sil-rv { opacity: 1 !important; transform: none !important; transition: none !important; } }

/* ---------- Movimiento reducido: todo en su estado final; los cambios de color siguen informando ---------- */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; scroll-behavior: auto !important; }
	.sil-nav, .sil-nav.is-open { transform: none !important; }
	.sil-btn, .sil-nav__cta, .sil-header__cta, .svc-row__t, .svc-row__go, .sil-nav__list a::after, .sil-faq summary::after, .sil-burger__lines, .sil-burger__lines::before, .sil-textlink .ar { transition-property: opacity, color, background-color, border-color !important; transition-duration: 150ms !important; }
	@supports selector(::details-content) { details.sil-faq__item::details-content { transition: none !important; } }   /* regla propia: no se añade a la lista de arriba (un pseudoelemento no soportado invalida toda la lista) */
}

/* ---------- Blog (18-oct-2026; inc/blog.php): entradas, indice y categorias. Solo tokens y componentes existentes. ---------- */
.sil-post .sil-pagehead__title, .sil-main--blog .sil-pagehead__title { max-inline-size: 26ch; font-size: clamp(2rem, 1.15rem + 3vw, 3.5rem); line-height: 1.08; }
.sil-post .sil-pagehead .sil-lead, .sil-main--blog .sil-pagehead .sil-lead { max-inline-size: 60ch; }
.sil-post__meta { margin: 24px 0 0; font: 500 var(--t-meta)/1.4 var(--f-text); letter-spacing: .12em; text-transform: uppercase; color: var(--sil-on-dark-2); font-variant-numeric: tabular-nums; }
.sil-post__body { max-inline-size: 70ch; }
.sil-post__nota { margin: 0 0 40px; padding: 16px 20px; border: 1px solid var(--sil-line); border-inline-start: 4px solid var(--sil-orange); background: #fff; color: var(--sil-ink); font-size: .9375rem; line-height: 1.55; }
.sil-post__nota p { margin: 0; }
.sil-post__content > :first-child { margin-top: 0; }
.sil-post__content h2 { font: 600 var(--t-h3)/1.25 var(--f-display); letter-spacing: -.005em; margin: 2.2em 0 .6em; max-inline-size: 30ch; }
.sil-post__content h3 { font: 600 1.125rem/1.3 var(--f-display); margin: 1.8em 0 .5em; }
.sil-post__content p, .sil-post__content li { max-inline-size: 66ch; }
.sil-post__content blockquote { margin: 1.6em 0; padding: .2em 0 .2em 1.25em; border-inline-start: 3px solid var(--sil-orange); color: var(--sil-on-paper-2); }
.sil-post__content blockquote p { margin: 0 0 .6em; }
.sil-post__content ol { padding-inline-start: 1.5em; margin-bottom: 1em; }
.sil-post__content a { font-weight: 500; text-decoration-color: currentColor; }
.sil-post__origen { margin: 56px 0 0; padding-top: 16px; border-top: 1px solid var(--sil-line); font-size: .875rem; line-height: 1.55; color: var(--sil-on-paper-2); }
.sil-card__meta { display: block; margin-bottom: 8px; font: 500 var(--t-meta)/1.3 var(--f-text); letter-spacing: .12em; text-transform: uppercase; color: var(--sil-on-paper-2); font-variant-numeric: tabular-nums; }
.sil-main--blog .sil-section > .sil-wrap > .sil-h2 a { text-decoration: none; }
@media (hover: hover) and (pointer: fine) { .sil-main--blog .sil-section > .sil-wrap > .sil-h2 a:hover { text-decoration: underline; text-decoration-color: var(--sil-orange); text-decoration-thickness: .08em; text-underline-offset: .18em; } }
.sil-blog-topics { display: flex; flex-wrap: wrap; align-items: center; gap: 0 28px; margin: 0; font: 500 var(--t-ui)/1.2 var(--f-text); }
.sil-blog-topics__h { font: 500 var(--t-meta)/1.3 var(--f-text); letter-spacing: .12em; text-transform: uppercase; color: var(--sil-on-paper-2); }
.sil-blog-topics a { min-height: 44px; display: inline-flex; align-items: center; color: var(--sil-carbon); text-decoration-color: var(--sil-orange); }
.sil-section--paper > .sil-wrap > .sil-cards + .sil-blog-topics { margin-top: 48px; }
