/* Aislado a Automatización: la navegación, el modal y el cursor usan sus componentes compartidos. */
.automation-page .site-header { position: relative; z-index: 2; color: #f5f4ee; background: transparent; }
.automation-page .site-header :focus-visible { outline-color: #f5f4ee; }
.automation-hero { --automation-header-height: 7rem; position: relative; isolation: isolate; padding: clamp(4rem, 8vw, 8rem) var(--page-gutter) 4rem; min-height: min(830px, 90svh); display: grid; place-items: center; text-align: center; color: #f5f4ee; background: #101110; }
.automation-hero::before { content: ''; position: absolute; inset: calc(-1 * var(--automation-header-height)) 0 0; z-index: -3; background: #101110; }
.automation-atmosphere { position: absolute; inset: calc(-1 * var(--automation-header-height)) 0 0; overflow: clip; pointer-events: none; z-index: -2; }
.automation-hero::after { content: ''; position: absolute; inset: calc(-1 * var(--automation-header-height)) 0 0; z-index: -1; pointer-events: none; background: radial-gradient(ellipse at 50% 48%, rgb(10 11 10 / 94%) 0%, rgb(10 11 10 / 82%) 30%, rgb(10 11 10 / 28%) 76%, rgb(10 11 10 / 42%) 100%); }
.automation-hero-content { width: 100%; max-width: 1000px; min-width: 0; }
.automation-eyebrow { font-size: clamp(1.4rem, 2.2vw, 2rem); line-height: 1.6; letter-spacing: .1em; margin-bottom: 2.5rem; }
.automation-hero h1 { margin-inline: auto; font-size: clamp(2.9rem, 5.8vw, 6rem); font-weight: 400; line-height: 1.06; letter-spacing: -.055em; }
.automation-hero h1 em { font-family: var(--font-editorial); font-weight: 400; color: #d3d4c8; }
.automation-lead { max-width: 43ch; margin: 2rem auto; font-size: 1.05rem; line-height: 1.7; color: #d3d4c8; }
.automation-page .automation-button { border: 1px solid #eeeee5; background: #eeeee5; color: #20221d; font-size: .7rem; letter-spacing: .08em; cursor: pointer; max-width: 100%; }
.automation-page .automation-button:hover { background: #d6d8cb; }
.automation-hero :focus-visible { outline: 2px solid #f5f4ee; outline-offset: 5px; }
.automation-hero-index { margin-top: 3.5rem; font: .62rem/1.8 var(--font-sans); letter-spacing: .13em; color: #b9bcb0; }
/* Diagramas decorativos periféricos; sin controles ni dependencias externas. */
.automation-atmosphere::before { content: ''; position: absolute; inset: 0; opacity: .05; background-image: linear-gradient(#d3d5c8 1px, transparent 1px), linear-gradient(90deg, #d3d5c8 1px, transparent 1px); background-size: 72px 72px; }
.automation-network { position: absolute; width: 420px; height: 560px; stroke: #a9aea4; stroke-width: 1; opacity: .35; }
.automation-network circle { fill: #101110; }
.automation-network--left { left: -7%; top: 10%; }
.automation-network--right { right: -7%; bottom: 3%; }
.automation-network .automation-node-active { fill: #91a584; stroke: none; }
@media (prefers-reduced-motion: no-preference) and (min-width: 64.001rem) {
  .automation-node-active { animation: automation-pulse 12s ease-in-out infinite; }
  .automation-network--right .automation-node-active { animation-delay: -6s; }
}
@keyframes automation-pulse { 0%, 65%, 100% { opacity: .35; } 80% { opacity: 1; } }
@media (min-width: 64.001rem) {
  .automation-hero::after { background: radial-gradient(ellipse at 50% 48%, rgb(10 11 10 / 96%) 0%, rgb(10 11 10 / 86%) 28%, rgb(10 11 10 / 32%) 52%, rgb(10 11 10 / 6%) 78%, transparent 100%); }
}
@media (max-width: 56rem) { .automation-hero { --automation-header-height: 5.75rem; } }
@media (max-width: 40rem) {
  .automation-hero { min-height: 680px; padding-block: 4rem; }
  .automation-hero h1 { font-size: clamp(2.1rem, 8vw, 3.5rem); }
  .automation-hero-index { font-size: .55rem; letter-spacing: .07em; }
  .automation-network--left { left: -85%; opacity: .20; }
  .automation-network--right { display: none; }
  .automation-atmosphere::before { opacity: .025; background-size: 96px 96px; }
}

/* Perspectiva y capacidades: métricas editoriales de las páginas de servicios. */
.automation-solutions { background: var(--surface); color: var(--ink); }
.automation-solutions-inner { max-width: var(--content-max); margin-inline: auto; padding: clamp(3rem, 4.5vw, 5rem) var(--page-gutter); }
.automation-solutions-eyebrow { font-size: .7rem; line-height: 1.6; letter-spacing: .15em; margin-bottom: 2rem; }
.automation-solutions-list { list-style: none; padding: 0; margin: 0; }
.automation-solutions-list .capability-summary { display: grid; grid-template-columns: 3rem minmax(0, 1.2fr) minmax(0, 1fr); gap: 2rem; align-items: baseline; padding-block: 1.7rem; border-top: 1px solid #cdcec5; }
.automation-solutions-list li:last-child { border-bottom: 1px solid #cdcec5; }
.automation-solutions-list li > span { font: italic 1rem Georgia, serif; color: #737669; }
.automation-solutions-list h3 { font-size: clamp(1.3rem, 2.5vw, 2.4rem); font-weight: 400; line-height: 1.3; letter-spacing: -.04em; }
.automation-solutions-list p { max-width: 34ch; font-size: 1rem; line-height: 1.7; color: #64665d; }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .automation-solutions-list .capability-summary { transition: background-color 350ms ease; }
  .automation-solutions-list .capability-summary:hover { background: #fafaf7; }
}
@media (max-width: 56rem) {
  .automation-solutions-list .capability-summary { grid-template-columns: 2rem minmax(0, 1fr); gap: .75rem 1.25rem; }
  .automation-solutions-list p { grid-column: 2; max-width: 45ch; }
}

/* Declaración editorial: cuatro bloques centrados con ritmo vertical contenido. */
.automation-perspective { background: var(--surface); color: var(--ink); text-align: center; }
.automation-perspective-inner { max-width: var(--content-max); margin-inline: auto; padding: clamp(3.5rem, 6vw, 6rem) var(--page-gutter); }
.automation-perspective-eyebrow { margin-bottom: 2rem; font-size: .7rem; line-height: 1.6; letter-spacing: .15em; }
.automation-perspective h2 { font-size: clamp(1.8rem, 3.7vw, 4rem); font-weight: 400; line-height: 1.15; letter-spacing: -.045em; }
.automation-perspective h2 em { display: block; margin-top: 1.5rem; font-family: var(--font-editorial); font-weight: 400; }
.automation-perspective-copy { max-width: 45ch; margin: 2rem auto 0; font-size: 1.05rem; line-height: 1.8; color: #64665d; }
@media (max-width: 40rem) {
  .automation-perspective-eyebrow { margin-bottom: 2rem; }
  .automation-perspective h2 { font-size: clamp(1.65rem, 6.2vw, 2.4rem); }
}

.automation-solutions-eyebrow { text-align: center; font-weight: 400; margin-bottom: 2rem; }
.automation-perspective h2 { max-width: 26ch; margin-inline: auto; }
@media (max-width: 40rem) {
  .automation-perspective-inner, .automation-solutions-inner { padding-block: 3rem; }
  .automation-solutions-list .capability-summary { padding-block: 1.5rem; }
}

/* Un sistema conceptual, con conexiones estructurales y lectura lineal accesible. */
.automation-flow { background: #171914; color: #f5f4ee; }
.automation-flow-inner { max-width: var(--content-max); margin-inline: auto; padding: clamp(3rem, 5vw, 5rem) var(--page-gutter); }
.automation-flow-heading { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); column-gap: 4rem; align-items: end; }
.automation-flow-eyebrow { grid-column: 1 / -1; font-size: .7rem; letter-spacing: .15em; margin-bottom: 2rem; }
.automation-flow h2 { font-size: clamp(1.7rem, 3.3vw, 3.4rem); line-height: 1.18; font-weight: 400; letter-spacing: -.04em; }
.automation-flow h2 em { font-family: var(--font-editorial); font-weight: 400; }
.automation-flow h2 span { color: #929887; font-size: .6em; }
.automation-flow-heading > p:last-child { max-width: 40ch; font-size: 1rem; line-height: 1.8; color: #babeb0; }
.automation-workflow { list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2rem; padding: 0; margin: 2.5rem 0 0; }
.automation-workflow > li { position: relative; border-top: 1px solid #53594a; padding-top: 1.25rem; min-width: 0; }
.automation-workflow > li::before { content: ''; position: absolute; width: 7px; height: 7px; border: 1px solid #929887; background: #171914; border-radius: 50%; top: -4px; left: 0; }
.automation-workflow > li:not(:last-child)::after { content: '→'; position: absolute; right: -1.65rem; top: -.65rem; color: #929887; font-size: 1rem; }
.automation-workflow small { display: block; font: .6rem/1.6 monospace; letter-spacing: .05em; color: #929887; }
.automation-workflow strong { display: block; font-size: clamp(1rem, 1.7vw, 1.5rem); font-weight: 400; margin-top: .75rem; }
.automation-workflow-note { display: block; margin-top: 1.25rem; font: .7rem/1.7 monospace; color: #babeb0; }
.automation-branches { display: flex; position: relative; gap: 1rem; margin-top: 1.25rem; padding: .6rem 0; border-block: 1px solid #53594a; font: .65rem/1.7 monospace; color: #babeb0; }
.automation-branches::before, .automation-branches::after { content: ''; position: absolute; left: 50%; height: .65rem; width: 1px; background: #53594a; }
.automation-branches::before { bottom: 100%; }
.automation-branches::after { top: 100%; }
.automation-branches span { flex: 1; text-align: center; }
.automation-branches span + span { border-left: 1px solid #53594a; }
.automation-state { color: #a5b798; }
.automation-state::before { content: ''; display: inline-block; width: 5px; height: 5px; border-radius: 50%; background: currentColor; margin-right: .6rem; }
@media (prefers-reduced-motion: no-preference) and (min-width: 64.001rem) {
  .automation-state::before { animation: automation-pulse 12s ease-in-out infinite; }
}
@media (max-width: 56rem) {
  .automation-flow-heading { grid-template-columns: 1fr; gap: 1.5rem; }
  .automation-flow-eyebrow { margin-bottom: 0; }
}
@media (max-width: 40rem) {
  .automation-flow-inner { padding-block: 3rem; }
  .automation-flow h2 { font-size: clamp(1.5rem, 6.2vw, 2rem); }
  .automation-workflow { grid-template-columns: 1fr; gap: 0; margin-block: 2rem 0; }
  .automation-workflow > li { border-top: 0; border-left: 1px solid #53594a; padding: 0 0 2rem 1.5rem; }
  .automation-workflow > li::before { left: -4px; top: 0; }
  .automation-workflow > li:not(:last-child)::after { content: '↓'; left: -.4rem; right: auto; top: auto; bottom: .5rem; background: #171914; }
  .automation-branches { max-width: 230px; }
}

/* Casos: comparación editorial, en orden problema → posible solución. */
.automation-cases { background: var(--surface); color: var(--ink); }
.automation-cases-inner { max-width: var(--content-max); margin-inline: auto; padding: clamp(3rem, 4.5vw, 5rem) var(--page-gutter); }
.automation-cases-heading { text-align: center; margin-bottom: 2rem; }
.automation-cases-eyebrow { font-size: .7rem; line-height: 1.6; letter-spacing: .15em; margin-bottom: 2rem; }
.automation-cases h2 { font-size: clamp(2rem, 4.6vw, 4.7rem); font-weight: 400; line-height: 1.1; letter-spacing: -.05em; }
.automation-cases h2 em { font-family: var(--font-editorial); font-weight: 400; }
.automation-cases-list { list-style: none; padding: 0; margin: 0; }
.automation-cases-list li { display: grid; grid-template-columns: 2rem minmax(0, 1.15fr) minmax(0, 1fr); gap: 2rem; align-items: start; padding-block: 1.35rem; border-top: 1px solid #cdcec5; }
.automation-cases-list li:last-child { border-bottom: 1px solid #cdcec5; }
.automation-case-number { font: italic 1rem/1.6 Georgia, serif; color: #737669; }
.automation-case-label { font-size: .6rem; line-height: 1.6; letter-spacing: .1em; color: #64665d; margin-bottom: .7rem; }
.automation-case-problem h3 { max-width: 30ch; font-size: clamp(1.2rem, 1.8vw, 1.75rem); font-weight: 400; line-height: 1.35; letter-spacing: -.03em; }
.automation-case-solution > p:last-child { max-width: 43ch; font-size: 1rem; line-height: 1.7; color: #64665d; }
@media (max-width: 40rem) {
  .automation-cases-inner { padding-block: 3rem; }
  .automation-cases h2 { font-size: clamp(1.7rem, 7vw, 2.7rem); }
  .automation-cases-list li { grid-template-columns: 1.5rem minmax(0, 1fr); gap: 1.25rem 1rem; padding-block: 1.5rem; }
  .automation-case-solution { grid-column: 2; }
}

/* Proceso compartido: cuatro columnas, dos en tablet y una en móvil. */
.automation-process { background: var(--surface); color: var(--ink); }
.automation-process-inner { max-width: var(--content-max); margin-inline: auto; padding: clamp(3rem, 4.5vw, 5rem) var(--page-gutter); }
.automation-process-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; }
.automation-process-steps li { padding: 1.5rem; border-top: 1px solid #c9cbc0; }
.automation-process-steps li + li { border-left: 1px solid #c9cbc0; }
.automation-process-steps li > span { font: italic 2.5rem Georgia, serif; color: #757969; }
.automation-process-steps h3 { font-size: .82rem; font-weight: 400; letter-spacing: .04em; margin: 1.25rem 0 1rem; }
.automation-process-steps p { font-size: .9rem; line-height: 1.8; color: #64665d; }
@media (max-width: 64rem) {
  .automation-process-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .automation-process-steps li:nth-child(3) { border-left: 0; }
}
@media (max-width: 40rem) {
  .automation-process-steps { grid-template-columns: 1fr; }
  .automation-process-steps li + li { border-left: 0; }
}

.automation-process-eyebrow { text-align: center; font-size: .7rem; font-weight: 400; line-height: 1.6; letter-spacing: .15em; margin-bottom: 2.5rem; }

/* Alcance: lista estática en orden DOM, sin reordenamientos ni controles artificiales. */
.automation-includes { max-width: var(--content-max); padding: clamp(3rem, 4.5vw, 5rem) var(--page-gutter); margin-inline: auto; border-top: 1px solid #d9dbd1; background: var(--surface); color: var(--ink); }
.automation-includes-eyebrow { font-size: .7rem; font-weight: 400; line-height: 1.6; letter-spacing: .15em; text-align: center; margin-bottom: 2rem; }
.automation-includes-list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 2rem; }
.automation-includes-list li { display: flex; align-items: baseline; gap: 1rem; min-width: 0; border-bottom: 1px solid #d9dbd1; padding: 1rem 0; font-size: .9rem; line-height: 1.6; }
.automation-includes-list li > span:first-child { flex: none; font: italic .9rem Georgia, serif; color: #757969; }
@media (max-width: 64rem) { .automation-includes-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 40rem) { .automation-includes-list { grid-template-columns: 1fr; } }

/* Inversión: mismo fondo, columnas y realce de precios que los otros servicios. */
.automation-investment { background: #fafaf7; color: var(--ink); }
.automation-investment-inner { max-width: var(--content-max); margin-inline: auto; padding: clamp(3rem, 4.5vw, 5rem) var(--page-gutter); }
.automation-investment-eyebrow { font-size: .7rem; font-weight: 400; line-height: 1.6; letter-spacing: .15em; text-align: center; }
.automation-price-list { margin-top: 2.5rem; }
.automation-price-list > div { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; padding: 1.6rem 0; border-top: 1px solid #bfc3b3; align-items: center; }
.automation-price-list dt { font-size: .95rem; line-height: 1.5; }
.automation-price-list dt small { display: block; max-width: 45ch; font-size: .85rem; font-weight: normal; margin-top: .7rem; color: #565c4d; line-height: 1.7; }
.automation-price-list dd { text-align: right; font: clamp(1.5rem, 2.9vw, 2.7rem)/1.4 Georgia, serif; letter-spacing: -.035em; }
.automation-price-list dd small { font: .65rem var(--font-sans); letter-spacing: .06em; }
.automation-price-note { max-width: 65ch; margin-top: 2rem; font-size: .85rem; line-height: 1.8; color: #565c4d; }

@media (max-width: 64rem) {
  .automation-price-list > div { grid-template-columns: 1.1fr 1fr; }
}
@media (max-width: 40rem) {
  .automation-price-list > div { grid-template-columns: 1fr; gap: 1rem; }
  .automation-price-list dd { text-align: left; }
}
@media (hover: hover) and (pointer: fine) {
  .automation-price-list dd { transform-origin: right center; transition: transform 320ms ease, color 320ms ease; }
  .automation-price-list > div:hover dd { transform: scale(1.035); color: #10120e; }
}
@media (max-width: 40rem) and (hover: hover) and (pointer: fine) {
  .automation-price-list dd { transform-origin: left center; }
}
@media (prefers-reduced-motion: reduce) {
  .automation-price-list dd { transition: none; }
  .automation-price-list > div:hover dd { transform: none; }
}


@media (max-width: 40rem) {
}

/* FAQ: patrón compartido de las páginas de servicios, aislado a Automatización. */
.automation-faq { max-width: var(--content-max); padding: clamp(3rem, 4.5vw, 5rem) var(--page-gutter); margin-inline: auto; text-align: center; }
.automation-faq-eyebrow { font-size: .7rem; line-height: 1.6; letter-spacing: .15em; margin-bottom: 2rem; }
.automation-faq h2 { font-size: clamp(2.2rem, 4.6vw, 4.7rem); font-weight: 400; line-height: 1.1; letter-spacing: -.05em; }
.automation-faq h2 em { font-family: var(--font-editorial); font-weight: 400; }
.automation-faq .automation-faq-item { max-width: 900px; margin-inline: auto; text-align: left; border-bottom: 1px solid #cdcec5; }
.automation-faq .automation-faq-item:first-of-type { margin-top: 2rem; border-top: 1px solid #cdcec5; }
.automation-faq .automation-faq-item h3 { padding: 1.1rem 0; font-size: 1rem; line-height: 1.6; font-weight: 400; }
.automation-faq .automation-faq-toggle { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 1rem; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.automation-faq .automation-faq-toggle[hidden] { display: none; }
.automation-faq .automation-faq-item p { max-width: 70ch; padding: 0 0 1.5rem; color: #64665d; line-height: 1.8; font-size: 1rem; }
@media (max-width: 40rem) { .automation-faq h2 { font-size: clamp(1.8rem, 7vw, 2.7rem); } }


.automation-faq-toggle > span { flex: none; font-size: 1rem; font-weight: 400; }
.automation-faq-item.is-interactive .automation-faq-static-title { display: none; }
.automation-faq-item.is-interactive .automation-faq-description { display: grid; grid-template-rows: 0fr; opacity: 0; transition: grid-template-rows 320ms ease, opacity 250ms ease; }
.automation-faq-description > div { min-height: 0; overflow: hidden; }
.automation-faq-item.is-open .automation-faq-description { grid-template-rows: 1fr; opacity: 1; }
.automation-faq-toggle:focus-visible { outline: 2px solid var(--ink); outline-offset: 5px; }
@media (prefers-reduced-motion: reduce) { .automation-faq-item.is-interactive .automation-faq-description { transition: none; } }

/* Cierre: métricas compartidas de los CTA de servicios; footer en style.css. */
.automation-final { background: #171914; color: #f5f4ee; text-align: center; }
.automation-final-inner { max-width: var(--content-max); padding: clamp(4.5rem, 8vw, 8rem) var(--page-gutter); margin-inline: auto; }
.automation-final-eyebrow { font-size: .7rem; line-height: 1.6; letter-spacing: .15em; margin-bottom: 2rem; }
.automation-final h2 { font-size: clamp(2.2rem, 4.6vw, 4.7rem); font-weight: 400; line-height: 1.1; letter-spacing: -.05em; }
.automation-final h2 em { font-family: var(--font-editorial); font-weight: 400; }
.automation-final-actions { display: flex; justify-content: center; align-items: center; gap: 2rem; margin-top: 2.5rem; }
.automation-final :focus-visible { outline: 2px solid #f5f4ee; outline-offset: 5px; }
@media (max-width: 40rem) {
  .automation-final h2 { font-size: clamp(1.8rem, 7vw, 2.7rem); }
  .automation-final-actions { flex-direction: column; gap: 1.5rem; }
}


/* Planos contextuales: la fila conserva sus métricas editoriales en reposo. */
.capability-summary { list-style: none; cursor: pointer; }
.capability-summary::-webkit-details-marker { display: none; }
.automation-solutions-list .capability-summary > span { font: italic 1rem Georgia, serif; color: #737669; }
.capability-summary:focus-visible { outline: 2px solid #68765d; outline-offset: 5px; }
.capability-reveal { display: grid; grid-template-rows: 1fr; }
.capability-clip { min-height: 0; overflow: hidden; }
[data-blueprint-group].is-enhanced .capability-reveal { grid-template-rows: 0fr; opacity: 0; transform: translateY(5px); transition: grid-template-rows 320ms ease, opacity 240ms ease, transform 320ms ease; }
[data-blueprint-group].is-enhanced .is-active .capability-reveal { grid-template-rows: 1fr; opacity: 1; transform: none; }
.capability-plan { position: relative; margin: 0 0 2rem; padding: 1rem 1.5rem; border-block: 1px solid #e0e3da; background: linear-gradient(#20201e04 1px, transparent 1px),linear-gradient(90deg,#20201e04 1px,transparent 1px),#fbfbf8; background-size: 28px 28px; }
.capability-plan-label { font: .65rem/1.5 monospace; color: #68715f; }
.capability-plan svg { display: block; width: 100%; height: auto; max-height: 310px; }
.capability-plan svg g { stroke: #aab3a0; stroke-width: 1; fill: #fbfbf8; }
.capability-plan svg text { stroke: none; fill: #30362b; font: 15px monospace; text-anchor: middle; }
.capability-plan svg .cap-label { font-size: 12px; fill: #68715f; }
.capability-plan .cap-wire { fill: none; }
.capability-plan .cap-dashed { stroke-dasharray: 4 5; }
.capability-plan .cap-active { fill: #738569; stroke: #738569; }
.capability-plan figcaption { font: .7rem/1.8 monospace; color: #68715f; }
.capability-plan figcaption span { display: block; margin-top: .3rem; }
.capability-plan .cap-svg-mobile { display: none; }
@media (max-width: 56rem) {
  .capability-plan { padding: 1rem .5rem; }
  .capability-plan .cap-svg-desktop { display: none; }
  .capability-plan .cap-svg-mobile { display: block; max-width: 390px; max-height: none; margin-inline: auto; }
  .capability-plan svg text { font-size: 13px; }
  .capability-plan svg .cap-label { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  [data-blueprint-group].is-enhanced .capability-reveal { transition: none; transform: none; }
}

/* Flowprint: diagnóstico acotado, con plano y etapas en una misma composición. */
.automation-flowprint { background: #fbfbf8; color: var(--ink); }
.flowprint-inner { max-width: var(--content-max); margin-inline: auto; padding: clamp(3.5rem,5vw,5.5rem) var(--page-gutter); display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 2rem clamp(2rem,5vw,5rem); align-items: center; }
.flowprint-eyebrow { font-size: .7rem; letter-spacing: .15em; margin-bottom: 2rem; }
.flowprint-copy h2 { font-size: clamp(1.8rem,3.2vw,3.4rem); font-weight: 400; line-height: 1.15; letter-spacing: -.045em; }
.flowprint-copy h2 em { font-family: var(--font-editorial); font-weight: 400; }
.flowprint-copy > h3 { font-size: .85rem; font-weight: 400; letter-spacing: .1em; margin-top: 2.5rem; }
.flowprint-copy > p:not(.flowprint-eyebrow):not(.flowprint-cost) { max-width: 43ch; color: #64665d; font-size: 1rem; line-height: 1.8; margin-top: 1.25rem; }
.flowprint-copy .flowprint-cost { font: 1.5rem/1.3 var(--font-editorial); margin-block: 2rem 1.25rem; }
.flowprint-copy .button { max-width: 100%; }
.flowprint-copy .button:focus-visible { outline: 2px solid #68765d; outline-offset: 5px; }
.flowprint-plan { min-width: 0; padding: 1.5rem; border: 1px solid #dce0d4; background: linear-gradient(#20201e04 1px,transparent 1px),linear-gradient(90deg,#20201e04 1px,transparent 1px),#ffffff; background-size: 28px 28px; }
.flowprint-plan-label { font: .65rem/1.5 monospace; color: #68715f; }
.flowprint-plan svg { display: block; width: 100%; height: auto; max-width: 400px; margin: 1.5rem auto; }
.flowprint-labels { fill: #3a4133; text-anchor: middle; font: 12px monospace; }
.flowprint-stages { list-style: none; margin: 0; padding: 0; }
.flowprint-stages li { display: grid; grid-template-columns: 1.5rem minmax(0,1fr); gap: .75rem; padding-block: .85rem; border-top: 1px solid #dde1d5; }
.flowprint-stages li > span { font: .7rem/1.6 monospace; color: #68715f; }
.flowprint-stages h3 { font-size: .7rem; letter-spacing: .06em; font-weight: 400; }
.flowprint-stages p { font-size: .8rem; line-height: 1.6; color: #64665d; margin-top: .3rem; }
.flowprint-scope { grid-column: 1 / -1; max-width: 80ch; font-size: .8rem; line-height: 1.7; color: #64665d; }
@media (max-width: 64rem) {
  .flowprint-inner { grid-template-columns: 1fr; }
  .flowprint-copy > p:not(.flowprint-eyebrow):not(.flowprint-cost) { max-width: 55ch; }
}
@media (max-width: 40rem) {
  .flowprint-inner { padding-block: 3rem; gap: 2rem; }
  .flowprint-copy h2 { font-size: clamp(1.7rem,6.2vw,2.4rem); }
  .flowprint-plan { padding: 1rem .75rem; }
}

/* Se mantiene en el flujo: el header relativo queda debajo, el dialog en top layer. */
.flowprint-bar { position: sticky; top: 0; z-index: 3; background: #171914; color: #f5f4ee; border-bottom: 1px solid #363b30; }
.flowprint-bar-inner { max-width: var(--content-max); margin-inline: auto; padding: .85rem var(--page-gutter); display: flex; align-items: center; gap: 1.5rem; }
.flowprint-bar-name { font-size: .7rem; letter-spacing: .06em; white-space: nowrap; }
.flowprint-bar-description { flex: 1; padding-left: 1.5rem; border-left: 1px solid #505746; font-size: .7rem; line-height: 1.6; color: #c9cebf; }
.flowprint-bar-cost { font-size: .65rem; letter-spacing: .08em; white-space: nowrap; }
.flowprint-bar button { flex-shrink: 0; padding: .35rem 0; border: 0; background: none; color: inherit; font: .65rem/1.5 var(--font-sans); letter-spacing: .04em; cursor: pointer; }
.flowprint-bar button:focus-visible { outline: 2px solid #e0e5d7; outline-offset: 5px; }
.automation-page :is(section[id], [id], button, a, summary):focus { scroll-margin-top: 5rem; }
.automation-page [id] { scroll-margin-top: 5rem; }
.flowprint-price-label { display: block; margin-bottom: .7rem; font: .6rem/1.5 monospace; letter-spacing: .08em; color: #565c4d; }
.flowprint-price-entry button { display: inline-block; margin-top: 1rem; padding: .3rem 0; border: 0; border-bottom: 1px solid #8b927e; background: transparent; color: inherit; font: .7rem/1.6 var(--font-sans); cursor: pointer; }
.flowprint-price-entry button:focus-visible { outline: 2px solid #565c4d; outline-offset: 5px; }
@media (max-width: 64rem) {
  .flowprint-bar-description { display: none; }
  .flowprint-bar-name { margin-right: auto; }
}
@media (max-width: 40rem) {
  .flowprint-bar-inner { gap: 1rem; padding-block: .65rem; }
  .flowprint-bar-name { font-size: .65rem; }
  .flowprint-bar-action { display: none; }
  .flowprint-bar button { padding: .15rem .5rem; font-size: 1rem; }
}

/* Cierre de inversión y jerarquía secundaria del diagnóstico. */
.automation-price-list .flowprint-price-entry dd { font-size: clamp(1.1rem, 1.65vw, 1.5rem); }
.automation-investment-close { display: flex; align-items: center; justify-content: space-between; gap: 3rem; padding-block: 1.5rem; border-block: 1px solid #bfc3b3; }
.automation-investment-close .automation-price-note { max-width: 58ch; margin: 0; }
.automation-investment-close .button { flex-shrink: 0; max-width: 100%; }
.automation-investment-close .button:focus-visible { outline: 2px solid #565c4d; outline-offset: 5px; }
@media (max-width: 64rem) {
  .automation-investment-close { flex-direction: column; align-items: flex-start; gap: 1.5rem; }
}

/* Indicador superpuesto: no ocupa espacio ni intercepta interacción. */
.flowprint-progress { position: absolute; inset: 0 0 auto; height: 2px; background: #c9cebf; transform: scaleX(0); transform-origin: left center; pointer-events: none; }
