/*
 * Control de calidad.
 * Concepto: la ficha de inspección. Verde = cumple, rojo = desviación.
 * Momento llamativo: el sello de aprobado cae sobre la ficha del hero al cargar.
 */
[data-function-layout="control-calidad"] {
    --qc-ink: #041f49;
    --qc-blue: #073d86;
    --qc-gold: #fac63f;
    --qc-ok: #15803d;
    --qc-ok-soft: #dcfce7;
    --qc-fail: #b42318;
    --qc-fail-soft: #fdecea;
    --qc-warn: #b45309;
    --qc-paper: #f3f6fa;
    --qc-line: #dbe2ec;
    --qc-muted: #4a5568;
    --qc-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E");
    --qc-cross: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7 7 17'/%3E%3C/svg%3E");
}

/* ---------- Hero ---------- */
[data-function-layout="control-calidad"] #inicio { padding-block: clamp(2.5rem, 6vw, 5rem); background: var(--qc-ink); }
[data-function-layout="control-calidad"] .function-hero__overlay { background: linear-gradient(90deg, rgb(4 31 73 / .95) 0%, rgb(4 31 73 / .86) 50%, rgb(4 31 73 / .45) 100%); }
@media (max-width: 767px) {
    [data-function-layout="control-calidad"] .function-hero__overlay { background: linear-gradient(180deg, rgb(4 31 73 / .94) 0%, rgb(4 31 73 / .84) 55%, rgb(4 31 73 / .6) 100%); }
}
[data-function-layout="control-calidad"] .rh-hero-layout { align-items: center; }
[data-function-layout="control-calidad"] #inicio .cv-eyebrow,
[data-function-layout="control-calidad"] #inicio .cv-eyebrow .cv-icon { color: var(--qc-gold); }
[data-function-layout="control-calidad"] #inicio .cv-hero-title { max-width: 20ch; color: #fff; font-size: clamp(2rem, 3.8vw, 3.4rem); line-height: 1.06; letter-spacing: -.035em; }
[data-function-layout="control-calidad"] #inicio .cv-hero-description { color: rgb(255 255 255 / .84); }
[data-function-layout="control-calidad"] #inicio .cv-hero-copy p.text-sm { color: rgb(255 255 255 / .62); }
[data-function-layout="control-calidad"] #inicio .cv-primary-button { border-color: var(--qc-gold); background: var(--qc-gold); color: var(--qc-ink); box-shadow: 0 14px 30px rgb(0 0 0 / .25); }
[data-function-layout="control-calidad"] #inicio .cv-primary-button:hover,
[data-function-layout="control-calidad"] #inicio .cv-primary-button:focus-visible { background: #ffd666; }
[data-function-layout="control-calidad"] #inicio .cv-secondary-button { border-color: rgb(255 255 255 / .7); background: transparent; color: #fff; }
[data-function-layout="control-calidad"] #inicio .cv-secondary-button:hover,
[data-function-layout="control-calidad"] #inicio .cv-secondary-button:focus-visible { background: #fff; color: var(--qc-ink); }
[data-function-layout="control-calidad"] #inicio .cv-primary-button:focus-visible,
[data-function-layout="control-calidad"] #inicio .cv-secondary-button:focus-visible { outline: 3px solid var(--qc-gold); outline-offset: 3px; }

/* Ficha de inspección */
[data-function-layout="control-calidad"] .function-report-panel {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0 .875rem;
    align-items: center;
    justify-self: center;
    width: 100%;
    max-width: 28rem;
    min-width: 0;
    margin-top: 1.5rem;
    padding: 1.75rem;
    border: 0;
    border-top: 8px solid var(--qc-ok);
    border-radius: .75rem;
    background: #fff;
    box-shadow: 0 34px 60px rgb(0 0 0 / .4);
    color: var(--qc-ink);
}
[data-function-layout="control-calidad"] .function-report-panel .rh-feature-icon { grid-column: 1; border-radius: .6rem; background: var(--qc-ink); color: var(--qc-gold); }
[data-function-layout="control-calidad"] .function-report-panel h2 { grid-column: 2; margin: 0; padding-right: 4rem; font-family: "Hanken Grotesk", ui-sans-serif, sans-serif; font-size: 1.3rem; font-weight: 800; line-height: 1.25; }
[data-function-layout="control-calidad"] .function-report-lines,
[data-function-layout="control-calidad"] .function-report-panel > p { grid-column: 1 / -1; }
[data-function-layout="control-calidad"] .function-report-lines { display: grid; gap: .6rem; margin-top: 1.5rem; padding: 0; list-style: none; }
[data-function-layout="control-calidad"] .function-report-lines li {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    padding: .85rem 1rem;
    border-radius: .6rem;
    background: var(--qc-ok-soft);
    font-weight: 700;
}
[data-function-layout="control-calidad"] .function-report-lines li::after { content: ""; flex: 0 0 1.6rem; height: 1.6rem; border-radius: 50%; background: var(--qc-ok) var(--qc-check) center / 70% no-repeat; }
[data-function-layout="control-calidad"] .function-report-lines li:nth-child(3) { background: #fef3c7; }
[data-function-layout="control-calidad"] .function-report-lines li:nth-child(3)::after {
    content: "!";
    display: grid;
    place-items: center;
    background: var(--qc-warn);
    color: #fff;
    font-family: "Hanken Grotesk", ui-sans-serif, sans-serif;
    font-weight: 800;
}
[data-function-layout="control-calidad"] .function-report-panel > p { margin-top: 1.25rem; color: var(--qc-muted); font-size: .9rem; line-height: 1.6; }
/* Sello */
[data-function-layout="control-calidad"] .qc-stamp {
    position: absolute;
    top: -1.75rem;
    right: -1.25rem;
    width: 5.5rem;
    height: 5.5rem;
    border: 5px double var(--qc-ok);
    border-radius: 50%;
    background: rgb(220 252 231 / .92) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2315803d' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 55% no-repeat;
    box-shadow: 0 10px 20px rgb(0 0 0 / .25);
    rotate: -14deg;
    animation: qc-stamp .55s cubic-bezier(.3, 1.4, .5, 1) .9s both;
}
@keyframes qc-stamp {
    from { opacity: 0; scale: 2.2; }
    to { opacity: 1; scale: 1; }
}

/* ---------- Definición ---------- */
[data-function-layout="control-calidad"] .rh-function-overview { display: grid; gap: 1.5rem 3rem; align-items: start; }
[data-function-layout="control-calidad"] #overview-title::before { content: ""; display: block; width: 3.5rem; height: 4px; margin-bottom: 1.25rem; background: var(--qc-ok); }
[data-function-layout="control-calidad"] .rh-function-overview .cv-section-intro { max-width: 44rem; margin: 0; color: #1f2a3d; font-size: clamp(1.0625rem, 1.5vw, 1.1875rem); line-height: 1.8; }

/* ---------- Artículo: texto + visual ---------- */
[data-function-layout="control-calidad"] .qc-article { counter-reset: qc-section; }
[data-function-layout="control-calidad"] .qc-article .qc-article__section { padding-block: clamp(3.5rem, 7vw, 6rem); background: #fff; }
[data-function-layout="control-calidad"] .qc-article .qc-article__section:nth-of-type(odd) { background: var(--qc-paper); }
[data-function-layout="control-calidad"] .qc-article__grid { display: grid; gap: 2.5rem 4rem; align-items: center; }
[data-function-layout="control-calidad"] .qc-article .function-copy { max-width: 40rem; margin: 0; padding: 0; }
[data-function-layout="control-calidad"] .qc-article .cv-section-title { font-size: clamp(1.6rem, 2.6vw, 2.25rem); line-height: 1.15; }
[data-function-layout="control-calidad"] .qc-article .cv-section-title::before {
    counter-increment: qc-section;
    content: counter(qc-section);
    display: grid;
    place-items: center;
    width: 2.5rem;
    height: 2.5rem;
    margin-bottom: 1rem;
    border-radius: 50%;
    background: var(--qc-ink);
    color: var(--qc-gold);
    font-size: 1.05rem;
    letter-spacing: 0;
}
[data-function-layout="control-calidad"] .qc-article .function-copy p { margin-top: 1rem; color: #2a3446; font-size: 1.0625rem; line-height: 1.8; }
[data-function-layout="control-calidad"] .qc-article .function-copy p:first-of-type { margin-top: 1.25rem; }
[data-function-layout="control-calidad"] .qc-visual { min-width: 0; margin: 0; }
[data-function-layout="control-calidad"] .qc-visual ul,
[data-function-layout="control-calidad"] .qc-visual ol { margin: 0; padding: 0; list-style: none; }
[data-function-layout="control-calidad"] .qc-visual strong { font-family: "Hanken Grotesk", ui-sans-serif, sans-serif; }

/* Etapas: antes, durante, al finalizar */
[data-function-layout="control-calidad"] .qc-stages { padding: 2rem 1.5rem; border-radius: 1.25rem; background: var(--qc-ink); color: #fff; }
[data-function-layout="control-calidad"] .qc-stages__track { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; }
[data-function-layout="control-calidad"] .qc-stages__track::before { content: ""; position: absolute; top: .7rem; left: 16%; right: 16%; height: 2px; background: rgb(255 255 255 / .3); }
[data-function-layout="control-calidad"] .qc-stages__track li { position: relative; display: grid; justify-items: center; gap: .6rem; font-family: "Hanken Grotesk", ui-sans-serif, sans-serif; font-size: 1.2rem; font-weight: 800; text-align: center; }
[data-function-layout="control-calidad"] .qc-stages__track li::before { content: ""; width: 1.4rem; height: 1.4rem; border: 3px solid var(--qc-ink); border-radius: 50%; background: var(--qc-gold); box-shadow: 0 0 0 2px var(--qc-gold); }
[data-function-layout="control-calidad"] .qc-stages__caption { margin: .4rem 0 0; color: rgb(255 255 255 / .7); font-size: .9rem; text-align: center; }
[data-function-layout="control-calidad"] .qc-stages__methods { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin-top: 1.5rem !important; padding-top: 1.5rem !important; border-top: 1px solid rgb(255 255 255 / .15); }
[data-function-layout="control-calidad"] .qc-stages__methods li { padding: .55rem .95rem; border-radius: 9999px; background: #fff; color: var(--qc-ink); font-weight: 700; font-size: .925rem; }

/* Menos errores */
[data-function-layout="control-calidad"] .qc-reduce { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 1.5rem; align-items: center; padding: 2rem; border-radius: 1.25rem; background: #fff; box-shadow: inset 0 0 0 1px var(--qc-line); }
[data-function-layout="control-calidad"] .qc-reduce strong { color: var(--qc-ok); font-size: clamp(2rem, 3.5vw, 2.75rem); font-weight: 800; letter-spacing: -.04em; writing-mode: vertical-rl; rotate: 180deg; }
[data-function-layout="control-calidad"] .qc-reduce ul { display: grid; gap: .6rem; }
[data-function-layout="control-calidad"] .qc-reduce li { display: flex; gap: .75rem; align-items: center; padding: .85rem 1rem; border-radius: .7rem; background: var(--qc-paper); color: var(--qc-ink); font-weight: 700; }
[data-function-layout="control-calidad"] .qc-reduce li::before {
    content: "";
    flex: 0 0 1.6rem;
    height: 1.6rem;
    border-radius: 50%;
    background: var(--qc-ok) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14M6 13l6 6 6-6'/%3E%3C/svg%3E") center / 65% no-repeat;
}

/* Decisión: ¿cumple? */
[data-function-layout="control-calidad"] .qc-decision { display: grid; gap: 1.25rem; }
[data-function-layout="control-calidad"] .qc-decision__steps { display: grid; gap: .5rem; counter-reset: qc-step; }
[data-function-layout="control-calidad"] .qc-decision__steps li { display: grid; grid-template-columns: 2.25rem minmax(0, 1fr); gap: .9rem; align-items: center; padding: .9rem 1.1rem; border-radius: .8rem; background: #fff; box-shadow: inset 0 0 0 1px var(--qc-line); color: var(--qc-ink); font-weight: 700; }
[data-function-layout="control-calidad"] .qc-decision__steps li::before { counter-increment: qc-step; content: counter(qc-step); display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border-radius: 50%; background: var(--qc-ink); color: var(--qc-gold); font-family: "Hanken Grotesk", ui-sans-serif, sans-serif; font-weight: 800; }
[data-function-layout="control-calidad"] .qc-decision__question { justify-self: center; padding: .9rem 1.75rem; border-radius: .6rem; background: var(--qc-gold); color: var(--qc-ink); font-family: "Hanken Grotesk", ui-sans-serif, sans-serif; font-size: 1.35rem; font-weight: 800; rotate: 0deg; }
[data-function-layout="control-calidad"] .qc-decision__branches { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
[data-function-layout="control-calidad"] .qc-decision__branches > div { display: grid; gap: .3rem; padding: 1.1rem 1.25rem; border-radius: .9rem; font-weight: 600; line-height: 1.35; }
[data-function-layout="control-calidad"] .qc-decision__branches strong { font-size: 1.4rem; font-weight: 800; }
[data-function-layout="control-calidad"] .qc-decision__yes { background: var(--qc-ok-soft); color: var(--qc-ok); }
[data-function-layout="control-calidad"] .qc-decision__no { background: var(--qc-fail-soft); color: var(--qc-fail); }

/* Alcance: etapas y elementos */
[data-function-layout="control-calidad"] .qc-scope { padding: 1.75rem; border-radius: 1.25rem; background: #fff; box-shadow: inset 0 0 0 1px var(--qc-line); }
[data-function-layout="control-calidad"] .qc-scope__stages { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .4rem; }
[data-function-layout="control-calidad"] .qc-scope__stages li { padding: .9rem .75rem; background: var(--qc-ink); color: #fff; font-family: "Hanken Grotesk", ui-sans-serif, sans-serif; font-weight: 800; font-size: .95rem; line-height: 1.25; text-align: center; clip-path: polygon(0 0, calc(100% - .8rem) 0, 100% 50%, calc(100% - .8rem) 100%, 0 100%, .8rem 50%); }
[data-function-layout="control-calidad"] .qc-scope__stages li:first-child { clip-path: polygon(0 0, calc(100% - .8rem) 0, 100% 50%, calc(100% - .8rem) 100%, 0 100%); border-radius: .5rem 0 0 .5rem; }
[data-function-layout="control-calidad"] .qc-scope__checks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; margin-top: 1.25rem !important; }
[data-function-layout="control-calidad"] .qc-scope__checks li { display: flex; gap: .6rem; align-items: center; padding: .7rem .85rem; border-radius: .6rem; background: var(--qc-paper); color: var(--qc-ink); font-weight: 600; font-size: .95rem; }
[data-function-layout="control-calidad"] .qc-scope__checks li::before { content: ""; flex: 0 0 1.25rem; height: 1.25rem; border-radius: 50%; background: var(--qc-ok) var(--qc-check) center / 70% no-repeat; }

/* Control frente a aseguramiento */
[data-function-layout="control-calidad"] .qc-compare { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
[data-function-layout="control-calidad"] .qc-compare__col { display: grid; gap: .6rem; align-content: start; padding: 1.75rem 1.5rem; border-radius: 1.25rem; background: #fff; box-shadow: inset 0 0 0 2px var(--qc-ink); color: var(--qc-ink); }
[data-function-layout="control-calidad"] .qc-compare__col:last-child { background: var(--qc-ink); box-shadow: none; color: #fff; }
[data-function-layout="control-calidad"] .qc-compare__tag { justify-self: start; padding: .35rem .75rem; border-radius: 9999px; background: var(--qc-ok-soft); color: var(--qc-ok); font-size: .85rem; font-weight: 700; }
[data-function-layout="control-calidad"] .qc-compare__col:last-child .qc-compare__tag { background: var(--qc-gold); color: var(--qc-ink); }
[data-function-layout="control-calidad"] .qc-compare__col strong { font-size: clamp(1.4rem, 2.2vw, 1.75rem); font-weight: 800; line-height: 1.15; }
[data-function-layout="control-calidad"] .qc-compare__col p { margin: 0; font-size: 1rem; line-height: 1.55; opacity: .85; }

/* Inspección: métodos y resultados */
[data-function-layout="control-calidad"] .qc-inspection { display: grid; gap: 1rem; }
[data-function-layout="control-calidad"] .qc-inspection__methods { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
[data-function-layout="control-calidad"] .qc-inspection__methods li { display: grid; gap: .8rem; padding: 1.25rem; border-radius: 1rem; background: var(--qc-ink); color: #fff; font-family: "Hanken Grotesk", ui-sans-serif, sans-serif; font-weight: 700; }
[data-function-layout="control-calidad"] .qc-inspection__methods .rh-feature-icon { background: var(--qc-gold); color: var(--qc-ink); }
[data-function-layout="control-calidad"] .qc-inspection__outcomes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
[data-function-layout="control-calidad"] .qc-inspection__outcomes li { display: flex; gap: .6rem; align-items: center; padding: .9rem 1rem; border-radius: .8rem; font-weight: 700; line-height: 1.3; }
[data-function-layout="control-calidad"] .qc-inspection__outcomes li::before { content: ""; flex: 0 0 1.5rem; height: 1.5rem; border-radius: 50%; }
[data-function-layout="control-calidad"] .qc-inspection__outcomes .is-ok { background: var(--qc-ok-soft); color: var(--qc-ok); }
[data-function-layout="control-calidad"] .qc-inspection__outcomes .is-ok::before { background: var(--qc-ok) var(--qc-check) center / 70% no-repeat; }
[data-function-layout="control-calidad"] .qc-inspection__outcomes .is-fail { background: var(--qc-fail-soft); color: var(--qc-fail); }
[data-function-layout="control-calidad"] .qc-inspection__outcomes .is-fail::before { background: var(--qc-fail) var(--qc-cross) center / 65% no-repeat; }

/* Reporte de inspección (ejemplo) */
[data-function-layout="control-calidad"] .qc-report { position: relative; padding: 1.75rem; border-top: 8px solid var(--qc-ink); border-radius: .75rem; background: #fff; box-shadow: 0 1px 0 var(--qc-line), inset 0 0 0 1px var(--qc-line); }
[data-function-layout="control-calidad"] .qc-report__title { margin: 0 0 1.25rem; color: var(--qc-ink); font-family: "Hanken Grotesk", ui-sans-serif, sans-serif; font-size: 1.35rem; font-weight: 800; }
[data-function-layout="control-calidad"] .qc-report ul { display: grid; gap: .6rem; }
[data-function-layout="control-calidad"] .qc-report li { display: grid; grid-template-columns: minmax(0, 1fr) 1.75rem; gap: .2rem 1rem; align-items: center; padding: .95rem 1.1rem; border-radius: .7rem; background: var(--qc-ok-soft); color: var(--qc-ink); font-weight: 700; }
[data-function-layout="control-calidad"] .qc-report li::after { content: ""; grid-column: 2; grid-row: 1 / span 2; width: 1.75rem; height: 1.75rem; border-radius: 50%; background: var(--qc-ok) var(--qc-check) center / 70% no-repeat; }
[data-function-layout="control-calidad"] .qc-report li small { grid-column: 1; color: var(--qc-fail); font-size: .85rem; font-weight: 600; }
[data-function-layout="control-calidad"] .qc-report li.is-fail { background: var(--qc-fail-soft); box-shadow: inset 4px 0 0 var(--qc-fail); }
[data-function-layout="control-calidad"] .qc-report li.is-fail::after { background: var(--qc-fail) var(--qc-cross) center / 62% no-repeat; }
[data-function-layout="control-calidad"] .qc-report__footer { margin: 1.25rem 0 0; padding: .9rem 1.1rem; border-radius: .7rem; background: var(--qc-gold); color: var(--qc-ink); font-weight: 800; text-align: center; }

/* Mosaico */
[data-function-layout="control-calidad"] .qc-tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
[data-function-layout="control-calidad"] .qc-tiles li { display: grid; gap: .9rem; align-content: start; padding: 1.35rem; border-radius: 1rem; background: #fff; box-shadow: inset 0 0 0 1px var(--qc-line); color: var(--qc-ink); font-family: "Hanken Grotesk", ui-sans-serif, sans-serif; font-size: 1.0625rem; font-weight: 700; line-height: 1.3; }
[data-function-layout="control-calidad"] .qc-tiles li:nth-child(4n+1),
[data-function-layout="control-calidad"] .qc-tiles li:nth-child(4n) { background: var(--qc-ink); box-shadow: none; color: #fff; }
[data-function-layout="control-calidad"] .qc-tiles .rh-feature-icon { background: var(--qc-ok-soft); color: var(--qc-ok); }
[data-function-layout="control-calidad"] .qc-tiles li:nth-child(4n+1) .rh-feature-icon,
[data-function-layout="control-calidad"] .qc-tiles li:nth-child(4n) .rh-feature-icon { background: var(--qc-gold); color: var(--qc-ink); }

/* Centro conectado */
[data-function-layout="control-calidad"] .qc-hub { display: grid; justify-items: center; gap: 2.5rem; padding: 2rem 1.5rem; border-radius: 1.25rem; background: var(--qc-ink); color: #fff; }
[data-function-layout="control-calidad"] .qc-hub__center { position: relative; padding: 1rem 2rem; border-radius: .9rem; background: var(--qc-ok); color: #fff; font-family: "Hanken Grotesk", ui-sans-serif, sans-serif; font-size: 1.4rem; font-weight: 800; }
[data-function-layout="control-calidad"] .qc-hub__center::after { content: ""; position: absolute; left: 50%; bottom: -1.25rem; width: 2px; height: 1.25rem; background: rgb(255 255 255 / .4); }
[data-function-layout="control-calidad"] .qc-hub ul { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; }
[data-function-layout="control-calidad"] .qc-hub li { padding: .75rem 1.1rem; border-radius: .6rem; background: #fff; color: var(--qc-ink); font-weight: 700; }
[data-function-layout="control-calidad"] .qc-hub p { margin: -1rem 0 0; color: rgb(255 255 255 / .75); font-size: .9rem; text-align: center; }

/* Cadena en Evidence */
[data-function-layout="control-calidad"] .qc-chain { display: grid; gap: 1.25rem; counter-reset: qc-chain; }
[data-function-layout="control-calidad"] .qc-chain li { position: relative; display: grid; grid-template-columns: 2.25rem minmax(0, 1fr); gap: .9rem; align-items: center; padding: .95rem 1.25rem; border-radius: .9rem; background: #fff; box-shadow: inset 0 0 0 2px var(--qc-ink); color: var(--qc-ink); font-weight: 700; }
[data-function-layout="control-calidad"] .qc-chain li::before { counter-increment: qc-chain; content: counter(qc-chain); display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border-radius: 50%; background: var(--qc-paper); color: var(--qc-blue); font-family: "Hanken Grotesk", ui-sans-serif, sans-serif; font-weight: 800; }
[data-function-layout="control-calidad"] .qc-chain li:not(:last-child)::after { content: ""; position: absolute; left: calc(1.25rem + 1.125rem - 1px); bottom: -1.25rem; width: 2px; height: 1.25rem; background: var(--qc-ok); }
[data-function-layout="control-calidad"] .qc-chain li:last-child { background: var(--qc-ok); box-shadow: none; color: #fff; }
[data-function-layout="control-calidad"] .qc-chain li:last-child::before { background: #fff var(--qc-check) center / 0 no-repeat; color: var(--qc-ok); }
[data-function-layout="control-calidad"] .qc-chain__note { margin-top: 1rem; color: var(--qc-muted); font-size: .95rem; }

@media (min-width: 768px) {
    [data-function-layout="control-calidad"] .rh-function-overview { grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr); }
}
@media (min-width: 1024px) {
    [data-function-layout="control-calidad"] .rh-hero-layout { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); }
    [data-function-layout="control-calidad"] .cv-hero-copy { grid-column: 1; grid-row: 1; }
    [data-function-layout="control-calidad"] .function-report-panel { grid-column: 2; grid-row: 1; }
    [data-function-layout="control-calidad"] .qc-article__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    [data-function-layout="control-calidad"] .qc-article__section:nth-of-type(even) .qc-visual { order: -1; }
}
@media (max-width: 767px) {
    [data-function-layout="control-calidad"] #inicio .cv-hero-title { max-width: none; }
    [data-function-layout="control-calidad"] .function-report-panel { padding-inline: 1.25rem; }
    [data-function-layout="control-calidad"] .qc-stamp { right: .5rem; width: 4.5rem; height: 4.5rem; }
}
@media (max-width: 479px) {
    [data-function-layout="control-calidad"] .qc-tiles,
    [data-function-layout="control-calidad"] .qc-compare,
    [data-function-layout="control-calidad"] .qc-scope__checks,
    [data-function-layout="control-calidad"] .qc-inspection__outcomes,
    [data-function-layout="control-calidad"] .qc-decision__branches { grid-template-columns: minmax(0, 1fr); }
    [data-function-layout="control-calidad"] .qc-scope__stages { grid-template-columns: minmax(0, 1fr); }
    [data-function-layout="control-calidad"] .qc-scope__stages li,
    [data-function-layout="control-calidad"] .qc-scope__stages li:first-child { clip-path: none; border-radius: .5rem; }
}
@media (prefers-reduced-motion: reduce) {
    [data-function-layout="control-calidad"] .qc-stamp { animation: none; }
}
