/* Ruta 02 migrada a linea grafica clara tipo Ruta 01.
   Mantiene la estructura tecnica/SEO de Ruta 02 y corrige la atmosfera visual. */

:root {
    --r01-ivory: #f8f3ea;
    --r01-paper: #fffaf3;
    --r01-stone: #ded6ca;
    --r01-line: rgba(43, 38, 32, 0.13);
    --r01-line-soft: rgba(43, 38, 32, 0.075);
    --r01-charcoal: #17130f;
    --r01-ink: #2b2620;
    --r01-muted: rgba(43, 38, 32, 0.68);
    --r01-soft: rgba(43, 38, 32, 0.48);
    --r01-terracotta: #c9592e;
    --r01-terracotta-soft: #e9935c;
    --r01-teal: #2fa9a1;
    --r01-sage: #dcebe3;
    --font-title: 'Fraunces', 'Sora', Georgia, serif;
    --font-body: 'Manrope', 'Sora', system-ui, sans-serif;
    --font-mono: 'IBM Plex Mono', ui-monospace, monospace;
}

html,
body {
    background: var(--r01-ivory) !important;
    color: var(--r01-charcoal) !important;
}

body::before,
.hero-bg-glows,
.statement-photo-stage,
.system-section::before,
.system-section::after,
.contact-section::before {
    display: none !important;
}

h1,
h2,
h3,
h4,
.section-title,
.hero-main-title,
.service-title,
.step-title,
.diff-title,
.cta-card-title,
.contact-section .section-title,
.experience-section .section-title,
.differentials-section .section-title,
.process-section .section-title,
.system-section .section-title,
.sector-title-name,
.portrait-name,
.footer-col-title,
.route-step-number,
.diff-num-display,
.metric-num,
.statement-quote,
.diff-showcase-quote,
.pillar-card h4,
.system-route-copy h3,
.system-route-step h3,
.cta-card-title {
    font-family: var(--font-title) !important;
    color: var(--r01-charcoal) !important;
    letter-spacing: -0.025em !important;
}

.section-tag,
.section-kicker,
.system-kicker,
.value-kicker,
.cta-kicker,
.contact-kicker,
.card-num-mono,
.step-tag-mono,
.sector-num,
.diff-num-label,
.cta-label-mono,
.statement-header-mono,
.hero-badge,
.pipeline-status-tag,
.node-num,
.node-phase,
.route-step-label,
.sector-pill,
.diff-tag-pill,
.diff-showcase-tag,
.portrait-tag,
.channel-label,
.social-label-heading,
.metric-label,
.visual-creative-direction,
.copyright,
.pillar-mono,
.system-route-kicker,
.system-floating-label,
.system-route-mini span,
.trust-item,
.security-protocol-badge span,
.step-num-badge {
    font-family: var(--font-mono) !important;
    color: var(--r01-terracotta) !important;
    letter-spacing: 0.14em !important;
}

p,
.section-intro,
.hero-lead-text,
.service-description,
.step-text,
.diff-text,
.contact-intro-text,
.experience-right,
.sector-card-desc,
.footer-descriptor,
.connective-node-card p,
.pipeline-steps-indicator,
.system-route-step p,
.system-route-step strong,
.portrait-role,
.channel-link,
.form-group label,
.form-group input,
.form-group select,
.form-group textarea,
.footer-link,
.cta-card-text {
    font-family: var(--font-body) !important;
    color: var(--r01-muted) !important;
}

.btn,
.btn-primary,
.btn-secondary,
.btn-header,
.hero-btn-main,
.hero-btn-sub,
.btn-cta-light,
.btn-cta-glass,
.btn-submit-primary,
.service-link,
.nav-link {
    font-family: 'Sora', sans-serif !important;
}

.text-light,
.text-charcoal {
    color: var(--r01-charcoal) !important;
}

.container,
.main-header .header-container,
.services-section .container,
.system-section .container,
.process-section .container,
.experience-section .container,
.differentials-section .container,
.contact-section .container,
.footer-container {
    width: min(100% - clamp(32px, 6vw, 112px), 1500px) !important;
    max-width: none !important;
}

section,
.services-section,
.system-section,
.process-section,
.experience-section,
.differentials-section,
.final-cta-section,
.contact-section {
    background:
        linear-gradient(90deg, rgba(43, 38, 32, 0.055) 1px, transparent 1px),
        linear-gradient(180deg, rgba(43, 38, 32, 0.045) 1px, transparent 1px),
        var(--r01-ivory) !important;
    background-size: 96px 96px, 96px 96px, auto !important;
    border-color: var(--r01-line) !important;
}

.main-header,
.main-header.scrolled {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: clamp(14px, 1.2vw, 24px) 0 !important;
}

.main-header::before,
.main-header::after {
    display: none !important;
}

.main-header .header-container,
.main-header.scrolled .header-container,
.main-header:not(.scrolled) .header-container {
    min-height: 64px !important;
    padding: 8px 12px 8px 20px !important;
    background: rgba(255, 250, 243, 0.9) !important;
    border: 1px solid rgba(43, 38, 32, 0.11) !important;
    border-radius: 999px !important;
    box-shadow: 0 20px 60px rgba(43, 38, 32, 0.1) !important;
    backdrop-filter: blur(18px) !important;
    overflow: visible !important;
    gap: clamp(18px, 2vw, 38px) !important;
}

.brand-logo-image {
    max-width: clamp(172px, 13vw, 230px) !important;
    height: auto !important;
}

.nav-menu ul {
    gap: clamp(4px, 0.55vw, 14px) !important;
}

.nav-link,
.main-header.scrolled .nav-link {
    padding: 9px clamp(10px, 0.85vw, 18px) !important;
    font-size: clamp(0.74rem, 0.72vw, 0.86rem) !important;
    color: rgba(43, 38, 32, 0.56) !important;
    border: 0 !important;
    background: transparent !important;
}

.btn-header {
    padding-inline: clamp(18px, 1.55vw, 28px) !important;
    min-height: 46px !important;
    white-space: nowrap !important;
}

.nav-link:hover,
.nav-link.active,
.main-header.scrolled .nav-link:hover,
.main-header.scrolled .nav-link.active {
    background: var(--r01-sage) !important;
    color: #4f7864 !important;
}

.btn-primary,
.btn-header,
.hero-btn-main,
.btn-submit {
    background: var(--r01-terracotta) !important;
    border-color: var(--r01-terracotta) !important;
    color: #fffaf3 !important;
    box-shadow: 0 16px 34px rgba(201, 89, 46, 0.2) !important;
}

.btn-secondary,
.hero-btn-sub {
    color: var(--r01-charcoal) !important;
    border-color: rgba(43, 38, 32, 0.45) !important;
    background: rgba(255, 250, 243, 0.42) !important;
}

.hero-section {
    min-height: 100svh !important;
    padding: clamp(126px, 9vw, 168px) 0 clamp(118px, 10vw, 168px) !important;
    overflow: hidden !important;
    background:
        radial-gradient(circle at 72% 38%, rgba(47, 169, 161, 0.18), transparent 34%),
        radial-gradient(circle at 19% 84%, rgba(201, 89, 46, 0.14), transparent 32%),
        linear-gradient(90deg, rgba(43, 38, 32, 0.065) 1px, transparent 1px),
        linear-gradient(180deg, rgba(43, 38, 32, 0.05) 1px, transparent 1px),
        var(--r01-ivory) !important;
    background-size: auto, auto, 84px 84px, 84px 84px, auto !important;
}

.hero-section::before {
    content: "CONNECTIVE";
    position: absolute;
    left: -2vw;
    bottom: 1.5vw;
    z-index: 0;
    font-family: 'Sora', sans-serif;
    font-size: clamp(8rem, 18vw, 24rem);
    font-weight: 800;
    line-height: 0.8;
    color: rgba(43, 38, 32, 0.045);
    pointer-events: none;
}

.hero-container {
    position: relative !important;
    z-index: 2 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 0.98fr) minmax(420px, 0.72fr) !important;
    align-items: center !important;
}

.hero-content-column {
    max-width: 920px !important;
}

.hero-main-title {
    max-width: 920px !important;
    font-family: 'Fraunces', Georgia, serif !important;
    font-size: clamp(4.5rem, 6.35vw, 8.8rem) !important;
    font-weight: 640 !important;
    line-height: 0.9 !important;
}

.hero-accent-word {
    color: var(--r01-terracotta) !important;
    -webkit-text-fill-color: currentColor !important;
    background: none !important;
    font-style: italic !important;
    font-weight: 500 !important;
}

.hero-badge {
    display: inline-flex !important;
    background: rgba(255, 250, 243, 0.74) !important;
    border: 1px solid rgba(43, 38, 32, 0.14) !important;
    color: #5f7f68 !important;
}

.pulse-indicator {
    background: var(--r01-teal) !important;
    box-shadow: 0 0 0 7px rgba(47, 169, 161, 0.12) !important;
}

.hero-lead-text {
    max-width: 560px !important;
    padding-left: 22px !important;
    border-left: 2px solid var(--r01-teal) !important;
    font-size: clamp(1.05rem, 1.1vw, 1.28rem) !important;
}

.hero-brand-meta {
    color: rgba(43, 38, 32, 0.48) !important;
    border-top-color: var(--r01-line) !important;
}

.hero-cutout-stage {
    position: absolute !important;
    inset: auto clamp(36px, 5.2vw, 98px) clamp(88px, 8vw, 142px) auto !important;
    width: min(41vw, 720px) !important;
    height: min(62vh, 700px) !important;
    z-index: 1 !important;
    opacity: 0.96 !important;
    overflow: hidden !important;
    border: 1px solid rgba(43, 38, 32, 0.12) !important;
    background: linear-gradient(180deg, rgba(255, 250, 243, 0.22), rgba(222, 214, 202, 0.36)) !important;
    box-shadow: 0 34px 90px rgba(43, 38, 32, 0.14) !important;
}

.hero-cutout-stage::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, var(--r01-ivory) 0%, transparent 22%, transparent 72%, rgba(248, 243, 234, 0.55) 100%);
    z-index: 2;
    pointer-events: none;
}

.hero-cutout-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center bottom !important;
    filter: saturate(0.92) contrast(0.96) brightness(1.06) !important;
}

.hero-word-carousel,
.ticker-wrapper.hero-word-carousel {
    z-index: 8 !important;
    left: -7vw !important;
    right: -7vw !important;
    bottom: clamp(18px, 2.8vw, 48px) !important;
    background: rgba(255, 250, 243, 0.98) !important;
    border-top: 1px solid rgba(201, 89, 46, 0.22) !important;
    border-bottom: 1px solid rgba(43, 38, 32, 0.16) !important;
    box-shadow: 0 18px 42px rgba(43, 38, 32, 0.1) !important;
}

.hero-word-carousel .hero-word-carousel-track,
.ticker-wrapper.hero-word-carousel .ticker-content,
.hero-word-carousel .hero-word-carousel-track span {
    color: var(--r01-charcoal) !important;
}

.ticker-dot {
    background: var(--r01-terracotta) !important;
}

.statement-section {
    padding-block: clamp(96px, 10vw, 170px) !important;
    background: linear-gradient(180deg, var(--r01-ivory), #fffaf3) !important;
}

.statement-wrapper {
    background: transparent !important;
}

.statement-text {
    font-family: 'Fraunces', Georgia, serif !important;
    color: var(--r01-charcoal) !important;
    font-size: clamp(2rem, 4.2vw, 5.4rem) !important;
    line-height: 1.04 !important;
    font-weight: 560 !important;
}

.services-section {
    padding-block: clamp(100px, 9vw, 150px) !important;
}

.services-header {
    display: grid !important;
    grid-template-columns: minmax(0, 0.74fr) minmax(360px, 0.38fr) !important;
    align-items: end !important;
    gap: clamp(32px, 6vw, 120px) !important;
    margin-bottom: clamp(40px, 5vw, 76px) !important;
}

.services-header .section-title {
    font-family: 'Fraunces', Georgia, serif !important;
    font-size: clamp(3.1rem, 5.3vw, 7.4rem) !important;
    line-height: 0.94 !important;
    max-width: 1030px !important;
}

.services-header .section-intro {
    max-width: 440px !important;
    margin: 0 !important;
    border-left: 2px solid var(--r01-teal) !important;
    padding-left: 24px !important;
}

.services-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 0 !important;
    border: 1px solid var(--r01-line) !important;
    background: rgba(255, 250, 243, 0.62) !important;
}

.service-card,
.diff-card,
.process-step,
.connective-node-card,
.contact-form,
.contact-card,
.cta-inner-card {
    background: rgba(255, 250, 243, 0.78) !important;
    border-color: var(--r01-line) !important;
    color: var(--r01-charcoal) !important;
    box-shadow: none !important;
    backdrop-filter: blur(12px) !important;
}

.service-card {
    min-height: clamp(330px, 28vw, 460px) !important;
    padding: clamp(28px, 2.5vw, 42px) !important;
    border-width: 0 1px 1px 0 !important;
    border-style: solid !important;
    transform: none !important;
}

.service-card:hover {
    background: #fffaf3 !important;
    transform: translateY(-8px) !important;
    box-shadow: 0 28px 70px rgba(43, 38, 32, 0.11) !important;
}

.service-title {
    font-family: 'Sora', sans-serif !important;
    font-size: clamp(1.55rem, 1.65vw, 2.35rem) !important;
    line-height: 1.02 !important;
}

.card-category,
.service-link,
.channel-label,
.social-label-heading {
    color: var(--r01-teal) !important;
}

.card-featured,
.service-card-synergy {
    grid-column: span 2 !important;
    background: linear-gradient(135deg, rgba(255, 250, 243, 0.96), rgba(233, 147, 92, 0.1)) !important;
}

.service-points {
    color: rgba(43, 38, 32, 0.62) !important;
}

.service-hover-preview {
    border-color: var(--r01-line) !important;
    background: #fffaf3 !important;
}

.system-section {
    padding-block: clamp(110px, 10vw, 170px) !important;
    color: var(--r01-charcoal) !important;
}

section.system-section,
main .system-section {
    background:
        linear-gradient(90deg, rgba(43, 38, 32, 0.055) 1px, transparent 1px),
        linear-gradient(180deg, rgba(43, 38, 32, 0.045) 1px, transparent 1px),
        var(--r01-ivory) !important;
    background-size: 96px 96px, 96px 96px, auto !important;
    color: var(--r01-charcoal) !important;
}

.system-header {
    display: grid !important;
    grid-template-columns: minmax(0, 0.82fr) minmax(360px, 0.36fr) !important;
    gap: clamp(32px, 6vw, 120px) !important;
    align-items: end !important;
    margin-bottom: clamp(44px, 5vw, 82px) !important;
}

.system-header .section-title {
    font-family: 'Fraunces', Georgia, serif !important;
    font-size: clamp(3.1rem, 5.8vw, 8rem) !important;
    line-height: 0.9 !important;
    max-width: 1080px !important;
}

.system-header .section-intro {
    max-width: 440px !important;
    padding-left: 24px !important;
    border-left: 2px solid var(--r01-teal) !important;
}

section.system-section .system-header .section-title,
main .system-section .system-header .section-title,
section.system-section .section-title {
    color: var(--r01-charcoal) !important;
}

section.system-section .system-header .section-intro,
main .system-section .system-header .section-intro {
    color: rgba(43, 38, 32, 0.68) !important;
    border-left-color: var(--r01-teal) !important;
}

section.system-section .system-header .section-tag,
main .system-section .system-header .section-tag {
    color: var(--r01-terracotta) !important;
}

.connective-stage {
    overflow: hidden !important;
    border-color: var(--r01-line) !important;
    background:
        linear-gradient(90deg, rgba(43, 38, 32, 0.055) 1px, transparent 1px),
        linear-gradient(180deg, rgba(43, 38, 32, 0.045) 1px, transparent 1px),
        rgba(255, 250, 243, 0.74) !important;
    background-size: 86px 86px !important;
    box-shadow: 0 30px 90px rgba(43, 38, 32, 0.08) !important;
    color: var(--r01-charcoal) !important;
}

.connective-pipeline-header {
    background: rgba(255, 250, 243, 0.82) !important;
    border-bottom-color: var(--r01-line) !important;
}

.pipeline-logo,
.connective-core-logo {
    filter: drop-shadow(0 18px 40px rgba(47, 169, 161, 0.16)) !important;
}

.pipeline-brand-name,
.step-pill,
.connective-node-card h3 {
    color: var(--r01-charcoal) !important;
}

.connective-pipeline-header,
.connective-map-grid,
.connective-map,
.connective-node-card,
.connective-node-card *,
.connective-stage .connective-proofrail,
.connective-stage .connective-proofrail * {
    color: var(--r01-charcoal) !important;
}

.connective-pipeline-header .pipeline-status-tag,
.connective-pipeline-header .node-num,
.connective-pipeline-header .node-phase,
.connective-node-card .node-num,
.connective-node-card .node-phase,
.connective-stage .connective-kicker,
.connective-stage .core-label,
.connective-stage .connective-proofrail strong {
    color: var(--r01-terracotta) !important;
}

.connective-node-card p,
.connective-stage .connective-proofrail span,
.connective-stage .pipeline-steps-indicator {
    color: rgba(43, 38, 32, 0.68) !important;
}

.connective-map-grid,
.connective-map {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 0 !important;
}

.connective-node-card {
    min-height: clamp(300px, 24vw, 420px) !important;
    padding: clamp(26px, 2.2vw, 42px) !important;
    border-width: 0 1px 1px 0 !important;
    border-style: solid !important;
}

.connective-node-card:hover {
    background: #fffaf3 !important;
    transform: translateY(-6px) !important;
}

.process-section {
    background: linear-gradient(180deg, #fffaf3, var(--r01-ivory)) !important;
}

.process-timeline {
    border-color: var(--r01-line) !important;
}

.process-step {
    border-bottom-color: var(--r01-line) !important;
}

.step-line-indicator {
    background: var(--r01-terracotta) !important;
}

.experience-section {
    background: var(--r01-ivory) !important;
}

.experience-header {
    border-bottom-color: var(--r01-line) !important;
}

.sectors-grid {
    gap: clamp(14px, 1.6vw, 24px) !important;
}

.sector-card {
    background: #fffaf3 !important;
    border-color: var(--r01-line) !important;
    box-shadow: 0 26px 70px rgba(43, 38, 32, 0.09) !important;
}

.sector-bg {
    opacity: 0.82 !important;
    filter: saturate(0.88) contrast(0.96) brightness(1.12) !important;
}

.sector-card-inner {
    background: linear-gradient(180deg, rgba(255, 250, 243, 0.02), rgba(255, 250, 243, 0.9)) !important;
}

.sector-title-name {
    color: #fffaf3 !important;
    text-shadow: 0 8px 30px rgba(23, 19, 15, 0.45) !important;
}

.sector-card-desc,
.sector-arrow {
    color: #fffaf3 !important;
}

.differentials-section,
.final-cta-section {
    background: #fffaf3 !important;
}

.differentials-grid {
    border-color: var(--r01-line) !important;
}

.final-cta-section {
    padding-block: clamp(86px, 8vw, 140px) !important;
}

.cta-inner-card {
    background:
        radial-gradient(circle at 14% 80%, rgba(47, 169, 161, 0.12), transparent 32%),
        linear-gradient(135deg, #fffaf3, #f4ece1) !important;
    border-radius: 0 !important;
}

.contact-section {
    background: linear-gradient(180deg, var(--r01-ivory), #fffaf3) !important;
}

.contact-container {
    align-items: start !important;
}

.channel-icon,
.social-icon-btn,
.security-protocol-badge {
    background: rgba(47, 169, 161, 0.1) !important;
    color: var(--r01-teal) !important;
    border-color: rgba(47, 169, 161, 0.22) !important;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
    background: #fffaf3 !important;
    color: var(--r01-charcoal) !important;
    border-color: var(--r01-line) !important;
}

.contact-form label {
    color: rgba(43, 38, 32, 0.72) !important;
}

.main-footer {
    background: #fffaf3 !important;
    border-top: 1px solid var(--r01-line) !important;
}

.footer-link,
.copyright,
.visual-creative-direction {
    color: rgba(43, 38, 32, 0.62) !important;
}

.footer-col-title {
    color: var(--r01-terracotta) !important;
}

.footer-container {
    border-bottom-color: var(--r01-line) !important;
}

@media (min-width: 1600px) {
    .container,
    .main-header .header-container,
    .services-section .container,
    .system-section .container,
    .process-section .container,
    .experience-section .container,
    .differentials-section .container,
    .contact-section .container,
    .footer-container {
        width: min(100% - 128px, 1640px) !important;
    }

    .service-card,
    .connective-node-card {
        min-height: 430px !important;
    }

    .hero-main-title {
        font-size: clamp(5.4rem, 5.75vw, 9.1rem) !important;
    }

    .hero-cutout-stage {
        width: min(38vw, 760px) !important;
        height: min(66vh, 740px) !important;
        right: clamp(72px, 7vw, 132px) !important;
    }
}

@media (max-width: 1180px) {
    .hero-container,
    .services-header,
    .system-header {
        grid-template-columns: 1fr !important;
    }

    .hero-cutout-stage {
        opacity: 0.32 !important;
        width: 72vw !important;
        right: -18vw !important;
    }

    .services-grid,
    .connective-map-grid,
    .connective-map {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    .container,
    .main-header .header-container,
    .services-section .container,
    .system-section .container,
    .process-section .container,
    .experience-section .container,
    .differentials-section .container,
    .contact-section .container,
    .footer-container {
        width: min(100% - 32px, 560px) !important;
    }

    .main-header .header-container,
    .main-header.scrolled .header-container {
        min-height: 58px !important;
        padding: 8px 10px 8px 14px !important;
    }

    .brand-logo-image {
        max-width: 184px !important;
    }

    .hero-section {
        min-height: 100svh !important;
        padding-top: 118px !important;
        padding-bottom: 132px !important;
    }

    .hero-main-title {
        font-size: clamp(3.25rem, 16vw, 5.5rem) !important;
    }

    .hero-lead-text {
        max-width: 32ch !important;
    }

    .hero-cutout-stage {
        width: 90vw !important;
        height: 48vh !important;
        right: -34vw !important;
        bottom: 92px !important;
        opacity: 0.2 !important;
    }

    .hero-word-carousel,
    .ticker-wrapper.hero-word-carousel {
        bottom: 30px !important;
    }

    .statement-text {
        font-size: clamp(2rem, 11vw, 3.7rem) !important;
    }

    .services-grid,
    .connective-map-grid,
    .connective-map {
        grid-template-columns: 1fr !important;
    }

    .card-featured,
    .service-card-synergy {
        grid-column: span 1 !important;
    }

    .service-card,
    .connective-node-card {
        min-height: 0 !important;
    }
}

/* Editorial refinement: quita la cuadricula literal y eleva la narrativa. */

body {
    background:
        radial-gradient(circle at 78% 8%, rgba(47, 169, 161, 0.1), transparent 30%),
        radial-gradient(circle at 12% 26%, rgba(201, 89, 46, 0.08), transparent 28%),
        var(--r01-ivory) !important;
}

section,
.hero-section,
.services-section,
section.system-section,
.process-section,
.experience-section,
.differentials-section,
.final-cta-section,
.contact-section {
    background-image:
        radial-gradient(circle at var(--section-glow-x, 82%) var(--section-glow-y, 18%), rgba(47, 169, 161, 0.1), transparent 34%),
        linear-gradient(180deg, rgba(255, 250, 243, 0.84), rgba(248, 243, 234, 0.92)) !important;
    background-size: auto !important;
}

.services-section {
    --section-glow-x: 12%;
    --section-glow-y: 76%;
}

section.system-section {
    --section-glow-x: 70%;
    --section-glow-y: 34%;
}

.process-section,
.contact-section {
    --section-glow-x: 18%;
    --section-glow-y: 18%;
}

.services-section::before,
section.system-section::before,
.process-section::before,
.experience-section::before,
.differentials-section::before {
    content: "";
    position: absolute;
    inset: clamp(34px, 4vw, 72px) clamp(18px, 3vw, 58px) auto;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(43, 38, 32, 0.16), transparent);
    pointer-events: none;
}

.services-section::after,
section.system-section::after {
    content: attr(data-ambient);
    position: absolute;
    left: clamp(18px, 4vw, 72px);
    bottom: clamp(26px, 5vw, 92px);
    font-family: 'Sora', sans-serif;
    font-size: clamp(8rem, 18vw, 23rem);
    font-weight: 800;
    letter-spacing: -0.08em;
    line-height: 0.75;
    color: rgba(43, 38, 32, 0.035);
    pointer-events: none;
}

.services-section::after {
    content: "SERVICIOS";
}

section.system-section::after {
    content: "CONNECT";
}

@media (min-width: 1025px) {
    .services-grid {
        display: block !important;
        border: 0 !important;
        background: transparent !important;
        position: relative !important;
        z-index: 2 !important;
    }

    .service-card,
    .services-reveal-list .service-card,
    .services-grid .service-card,
    .services-reveal-list .service-card-synergy,
    .services-grid .service-card-synergy,
    .service-card.service-card-synergy,
    .card-featured {
        width: min(100%, 1360px) !important;
        min-height: 0 !important;
        margin: 0 auto !important;
        padding: clamp(30px, 3.2vw, 58px) 0 !important;
        display: grid !important;
        grid-template-columns: minmax(86px, 0.16fr) minmax(280px, 0.78fr) minmax(360px, 1fr) minmax(130px, 0.22fr) !important;
        align-items: center !important;
        gap: clamp(20px, 3vw, 64px) !important;
        border: 0 !important;
        border-top: 1px solid rgba(43, 38, 32, 0.13) !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        overflow: visible !important;
        transform: translate3d(0, 28px, 0) !important;
        opacity: 0.38 !important;
        transition:
            opacity 720ms cubic-bezier(0.2, 0, 0, 1),
            transform 720ms cubic-bezier(0.2, 0, 0, 1),
            border-color 260ms ease !important;
    }

    .service-card.active-animation,
    .services-reveal-list .service-card.active-animation {
        opacity: 1 !important;
        transform: translate3d(0, 0, 0) !important;
    }

    .service-card:nth-child(even),
    .services-reveal-list .service-card:nth-child(even) {
        margin-left: auto !important;
        width: min(92%, 1260px) !important;
    }

    .service-card:hover {
        border-top-color: rgba(201, 89, 46, 0.35) !important;
        background: linear-gradient(90deg, transparent, rgba(255, 250, 243, 0.7), transparent) !important;
        transform: translate3d(0, -4px, 0) !important;
    }

    .service-card .card-top,
    .services-reveal-list .service-card-synergy .card-top,
    .services-grid .service-card-synergy .card-top {
        grid-column: 1 !important;
        grid-row: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: center !important;
        gap: 10px !important;
        margin: 0 !important;
    }

    .card-num-mono {
        font-size: clamp(0.86rem, 0.9vw, 1rem) !important;
    }

    .card-category {
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        color: rgba(43, 38, 32, 0.48) !important;
    }

    .service-card .service-title,
    .services-reveal-list .service-card-synergy .service-title,
    .services-grid .service-card-synergy .service-title {
        grid-column: 2 !important;
        grid-row: 1 !important;
        margin: 0 !important;
        max-width: 12ch !important;
        font-family: 'Fraunces', Georgia, serif !important;
        font-size: clamp(2.3rem, 3vw, 4.6rem) !important;
        font-weight: 620 !important;
        line-height: 0.92 !important;
        white-space: normal !important;
        color: var(--r01-charcoal) !important;
        transition: color 260ms ease, transform 420ms cubic-bezier(0.2, 0, 0, 1) !important;
    }

    .service-card:hover .service-title,
    .service-card.is-service-active .service-title {
        color: var(--r01-terracotta) !important;
        transform: translate3d(10px, 0, 0) !important;
    }

    .service-card .service-description,
    .services-reveal-list .service-card-synergy .service-description,
    .services-grid .service-card-synergy .service-description {
        grid-column: 3 !important;
        grid-row: 1 !important;
        margin: 0 !important;
        max-width: 50ch !important;
        padding-left: clamp(18px, 2vw, 32px) !important;
        border-left: 2px solid rgba(47, 169, 161, 0.32) !important;
        color: rgba(43, 38, 32, 0.68) !important;
        font-size: clamp(1rem, 1vw, 1.16rem) !important;
        line-height: 1.58 !important;
    }

    .service-card .service-link,
    .services-reveal-list .service-card-synergy .service-link,
    .services-grid .service-card-synergy .service-link {
        grid-column: 4 !important;
        grid-row: 1 !important;
        justify-self: end !important;
        align-self: center !important;
        margin: 0 !important;
        padding: 12px 18px !important;
        border: 1px solid rgba(43, 38, 32, 0.16) !important;
        border-radius: 999px !important;
        background: rgba(255, 250, 243, 0.6) !important;
        color: var(--r01-charcoal) !important;
        white-space: nowrap !important;
    }

    .service-card:hover .service-link,
    .service-card.is-service-active .service-link {
        background: var(--r01-charcoal) !important;
        border-color: var(--r01-charcoal) !important;
        color: var(--r01-paper) !important;
        transform: translate3d(0, 0, 0) scale(1.02) !important;
    }

    .service-card .featured-flex,
    .card-featured .featured-flex {
        display: contents !important;
    }

    .service-card .service-points,
    .services-reveal-list .service-card-synergy .service-points,
    .services-grid .service-card-synergy .service-points {
        grid-column: 3 / 4 !important;
        grid-row: 2 !important;
        margin: 14px 0 0 !important;
        padding-left: clamp(18px, 2vw, 32px) !important;
        border-left: 2px solid rgba(47, 169, 161, 0.32) !important;
        border-top: 0 !important;
        list-style: none !important;
        color: rgba(43, 38, 32, 0.58) !important;
    }

    .service-card .service-points li {
        color: rgba(43, 38, 32, 0.62) !important;
    }

    .service-hover-preview {
        border-radius: 0 !important;
        box-shadow: 0 28px 72px rgba(43, 38, 32, 0.16) !important;
        border-color: rgba(201, 89, 46, 0.22) !important;
    }

    .connective-stage {
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        overflow: visible !important;
    }

    .connective-pipeline-header {
        width: min(100%, 1280px) !important;
        margin: 0 auto clamp(34px, 5vw, 74px) !important;
        padding: clamp(26px, 3vw, 48px) clamp(26px, 4vw, 72px) !important;
        border: 1px solid rgba(43, 38, 32, 0.13) !important;
        border-radius: 999px !important;
        background: rgba(255, 250, 243, 0.76) !important;
        box-shadow: 0 26px 80px rgba(43, 38, 32, 0.08) !important;
    }

    .pipeline-logo {
        width: clamp(82px, 8vw, 132px) !important;
    }

    .pipeline-steps-indicator {
        flex-wrap: wrap !important;
        justify-content: center !important;
        color: rgba(43, 38, 32, 0.62) !important;
    }

    .connective-map-grid {
        width: min(100%, 1390px) !important;
        margin: 0 auto !important;
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: clamp(18px, 2vw, 34px) !important;
        align-items: start !important;
        background: transparent !important;
        position: relative !important;
        z-index: 2 !important;
    }

    .connective-map-grid::before {
        content: "";
        position: absolute;
        left: 7%;
        right: 7%;
        top: 44%;
        height: 2px;
        background: linear-gradient(90deg, rgba(201, 89, 46, 0.08), rgba(47, 169, 161, 0.5), rgba(201, 89, 46, 0.38), rgba(47, 169, 161, 0.08));
        transform: rotate(-3deg);
        transform-origin: center;
        pointer-events: none;
        z-index: 0;
    }

    .connective-node-card {
        min-height: clamp(330px, 25vw, 440px) !important;
        padding: clamp(28px, 2.6vw, 46px) !important;
        border: 1px solid rgba(43, 38, 32, 0.12) !important;
        border-radius: 999px 999px 18px 18px !important;
        background: rgba(255, 250, 243, 0.72) !important;
        box-shadow: 0 24px 70px rgba(43, 38, 32, 0.075) !important;
        backdrop-filter: blur(18px) !important;
        transform: translate3d(0, 36px, 0) rotate(var(--node-tilt, 0deg)) !important;
        opacity: 0.36 !important;
        transition:
            opacity 720ms cubic-bezier(0.2, 0, 0, 1),
            transform 820ms cubic-bezier(0.2, 0, 0, 1),
            border-color 260ms ease,
            background-color 260ms ease !important;
        position: relative !important;
        z-index: 1 !important;
    }

    .connective-node-card:nth-child(1) { --node-tilt: -2.2deg; margin-top: 62px !important; }
    .connective-node-card:nth-child(2) { --node-tilt: 1.6deg; margin-top: 0 !important; }
    .connective-node-card:nth-child(3) { --node-tilt: -1.1deg; margin-top: 92px !important; }
    .connective-node-card:nth-child(4) { --node-tilt: 1.9deg; margin-top: 34px !important; }

    .connective-node-card.active-animation {
        opacity: 1 !important;
        transform: translate3d(0, 0, 0) rotate(var(--node-tilt, 0deg)) !important;
    }

    .connective-node-card:hover {
        background: var(--r01-paper) !important;
        border-color: rgba(201, 89, 46, 0.3) !important;
        transform: translate3d(0, -10px, 0) rotate(0deg) !important;
    }

    .connective-node-card::before {
        content: "";
        position: absolute;
        width: 13px;
        height: 13px;
        border-radius: 50%;
        left: 50%;
        top: -7px;
        transform: translateX(-50%);
        background: var(--r01-teal);
        box-shadow: 0 0 0 13px rgba(47, 169, 161, 0.12);
    }

    .connective-node-card:nth-child(odd)::before {
        background: var(--r01-terracotta);
        box-shadow: 0 0 0 13px rgba(201, 89, 46, 0.12);
    }

    .connective-node-card h3,
    .connective-node-card .node-title {
        max-width: 9ch !important;
        margin-top: clamp(48px, 5vw, 74px) !important;
        font-family: 'Fraunces', Georgia, serif !important;
        font-size: clamp(2rem, 2.2vw, 3.1rem) !important;
        line-height: 0.94 !important;
    }

    .connective-node-card p,
    .connective-node-card .node-desc {
        margin-top: 18px !important;
        font-size: clamp(0.94rem, 0.95vw, 1.08rem) !important;
        line-height: 1.55 !important;
    }

    .node-footer-tag {
        margin-top: 28px !important;
        padding-top: 16px !important;
        border-top: 1px solid rgba(43, 38, 32, 0.12) !important;
    }

    .connective-proof-bar {
        width: min(100%, 1220px) !important;
        margin: clamp(42px, 5vw, 78px) auto 0 !important;
        padding-top: 24px !important;
        border-top: 1px solid rgba(43, 38, 32, 0.12) !important;
        display: flex !important;
        justify-content: space-between !important;
        gap: 22px !important;
    }
}

@media (max-width: 1180px) {
    .service-card,
    .services-reveal-list .service-card,
    .connective-node-card {
        border-radius: 18px !important;
    }

    .connective-map-grid::before {
        display: none !important;
    }
}

/* Route 02 final art direction: clear editorial system, no visible grid boxes */
.services-section,
section.system-section,
main .system-section {
    background:
        radial-gradient(circle at 78% 8%, rgba(47, 169, 161, 0.12), transparent 34%),
        radial-gradient(circle at 12% 82%, rgba(201, 89, 46, 0.11), transparent 31%),
        linear-gradient(180deg, #f8f3ea 0%, #fbf7ef 48%, #f3ece1 100%) !important;
    background-image:
        radial-gradient(circle at 78% 8%, rgba(47, 169, 161, 0.12), transparent 34%),
        radial-gradient(circle at 12% 82%, rgba(201, 89, 46, 0.11), transparent 31%),
        linear-gradient(180deg, #f8f3ea 0%, #fbf7ef 48%, #f3ece1 100%) !important;
}

.services-section::before,
.services-section::after,
section.system-section::before,
section.system-section::after,
.connective-stage::before,
.connective-stage::after {
    background-image: none !important;
}

.services-section .container,
section.system-section .container,
main .system-section .container {
    width: min(100% - clamp(32px, 7vw, 132px), 1640px) !important;
    max-width: 1640px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.services-header,
.system-header {
    width: min(100%, 1220px) !important;
    margin-inline: auto !important;
    padding-inline: 0 !important;
}

.services-header .section-title,
section.system-section .system-header .section-title {
    color: #17130f !important;
    font-family: "Fraunces", Georgia, serif !important;
    font-size: clamp(2.9rem, 5vw, 5.95rem) !important;
    font-weight: 650 !important;
    line-height: 0.94 !important;
    letter-spacing: 0 !important;
    max-width: 14ch !important;
}

.services-header .section-intro,
section.system-section .system-header .section-intro {
    color: rgba(43, 38, 32, 0.72) !important;
    font-size: clamp(1.02rem, 1.08vw, 1.24rem) !important;
    line-height: 1.58 !important;
}

@media (min-width: 1025px) {
    .services-grid.services-reveal-list {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
        width: 100% !important;
        max-width: 1520px !important;
        margin: clamp(56px, 7vw, 104px) auto 0 !important;
        border-top: 1px solid rgba(43, 38, 32, 0.18) !important;
        border-bottom: 1px solid rgba(43, 38, 32, 0.18) !important;
    }

    .service-card,
    .services-reveal-list .service-card,
    .services-grid .service-card,
    .services-reveal-list .service-card-synergy,
    .services-grid .service-card-synergy,
    .service-card.service-card-synergy {
        width: 100% !important;
        min-height: clamp(168px, 13vw, 252px) !important;
        display: grid !important;
        grid-template-columns: minmax(120px, 0.42fr) minmax(280px, 0.9fr) minmax(420px, 1.15fr) auto !important;
        align-items: center !important;
        gap: clamp(24px, 3.2vw, 70px) !important;
        padding: clamp(30px, 3.8vw, 62px) 0 !important;
        border: 0 !important;
        border-bottom: 1px solid rgba(43, 38, 32, 0.12) !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        overflow: visible !important;
        opacity: 1 !important;
        transform: none !important;
        isolation: isolate !important;
    }

    .service-card:last-child,
    .service-card.service-card-synergy:last-child {
        border-bottom: 0 !important;
    }

    .service-card::before {
        content: "" !important;
        position: absolute !important;
        inset: 18px -28px !important;
        border-radius: 999px !important;
        background: rgba(255, 250, 243, 0.58) !important;
        opacity: 0 !important;
        transform: scaleX(0.96) !important;
        transition: opacity 300ms ease, transform 420ms cubic-bezier(0.2, 0, 0, 1) !important;
        z-index: -1 !important;
    }

    .service-card:hover::before,
    .service-card.is-service-active::before {
        opacity: 1 !important;
        transform: scaleX(1) !important;
    }

    .service-card .card-top,
    .services-reveal-list .service-card-synergy .card-top,
    .services-grid .service-card-synergy .card-top {
        grid-column: 1 !important;
        align-self: center !important;
        gap: 12px !important;
    }

    .card-num-mono {
        color: #c9592e !important;
        font-weight: 700 !important;
    }

    .card-category {
        color: rgba(43, 38, 32, 0.52) !important;
        letter-spacing: 0.12em !important;
    }

    .service-card .service-title,
    .services-reveal-list .service-card-synergy .service-title,
    .services-grid .service-card-synergy .service-title {
        max-width: 12ch !important;
        font-size: clamp(2.15rem, 2.85vw, 4.9rem) !important;
        color: #17130f !important;
    }

    .service-card .service-description,
    .services-reveal-list .service-card-synergy .service-description,
    .services-grid .service-card-synergy .service-description {
        color: rgba(43, 38, 32, 0.72) !important;
        border-left-color: rgba(47, 169, 161, 0.44) !important;
    }

    .service-card .service-points,
    .services-reveal-list .service-card-synergy .service-points,
    .services-grid .service-card-synergy .service-points {
        grid-column: 3 !important;
        color: rgba(43, 38, 32, 0.66) !important;
    }

    .service-hover-preview {
        right: clamp(34px, 7vw, 118px) !important;
        left: auto !important;
        top: 50% !important;
        width: clamp(220px, 18vw, 340px) !important;
        border-radius: 2px !important;
        transform: translate3d(0, -50%, 0) rotate(2.5deg) scale(0.92) !important;
        z-index: 20 !important;
        box-shadow: 0 32px 86px rgba(43, 38, 32, 0.2) !important;
    }

    .service-hover-preview.is-active {
        transform: translate3d(0, -50%, 0) rotate(-1deg) scale(1) !important;
    }
}

section.system-section {
    padding-block: clamp(112px, 14vw, 210px) !important;
    color: #17130f !important;
}

section.system-section .system-header {
    display: grid !important;
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.55fr) !important;
    align-items: end !important;
    gap: clamp(34px, 7vw, 120px) !important;
    text-align: left !important;
    margin-bottom: clamp(54px, 7vw, 118px) !important;
}

section.system-section .system-header .section-title,
section.system-section .system-header .section-intro {
    text-align: left !important;
    margin-inline: 0 !important;
}

section.system-section .system-header .section-intro {
    max-width: 36ch !important;
    padding-left: clamp(18px, 2vw, 30px) !important;
    border-left: 2px solid rgba(47, 169, 161, 0.46) !important;
}

.connective-stage {
    width: min(100%, 1520px) !important;
    margin-inline: auto !important;
    padding: 0 !important;
}

.connective-pipeline-header {
    width: 100% !important;
    min-height: clamp(250px, 25vw, 430px) !important;
    display: grid !important;
    place-items: center !important;
    margin: 0 auto clamp(36px, 5vw, 82px) !important;
    padding: clamp(48px, 7vw, 116px) !important;
    border: 0 !important;
    border-radius: 0 !important;
    background:
        radial-gradient(circle at 50% 50%, rgba(47, 169, 161, 0.12), transparent 24%),
        linear-gradient(108deg, rgba(23, 19, 15, 0.04), rgba(255, 250, 243, 0.76) 48%, rgba(201, 89, 46, 0.08)) !important;
    box-shadow: none !important;
    overflow: hidden !important;
    position: relative !important;
}

.connective-pipeline-header::before,
.connective-pipeline-header::after {
    content: "" !important;
    position: absolute !important;
    left: 8% !important;
    right: 8% !important;
    height: 1px !important;
    background: linear-gradient(90deg, transparent, rgba(47, 169, 161, 0.42), rgba(201, 89, 46, 0.28), transparent) !important;
    transform: rotate(-7deg) !important;
}

.connective-pipeline-header::before { top: 30% !important; }
.connective-pipeline-header::after { bottom: 24% !important; transform: rotate(6deg) !important; }

.pipeline-status-tag {
    position: absolute !important;
    top: clamp(22px, 3vw, 42px) !important;
    left: clamp(22px, 3vw, 46px) !important;
    color: #2fa9a1 !important;
}

.pipeline-brand-group {
    flex-direction: column !important;
    gap: 16px !important;
    text-align: center !important;
    position: relative !important;
    z-index: 2 !important;
}

.pipeline-logo {
    width: clamp(120px, 13vw, 230px) !important;
    filter: drop-shadow(0 28px 65px rgba(47, 169, 161, 0.18)) !important;
}

.pipeline-brand-name {
    color: #17130f !important;
    font-family: "Fraunces", Georgia, serif !important;
    font-size: clamp(1.8rem, 3.4vw, 4.8rem) !important;
    font-weight: 650 !important;
    line-height: 0.95 !important;
    letter-spacing: 0 !important;
}

.pipeline-steps-indicator {
    position: absolute !important;
    left: 50% !important;
    bottom: clamp(22px, 3vw, 42px) !important;
    transform: translateX(-50%) !important;
    width: min(92%, 920px) !important;
    display: flex !important;
    justify-content: center !important;
    gap: 10px !important;
    z-index: 2 !important;
}

.step-pill {
    border: 1px solid rgba(43, 38, 32, 0.13) !important;
    border-radius: 999px !important;
    background: rgba(255, 250, 243, 0.66) !important;
    color: rgba(43, 38, 32, 0.7) !important;
}

@media (min-width: 1025px) {
    .connective-map-grid {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: clamp(22px, 3.1vw, 72px) !important;
        align-items: stretch !important;
        background: transparent !important;
    }

    .connective-map-grid::before {
        left: 4% !important;
        right: 4% !important;
        top: 48% !important;
        height: 1px !important;
        background: linear-gradient(90deg, rgba(201, 89, 46, 0.34), rgba(47, 169, 161, 0.42), rgba(201, 89, 46, 0.26)) !important;
        transform: rotate(-4deg) !important;
        display: block !important;
    }

    .connective-node-card,
    .connective-node-card.active-animation {
        min-height: clamp(292px, 21vw, 430px) !important;
        padding: clamp(22px, 2.2vw, 42px) 0 clamp(22px, 2.2vw, 42px) clamp(18px, 2vw, 34px) !important;
        border: 0 !important;
        border-left: 1px solid rgba(43, 38, 32, 0.16) !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
        opacity: 1 !important;
        transform: translate3d(0, 0, 0) !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-end !important;
    }

    .connective-node-card:nth-child(1),
    .connective-node-card:nth-child(2),
    .connective-node-card:nth-child(3),
    .connective-node-card:nth-child(4) {
        margin-top: 0 !important;
    }

    .connective-node-card:nth-child(2),
    .connective-node-card:nth-child(4) {
        transform: translate3d(0, clamp(36px, 4vw, 72px), 0) !important;
    }

    .connective-node-card::before {
        left: 0 !important;
        top: 44% !important;
        width: 14px !important;
        height: 14px !important;
        transform: translate(-50%, -50%) !important;
    }

    .node-badge-header {
        margin-bottom: auto !important;
        color: #2fa9a1 !important;
    }

    .connective-node-card h3,
    .connective-node-card .node-title {
        max-width: 10ch !important;
        margin-top: clamp(74px, 8vw, 140px) !important;
        color: #17130f !important;
        font-size: clamp(2rem, 2.5vw, 4rem) !important;
        line-height: 0.92 !important;
    }

    .connective-node-card p,
    .connective-node-card .node-desc {
        max-width: 28ch !important;
        color: rgba(43, 38, 32, 0.72) !important;
        font-size: clamp(0.98rem, 1vw, 1.16rem) !important;
    }

    .node-footer-tag {
        color: rgba(43, 38, 32, 0.48) !important;
        border-top-color: rgba(43, 38, 32, 0.12) !important;
    }
}

.connective-proof-bar {
    color: rgba(43, 38, 32, 0.68) !important;
}

.proof-item,
.connective-proof-bar .proof-item {
    color: rgba(43, 38, 32, 0.68) !important;
}

@media (max-width: 1024px) {
    .services-section .container,
    section.system-section .container,
    main .system-section .container {
        width: min(100% - 32px, 760px) !important;
    }

    .services-header .section-title,
    section.system-section .system-header .section-title {
        font-size: clamp(2.45rem, 11vw, 4.8rem) !important;
        line-height: 0.95 !important;
        max-width: 10.5ch !important;
    }

    section.system-section .system-header {
        display: block !important;
        margin-bottom: 42px !important;
    }

    section.system-section .system-header .section-intro {
        max-width: 100% !important;
        margin-top: 20px !important;
    }

    .connective-pipeline-header {
        min-height: 280px !important;
        padding: 44px 20px 86px !important;
    }

    .pipeline-steps-indicator {
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        justify-content: flex-start !important;
        padding-bottom: 8px !important;
    }

    .step-pill {
        flex: 0 0 auto !important;
    }

    .connective-map-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }

    .connective-node-card,
    .connective-node-card.active-animation {
        min-height: auto !important;
        padding: 26px 22px !important;
        border: 1px solid rgba(43, 38, 32, 0.12) !important;
        border-radius: 0 !important;
        background: rgba(255, 250, 243, 0.54) !important;
        color: #17130f !important;
        opacity: 1 !important;
        transform: none !important;
    }

    .connective-node-card h3,
    .connective-node-card .node-title {
        margin-top: 42px !important;
        font-size: clamp(2rem, 8.4vw, 3.2rem) !important;
        color: #17130f !important;
    }

    .connective-node-card p,
    .connective-node-card .node-desc {
        color: rgba(43, 38, 32, 0.72) !important;
    }
}

@media (min-width: 1025px) {
    .services-grid.services-reveal-list .service-card,
    .services-reveal-list .service-card:nth-child(even),
    .services-grid .service-card:nth-child(even),
    .services-grid.services-reveal-list .service-card.service-card-synergy {
        width: 100% !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .services-grid.services-reveal-list .service-card {
        grid-template-columns: minmax(120px, 0.42fr) minmax(280px, 0.95fr) minmax(420px, 1.2fr) minmax(130px, auto) !important;
    }
}

/* No-grid client direction: remove all visible technical grid treatments */
body,
main,
section,
.hero-section,
.statement-section,
.services-section,
section.system-section,
main .system-section,
.process-section,
.experience-section,
.differentials-section,
.final-cta-section,
.contact-section {
    background-size: auto !important;
}

.hero-section,
.statement-section,
.services-section,
section.system-section,
main .system-section {
    background-image:
        radial-gradient(circle at 82% 16%, rgba(47, 169, 161, 0.11), transparent 32%),
        radial-gradient(circle at 10% 84%, rgba(201, 89, 46, 0.1), transparent 30%),
        linear-gradient(180deg, #f8f3ea 0%, #fffaf3 52%, #f3ece1 100%) !important;
}

.hero-bg-glows,
.hero-bg-glows::before,
.hero-bg-glows::after,
.hero-section::after,
.statement-section::before,
.statement-section::after,
.services-section::before,
.services-section::after,
section.system-section::before,
section.system-section::after,
main .system-section::before,
main .system-section::after,
.connective-stage::before,
.connective-stage::after,
.connective-pipeline-header::before,
.connective-pipeline-header::after,
.connective-map-grid::before,
.connective-map-grid::after {
    background: none !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
}

.connective-pipeline-header {
    background:
        radial-gradient(circle at 50% 42%, rgba(47, 169, 161, 0.16), transparent 28%),
        linear-gradient(135deg, rgba(255, 250, 243, 0.92), rgba(243, 236, 225, 0.74)) !important;
}

.connective-map-grid {
    background: transparent !important;
    background-image: none !important;
}

.connective-node-card,
.service-card,
.process-step,
.diff-card {
    background-image: none !important;
}

.connective-node-card {
    border-top: 0 !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
}

.services-section .big-bg-text,
.system-section .big-bg-text,
.section-bg-text,
.background-grid,
.grid-overlay,
.hero-grid,
.matrix-bg,
.connective-grid,
.grid-pattern {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

/* Sistema de conexion: editorial flow, no grey panel, no column board */
section.system-section {
    padding-block: clamp(110px, 12vw, 190px) !important;
    background:
        radial-gradient(circle at 78% 18%, rgba(47, 169, 161, 0.13), transparent 31%),
        radial-gradient(circle at 18% 90%, rgba(201, 89, 46, 0.08), transparent 28%),
        linear-gradient(180deg, #fffaf3 0%, #f8f3ea 46%, #f2eadf 100%) !important;
    overflow: hidden !important;
}

section.system-section .system-header {
    width: min(100%, 1280px) !important;
    display: grid !important;
    grid-template-columns: minmax(0, 0.92fr) minmax(320px, 0.48fr) !important;
    align-items: end !important;
    gap: clamp(42px, 7vw, 132px) !important;
    margin: 0 auto clamp(54px, 6vw, 96px) !important;
}

section.system-section .system-header .section-title {
    max-width: 10.5ch !important;
    font-size: clamp(3.2rem, 6vw, 7.2rem) !important;
    line-height: 0.88 !important;
    font-family: "Fraunces", Georgia, serif !important;
    color: #17130f !important;
}

section.system-section .system-header .section-intro {
    max-width: 34ch !important;
    padding-left: clamp(18px, 2vw, 30px) !important;
    border-left: 2px solid rgba(47, 169, 161, 0.52) !important;
    color: rgba(43, 38, 32, 0.7) !important;
    font-size: clamp(1.02rem, 1.18vw, 1.28rem) !important;
    line-height: 1.58 !important;
}

.connective-stage,
.connective-stage.active-animation {
    width: min(100%, 1520px) !important;
    margin-inline: auto !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    overflow: visible !important;
    opacity: 1 !important;
    transform: none !important;
}

.connective-pipeline-header,
.connective-pipeline-header.active-animation {
    width: 100% !important;
    min-height: auto !important;
    display: grid !important;
    grid-template-columns: minmax(220px, 0.52fr) minmax(0, 1fr) !important;
    align-items: center !important;
    gap: clamp(32px, 5vw, 86px) !important;
    margin: 0 0 clamp(36px, 5vw, 74px) !important;
    padding: clamp(26px, 4vw, 52px) 0 !important;
    border: 0 !important;
    border-top: 1px solid rgba(43, 38, 32, 0.16) !important;
    border-bottom: 1px solid rgba(43, 38, 32, 0.16) !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    overflow: visible !important;
    position: relative !important;
}

.connective-pipeline-header::before,
.connective-pipeline-header::after {
    content: none !important;
    display: none !important;
}

.pipeline-status-tag {
    position: static !important;
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    width: fit-content !important;
    align-self: start !important;
    color: #c9592e !important;
    font-family: "IBM Plex Mono", monospace !important;
    font-size: clamp(0.72rem, 0.75vw, 0.86rem) !important;
    font-weight: 700 !important;
    letter-spacing: 0.18em !important;
}

.pipeline-brand-group {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: grid !important;
    grid-template-columns: clamp(56px, 5vw, 86px) minmax(0, 1fr) !important;
    align-items: center !important;
    gap: clamp(18px, 2vw, 32px) !important;
    text-align: left !important;
}

.pipeline-logo {
    width: clamp(52px, 5vw, 82px) !important;
    height: auto !important;
    filter: none !important;
}

.pipeline-brand-name {
    color: #17130f !important;
    font-family: "Fraunces", Georgia, serif !important;
    font-size: clamp(2.2rem, 4.2vw, 5.6rem) !important;
    font-weight: 650 !important;
    line-height: 0.92 !important;
    letter-spacing: 0 !important;
}

.pipeline-steps-indicator {
    position: static !important;
    grid-column: 2 !important;
    grid-row: 2 !important;
    width: 100% !important;
    transform: none !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 10px !important;
}

.step-pill {
    padding: 9px 16px !important;
    border: 1px solid rgba(43, 38, 32, 0.13) !important;
    border-radius: 999px !important;
    background: rgba(255, 250, 243, 0.72) !important;
    color: rgba(43, 38, 32, 0.68) !important;
    box-shadow: 0 8px 24px rgba(43, 38, 32, 0.045) !important;
}

.step-arrow {
    color: #c9592e !important;
}

.connective-map-grid {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    margin: 0 !important;
    border-top: 1px solid rgba(43, 38, 32, 0.16) !important;
    border-bottom: 1px solid rgba(43, 38, 32, 0.16) !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
}

.connective-map-grid::before,
.connective-map-grid::after {
    content: none !important;
    display: none !important;
}

.connective-node-card,
.connective-node-card.active-animation,
.connective-node-card:nth-child(1),
.connective-node-card:nth-child(2),
.connective-node-card:nth-child(3),
.connective-node-card:nth-child(4) {
    width: 100% !important;
    min-height: auto !important;
    display: grid !important;
    grid-template-columns: minmax(140px, 0.3fr) minmax(320px, 0.78fr) minmax(420px, 1fr) minmax(220px, 0.45fr) !important;
    align-items: center !important;
    gap: clamp(24px, 4vw, 82px) !important;
    padding: clamp(34px, 4.4vw, 70px) 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(43, 38, 32, 0.12) !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    opacity: 1 !important;
    transform: none !important;
    color: #17130f !important;
    position: relative !important;
}

.connective-node-card:last-child {
    border-bottom: 0 !important;
}

.connective-node-card::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 50% !important;
    width: clamp(42px, 5vw, 76px) !important;
    height: 1px !important;
    border-radius: 0 !important;
    background: #c9592e !important;
    box-shadow: none !important;
    transform: translateY(-50%) !important;
}

.connective-node-card::after {
    content: "" !important;
    position: absolute !important;
    left: clamp(42px, 5vw, 76px) !important;
    top: 50% !important;
    width: 9px !important;
    height: 9px !important;
    border-radius: 50% !important;
    background: #2fa9a1 !important;
    box-shadow: 0 0 0 10px rgba(47, 169, 161, 0.11) !important;
    transform: translate(-50%, -50%) !important;
}

.connective-node-card:nth-child(even)::before {
    background: #2fa9a1 !important;
}

.connective-node-card:nth-child(even)::after {
    background: #c9592e !important;
    box-shadow: 0 0 0 10px rgba(201, 89, 46, 0.11) !important;
}

.node-badge-header {
    grid-column: 1 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: baseline !important;
    gap: 10px !important;
    padding-left: clamp(72px, 7vw, 112px) !important;
    color: #c9592e !important;
}

.node-num {
    font-family: "Fraunces", Georgia, serif !important;
    font-size: clamp(1.85rem, 2.1vw, 3rem) !important;
    line-height: 1 !important;
    color: #c9592e !important;
}

.node-phase {
    color: #c9592e !important;
    letter-spacing: 0.16em !important;
}

.connective-node-card h3,
.connective-node-card .node-title {
    grid-column: 2 !important;
    margin: 0 !important;
    max-width: 11ch !important;
    color: #17130f !important;
    font-family: "Fraunces", Georgia, serif !important;
    font-size: clamp(2.25rem, 3.2vw, 5.2rem) !important;
    font-weight: 650 !important;
    line-height: 0.88 !important;
    letter-spacing: 0 !important;
}

.connective-node-card p,
.connective-node-card .node-desc {
    grid-column: 3 !important;
    margin: 0 !important;
    max-width: 42ch !important;
    color: rgba(43, 38, 32, 0.72) !important;
    font-size: clamp(1.02rem, 1.08vw, 1.24rem) !important;
    line-height: 1.62 !important;
}

.node-footer-tag {
    grid-column: 4 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    color: rgba(43, 38, 32, 0.44) !important;
    font-size: clamp(0.68rem, 0.72vw, 0.82rem) !important;
    letter-spacing: 0.12em !important;
}

.connective-node-card:hover {
    background: rgba(255, 250, 243, 0.52) !important;
    transform: none !important;
}

.connective-node-card:hover .node-title {
    color: #c9592e !important;
}

.connective-proof-bar {
    width: 100% !important;
    margin: clamp(24px, 3vw, 42px) 0 0 !important;
    padding-top: 0 !important;
    border: 0 !important;
    display: flex !important;
    justify-content: space-between !important;
    gap: 20px !important;
}

.proof-item {
    color: rgba(43, 38, 32, 0.58) !important;
}

@media (max-width: 1180px) {
    section.system-section .system-header,
    .connective-pipeline-header,
    .pipeline-brand-group,
    .connective-node-card,
    .connective-node-card.active-animation {
        grid-template-columns: 1fr !important;
    }

    .pipeline-status-tag,
    .pipeline-brand-group,
    .pipeline-steps-indicator,
    .node-badge-header,
    .connective-node-card h3,
    .connective-node-card .node-title,
    .connective-node-card p,
    .connective-node-card .node-desc,
    .node-footer-tag {
        grid-column: 1 !important;
    }

    .node-badge-header {
        padding-left: 52px !important;
    }

    .connective-node-card,
    .connective-node-card.active-animation {
        gap: 18px !important;
        padding: 34px 0 !important;
    }

    .connective-node-card h3,
    .connective-node-card .node-title {
        font-size: clamp(2.3rem, 9vw, 4.1rem) !important;
    }

    .connective-node-card p,
    .connective-node-card .node-desc {
        max-width: 100% !important;
    }

    .node-footer-tag {
        margin-top: 6px !important;
    }

    .connective-proof-bar {
        flex-direction: column !important;
        align-items: flex-start !important;
    }
}

section.system-section .connective-stage,
section.system-section .connective-stage.active-animation,
main .system-section .connective-stage,
main .system-section .connective-stage.active-animation {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

section.system-section .connective-pipeline-header,
main .system-section .connective-pipeline-header {
    background:
        radial-gradient(circle at 52% 45%, rgba(47, 169, 161, 0.13), transparent 34%),
        linear-gradient(135deg, rgba(255, 250, 243, 0.7), rgba(248, 243, 234, 0.28)) !important;
    border-top: 1px solid rgba(43, 38, 32, 0.13) !important;
    border-bottom: 1px solid rgba(43, 38, 32, 0.13) !important;
}

section.system-section .connective-map-grid,
main .system-section .connective-map-grid {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
}

/* Sistema de conexion: Ruta 01 inspired editorial stage */
section.system-route-section,
main section.system-route-section {
    min-height: auto !important;
    padding-block: clamp(94px, 9vw, 152px) clamp(92px, 9vw, 150px) !important;
    overflow: hidden !important;
    background:
        radial-gradient(circle at 76% 14%, rgba(47, 169, 161, 0.13), transparent 30%),
        radial-gradient(circle at 18% 86%, rgba(201, 89, 46, 0.11), transparent 28%),
        linear-gradient(180deg, #fffaf3 0%, #f8f3ea 48%, #f1e9dd 100%) !important;
    color: var(--r01-charcoal) !important;
}

section.system-route-section::before,
section.system-route-section::after {
    content: none !important;
    display: none !important;
}

section.system-route-section .container {
    width: min(100% - clamp(32px, 6vw, 118px), 1780px) !important;
    max-width: none !important;
    padding: 0 !important;
}

section.system-route-section .animate-scroll-reveal,
section.system-route-section .animate-scroll-reveal.active-animation,
section.system-route-section .system-route-header,
section.system-route-section .system-route-stage,
section.system-route-section .system-route-flow {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
}

section.system-route-section .system-route-header {
    width: 100% !important;
    max-width: none !important;
    display: grid !important;
    grid-template-columns: minmax(0, 0.86fr) minmax(320px, 0.48fr) !important;
    align-items: end !important;
    gap: clamp(36px, 7vw, 136px) !important;
    margin: 0 0 clamp(48px, 6vw, 88px) !important;
    text-align: left !important;
}

section.system-route-section .system-route-header .section-tag {
    grid-column: 1 / -1 !important;
    justify-self: start !important;
    text-align: left !important;
    margin: 0 0 clamp(14px, 1.6vw, 24px) !important;
    color: var(--r01-terracotta) !important;
}

section.system-route-section .system-route-header .section-title {
    grid-column: 1 !important;
    max-width: min(100%, 980px) !important;
    margin: 0 !important;
    font-family: var(--font-body) !important;
    font-size: clamp(3.45rem, 5.25vw, 7.25rem) !important;
    font-weight: 850 !important;
    line-height: 0.9 !important;
    letter-spacing: 0 !important;
    color: #090807 !important;
}

section.system-route-section .system-route-header .section-title.blur-reveal-text,
section.system-route-section .system-route-header .section-title.is-blur-visible {
    display: block !important;
    max-width: min(100%, 980px) !important;
}

section.system-route-section .system-route-header .section-title .blur-reveal-word {
    display: inline !important;
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
}

section.system-route-section .system-route-header .section-intro {
    grid-column: 2 !important;
    max-width: 39ch !important;
    margin: 0 0 clamp(8px, 1vw, 16px) !important;
    padding-left: clamp(18px, 2vw, 28px) !important;
    border-left: 2px solid rgba(47, 169, 161, 0.58) !important;
    color: rgba(43, 38, 32, 0.7) !important;
    font-size: clamp(1.03rem, 1.2vw, 1.34rem) !important;
    line-height: 1.5 !important;
    font-weight: 620 !important;
}

section.system-route-section .system-route-header .section-intro.blur-reveal-text {
    display: block !important;
}

section.system-route-section .system-route-header .section-intro .blur-reveal-word {
    display: inline !important;
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
}

.system-route-stage {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.04fr) minmax(360px, 0.54fr) !important;
    align-items: center !important;
    gap: clamp(34px, 6vw, 112px) !important;
    min-height: clamp(520px, 45vw, 760px) !important;
    margin: 0 0 clamp(58px, 7vw, 112px) !important;
    opacity: 1 !important;
    transform: none !important;
}

.system-route-stage::before {
    content: "CONNECTIVE" !important;
    position: absolute !important;
    left: -0.06em !important;
    bottom: -0.14em !important;
    z-index: 0 !important;
    font-family: var(--font-body) !important;
    font-size: clamp(7rem, 18vw, 22rem) !important;
    font-weight: 900 !important;
    line-height: 0.76 !important;
    letter-spacing: 0 !important;
    color: rgba(43, 38, 32, 0.045) !important;
    pointer-events: none !important;
    white-space: nowrap !important;
}

.system-route-stage::after {
    content: "" !important;
    position: absolute !important;
    left: clamp(14%, 22vw, 34%) !important;
    top: 50% !important;
    z-index: 1 !important;
    width: clamp(230px, 24vw, 438px) !important;
    aspect-ratio: 1 !important;
    border-radius: 50% !important;
    background: rgba(201, 89, 46, 0.86) !important;
    transform: translate(-50%, -50%) !important;
    pointer-events: none !important;
}

.system-route-media {
    position: relative !important;
    z-index: 3 !important;
    min-height: clamp(430px, 42vw, 690px) !important;
}

.system-route-media img {
    width: min(100%, 1050px) !important;
    height: clamp(420px, 39vw, 640px) !important;
    object-fit: cover !important;
    object-position: center !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: 0 34px 90px rgba(43, 38, 32, 0.18) !important;
    filter: saturate(0.92) contrast(1.03) !important;
}

.system-route-media::before,
.system-route-media::after {
    content: "" !important;
    position: absolute !important;
    z-index: 4 !important;
    width: clamp(56px, 5vw, 86px) !important;
    height: clamp(56px, 5vw, 86px) !important;
    pointer-events: none !important;
}

.system-route-media::before {
    left: clamp(18px, 2vw, 34px) !important;
    top: clamp(18px, 2vw, 34px) !important;
    border-top: 2px solid #fffaf3 !important;
    border-left: 2px solid #fffaf3 !important;
}

.system-route-media::after {
    right: clamp(18px, 2vw, 34px) !important;
    bottom: clamp(18px, 2vw, 34px) !important;
    border-right: 2px solid #fffaf3 !important;
    border-bottom: 2px solid #fffaf3 !important;
}

.system-floating-label {
    position: absolute !important;
    z-index: 5 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 13px 16px !important;
    border: 1px solid rgba(21, 19, 17, 0.18) !important;
    background: rgba(255, 250, 243, 0.86) !important;
    box-shadow: 0 18px 42px rgba(43, 38, 32, 0.1) !important;
    color: #090807 !important;
    font-family: var(--font-body) !important;
    font-size: clamp(0.72rem, 0.78vw, 0.9rem) !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.02em !important;
    animation: systemLabelFloat 5.6s ease-in-out infinite !important;
}

.system-floating-label::before {
    content: "" !important;
    width: 8px !important;
    height: 8px !important;
    border-radius: 50% !important;
    background: var(--r01-teal) !important;
}

.label-diagnostico {
    left: clamp(18px, 4vw, 64px) !important;
    top: 14% !important;
}

.label-estrategia {
    right: clamp(16px, 5vw, 80px) !important;
    top: 18% !important;
    animation-delay: -1.4s !important;
}

.label-capacidades {
    left: clamp(28px, 7vw, 120px) !important;
    bottom: 15% !important;
    animation-delay: -2.6s !important;
}

.label-resultados {
    right: clamp(14px, 4vw, 70px) !important;
    bottom: 18% !important;
    animation-delay: -3.8s !important;
}

.label-estrategia::before,
.label-resultados::before {
    background: var(--r01-terracotta) !important;
}

.system-route-copy {
    position: relative !important;
    z-index: 4 !important;
    max-width: 520px !important;
    padding-left: clamp(22px, 2.4vw, 38px) !important;
    border-left: 1px solid rgba(43, 38, 32, 0.18) !important;
}

.system-route-kicker {
    display: block !important;
    margin-bottom: clamp(22px, 3vw, 42px) !important;
    color: var(--r01-terracotta) !important;
    font-family: var(--font-mono) !important;
    font-size: clamp(0.68rem, 0.72vw, 0.84rem) !important;
    font-weight: 700 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
}

.system-route-mark {
    width: clamp(76px, 7vw, 116px) !important;
    height: auto !important;
    margin: 0 0 clamp(20px, 2.4vw, 34px) !important;
    filter: drop-shadow(0 14px 34px rgba(201, 89, 46, 0.18)) !important;
}

.system-route-copy h3 {
    max-width: 9.5ch !important;
    margin: 0 0 clamp(18px, 2vw, 26px) !important;
    color: #090807 !important;
    font-family: var(--font-body) !important;
    font-size: clamp(2.7rem, 4.5vw, 6.6rem) !important;
    font-weight: 850 !important;
    line-height: 0.88 !important;
    letter-spacing: 0 !important;
}

.system-route-copy p {
    max-width: 36ch !important;
    margin: 0 !important;
    color: rgba(43, 38, 32, 0.72) !important;
    font-size: clamp(1rem, 1.08vw, 1.18rem) !important;
    line-height: 1.58 !important;
    font-weight: 580 !important;
}

.system-route-mini {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin-top: clamp(26px, 3vw, 42px) !important;
}

.system-route-mini span {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 34px !important;
    padding: 8px 15px !important;
    border: 1px solid rgba(43, 38, 32, 0.13) !important;
    border-radius: 999px !important;
    background: rgba(255, 250, 243, 0.68) !important;
    color: rgba(43, 38, 32, 0.7) !important;
    font-family: var(--font-mono) !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}

.system-route-flow {
    position: relative !important;
    z-index: 3 !important;
    display: flex !important;
    flex-direction: column !important;
    border-top: 1px solid rgba(43, 38, 32, 0.18) !important;
    border-bottom: 1px solid rgba(43, 38, 32, 0.18) !important;
    opacity: 1 !important;
    transform: none !important;
}

.system-route-step {
    position: relative !important;
    display: grid !important;
    grid-template-columns: clamp(62px, 7vw, 118px) minmax(250px, 0.65fr) minmax(360px, 0.92fr) minmax(200px, 0.34fr) !important;
    align-items: center !important;
    gap: clamp(20px, 4vw, 72px) !important;
    min-height: clamp(154px, 13vw, 238px) !important;
    padding: clamp(28px, 3.4vw, 54px) 0 !important;
    border-bottom: 1px solid rgba(43, 38, 32, 0.12) !important;
    background: transparent !important;
    transition: background 260ms ease, padding-left 260ms ease !important;
}

.system-route-step:last-child {
    border-bottom: 0 !important;
}

.system-route-step::before {
    content: "" !important;
    position: absolute !important;
    left: clamp(62px, 7vw, 118px) !important;
    top: 50% !important;
    width: clamp(26px, 2vw, 36px) !important;
    height: 1px !important;
    background: var(--r01-terracotta) !important;
    transform: translateY(-50%) scaleX(0.36) !important;
    transform-origin: left !important;
    transition: transform 280ms ease !important;
}

.system-route-step::after {
    content: "" !important;
    position: absolute !important;
    left: calc(clamp(62px, 7vw, 118px) + clamp(26px, 2vw, 36px)) !important;
    top: 50% !important;
    width: 9px !important;
    height: 9px !important;
    border-radius: 50% !important;
    background: var(--r01-teal) !important;
    box-shadow: 0 0 0 10px rgba(47, 169, 161, 0.12) !important;
    transform: translate(-50%, -50%) !important;
}

.system-route-step:nth-child(even)::before {
    background: var(--r01-teal) !important;
}

.system-route-step:nth-child(even)::after {
    background: var(--r01-terracotta) !important;
    box-shadow: 0 0 0 10px rgba(201, 89, 46, 0.12) !important;
}

.system-route-step:hover {
    background: rgba(255, 250, 243, 0.54) !important;
    padding-left: clamp(0px, 1vw, 18px) !important;
}

.system-route-step:hover::before {
    transform: translateY(-50%) scaleX(1) !important;
}

.route-step-number {
    color: var(--r01-terracotta) !important;
    font-family: var(--font-body) !important;
    font-size: clamp(1.55rem, 2.2vw, 3rem) !important;
    font-weight: 850 !important;
    line-height: 1 !important;
}

.route-step-label {
    display: block !important;
    margin-bottom: clamp(12px, 1.5vw, 18px) !important;
    color: var(--r01-terracotta) !important;
    font-family: var(--font-mono) !important;
    font-size: clamp(0.66rem, 0.7vw, 0.8rem) !important;
    font-weight: 700 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
}

.system-route-step h3 {
    max-width: 13ch !important;
    margin: 0 !important;
    color: #090807 !important;
    font-family: var(--font-body) !important;
    font-size: clamp(2rem, 3vw, 4.3rem) !important;
    font-weight: 850 !important;
    line-height: 0.92 !important;
    letter-spacing: 0 !important;
}

.system-route-step p {
    max-width: 46ch !important;
    margin: 0 !important;
    color: rgba(43, 38, 32, 0.72) !important;
    font-size: clamp(0.98rem, 1.04vw, 1.16rem) !important;
    line-height: 1.55 !important;
    font-weight: 560 !important;
}

.system-route-step strong {
    justify-self: end !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    color: rgba(43, 38, 32, 0.52) !important;
    font-family: var(--font-mono) !important;
    font-size: clamp(0.66rem, 0.7vw, 0.8rem) !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    line-height: 1.25 !important;
    text-transform: uppercase !important;
    text-align: right !important;
}

.system-route-step strong::before {
    content: "" !important;
    width: 34px !important;
    height: 1px !important;
    background: currentColor !important;
}

@keyframes systemLabelFloat {
    0%,
    100% {
        transform: translate3d(0, 0, 0);
    }

    50% {
        transform: translate3d(0, -9px, 0);
    }
}

@media (max-width: 1180px) {
    section.system-route-section .system-route-header,
    .system-route-stage {
        grid-template-columns: 1fr !important;
    }

    section.system-route-section .system-route-header .section-tag,
    section.system-route-section .system-route-header .section-title,
    section.system-route-section .system-route-header .section-intro {
        grid-column: 1 !important;
    }

    section.system-route-section .system-route-header .section-title {
        max-width: 12ch !important;
        font-size: clamp(4rem, 10vw, 7.4rem) !important;
    }

    section.system-route-section .system-route-header .section-intro {
        max-width: 620px !important;
    }

    .system-route-stage {
        min-height: auto !important;
    }

    .system-route-stage::after {
        left: 50% !important;
        top: 38% !important;
    }

    .system-route-copy {
        max-width: 720px !important;
        margin-left: clamp(18px, 8vw, 92px) !important;
    }

    .system-route-step {
        grid-template-columns: clamp(58px, 9vw, 92px) minmax(220px, 0.8fr) minmax(300px, 1fr) !important;
    }

    .system-route-step strong {
        grid-column: 2 / -1 !important;
        justify-self: start !important;
        text-align: left !important;
    }
}

@media (max-width: 760px) {
    section.system-route-section,
    main section.system-route-section {
        padding-block: 86px 92px !important;
    }

    section.system-route-section .container {
        width: min(100% - 36px, 560px) !important;
    }

    section.system-route-section .system-route-header {
        gap: 22px !important;
        margin-bottom: 44px !important;
    }

    section.system-route-section .system-route-header .section-title {
        font-size: clamp(2.72rem, 12vw, 4.25rem) !important;
        line-height: 0.92 !important;
    }

    section.system-route-section .system-route-header .section-intro {
        padding-left: 18px !important;
        font-size: 1rem !important;
    }

    .system-route-stage {
        gap: 34px !important;
        margin-bottom: 52px !important;
    }

    .system-route-stage::before {
        bottom: auto !important;
        top: 36% !important;
        font-size: clamp(4.8rem, 25vw, 8rem) !important;
        opacity: 0.9 !important;
    }

    .system-route-stage::after {
        width: min(58vw, 260px) !important;
        top: 30% !important;
    }

    .system-route-media {
        min-height: auto !important;
    }

    .system-route-media img {
        height: clamp(320px, 92vw, 440px) !important;
        object-position: 53% 50% !important;
    }

    .system-floating-label {
        padding: 10px 12px !important;
        font-size: 0.68rem !important;
    }

    .label-diagnostico {
        left: 12px !important;
        top: 12px !important;
    }

    .label-estrategia {
        right: 12px !important;
        top: 66px !important;
    }

    .label-capacidades {
        left: 12px !important;
        bottom: 62px !important;
    }

    .label-resultados {
        right: 12px !important;
        bottom: 12px !important;
    }

    .system-route-copy {
        margin-left: 0 !important;
        padding-left: 18px !important;
    }

    .system-route-copy h3 {
        font-size: clamp(2.65rem, 13vw, 4.2rem) !important;
    }

    .system-route-flow {
        border-top-color: rgba(43, 38, 32, 0.16) !important;
    }

    .system-route-step {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
        min-height: 0 !important;
        padding: 30px 0 !important;
    }

    .system-route-step::before,
    .system-route-step::after {
        display: none !important;
    }

    .system-route-step:hover {
        padding-left: 0 !important;
        background: transparent !important;
    }

    .route-step-number,
    .system-route-step > div,
    .system-route-step p,
    .system-route-step strong {
        grid-column: 1 !important;
    }

    .route-step-number {
        font-size: 1.2rem !important;
    }

    .route-step-label {
        margin-bottom: 10px !important;
    }

    .system-route-step h3 {
        font-size: clamp(2.1rem, 10vw, 3.2rem) !important;
        max-width: 11ch !important;
    }

    .system-route-step strong {
        margin-top: 4px !important;
        justify-self: start !important;
        text-align: left !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .system-floating-label {
        animation: none !important;
    }
}

/* Hero editorial cover: Ruta 01 light direction */
.hero-section.hero-editorial-section {
    display: block !important;
    min-height: 100svh !important;
    padding: clamp(124px, 10vh, 152px) 0 clamp(82px, 8vh, 118px) !important;
    color: #17130f !important;
    background:
        radial-gradient(circle at 64% 31%, rgba(47, 169, 161, 0.16), transparent 30%),
        radial-gradient(circle at 34% 68%, rgba(201, 89, 46, 0.12), transparent 27%),
        linear-gradient(180deg, #f8f3ea 0%, #fffaf3 48%, #f0e7da 100%) !important;
    overflow: hidden !important;
    isolation: isolate !important;
}

.hero-section.hero-editorial-section::before,
.hero-section.hero-editorial-section::after {
    content: none !important;
    display: none !important;
    animation: none !important;
    background: none !important;
    box-shadow: none !important;
}

.hero-editorial-shell {
    position: relative !important;
    z-index: 2 !important;
    width: min(100% - clamp(44px, 6vw, 128px), 1740px) !important;
    min-height: calc(100svh - clamp(204px, 18vh, 262px)) !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: minmax(250px, 0.78fr) minmax(380px, 0.72fr) minmax(330px, 0.78fr) !important;
    grid-template-rows: auto 1fr auto !important;
    align-items: center !important;
    gap: clamp(26px, 4vw, 78px) !important;
}

.hero-editorial-kicker {
    grid-column: 1 / 2 !important;
    grid-row: 1 !important;
    align-self: start !important;
    justify-self: start !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 14px !important;
    color: #17130f !important;
    font-family: var(--font-mono), 'IBM Plex Mono', monospace !important;
    font-size: clamp(0.68rem, 0.72vw, 0.82rem) !important;
    font-weight: 800 !important;
    letter-spacing: 0.05em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    z-index: 5 !important;
}

.hero-editorial-kicker span {
    display: inline-flex !important;
    width: 38px !important;
    height: 38px !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(23, 19, 15, 0.7) !important;
    border-radius: 999px !important;
    background: rgba(255, 250, 243, 0.42) !important;
}

.hero-editorial-title {
    position: absolute !important;
    left: -0.35vw !important;
    bottom: clamp(8px, 2vh, 32px) !important;
    z-index: 1 !important;
    margin: 0 !important;
    color: #050403 !important;
    font-family: 'Sora', 'Arial Black', 'Inter', Arial, sans-serif !important;
    font-size: clamp(7.2rem, 16vw, 20rem) !important;
    font-weight: 800 !important;
    line-height: 0.72 !important;
    letter-spacing: -0.058em !important;
    text-transform: none !important;
    pointer-events: none !important;
    user-select: none !important;
}

.hero-editorial-photo {
    position: relative !important;
    grid-column: 2 / 3 !important;
    grid-row: 1 / 4 !important;
    align-self: center !important;
    justify-self: center !important;
    width: min(33vw, 520px) !important;
    height: min(69vh, 720px) !important;
    min-height: 510px !important;
    z-index: 4 !important;
    overflow: visible !important;
    animation: heroEditorialFloat 8s ease-in-out infinite !important;
}

.hero-editorial-photo::before {
    content: "" !important;
    position: absolute !important;
    inset: 18% -12% 12% -12% !important;
    z-index: -2 !important;
    border-radius: 50% !important;
    background: rgba(201, 89, 46, 0.82) !important;
    filter: blur(0.2px) !important;
    transform: translate3d(0, 8px, 0) !important;
}

.hero-editorial-photo::after {
    content: "" !important;
    position: absolute !important;
    inset: -34px !important;
    z-index: -1 !important;
    background:
        linear-gradient(90deg, transparent 0 46%, rgba(255, 250, 243, 0.9) 46% 54%, transparent 54%),
        linear-gradient(180deg, transparent 0 46%, rgba(255, 250, 243, 0.9) 46% 54%, transparent 54%) !important;
    opacity: 0.55 !important;
    pointer-events: none !important;
}

.hero-editorial-photo img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: 62% 50% !important;
    border: 1px solid rgba(23, 19, 15, 0.16) !important;
    box-shadow: 0 42px 110px rgba(43, 38, 32, 0.19) !important;
    filter: saturate(0.96) contrast(1.03) brightness(1.02) !important;
}

.hero-editorial-tag {
    position: absolute !important;
    z-index: 6 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 46px !important;
    padding: 0 22px !important;
    color: #17130f !important;
    background: rgba(255, 250, 243, 0.92) !important;
    border: 1px solid rgba(43, 38, 32, 0.18) !important;
    box-shadow: 0 18px 45px rgba(43, 38, 32, 0.09) !important;
    font-family: var(--font-mono), 'IBM Plex Mono', monospace !important;
    font-size: clamp(0.68rem, 0.74vw, 0.84rem) !important;
    font-weight: 800 !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase !important;
    animation: heroTagDrift 6.5s ease-in-out infinite !important;
}

.hero-editorial-tag.tag-strategy {
    left: clamp(-72px, -4vw, -48px) !important;
    top: 26% !important;
}

.hero-editorial-tag.tag-culture {
    right: clamp(-80px, -4.5vw, -52px) !important;
    bottom: 16% !important;
    animation-delay: -2s !important;
}

.hero-editorial-corner {
    position: absolute !important;
    z-index: 7 !important;
    width: 82px !important;
    height: 82px !important;
    pointer-events: none !important;
}

.hero-editorial-corner.corner-top {
    top: -1px !important;
    left: -1px !important;
    border-top: 2px solid rgba(47, 169, 161, 0.84) !important;
    border-left: 2px solid rgba(47, 169, 161, 0.84) !important;
}

.hero-editorial-corner.corner-bottom {
    right: -1px !important;
    bottom: -1px !important;
    border-right: 2px solid rgba(201, 89, 46, 0.78) !important;
    border-bottom: 2px solid rgba(201, 89, 46, 0.78) !important;
}

.hero-editorial-statement {
    grid-column: 3 / 4 !important;
    grid-row: 2 !important;
    align-self: center !important;
    max-width: 520px !important;
    padding-left: clamp(20px, 2vw, 30px) !important;
    border-left: 1.5px solid rgba(23, 19, 15, 0.78) !important;
    z-index: 5 !important;
}

.hero-editorial-statement p {
    margin: 0 0 28px !important;
    color: #17130f !important;
    font-family: 'Sora', 'Inter', Arial, sans-serif !important;
    font-size: clamp(1.55rem, 1.65vw, 2.35rem) !important;
    font-weight: 800 !important;
    line-height: 1.08 !important;
    letter-spacing: -0.035em !important;
}

.hero-editorial-statement a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 22px !important;
    color: #17130f !important;
    font-family: var(--font-mono), 'IBM Plex Mono', monospace !important;
    font-size: 0.78rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
}

.hero-editorial-statement a::after {
    content: "" !important;
    width: clamp(42px, 4vw, 68px) !important;
    height: 1px !important;
    background: currentColor !important;
    transition: transform 260ms ease !important;
    transform-origin: left center !important;
}

.hero-editorial-statement a:hover::after {
    transform: scaleX(1.35) !important;
}

.hero-editorial-actions {
    grid-column: 3 / 4 !important;
    grid-row: 3 !important;
    align-self: end !important;
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    margin-bottom: clamp(76px, 8vh, 112px) !important;
    z-index: 6 !important;
}

.hero-editorial-statement .hero-editorial-actions {
    grid-column: auto !important;
    grid-row: auto !important;
    margin: clamp(26px, 3vh, 36px) 0 0 !important;
}

.hero-editorial-actions .btn {
    min-height: 54px !important;
    border-radius: 999px !important;
    padding-inline: 28px !important;
}

.hero-editorial-actions .hero-btn-main {
    background: #17130f !important;
    border-color: #17130f !important;
    color: #fffaf3 !important;
    box-shadow: 0 16px 38px rgba(23, 19, 15, 0.18) !important;
}

.hero-editorial-actions .hero-btn-sub {
    background: rgba(255, 250, 243, 0.44) !important;
    border-color: rgba(23, 19, 15, 0.24) !important;
    color: #17130f !important;
}

.hero-editorial-side-note {
    position: absolute !important;
    right: 0 !important;
    bottom: clamp(118px, 12vh, 168px) !important;
    z-index: 3 !important;
    color: rgba(23, 19, 15, 0.48) !important;
    font-family: var(--font-mono), 'IBM Plex Mono', monospace !important;
    font-size: 0.74rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    writing-mode: vertical-rl !important;
    transform: rotate(180deg) !important;
}

.hero-editorial-section .ticker-wrapper.hero-word-carousel.hero-editorial-marquee,
.hero-editorial-section .hero-word-carousel.hero-editorial-marquee {
    position: absolute !important;
    left: -8vw !important;
    right: auto !important;
    bottom: clamp(12px, 2.3vh, 28px) !important;
    width: 116vw !important;
    z-index: 9 !important;
    margin: 0 !important;
    padding: clamp(15px, 1.25vw, 22px) 0 !important;
    overflow: hidden !important;
    background: rgba(255, 250, 243, 0.98) !important;
    border-top: 1px solid rgba(201, 89, 46, 0.24) !important;
    border-bottom: 1px solid rgba(23, 19, 15, 0.18) !important;
    box-shadow: 0 18px 44px rgba(43, 38, 32, 0.16) !important;
    transform: rotate(-2.15deg) translate3d(0, 0, 0) !important;
    transform-origin: center center !important;
}

.hero-editorial-section .hero-editorial-marquee .hero-word-carousel-track,
.hero-editorial-section .ticker-wrapper.hero-editorial-marquee .ticker-content {
    display: flex !important;
    width: max-content !important;
    min-width: max-content !important;
    align-items: center !important;
    gap: clamp(28px, 3vw, 58px) !important;
    margin: 0 !important;
    padding-left: 0 !important;
    color: #17130f !important;
    animation: heroEditorialMarquee 24s linear infinite !important;
    animation-play-state: running !important;
    will-change: transform !important;
}

.hero-editorial-section .hero-editorial-marquee .hero-word-carousel-track span,
.hero-editorial-section .ticker-wrapper.hero-editorial-marquee .ticker-content span {
    flex: 0 0 auto !important;
    margin: 0 !important;
    color: #17130f !important;
    font-family: 'Sora', var(--font-title), sans-serif !important;
    font-size: clamp(0.88rem, 1.05vw, 1.2rem) !important;
    font-weight: 800 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
}

.hero-editorial-section .ticker-dot {
    width: 5px !important;
    height: 5px !important;
    background: #cb5b2e !important;
}

@keyframes heroEditorialFloat {
    0%,
    100% {
        transform: translate3d(0, 0, 0);
    }

    50% {
        transform: translate3d(0, -12px, 0);
    }
}

@keyframes heroTagDrift {
    0%,
    100% {
        transform: translate3d(0, 0, 0);
    }

    50% {
        transform: translate3d(0, -7px, 0);
    }
}

@keyframes heroEditorialMarquee {
    from {
        transform: translate3d(0, 0, 0);
    }

    to {
        transform: translate3d(-33.333%, 0, 0);
    }
}

@media (max-width: 1180px) {
    .hero-editorial-shell {
        width: min(100% - 44px, 820px) !important;
        min-height: auto !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 24px !important;
        padding-bottom: clamp(118px, 15vh, 164px) !important;
    }

    .hero-editorial-title {
        position: relative !important;
        left: 0 !important;
        bottom: auto !important;
        order: 2 !important;
        z-index: 3 !important;
        font-size: clamp(5.6rem, 17vw, 10rem) !important;
        line-height: 0.76 !important;
    }

    .hero-editorial-kicker {
        order: 1 !important;
    }

    .hero-editorial-photo {
        order: 3 !important;
        align-self: center !important;
        width: min(100%, 620px) !important;
        height: clamp(430px, 72vw, 660px) !important;
        min-height: 0 !important;
        margin-top: clamp(-86px, -9vw, -42px) !important;
    }

    .hero-editorial-statement {
        order: 4 !important;
        max-width: 620px !important;
        margin-top: 8px !important;
    }

    .hero-editorial-actions {
        order: 5 !important;
        margin-bottom: 0 !important;
    }

    .hero-editorial-side-note {
        display: none !important;
    }
}

@media (max-width: 640px) {
    .hero-section.hero-editorial-section {
        padding-top: 92px !important;
        padding-bottom: 0 !important;
    }

    .hero-editorial-shell {
        width: min(100% - 30px, 520px) !important;
        gap: 18px !important;
        padding-bottom: 118px !important;
    }

    .hero-editorial-kicker {
        gap: 10px !important;
        max-width: 28ch !important;
        font-size: 0.66rem !important;
        line-height: 1.35 !important;
    }

    .hero-editorial-kicker span {
        width: 34px !important;
        height: 34px !important;
        flex: 0 0 34px !important;
    }

    .hero-editorial-title {
        width: 100% !important;
        font-size: clamp(3.35rem, 15.6vw, 4.95rem) !important;
        line-height: 0.8 !important;
        letter-spacing: -0.052em !important;
    }

    .hero-editorial-photo {
        width: 100% !important;
        height: clamp(300px, 82vw, 420px) !important;
        margin-top: 2px !important;
    }

    .hero-editorial-photo::before {
        inset: 24% -9% 15% -9% !important;
    }

    .hero-editorial-photo::after {
        inset: -18px !important;
    }

    .hero-editorial-photo img {
        object-position: 62% 48% !important;
    }

    .hero-editorial-tag {
        min-height: 38px !important;
        padding-inline: 14px !important;
        font-size: 0.64rem !important;
    }

    .hero-editorial-tag.tag-strategy {
        left: 12px !important;
        top: 14px !important;
    }

    .hero-editorial-tag.tag-culture {
        right: 12px !important;
        bottom: 14px !important;
    }

    .hero-editorial-corner {
        width: 54px !important;
        height: 54px !important;
    }

    .hero-editorial-statement {
        width: 100% !important;
        padding-left: 16px !important;
        display: flex !important;
        flex-direction: column !important;
    }

    .hero-editorial-statement p {
        order: 1 !important;
        font-size: clamp(1.18rem, 6vw, 1.58rem) !important;
        line-height: 1.15 !important;
        margin-bottom: 0 !important;
    }

    .hero-editorial-statement > a {
        order: 3 !important;
        margin-top: 18px !important;
    }

    .hero-editorial-actions {
        order: 2 !important;
        width: 100% !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 10px !important;
        margin-top: 18px !important;
    }

    .hero-editorial-actions .btn {
        width: 100% !important;
        min-height: 50px !important;
        padding-inline: 18px !important;
    }

    .hero-editorial-section .ticker-wrapper.hero-word-carousel.hero-editorial-marquee,
    .hero-editorial-section .hero-word-carousel.hero-editorial-marquee {
        left: -18vw !important;
        bottom: 18px !important;
        width: 136vw !important;
        padding: 12px 0 !important;
        transform: rotate(-2.3deg) translate3d(0, 0, 0) !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .hero-editorial-photo,
    .hero-editorial-tag,
    .hero-editorial-section .hero-editorial-marquee .hero-word-carousel-track,
    .hero-editorial-section .ticker-wrapper.hero-editorial-marquee .ticker-content {
        animation: none !important;
    }
}

/* Strategic manifesto: editorial bridge after hero */
.statement-section.statement-manifesto-section,
main .statement-section.statement-manifesto-section {
    position: relative !important;
    min-height: 100svh !important;
    padding: clamp(118px, 11vw, 178px) 0 clamp(92px, 8vw, 132px) !important;
    overflow: hidden !important;
    isolation: isolate !important;
    background:
        radial-gradient(circle at 82% 22%, rgba(47, 169, 161, 0.13), transparent 28%),
        radial-gradient(circle at 18% 74%, rgba(201, 89, 46, 0.1), transparent 30%),
        linear-gradient(180deg, #f0e7da 0%, #fffaf3 38%, #f8f3ea 100%) !important;
    color: #17130f !important;
}

.statement-section.statement-manifesto-section::before,
.statement-section.statement-manifesto-section::after {
    content: none !important;
    display: none !important;
    background: none !important;
    box-shadow: none !important;
}

.manifesto-bg-word {
    position: absolute !important;
    left: -2vw !important;
    bottom: clamp(8px, 2vw, 32px) !important;
    z-index: 0 !important;
    color: rgba(23, 19, 15, 0.045) !important;
    font-family: 'Sora', 'Arial Black', 'Inter', Arial, sans-serif !important;
    font-size: clamp(8rem, 18vw, 22rem) !important;
    font-weight: 800 !important;
    line-height: 0.72 !important;
    letter-spacing: -0.06em !important;
    pointer-events: none !important;
    user-select: none !important;
    white-space: nowrap !important;
}

.manifesto-container {
    position: relative !important;
    z-index: 2 !important;
    width: min(100% - clamp(44px, 6vw, 128px), 1680px) !important;
    max-width: none !important;
}

.manifesto-kicker {
    display: inline-flex !important;
    align-items: center !important;
    gap: 14px !important;
    margin-bottom: clamp(38px, 4.8vw, 84px) !important;
    color: #17130f !important;
    font-family: var(--font-mono), 'IBM Plex Mono', monospace !important;
    font-size: clamp(0.68rem, 0.72vw, 0.82rem) !important;
    font-weight: 800 !important;
    letter-spacing: 0.05em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

.manifesto-kicker span {
    display: inline-flex !important;
    width: 38px !important;
    height: 38px !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(23, 19, 15, 0.68) !important;
    border-radius: 999px !important;
    background: rgba(255, 250, 243, 0.54) !important;
}

.manifesto-layout {
    display: grid !important;
    grid-template-columns: minmax(720px, 1fr) minmax(430px, 0.62fr) !important;
    align-items: center !important;
    gap: clamp(44px, 5vw, 92px) !important;
}

.manifesto-copy {
    position: relative !important;
    z-index: 3 !important;
}

.manifesto-title {
    margin: 0 !important;
    color: #17130f !important;
    font-family: 'Sora', 'Arial Black', 'Inter', Arial, sans-serif !important;
    font-size: clamp(3.7rem, 5.2vw, 7rem) !important;
    font-weight: 800 !important;
    line-height: 0.9 !important;
    letter-spacing: -0.05em !important;
    max-width: 13.4ch !important;
}

.manifesto-line {
    display: block !important;
    overflow: hidden !important;
    padding-bottom: 0.04em !important;
}

.manifesto-line > span {
    display: block !important;
    transform: translate3d(0, 112%, 0) !important;
    transition: transform 900ms cubic-bezier(0.16, 1, 0.3, 1) !important;
    will-change: transform !important;
}

.manifesto-title.active-animation .manifesto-line > span,
.manifesto-title.is-blur-visible .manifesto-line > span {
    transform: translate3d(0, 0, 0) !important;
}

.manifesto-title .manifesto-line:nth-child(2) > span {
    transition-delay: 80ms !important;
}

.manifesto-title .manifesto-line:nth-child(3) > span {
    transition-delay: 160ms !important;
}

.manifesto-title .manifesto-line:nth-child(4) > span {
    transition-delay: 240ms !important;
}

.manifesto-title em {
    color: #cb5b2e !important;
    font-style: normal !important;
}

.manifesto-lead {
    max-width: 580px !important;
    margin: clamp(28px, 3vw, 46px) 0 0 !important;
    padding-left: clamp(18px, 2vw, 28px) !important;
    border-left: 1.5px solid rgba(47, 169, 161, 0.86) !important;
    color: rgba(23, 19, 15, 0.72) !important;
    font-family: 'Manrope', var(--font-body), sans-serif !important;
    font-size: clamp(1.02rem, 1.15vw, 1.32rem) !important;
    font-weight: 600 !important;
    line-height: 1.55 !important;
}

.manifesto-image-stage {
    position: relative !important;
    z-index: 4 !important;
    width: 100% !important;
    min-height: clamp(430px, 36vw, 610px) !important;
    margin: 0 !important;
    filter: drop-shadow(0 36px 82px rgba(43, 38, 32, 0.18)) !important;
    animation: manifestoImageFloat 8s ease-in-out infinite !important;
}

.manifesto-image-stage::before {
    content: "" !important;
    position: absolute !important;
    inset: 13% -9% 10% auto !important;
    width: 56% !important;
    z-index: -1 !important;
    border-radius: 999px 0 0 999px !important;
    background: rgba(47, 169, 161, 0.18) !important;
}

.manifesto-image-stage::after {
    content: "" !important;
    position: absolute !important;
    left: -18px !important;
    bottom: clamp(34px, 5vw, 70px) !important;
    width: 44% !important;
    height: 1px !important;
    z-index: 4 !important;
    background: rgba(201, 89, 46, 0.74) !important;
    transform: rotate(-7deg) !important;
    transform-origin: left center !important;
}

.manifesto-image-stage img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: 50% 50% !important;
    clip-path: polygon(10% 0, 100% 0, 90% 100%, 0 100%) !important;
    border: 1px solid rgba(23, 19, 15, 0.14) !important;
    filter: saturate(0.92) contrast(1.05) brightness(1.06) !important;
}

.manifesto-image-stage figcaption {
    position: absolute !important;
    right: clamp(-22px, -1.6vw, -10px) !important;
    bottom: clamp(34px, 5vw, 72px) !important;
    z-index: 6 !important;
    display: inline-flex !important;
    min-height: 46px !important;
    align-items: center !important;
    padding: 0 20px !important;
    color: #17130f !important;
    background: rgba(255, 250, 243, 0.92) !important;
    border: 1px solid rgba(23, 19, 15, 0.18) !important;
    font-family: var(--font-mono), 'IBM Plex Mono', monospace !important;
    font-size: clamp(0.64rem, 0.68vw, 0.76rem) !important;
    font-weight: 800 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    box-shadow: 0 18px 44px rgba(43, 38, 32, 0.11) !important;
}

.manifesto-image-label {
    position: absolute !important;
    z-index: 6 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 42px !important;
    padding: 0 18px !important;
    color: #17130f !important;
    background: rgba(255, 250, 243, 0.88) !important;
    border: 1px solid rgba(23, 19, 15, 0.15) !important;
    font-family: var(--font-mono), 'IBM Plex Mono', monospace !important;
    font-size: clamp(0.62rem, 0.66vw, 0.74rem) !important;
    font-weight: 800 !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase !important;
    box-shadow: 0 16px 40px rgba(43, 38, 32, 0.08) !important;
}

.manifesto-image-label.label-message {
    left: clamp(-28px, -2vw, -14px) !important;
    top: 17% !important;
}

.manifesto-image-label.label-bridge {
    left: 12% !important;
    bottom: 13% !important;
    color: #fffaf3 !important;
    background: #17130f !important;
    border-color: #17130f !important;
}

.manifesto-principles {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0 !important;
    margin-top: clamp(54px, 7vw, 108px) !important;
    border-top: 1px solid rgba(23, 19, 15, 0.14) !important;
    border-bottom: 1px solid rgba(23, 19, 15, 0.14) !important;
}

.manifesto-principles span {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    min-height: clamp(74px, 6vw, 96px) !important;
    padding: 0 clamp(18px, 2.4vw, 44px) !important;
    color: rgba(23, 19, 15, 0.7) !important;
    font-family: var(--font-mono), 'IBM Plex Mono', monospace !important;
    font-size: clamp(0.68rem, 0.72vw, 0.84rem) !important;
    font-weight: 800 !important;
    letter-spacing: 0.04em !important;
    line-height: 1.35 !important;
    text-transform: uppercase !important;
}

.manifesto-principles span + span {
    border-left: 1px solid rgba(23, 19, 15, 0.12) !important;
}

.manifesto-principles strong {
    color: #cb5b2e !important;
    font-size: 0.92em !important;
}

@keyframes manifestoImageFloat {
    0%,
    100% {
        transform: translate3d(0, 0, 0) rotate(-0.5deg);
    }

    50% {
        transform: translate3d(0, -12px, 0) rotate(0.3deg);
    }
}

@keyframes manifestoScrollFocus {
    0% {
        opacity: 0;
        filter: blur(8px);
        transform: translate3d(0, 34px, 0);
    }

    42%,
    76% {
        opacity: 1;
        filter: blur(0);
        transform: translate3d(0, 0, 0);
    }

    100% {
        opacity: 0.38;
        filter: blur(5px);
        transform: translate3d(0, -18px, 0);
    }
}

@keyframes manifestoImageScroll {
    0% {
        opacity: 0.72;
        transform: translate3d(36px, 38px, 0) rotate(-2deg) scale(0.96);
    }

    48%,
    78% {
        opacity: 1;
        transform: translate3d(0, 0, 0) rotate(-0.5deg) scale(1);
    }

    100% {
        opacity: 0.84;
        transform: translate3d(-18px, -18px, 0) rotate(0.5deg) scale(1.02);
    }
}

@media (max-width: 1180px) {
    .statement-section.statement-manifesto-section,
    main .statement-section.statement-manifesto-section {
        padding-block: clamp(96px, 12vw, 138px) clamp(80px, 10vw, 118px) !important;
    }

    .manifesto-container {
        width: min(100% - 44px, 900px) !important;
    }

    .manifesto-layout {
        grid-template-columns: 1fr !important;
        gap: 44px !important;
    }

    .manifesto-title {
        max-width: 12ch !important;
        font-size: clamp(4.1rem, 12vw, 7.2rem) !important;
    }

    .manifesto-lead {
        max-width: 680px !important;
    }

    .manifesto-image-stage {
        width: min(100%, 760px) !important;
        min-height: clamp(360px, 58vw, 560px) !important;
        justify-self: center !important;
    }
}

@media (max-width: 640px) {
    .statement-section.statement-manifesto-section,
    main .statement-section.statement-manifesto-section {
        min-height: auto !important;
        padding-block: 82px 78px !important;
    }

    .manifesto-container {
        width: min(100% - 30px, 520px) !important;
    }

    .manifesto-bg-word {
        bottom: 18px !important;
        font-size: clamp(5.6rem, 30vw, 8.6rem) !important;
    }

    .manifesto-kicker {
        gap: 10px !important;
        max-width: 28ch !important;
        margin-bottom: 34px !important;
        font-size: 0.66rem !important;
        line-height: 1.35 !important;
    }

    .manifesto-kicker span {
        width: 34px !important;
        height: 34px !important;
        flex: 0 0 34px !important;
    }

    .manifesto-title {
        max-width: 100% !important;
        font-size: clamp(3rem, 13.7vw, 4.7rem) !important;
        line-height: 0.9 !important;
        letter-spacing: -0.05em !important;
    }

    .manifesto-lead {
        margin-top: 24px !important;
        padding-left: 16px !important;
        font-size: 0.98rem !important;
        line-height: 1.52 !important;
    }

    .manifesto-image-stage {
        min-height: clamp(260px, 66vw, 360px) !important;
    }

    .manifesto-image-stage img {
        clip-path: polygon(5% 0, 100% 0, 95% 100%, 0 100%) !important;
    }

    .manifesto-image-stage figcaption {
        right: 10px !important;
        bottom: 14px !important;
        max-width: calc(100% - 20px) !important;
        min-height: 38px !important;
        padding-inline: 12px !important;
        font-size: 0.58rem !important;
    }

    .manifesto-image-label {
        min-height: 34px !important;
        padding-inline: 12px !important;
        font-size: 0.58rem !important;
    }

    .manifesto-image-label.label-message {
        left: 10px !important;
        top: 12px !important;
    }

    .manifesto-image-label.label-bridge {
        left: 10px !important;
        bottom: 14px !important;
        transform: translateY(-46px) !important;
    }

    .manifesto-principles {
        grid-template-columns: 1fr !important;
        margin-top: 42px !important;
    }

    .manifesto-principles span {
        min-height: 62px !important;
        padding-inline: 0 !important;
    }

    .manifesto-principles span + span {
        border-left: 0 !important;
        border-top: 1px solid rgba(23, 19, 15, 0.12) !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .manifesto-image-stage,
    .manifesto-title .manifesto-line > span,
    .statement-manifesto-section .manifesto-title,
    .statement-manifesto-section .manifesto-lead {
        animation: none !important;
        transform: none !important;
        filter: none !important;
        opacity: 1 !important;
        transition: none !important;
    }
}

/* Services and capabilities: light editorial offer */
section.services-section#servicios,
main section.services-section#servicios {
    position: relative !important;
    padding: clamp(118px, 10vw, 176px) 0 clamp(110px, 9vw, 160px) !important;
    overflow: hidden !important;
    isolation: isolate !important;
    color: #17130f !important;
    background:
        radial-gradient(circle at 18% 18%, rgba(201, 89, 46, 0.11), transparent 30%),
        radial-gradient(circle at 88% 62%, rgba(47, 169, 161, 0.13), transparent 32%),
        linear-gradient(180deg, #fffaf3 0%, #f8f3ea 46%, #f0e7da 100%) !important;
}

section.services-section#servicios::before {
    content: "" !important;
    position: absolute !important;
    left: clamp(24px, 6vw, 128px) !important;
    right: clamp(24px, 6vw, 128px) !important;
    top: clamp(42px, 5vw, 82px) !important;
    height: 1px !important;
    background: linear-gradient(90deg, rgba(23, 19, 15, 0.14), transparent 64%) !important;
    pointer-events: none !important;
}

section.services-section#servicios::after {
    content: "Oferta" !important;
    position: absolute !important;
    left: -1.2vw !important;
    bottom: clamp(-28px, -1vw, -8px) !important;
    z-index: 0 !important;
    color: rgba(23, 19, 15, 0.045) !important;
    font-family: 'Sora', 'Arial Black', 'Inter', Arial, sans-serif !important;
    font-size: clamp(8rem, 19vw, 24rem) !important;
    font-weight: 800 !important;
    line-height: 0.72 !important;
    letter-spacing: -0.07em !important;
    pointer-events: none !important;
    user-select: none !important;
    background: none !important;
}

section.services-section#servicios .container {
    position: relative !important;
    z-index: 2 !important;
    width: min(100% - clamp(44px, 6vw, 128px), 1680px) !important;
    max-width: none !important;
}

.services-editorial-header,
section.services-section#servicios .services-header {
    width: 100% !important;
    max-width: none !important;
    display: grid !important;
    grid-template-columns: minmax(680px, 1fr) minmax(340px, 0.44fr) !important;
    align-items: end !important;
    gap: clamp(34px, 6vw, 112px) !important;
    margin: 0 0 clamp(56px, 7vw, 104px) !important;
    text-align: left !important;
}

.services-kicker,
section.services-section#servicios .services-kicker.section-tag {
    grid-column: 1 / -1 !important;
    display: inline-flex !important;
    width: fit-content !important;
    align-items: center !important;
    gap: 14px !important;
    margin: 0 !important;
    color: #17130f !important;
    font-family: var(--font-mono), 'IBM Plex Mono', monospace !important;
    font-size: clamp(0.68rem, 0.72vw, 0.82rem) !important;
    font-weight: 800 !important;
    letter-spacing: 0.05em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

.services-kicker span {
    display: inline-flex !important;
    width: 38px !important;
    height: 38px !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(23, 19, 15, 0.68) !important;
    border-radius: 999px !important;
    background: rgba(255, 250, 243, 0.54) !important;
}

section.services-section#servicios .services-header .section-title {
    grid-column: 1 / 2 !important;
    width: 100% !important;
    max-width: 13.5ch !important;
    margin: 0 !important;
    color: #17130f !important;
    font-family: 'Sora', 'Arial Black', 'Inter', Arial, sans-serif !important;
    font-size: clamp(4rem, 6vw, 7.8rem) !important;
    font-weight: 800 !important;
    line-height: 0.88 !important;
    letter-spacing: -0.055em !important;
}

section.services-section#servicios .services-header .section-intro {
    grid-column: 2 / 3 !important;
    width: 100% !important;
    max-width: 40ch !important;
    margin: 0 !important;
    padding-left: clamp(18px, 2vw, 30px) !important;
    border-left: 1.5px solid rgba(47, 169, 161, 0.86) !important;
    color: rgba(23, 19, 15, 0.72) !important;
    font-family: 'Manrope', var(--font-body), sans-serif !important;
    font-size: clamp(1.02rem, 1.12vw, 1.28rem) !important;
    font-weight: 600 !important;
    line-height: 1.56 !important;
}

section.services-section#servicios .services-grid.services-reveal-list {
    position: relative !important;
    z-index: 3 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto !important;
    border-top: 1px solid rgba(23, 19, 15, 0.18) !important;
    border-bottom: 1px solid rgba(23, 19, 15, 0.18) !important;
    background: transparent !important;
}

section.services-section#servicios .service-card,
section.services-section#servicios .services-reveal-list .service-card,
section.services-section#servicios .service-card.card-featured,
section.services-section#servicios .service-card.service-card-synergy {
    position: relative !important;
    width: 100% !important;
    min-height: clamp(176px, 13vw, 252px) !important;
    display: grid !important;
    grid-template-columns: minmax(124px, 0.34fr) minmax(300px, 0.78fr) minmax(440px, 1.05fr) minmax(142px, auto) !important;
    align-items: center !important;
    gap: clamp(24px, 3vw, 64px) !important;
    margin: 0 !important;
    padding: clamp(34px, 3.8vw, 62px) 0 !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(23, 19, 15, 0.12) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    overflow: visible !important;
    opacity: 1 !important;
    transform: none !important;
    isolation: isolate !important;
}

section.services-section#servicios .service-card:last-child {
    border-bottom: 0 !important;
}

section.services-section#servicios .service-card::before {
    content: "" !important;
    position: absolute !important;
    inset: clamp(14px, 1.6vw, 24px) clamp(-24px, -1.4vw, -14px) !important;
    z-index: -1 !important;
    border-radius: 999px !important;
    background:
        linear-gradient(90deg, rgba(255, 250, 243, 0.72), rgba(255, 250, 243, 0.3)),
        radial-gradient(circle at 22% 50%, rgba(201, 89, 46, 0.1), transparent 34%) !important;
    opacity: 0 !important;
    transform: scaleX(0.97) translate3d(0, 8px, 0) !important;
    transition:
        opacity 300ms ease,
        transform 520ms cubic-bezier(0.2, 0, 0, 1) !important;
    pointer-events: none !important;
}

section.services-section#servicios .service-card:hover::before,
section.services-section#servicios .service-card.is-service-active::before {
    opacity: 1 !important;
    transform: scaleX(1) translate3d(0, 0, 0) !important;
}

section.services-section#servicios .service-card .card-top,
section.services-section#servicios .services-reveal-list .service-card-synergy .card-top,
section.services-section#servicios .services-grid .service-card-synergy .card-top {
    grid-column: 1 !important;
    grid-row: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 12px !important;
    margin: 0 !important;
}

section.services-section#servicios .card-num-mono {
    color: #cb5b2e !important;
    font-family: var(--font-mono), 'IBM Plex Mono', monospace !important;
    font-size: clamp(0.82rem, 0.88vw, 1rem) !important;
    font-weight: 800 !important;
    letter-spacing: 0.06em !important;
}

section.services-section#servicios .card-category {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: rgba(23, 19, 15, 0.46) !important;
    font-family: var(--font-mono), 'IBM Plex Mono', monospace !important;
    font-size: clamp(0.62rem, 0.66vw, 0.76rem) !important;
    font-weight: 800 !important;
    letter-spacing: 0.13em !important;
    text-transform: uppercase !important;
}

section.services-section#servicios .service-card .featured-flex {
    display: contents !important;
}

section.services-section#servicios .service-card .service-title,
section.services-section#servicios .services-reveal-list .service-card-synergy .service-title,
section.services-section#servicios .services-grid .service-card-synergy .service-title {
    grid-column: 2 !important;
    grid-row: 1 !important;
    max-width: 12ch !important;
    margin: 0 !important;
    color: #17130f !important;
    font-family: 'Sora', 'Arial Black', 'Inter', Arial, sans-serif !important;
    font-size: clamp(2rem, 2.65vw, 4.4rem) !important;
    font-weight: 800 !important;
    line-height: 0.94 !important;
    letter-spacing: -0.045em !important;
    white-space: normal !important;
    transition:
        color 260ms ease,
        transform 420ms cubic-bezier(0.2, 0, 0, 1) !important;
}

section.services-section#servicios .service-card:hover .service-title,
section.services-section#servicios .service-card.is-service-active .service-title {
    color: #cb5b2e !important;
    transform: translate3d(10px, 0, 0) !important;
}

section.services-section#servicios .service-card .service-description,
section.services-section#servicios .services-reveal-list .service-card-synergy .service-description,
section.services-section#servicios .services-grid .service-card-synergy .service-description {
    grid-column: 3 !important;
    grid-row: 1 !important;
    max-width: 52ch !important;
    margin: 0 !important;
    padding-left: clamp(18px, 2vw, 30px) !important;
    border-left: 1.5px solid rgba(47, 169, 161, 0.58) !important;
    color: rgba(23, 19, 15, 0.72) !important;
    font-family: 'Manrope', var(--font-body), sans-serif !important;
    font-size: clamp(0.98rem, 1vw, 1.13rem) !important;
    font-weight: 600 !important;
    line-height: 1.56 !important;
}

section.services-section#servicios .service-card .service-points,
section.services-section#servicios .services-reveal-list .service-card-synergy .service-points,
section.services-section#servicios .services-grid .service-card-synergy .service-points {
    grid-column: 3 !important;
    grid-row: 2 !important;
    display: grid !important;
    gap: 8px !important;
    max-width: 52ch !important;
    margin: 16px 0 0 !important;
    padding: 0 0 0 clamp(18px, 2vw, 30px) !important;
    border-left: 1.5px solid rgba(47, 169, 161, 0.58) !important;
    border-top: 0 !important;
    list-style: none !important;
}

section.services-section#servicios .service-card .service-points li {
    position: relative !important;
    padding-left: 14px !important;
    border: 0 !important;
    color: rgba(23, 19, 15, 0.62) !important;
    font-family: 'Manrope', var(--font-body), sans-serif !important;
    font-size: clamp(0.86rem, 0.88vw, 0.98rem) !important;
    font-weight: 600 !important;
    line-height: 1.38 !important;
}

section.services-section#servicios .service-card .service-points li::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 0.68em !important;
    width: 5px !important;
    height: 5px !important;
    border-radius: 999px !important;
    background: #cb5b2e !important;
    display: block !important;
}

section.services-section#servicios .service-card .service-link,
section.services-section#servicios .services-reveal-list .service-card-synergy .service-link,
section.services-section#servicios .services-grid .service-card-synergy .service-link {
    grid-column: 4 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    align-self: center !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 18px !important;
    border: 1px solid rgba(23, 19, 15, 0.18) !important;
    border-radius: 999px !important;
    background: rgba(255, 250, 243, 0.64) !important;
    color: #17130f !important;
    font-family: var(--font-mono), 'IBM Plex Mono', monospace !important;
    font-size: 0.72rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.03em !important;
    white-space: nowrap !important;
    transition:
        color 220ms ease,
        background-color 220ms ease,
        border-color 220ms ease,
        transform 260ms cubic-bezier(0.2, 0, 0, 1) !important;
}

section.services-section#servicios .service-card .service-link svg {
    color: currentColor !important;
    transition: transform 220ms ease !important;
}

section.services-section#servicios .service-card:hover .service-link,
section.services-section#servicios .service-card.is-service-active .service-link {
    background: #17130f !important;
    border-color: #17130f !important;
    color: #fffaf3 !important;
    transform: scale(1.03) !important;
}

section.services-section#servicios .service-card:hover .service-link svg,
section.services-section#servicios .service-card.is-service-active .service-link svg {
    transform: translate3d(4px, 0, 0) !important;
}

section.services-section#servicios .service-hover-preview {
    width: clamp(250px, 20vw, 390px) !important;
    aspect-ratio: 4 / 5 !important;
    border: 1px solid rgba(201, 89, 46, 0.24) !important;
    border-radius: 0 !important;
    background: #fffaf3 !important;
    box-shadow: 0 34px 88px rgba(43, 38, 32, 0.2) !important;
    overflow: hidden !important;
    mix-blend-mode: normal !important;
}

section.services-section#servicios .service-hover-preview img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    filter: saturate(0.92) contrast(1.04) brightness(1.04) !important;
}

@media (max-width: 1180px) {
    .services-editorial-header,
    section.services-section#servicios .services-header {
        grid-template-columns: 1fr !important;
        gap: 26px !important;
    }

    section.services-section#servicios .services-header .section-title,
    section.services-section#servicios .services-header .section-intro {
        grid-column: 1 !important;
    }

    section.services-section#servicios .services-header .section-title {
        max-width: 12ch !important;
        font-size: clamp(3.4rem, 10vw, 6.8rem) !important;
    }

    section.services-section#servicios .services-header .section-intro {
        max-width: 640px !important;
    }

    section.services-section#servicios .service-card,
    section.services-section#servicios .services-reveal-list .service-card,
    section.services-section#servicios .service-card.card-featured,
    section.services-section#servicios .service-card.service-card-synergy {
        grid-template-columns: minmax(76px, 0.24fr) minmax(220px, 0.76fr) minmax(280px, 1fr) !important;
    }

    section.services-section#servicios .service-card .service-link {
        grid-column: 2 / -1 !important;
        grid-row: 2 !important;
        justify-self: start !important;
        margin-top: 16px !important;
    }

    section.services-section#servicios .service-card .service-points,
    section.services-section#servicios .services-reveal-list .service-card-synergy .service-points {
        grid-column: 3 !important;
    }
}

@media (max-width: 760px) {
    section.services-section#servicios,
    main section.services-section#servicios {
        padding-block: 82px 90px !important;
    }

    section.services-section#servicios .container {
        width: min(100% - 30px, 520px) !important;
    }

    .services-kicker,
    section.services-section#servicios .services-kicker.section-tag {
        gap: 10px !important;
        max-width: 28ch !important;
        font-size: 0.66rem !important;
        line-height: 1.35 !important;
    }

    .services-kicker span {
        width: 34px !important;
        height: 34px !important;
        flex: 0 0 34px !important;
    }

    section.services-section#servicios .services-header {
        margin-bottom: 42px !important;
    }

    section.services-section#servicios .services-header .section-title {
        max-width: 100% !important;
        font-size: clamp(3rem, 13.4vw, 4.6rem) !important;
        line-height: 0.9 !important;
        letter-spacing: -0.05em !important;
    }

    section.services-section#servicios .services-header .section-intro {
        max-width: 100% !important;
        padding-left: 16px !important;
        font-size: 0.98rem !important;
        line-height: 1.52 !important;
    }

    section.services-section#servicios .service-card,
    section.services-section#servicios .services-reveal-list .service-card,
    section.services-section#servicios .service-card.card-featured,
    section.services-section#servicios .service-card.service-card-synergy {
        min-height: auto !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 18px !important;
        padding: 30px 0 !important;
    }

    section.services-section#servicios .service-card::before {
        inset: 10px -12px !important;
        border-radius: 24px !important;
    }

    section.services-section#servicios .service-card .card-top,
    section.services-section#servicios .service-card .service-title,
    section.services-section#servicios .service-card .service-description,
    section.services-section#servicios .service-card .service-link,
    section.services-section#servicios .service-card .service-points {
        grid-column: 1 !important;
        grid-row: auto !important;
    }

    section.services-section#servicios .service-card .card-top {
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 16px !important;
    }

    section.services-section#servicios .service-card .service-title {
        max-width: 11.5ch !important;
        font-size: clamp(2.15rem, 10.4vw, 3.55rem) !important;
        line-height: 0.94 !important;
    }

    section.services-section#servicios .service-card .service-description,
    section.services-section#servicios .service-card .service-points {
        max-width: 100% !important;
        padding-left: 16px !important;
    }

    section.services-section#servicios .service-card .service-link {
        justify-self: start !important;
        margin-top: 0 !important;
    }

    section.services-section#servicios .service-hover-preview {
        display: none !important;
    }
}

/* Services final tuning: keep the offer editorial and aligned with the light system */
section.services-section#servicios .service-card > * {
    position: relative !important;
    z-index: 2 !important;
}

section.services-section#servicios .service-card::after,
section.services-section#servicios .services-reveal-list .service-card::after,
section.services-section#servicios .service-card.card-featured::after,
section.services-section#servicios .service-card.service-card-synergy::after {
    content: "" !important;
    position: absolute !important;
    inset: clamp(18px, 2vw, 28px) 0 clamp(18px, 2vw, 28px) auto !important;
    display: block !important;
    width: clamp(190px, 14vw, 280px) !important;
    height: auto !important;
    border: 1px solid rgba(201, 89, 46, 0.18) !important;
    border-radius: 0 !important;
    background-image:
        linear-gradient(90deg, rgba(255, 250, 243, 0.74), rgba(255, 250, 243, 0.22) 54%, rgba(255, 250, 243, 0.68)),
        var(--service-image) !important;
    background-size: cover !important;
    background-position: center !important;
    box-shadow: 0 28px 76px rgba(45, 38, 31, 0.1) !important;
    filter: saturate(0.86) contrast(0.98) brightness(1.07) !important;
    opacity: 0.46 !important;
    transform: none !important;
    pointer-events: none !important;
    z-index: 1 !important;
}

section.services-section#servicios .service-card:hover::after,
section.services-section#servicios .service-card.is-service-active::after {
    opacity: 0.74 !important;
    transform: translate3d(-10px, 0, 0) !important;
}

section.services-section#servicios .service-card .service-description,
section.services-section#servicios .services-reveal-list .service-card-synergy .service-description,
section.services-section#servicios .services-grid .service-card-synergy .service-description {
    max-width: 40ch !important;
}

section.services-section#servicios .service-card .service-points,
section.services-section#servicios .services-reveal-list .service-card-synergy .service-points,
section.services-section#servicios .services-grid .service-card-synergy .service-points {
    grid-template-columns: 1fr !important;
    width: 100% !important;
}

section.services-section#servicios .service-card .service-link,
section.services-section#servicios .services-reveal-list .service-card-synergy .service-link,
section.services-section#servicios .services-grid .service-card-synergy .service-link {
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 44px !important;
    overflow: visible !important;
}

section.services-section#servicios .service-card .service-link span,
section.services-section#servicios .services-reveal-list .service-card-synergy .service-link span,
section.services-section#servicios .services-grid .service-card-synergy .service-link span {
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    clip: auto !important;
    overflow: visible !important;
    white-space: nowrap !important;
}

@media (max-width: 1180px) {
    section.services-section#servicios .service-card::after,
    section.services-section#servicios .services-reveal-list .service-card::after,
    section.services-section#servicios .service-card.card-featured::after,
    section.services-section#servicios .service-card.service-card-synergy::after {
        width: clamp(160px, 18vw, 230px) !important;
        opacity: 0.28 !important;
    }
}

@media (max-width: 760px) {
    section.services-section#servicios .services-header .section-title {
        font-size: 2.55rem !important;
        max-width: 100% !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
    }

    section.services-section#servicios .service-card::after,
    section.services-section#servicios .services-reveal-list .service-card::after,
    section.services-section#servicios .service-card.card-featured::after,
    section.services-section#servicios .service-card.service-card-synergy::after {
        position: relative !important;
        inset: auto !important;
        order: -1 !important;
        width: 100% !important;
        aspect-ratio: 16 / 10 !important;
        height: auto !important;
        margin: 0 0 2px !important;
        background-image:
            linear-gradient(180deg, rgba(255, 250, 243, 0.12), rgba(255, 250, 243, 0.42)),
            var(--service-image) !important;
        background-position: center !important;
        box-shadow: none !important;
        opacity: 0.86 !important;
        transform: none !important;
    }

    section.services-section#servicios .service-card .service-title,
    section.services-section#servicios .services-reveal-list .service-card-synergy .service-title,
    section.services-section#servicios .services-grid .service-card-synergy .service-title {
        max-width: 100% !important;
        font-size: 2.12rem !important;
        letter-spacing: -0.035em !important;
    }

    section.services-section#servicios .service-card .service-link,
    section.services-section#servicios .services-reveal-list .service-card-synergy .service-link,
    section.services-section#servicios .services-grid .service-card-synergy .service-link {
        padding-inline: 16px !important;
    }
}

@media (max-width: 400px) {
    section.services-section#servicios .services-header .section-title {
        font-size: 2.28rem !important;
    }

    section.services-section#servicios .service-card .service-title,
    section.services-section#servicios .services-reveal-list .service-card-synergy .service-title,
    section.services-section#servicios .services-grid .service-card-synergy .service-title {
        font-size: 1.98rem !important;
    }
}

@media (max-width: 760px) {
    body main section.services-section#servicios .services-grid.services-reveal-list > .service-card.service-card-synergy {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 18px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-height: auto !important;
        padding: 30px 0 !important;
        background: transparent !important;
        color: #17130f !important;
    }

    body main section.services-section#servicios .services-grid.services-reveal-list > .service-card.service-card-synergy > .card-top,
    body main section.services-section#servicios .services-grid.services-reveal-list > .service-card.service-card-synergy > .service-title,
    body main section.services-section#servicios .services-grid.services-reveal-list > .service-card.service-card-synergy > .service-description,
    body main section.services-section#servicios .services-grid.services-reveal-list > .service-card.service-card-synergy > .service-points,
    body main section.services-section#servicios .services-grid.services-reveal-list > .service-card.service-card-synergy > .service-link {
        grid-column: 1 / -1 !important;
        grid-row: auto !important;
        justify-self: stretch !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    body main section.services-section#servicios .services-grid.services-reveal-list > .service-card.service-card-synergy > .card-top {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
    }

    body main section.services-section#servicios .services-grid.services-reveal-list > .service-card.service-card-synergy > .service-title {
        color: #17130f !important;
        font-size: 1.98rem !important;
        line-height: 0.96 !important;
        white-space: normal !important;
        padding-right: 0 !important;
    }

    body main section.services-section#servicios .services-grid.services-reveal-list > .service-card.service-card-synergy > .service-description,
    body main section.services-section#servicios .services-grid.services-reveal-list > .service-card.service-card-synergy > .service-points {
        margin: 0 !important;
        padding-left: 16px !important;
        border-left: 1.5px solid rgba(47, 169, 161, 0.58) !important;
        color: rgba(23, 19, 15, 0.72) !important;
    }

    body main section.services-section#servicios .services-grid.services-reveal-list > .service-card.service-card-synergy > .service-points {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 8px !important;
        list-style: none !important;
    }

    body main section.services-section#servicios .services-grid.services-reveal-list > .service-card.service-card-synergy > .service-points li {
        position: relative !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 14px !important;
        color: rgba(23, 19, 15, 0.64) !important;
        font-size: 0.92rem !important;
        line-height: 1.42 !important;
    }

    body main section.services-section#servicios .services-grid.services-reveal-list > .service-card.service-card-synergy > .service-points li::before {
        content: "" !important;
        position: absolute !important;
        left: 0 !important;
        top: 0.68em !important;
        display: block !important;
        width: 5px !important;
        height: 5px !important;
        border-radius: 999px !important;
        background: #cb5b2e !important;
    }

    body main section.services-section#servicios .services-grid.services-reveal-list > .service-card.service-card-synergy > .service-link {
        justify-self: start !important;
        width: auto !important;
    }
}

/* System of connection: final light editorial alignment */
section.system-route-section#sistema,
main section.system-route-section#sistema {
    position: relative !important;
    padding: clamp(118px, 10vw, 176px) 0 clamp(112px, 9vw, 162px) !important;
    overflow: hidden !important;
    isolation: isolate !important;
    color: #17130f !important;
    background:
        radial-gradient(circle at 82% 18%, rgba(47, 169, 161, 0.12), transparent 31%),
        radial-gradient(circle at 9% 72%, rgba(201, 89, 46, 0.1), transparent 28%),
        linear-gradient(180deg, #f8f3ea 0%, #fffaf3 42%, #f0e7da 100%) !important;
}

section.system-route-section#sistema .container {
    width: min(100% - clamp(44px, 6vw, 128px), 1680px) !important;
    max-width: none !important;
    padding: 0 !important;
}

section.system-route-section#sistema .system-route-header {
    display: grid !important;
    grid-template-columns: minmax(680px, 1fr) minmax(340px, 0.44fr) !important;
    align-items: end !important;
    gap: clamp(34px, 6vw, 112px) !important;
    margin: 0 0 clamp(60px, 7vw, 108px) !important;
    text-align: left !important;
}

section.system-route-section#sistema .system-kicker.section-tag {
    grid-column: 1 / -1 !important;
    display: inline-flex !important;
    width: fit-content !important;
    align-items: center !important;
    gap: 14px !important;
    margin: 0 !important;
    color: #17130f !important;
    font-family: var(--font-mono), 'IBM Plex Mono', monospace !important;
    font-size: clamp(0.68rem, 0.72vw, 0.82rem) !important;
    font-weight: 800 !important;
    letter-spacing: 0.05em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

section.system-route-section#sistema .system-kicker span {
    display: inline-flex !important;
    width: 38px !important;
    height: 38px !important;
    flex: 0 0 38px !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(23, 19, 15, 0.68) !important;
    border-radius: 999px !important;
    background: rgba(255, 250, 243, 0.54) !important;
}

section.system-route-section#sistema .system-route-header .section-title {
    grid-column: 1 / 2 !important;
    max-width: 13ch !important;
    margin: 0 !important;
    color: #17130f !important;
    font-family: 'Sora', 'Arial Black', 'Inter', Arial, sans-serif !important;
    font-size: clamp(3.85rem, 5.7vw, 7.45rem) !important;
    font-weight: 800 !important;
    line-height: 0.9 !important;
    letter-spacing: 0 !important;
}

section.system-route-section#sistema .system-route-header .section-intro {
    grid-column: 2 / 3 !important;
    max-width: 39ch !important;
    margin: 0 !important;
    padding-left: clamp(18px, 2vw, 30px) !important;
    border-left: 1.5px solid rgba(47, 169, 161, 0.76) !important;
    color: rgba(23, 19, 15, 0.72) !important;
    font-family: 'Manrope', var(--font-body), sans-serif !important;
    font-size: clamp(1.02rem, 1.12vw, 1.28rem) !important;
    font-weight: 600 !important;
    line-height: 1.56 !important;
}

section.system-route-section#sistema .system-route-stage {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.02fr) minmax(360px, 0.52fr) !important;
    align-items: center !important;
    gap: clamp(34px, 5vw, 92px) !important;
    min-height: clamp(520px, 42vw, 720px) !important;
    margin: 0 0 clamp(58px, 7vw, 108px) !important;
    padding-top: clamp(18px, 2vw, 34px) !important;
    border-top: 1px solid rgba(23, 19, 15, 0.14) !important;
}

section.system-route-section#sistema .system-route-stage::before {
    content: "Engine" !important;
    left: auto !important;
    right: -0.06em !important;
    bottom: -0.12em !important;
    z-index: 0 !important;
    color: rgba(23, 19, 15, 0.045) !important;
    font-family: 'Sora', 'Arial Black', 'Inter', Arial, sans-serif !important;
    font-size: clamp(8rem, 17vw, 22rem) !important;
    font-weight: 800 !important;
    line-height: 0.72 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
}

section.system-route-section#sistema .system-route-stage::after {
    left: clamp(26%, 32vw, 43%) !important;
    top: 50% !important;
    width: clamp(220px, 23vw, 430px) !important;
    border: 1px solid rgba(201, 89, 46, 0.28) !important;
    background:
        radial-gradient(circle at center, rgba(201, 89, 46, 0.15), rgba(201, 89, 46, 0.04) 46%, transparent 68%) !important;
    opacity: 1 !important;
}

section.system-route-section#sistema .system-route-media {
    z-index: 2 !important;
    min-height: clamp(430px, 39vw, 660px) !important;
}

section.system-route-section#sistema .system-route-media img {
    width: min(100%, 1010px) !important;
    height: clamp(420px, 37vw, 610px) !important;
    object-fit: cover !important;
    object-position: center !important;
    border: 1px solid rgba(23, 19, 15, 0.1) !important;
    border-radius: 0 !important;
    box-shadow: 0 34px 90px rgba(43, 38, 32, 0.13) !important;
    filter: saturate(0.9) contrast(1.02) brightness(1.04) !important;
}

section.system-route-section#sistema .system-route-media::before,
section.system-route-section#sistema .system-route-media::after {
    border-color: rgba(255, 250, 243, 0.92) !important;
}

section.system-route-section#sistema .system-floating-label {
    min-height: 40px !important;
    padding: 10px 14px !important;
    border: 1px solid rgba(23, 19, 15, 0.14) !important;
    background: rgba(255, 250, 243, 0.9) !important;
    box-shadow: 0 18px 44px rgba(43, 38, 32, 0.09) !important;
    color: #17130f !important;
    font-family: 'Sora', var(--font-title), sans-serif !important;
    font-size: clamp(0.66rem, 0.72vw, 0.82rem) !important;
    font-weight: 800 !important;
    letter-spacing: 0.04em !important;
}

section.system-route-section#sistema .system-floating-label::before {
    width: 7px !important;
    height: 7px !important;
    background: #3bb8b0 !important;
}

section.system-route-section#sistema .label-estrategia::before,
section.system-route-section#sistema .label-resultados::before {
    background: #cb5b2e !important;
}

section.system-route-section#sistema .system-route-copy {
    z-index: 3 !important;
    max-width: 500px !important;
    padding-left: clamp(22px, 2.4vw, 38px) !important;
    border-left: 1px solid rgba(23, 19, 15, 0.16) !important;
}

section.system-route-section#sistema .system-route-kicker {
    color: #cb5b2e !important;
    font-family: var(--font-mono), 'IBM Plex Mono', monospace !important;
    font-size: clamp(0.66rem, 0.7vw, 0.82rem) !important;
    font-weight: 800 !important;
    letter-spacing: 0.14em !important;
}

section.system-route-section#sistema .system-route-mark {
    width: clamp(70px, 6.2vw, 104px) !important;
    filter: drop-shadow(0 14px 34px rgba(201, 89, 46, 0.16)) !important;
}

section.system-route-section#sistema .system-route-copy h3 {
    max-width: 100% !important;
    color: #17130f !important;
    font-family: 'Sora', 'Arial Black', 'Inter', Arial, sans-serif !important;
    font-size: clamp(2.65rem, 3.82vw, 5.5rem) !important;
    font-weight: 800 !important;
    line-height: 0.9 !important;
    letter-spacing: 0 !important;
}

section.system-route-section#sistema .system-route-copy p {
    max-width: 38ch !important;
    color: rgba(23, 19, 15, 0.72) !important;
    font-family: 'Manrope', var(--font-body), sans-serif !important;
    font-size: clamp(1rem, 1.02vw, 1.16rem) !important;
    font-weight: 600 !important;
    line-height: 1.58 !important;
}

section.system-route-section#sistema .system-route-mini span {
    border-color: rgba(23, 19, 15, 0.16) !important;
    background: rgba(255, 250, 243, 0.72) !important;
    color: rgba(23, 19, 15, 0.68) !important;
}

section.system-route-section#sistema .system-route-flow {
    border-top: 1px solid rgba(23, 19, 15, 0.16) !important;
    border-bottom: 1px solid rgba(23, 19, 15, 0.16) !important;
}

section.system-route-section#sistema .system-route-step {
    grid-template-columns: clamp(64px, 6.4vw, 108px) minmax(300px, 0.76fr) minmax(390px, 0.94fr) minmax(190px, 0.32fr) !important;
    min-height: clamp(154px, 12vw, 220px) !important;
    padding: clamp(30px, 3.3vw, 52px) 0 !important;
    border-bottom: 1px solid rgba(23, 19, 15, 0.12) !important;
}

section.system-route-section#sistema .system-route-step:hover {
    background:
        linear-gradient(90deg, rgba(255, 250, 243, 0.55), rgba(255, 250, 243, 0.18)) !important;
}

section.system-route-section#sistema .route-step-number {
    color: #cb5b2e !important;
    font-family: 'Sora', 'Arial Black', 'Inter', Arial, sans-serif !important;
    font-size: clamp(1.45rem, 1.9vw, 2.65rem) !important;
    font-weight: 800 !important;
}

section.system-route-section#sistema .route-step-label {
    color: #cb5b2e !important;
    font-family: var(--font-mono), 'IBM Plex Mono', monospace !important;
}

section.system-route-section#sistema .system-route-step h3 {
    max-width: 13ch !important;
    color: #17130f !important;
    font-family: 'Sora', 'Arial Black', 'Inter', Arial, sans-serif !important;
    font-size: clamp(1.95rem, 2.75vw, 3.9rem) !important;
    font-weight: 800 !important;
    line-height: 0.94 !important;
    letter-spacing: 0 !important;
}

section.system-route-section#sistema .system-route-step p {
    max-width: 46ch !important;
    color: rgba(23, 19, 15, 0.72) !important;
    font-family: 'Manrope', var(--font-body), sans-serif !important;
    font-size: clamp(0.98rem, 1vw, 1.14rem) !important;
    font-weight: 600 !important;
}

section.system-route-section#sistema .system-route-step strong {
    color: rgba(23, 19, 15, 0.5) !important;
    font-family: var(--font-mono), 'IBM Plex Mono', monospace !important;
}

@media (max-width: 1180px) {
    section.system-route-section#sistema .system-route-header,
    section.system-route-section#sistema .system-route-stage {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
    }

    section.system-route-section#sistema .system-route-header .section-title,
    section.system-route-section#sistema .system-route-header .section-intro {
        grid-column: 1 !important;
    }

    section.system-route-section#sistema .system-route-header .section-title {
        max-width: 12.5ch !important;
        font-size: clamp(3.35rem, 9.4vw, 6.55rem) !important;
    }

    section.system-route-section#sistema .system-route-header .section-intro {
        max-width: 640px !important;
    }

    section.system-route-section#sistema .system-route-copy {
        max-width: 720px !important;
        margin-left: clamp(18px, 8vw, 92px) !important;
    }

    section.system-route-section#sistema .system-route-step {
        grid-template-columns: clamp(58px, 9vw, 92px) minmax(220px, 0.82fr) minmax(300px, 1fr) !important;
    }
}

@media (max-width: 760px) {
    section.system-route-section#sistema,
    main section.system-route-section#sistema {
        padding-block: 84px 94px !important;
    }

    section.system-route-section#sistema .container {
        width: min(100% - 30px, 520px) !important;
    }

    section.system-route-section#sistema .system-kicker.section-tag {
        gap: 10px !important;
        max-width: 28ch !important;
        font-size: 0.66rem !important;
        line-height: 1.35 !important;
    }

    section.system-route-section#sistema .system-kicker span {
        width: 34px !important;
        height: 34px !important;
        flex-basis: 34px !important;
    }

    section.system-route-section#sistema .system-route-header {
        gap: 22px !important;
        margin-bottom: 46px !important;
    }

    section.system-route-section#sistema .system-route-header .section-title {
        max-width: 100% !important;
        font-size: 2.42rem !important;
        line-height: 0.93 !important;
    }

    section.system-route-section#sistema .system-route-header .section-intro {
        max-width: 100% !important;
        padding-left: 16px !important;
        font-size: 0.98rem !important;
        line-height: 1.52 !important;
    }

    section.system-route-section#sistema .system-route-stage {
        gap: 28px !important;
        margin-bottom: 50px !important;
        padding-top: 24px !important;
    }

    section.system-route-section#sistema .system-route-stage::before {
        right: -0.12em !important;
        bottom: auto !important;
        top: 38% !important;
        font-size: clamp(4.6rem, 24vw, 7.6rem) !important;
    }

    section.system-route-section#sistema .system-route-stage::after {
        width: min(58vw, 250px) !important;
        left: 48% !important;
        top: 29% !important;
    }

    section.system-route-section#sistema .system-route-media {
        min-height: auto !important;
    }

    section.system-route-section#sistema .system-route-media img {
        height: clamp(320px, 88vw, 430px) !important;
        object-position: 52% 50% !important;
    }

    section.system-route-section#sistema .system-floating-label {
        min-height: 34px !important;
        padding: 8px 10px !important;
        font-size: 0.62rem !important;
        letter-spacing: 0.03em !important;
    }

    section.system-route-section#sistema .label-diagnostico {
        left: 10px !important;
        top: 10px !important;
    }

    section.system-route-section#sistema .label-estrategia {
        right: 10px !important;
        top: 64px !important;
    }

    section.system-route-section#sistema .label-capacidades {
        left: 10px !important;
        bottom: 54px !important;
    }

    section.system-route-section#sistema .label-resultados {
        right: 10px !important;
        bottom: 10px !important;
    }

    section.system-route-section#sistema .system-route-copy {
        max-width: 100% !important;
        margin-left: 0 !important;
        padding-left: 16px !important;
    }

    section.system-route-section#sistema .system-route-copy h3 {
        max-width: 100% !important;
        font-size: 2.18rem !important;
        line-height: 0.96 !important;
    }

    section.system-route-section#sistema .system-route-mini {
        gap: 8px !important;
    }

    section.system-route-section#sistema .system-route-mini span {
        min-height: 32px !important;
        padding: 7px 11px !important;
        font-size: 0.62rem !important;
    }

    section.system-route-section#sistema .system-route-step {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 15px !important;
        min-height: 0 !important;
        padding: 30px 0 !important;
    }

    section.system-route-section#sistema .system-route-step::before,
    section.system-route-section#sistema .system-route-step::after {
        display: none !important;
    }

    section.system-route-section#sistema .route-step-number,
    section.system-route-section#sistema .system-route-step > div,
    section.system-route-section#sistema .system-route-step p,
    section.system-route-section#sistema .system-route-step strong {
        grid-column: 1 !important;
        grid-row: auto !important;
        justify-self: start !important;
        text-align: left !important;
    }

    section.system-route-section#sistema .route-step-number {
        font-size: 1.14rem !important;
    }

    section.system-route-section#sistema .system-route-step h3 {
        max-width: 100% !important;
        font-size: 2.02rem !important;
        line-height: 0.96 !important;
    }

    section.system-route-section#sistema .system-route-step strong {
        margin-top: 2px !important;
    }
}

/* =============================================================
   ESTILO GLOBAL DE KICKER / SUBTÍTULO TAG CON CÍRCULO (01, 02, 03...)
   ============================================================= */
.section-tag,
.hero-editorial-kicker,
.manifesto-kicker,
.services-kicker,
.system-kicker {
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    font-family: var(--font-mono) !important;
    font-size: clamp(0.74rem, 0.8vw, 0.88rem) !important;
    font-weight: 600 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    color: #17130f !important;
    margin-bottom: 20px !important;
}

.section-tag span,
.hero-editorial-kicker span,
.manifesto-kicker span,
.services-kicker span,
.system-kicker span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    border: 1px solid rgba(43, 38, 32, 0.45) !important;
    color: #17130f !important;
    font-family: var(--font-mono) !important;
    font-size: 0.74rem !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    line-height: 1 !important;
    flex-shrink: 0 !important;
    background: rgba(255, 250, 243, 0.7) !important;
}

/* =============================================================
   SISTEMA DE CONEXIÓN [ CONNECTION_ENGINE ] — ALINEACIÓN VISUAL
   ============================================================= */
section.system-section.system-route-section,
main section.system-route-section#sistema {
    background-image: 
        radial-gradient(circle at 82% 16%, rgba(47, 169, 161, 0.11), transparent 32%),
        radial-gradient(circle at 10% 84%, rgba(201, 89, 46, 0.1), transparent 30%),
        linear-gradient(180deg, #f8f3ea 0%, #fffaf3 52%, #f3ece1 100%) !important;
    color: #17130f !important;
}

section.system-route-section#sistema .section-tag {
    font-family: var(--font-mono) !important;
    font-size: clamp(0.74rem, 0.8vw, 0.92rem) !important;
    letter-spacing: 0.18em !important;
    color: #17130f !important;
    text-transform: uppercase !important;
    margin-bottom: clamp(14px, 1.6vw, 24px) !important;
}

section.system-route-section#sistema .section-title {
    font-family: var(--font-title) !important;
    font-size: clamp(3.2rem, 5.2vw, 6.8rem) !important;
    font-weight: 850 !important;
    line-height: 0.9 !important;
    color: #17130f !important;
    letter-spacing: -0.025em !important;
}

section.system-route-section#sistema .section-intro {
    font-family: var(--font-body) !important;
    font-size: clamp(1.03rem, 1.2vw, 1.34rem) !important;
    line-height: 1.5 !important;
    font-weight: 620 !important;
    color: rgba(43, 38, 32, 0.72) !important;
    border-left: 2px solid rgba(47, 169, 161, 0.58) !important;
    padding-left: clamp(18px, 2vw, 28px) !important;
}

/* Tarjetas de Pilares Grid */
.system-pillars-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 16px !important;
    margin: 28px 0 !important;
}

.pillar-card {
    background: rgba(255, 250, 243, 0.82) !important;
    border: 1px solid rgba(43, 38, 32, 0.12) !important;
    border-radius: 12px !important;
    padding: 20px 18px !important;
    box-shadow: 0 10px 30px rgba(43, 38, 32, 0.04) !important;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
}

.pillar-card:hover {
    border-color: rgba(47, 169, 161, 0.5) !important;
    transform: translateY(-4px) !important;
    box-shadow: 0 16px 36px rgba(47, 169, 161, 0.12) !important;
}

.pillar-card.pillar-featured {
    background: linear-gradient(145deg, rgba(255, 250, 243, 0.95), rgba(201, 89, 46, 0.08)) !important;
    border-color: rgba(201, 89, 46, 0.35) !important;
}

.pillar-card.pillar-featured:hover {
    border-color: var(--r01-terracotta) !important;
    box-shadow: 0 16px 36px rgba(201, 89, 46, 0.14) !important;
}

.pillar-mono {
    font-family: var(--font-mono) !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    color: var(--r01-teal) !important;
    display: block !important;
    margin-bottom: 6px !important;
    letter-spacing: 0.08em !important;
}

.pillar-card.pillar-featured .pillar-mono {
    color: var(--r01-terracotta) !important;
}

.pillar-card h4 {
    font-family: var(--font-title) !important;
    font-size: 1.05rem !important;
    font-weight: 750 !important;
    color: #17130f !important;
    margin-bottom: 6px !important;
}

.pillar-card p {
    font-family: var(--font-body) !important;
    font-size: 0.88rem !important;
    color: rgba(43, 38, 32, 0.72) !important;
    line-height: 1.45 !important;
}

/* Floating labels en la imagen del motor */
.system-floating-label {
    background: rgba(255, 250, 243, 0.92) !important;
    border: 1px solid rgba(43, 38, 32, 0.14) !important;
    color: #17130f !important;
    font-family: var(--font-mono) !important;
    font-weight: 700 !important;
    font-size: 0.78rem !important;
    box-shadow: 0 12px 36px rgba(43, 38, 32, 0.09) !important;
    border-radius: 8px !important;
    backdrop-filter: blur(8px) !important;
}

.system-floating-label::before {
    background: var(--r01-teal) !important;
}

/* Tarjetas del Flujo (Steps 01 - 04) */
/* Flujo Horizontal Editorial Completo (Steps 01 - 04 como en Imagen 1, 2 y 3) */
section.system-route-section#sistema .system-route-flow {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    gap: 0 !important;
    border-top: 1px solid rgba(43, 38, 32, 0.16) !important;
    border-bottom: 1px solid rgba(43, 38, 32, 0.16) !important;
    margin-top: clamp(40px, 5vw, 80px) !important;
}

section.system-route-section#sistema .system-route-step {
    display: grid !important;
    grid-template-columns: clamp(70px, 7vw, 110px) minmax(280px, 0.76fr) minmax(360px, 1fr) minmax(200px, 0.32fr) !important;
    align-items: center !important;
    min-height: clamp(140px, 11vw, 200px) !important;
    padding: clamp(28px, 3vw, 48px) 0 !important;
    border-bottom: 1px solid rgba(43, 38, 32, 0.12) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transition: background 0.3s ease !important;
}

section.system-route-section#sistema .system-route-step:last-child {
    border-bottom: 0 !important;
}

section.system-route-section#sistema .system-route-step:hover {
    background: linear-gradient(90deg, rgba(255, 250, 243, 0.6), rgba(255, 250, 243, 0.15)) !important;
    transform: none !important;
    box-shadow: none !important;
}

section.system-route-section#sistema .route-step-number {
    font-family: 'Sora', 'Inter', sans-serif !important;
    font-size: clamp(1.4rem, 1.8vw, 2.5rem) !important;
    font-weight: 800 !important;
    color: var(--r01-terracotta) !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}

section.system-route-section#sistema .route-step-label {
    font-family: var(--font-mono) !important;
    font-size: clamp(0.72rem, 0.78vw, 0.86rem) !important;
    color: var(--r01-terracotta) !important;
    letter-spacing: 0.14em !important;
    display: block !important;
    margin-bottom: 6px !important;
    text-transform: uppercase !important;
}

section.system-route-section#sistema .system-route-step h3 {
    font-family: 'Sora', 'Inter', sans-serif !important;
    font-size: clamp(1.8rem, 2.4vw, 3.4rem) !important;
    font-weight: 800 !important;
    line-height: 0.96 !important;
    color: var(--r01-charcoal) !important;
    letter-spacing: -0.02em !important;
    margin: 0 !important;
    max-width: 14ch !important;
}

section.system-route-section#sistema .system-route-step p {
    font-family: var(--font-body) !important;
    font-size: clamp(0.96rem, 1vw, 1.12rem) !important;
    color: rgba(43, 38, 32, 0.72) !important;
    line-height: 1.55 !important;
    margin: 0 !important;
    max-width: 48ch !important;
}

section.system-route-section#sistema .system-route-step strong {
    font-family: var(--font-mono) !important;
    font-size: clamp(0.72rem, 0.78vw, 0.84rem) !important;
    color: rgba(43, 38, 32, 0.48) !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    justify-self: end !important;
    text-align: right !important;
}

section.system-route-section#sistema .system-route-step strong::before {
    content: "— " !important;
    opacity: 0.6 !important;
}

/* =============================================================
   SECCIÓN 7: PORTAFOLIO Y SECTORES — CLEAN EDITORIAL PHOTO CARDS
   ============================================================= */
section.experience-section,
main section.experience-section#experiencia {
    background-image: 
        radial-gradient(circle at 82% 16%, rgba(47, 169, 161, 0.11), transparent 32%),
        radial-gradient(circle at 10% 84%, rgba(201, 89, 46, 0.1), transparent 30%),
        linear-gradient(180deg, #f8f3ea 0%, #fffaf3 52%, #f3ece1 100%) !important;
    color: #17130f !important;
    padding-top: clamp(120px, 9vw, 160px) !important;
    padding-bottom: clamp(140px, 12vw, 190px) !important;
}

.experience-header {
    display: grid !important;
    grid-template-columns: minmax(0, 0.86fr) minmax(340px, 0.48fr) !important;
    align-items: end !important;
    gap: clamp(36px, 6vw, 120px) !important;
    margin-bottom: clamp(56px, 7vw, 96px) !important;
}

.experience-header .section-title {
    font-family: var(--font-title) !important;
    font-size: clamp(3.2rem, 5.2vw, 6.8rem) !important;
    font-weight: 850 !important;
    line-height: 0.9 !important;
    color: #17130f !important;
    letter-spacing: -0.025em !important;
}

.experience-header .section-intro {
    font-family: var(--font-body) !important;
    font-size: clamp(1.03rem, 1.2vw, 1.34rem) !important;
    line-height: 1.5 !important;
    font-weight: 620 !important;
    color: rgba(43, 38, 32, 0.72) !important;
    border-left: 2px solid rgba(47, 169, 161, 0.58) !important;
    padding-left: clamp(18px, 2vw, 28px) !important;
    margin-bottom: 14px !important;
}

.experience-subtext {
    font-family: var(--font-body) !important;
    font-size: 0.96rem !important;
    color: rgba(43, 38, 32, 0.65) !important;
    line-height: 1.55 !important;
    padding-left: clamp(18px, 2vw, 28px) !important;
}

/* Retícula de Sectores Clean Studio (3 columnas iguales en escritorio, sin solapamientos) */
section.experience-section .sectors-grid,
main section.experience-section#experiencia .sectors-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    grid-auto-rows: auto !important;
    gap: clamp(32px, 3.2vw, 48px) !important;
    row-gap: clamp(36px, 3.8vw, 54px) !important;
    column-gap: clamp(24px, 2.5vw, 36px) !important;
    border: none !important;
    background: transparent !important;
    margin-top: 10px !important;
    margin-bottom: 20px !important;
}

section.experience-section .sector-card,
main section.experience-section#experiencia .sector-card,
section.experience-section .sector-card:nth-child(1),
section.experience-section .sector-card:nth-child(2),
section.experience-section .sector-card:nth-child(3),
section.experience-section .sector-card:nth-child(4),
section.experience-section .sector-card:nth-child(5),
section.experience-section .sector-card:nth-child(6),
main section.experience-section#experiencia .sector-card:nth-child(n) {
    grid-column: auto / span 1 !important;
    grid-row: auto / span 1 !important;
    position: relative !important;
    width: 100% !important;
    height: clamp(380px, 30vw, 460px) !important;
    min-height: 380px !important;
    border-radius: 22px !important;
    overflow: hidden !important;
    background: #0f0d0b !important;
    border: 1px solid rgba(43, 38, 32, 0.16) !important;
    box-shadow: 0 18px 48px rgba(43, 38, 32, 0.08) !important;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.4s ease, box-shadow 0.4s ease !important;
    margin: 0 !important;
}

/* Remover cualquier capa de degradado blanco previa */
.sector-card::before,
.sector-card::after,
.sector-card-inner::before,
.sector-card-inner::after {
    content: none !important;
    display: none !important;
    background: none !important;
}

.sector-card:hover {
    transform: translateY(-10px) !important;
    border-color: rgba(201, 89, 46, 0.55) !important;
    box-shadow: 0 28px 64px rgba(201, 89, 46, 0.18) !important;
}

.sector-bg {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    background-size: cover !important;
    background-position: center !important;
    transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.sector-card:hover .sector-bg {
    transform: scale(1.07) !important;
}

.sector-card-inner {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    padding: clamp(28px, 2.8vw, 40px) !important;
    background: linear-gradient(180deg, rgba(15, 13, 11, 0.1) 0%, rgba(15, 13, 11, 0.72) 60%, rgba(15, 13, 11, 0.94) 100%) !important;
}

.sector-num {
    font-family: var(--font-mono), 'IBM Plex Mono', monospace !important;
    font-size: 0.74rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.14em !important;
    color: #2fa9a1 !important;
    margin-bottom: 8px !important;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.9) !important;
}

.sector-title-name {
    font-family: var(--font-title), 'Fraunces', Georgia, serif !important;
    font-size: clamp(1.6rem, 2.1vw, 2.4rem) !important;
    font-weight: 850 !important;
    line-height: 1.05 !important;
    color: #ffffff !important;
    margin-bottom: 10px !important;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.9) !important;
}

.sector-card-desc {
    font-family: var(--font-body), 'Manrope', sans-serif !important;
    font-size: 0.93rem !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
    color: rgba(255, 250, 243, 0.92) !important;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.9) !important;
    margin-bottom: 16px !important;
}

.sector-tags-row {
    display: flex !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
}

.sector-pill {
    font-family: var(--font-mono) !important;
    font-size: 0.68rem !important;
    font-weight: 750 !important;
    letter-spacing: 0.08em !important;
    color: rgba(255, 250, 243, 0.9) !important;
    background: rgba(255, 255, 255, 0.12) !important;
    border: 1px solid rgba(255, 255, 255, 0.22) !important;
    border-radius: 99px !important;
    padding: 4px 12px !important;
    backdrop-filter: blur(8px) !important;
    transition: all 0.3s ease !important;
}

.sector-card:hover .sector-pill {
    background: rgba(201, 89, 46, 0.25) !important;
    border-color: rgba(201, 89, 46, 0.5) !important;
}

.sector-arrow {
    position: absolute !important;
    top: 24px !important;
    right: 24px !important;
    z-index: 3 !important;
    width: 42px !important;
    height: 42px !important;
    border-radius: 50% !important;
    background: rgba(255, 250, 243, 0.15) !important;
    border: 1px solid rgba(255, 250, 243, 0.3) !important;
    backdrop-filter: blur(10px) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #ffffff !important;
    font-size: 1.15rem !important;
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.sector-card:hover .sector-arrow {
    background: #c9592e !important;
    border-color: #c9592e !important;
    box-shadow: 0 0 20px rgba(201, 89, 46, 0.5) !important;
    transform: translate(3px, -3px) rotate(8deg) !important;
}

@media (max-width: 992px) {
    .experience-header {
        grid-template-columns: 1fr !important;
    }
    section.experience-section .sectors-grid,
    main section.experience-section#experiencia .sectors-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        row-gap: 32px !important;
    }
}

@media (max-width: 576px) {
    section.experience-section .sectors-grid,
    main section.experience-section#experiencia .sectors-grid {
        grid-template-columns: 1fr !important;
        row-gap: 24px !important;
    }
}

/* =============================================================
   SECCIÓN 8: PROPUESTA DE VALOR / DIFERENCIALES [ METODO_VALOR ]
   ============================================================= */
section.differentials-section,
main section.differentials-section#diferenciales {
    background-image: 
        radial-gradient(circle at 82% 18%, rgba(47, 169, 161, 0.12), transparent 36%),
        radial-gradient(circle at 14% 84%, rgba(201, 89, 46, 0.11), transparent 34%),
        linear-gradient(180deg, #fffaf3 0%, #f8f3ea 52%, #f1e8dc 100%) !important;
    color: #17130f !important;
    padding-block: clamp(100px, 9vw, 150px) !important;
}

.differentials-header {
    display: grid !important;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.75fr) !important;
    align-items: end !important;
    gap: clamp(36px, 5vw, 96px) !important;
    margin-bottom: clamp(48px, 6vw, 76px) !important;
    text-align: left !important;
}

.differentials-header .section-title {
    font-family: var(--font-title) !important;
    font-size: clamp(2.8rem, 4.6vw, 5.6rem) !important;
    font-weight: 850 !important;
    line-height: 0.95 !important;
    color: #17130f !important;
    letter-spacing: -0.025em !important;
    margin-top: 14px !important;
}

.differentials-header .section-intro {
    font-family: var(--font-body) !important;
    font-size: clamp(1.05rem, 1.25vw, 1.35rem) !important;
    line-height: 1.55 !important;
    font-weight: 550 !important;
    color: rgba(43, 38, 32, 0.76) !important;
    border-left: 3px solid rgba(47, 169, 161, 0.7) !important;
    padding-left: clamp(20px, 2.2vw, 30px) !important;
    margin: 0 !important;
}

.differentials-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr) !important;
    gap: clamp(28px, 3vw, 44px) !important;
    align-items: stretch !important;
}

.diff-showcase-card {
    position: relative !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    background: #17130f !important;
    border: 1px solid rgba(43, 38, 32, 0.16) !important;
    box-shadow: 0 20px 50px rgba(43, 38, 32, 0.09) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    min-height: 480px !important;
}

.diff-showcase-image {
    position: absolute !important;
    inset: 0 !important;
    background-size: cover !important;
    background-position: center top !important;
    transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.diff-showcase-card:hover .diff-showcase-image {
    transform: scale(1.05) !important;
}

.diff-showcase-overlay {
    position: relative !important;
    z-index: 2 !important;
    padding: clamp(32px, 3.5vw, 48px) !important;
    background: linear-gradient(180deg, rgba(23, 19, 15, 0.15) 0%, rgba(23, 19, 15, 0.78) 45%, rgba(23, 19, 15, 0.96) 100%) !important;
    color: #fffaf3 !important;
}

.diff-showcase-tag {
    font-family: var(--font-mono) !important;
    font-size: 0.72rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.14em !important;
    color: #2fa9a1 !important;
    display: block !important;
    margin-bottom: 14px !important;
}

.diff-showcase-quote {
    font-family: var(--font-title) !important;
    font-size: clamp(1.35rem, 1.6vw, 1.95rem) !important;
    font-weight: 750 !important;
    line-height: 1.3 !important;
    color: #ffffff !important;
    margin: 0 0 24px 0 !important;
    font-style: italic !important;
}

.diff-showcase-metrics {
    display: flex !important;
    gap: 16px !important;
}

.metric-pill {
    background: rgba(255, 255, 255, 0.12) !important;
    border: 1px solid rgba(255, 255, 255, 0.25) !important;
    border-radius: 14px !important;
    padding: 10px 18px !important;
    backdrop-filter: blur(10px) !important;
    display: flex !important;
    flex-direction: column !important;
}

.metric-num {
    font-family: var(--font-title) !important;
    font-size: 1.3rem !important;
    font-weight: 850 !important;
    color: #fffaf3 !important;
    line-height: 1 !important;
}

.metric-label {
    font-family: var(--font-mono) !important;
    font-size: 0.68rem !important;
    color: rgba(255, 255, 255, 0.75) !important;
    letter-spacing: 0.08em !important;
}

.differentials-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: clamp(20px, 2.2vw, 28px) !important;
}

.diff-card {
    position: relative !important;
    background: rgba(255, 252, 247, 0.92) !important;
    border: 1px solid rgba(43, 38, 32, 0.12) !important;
    border-radius: 20px !important;
    padding: clamp(32px, 3.2vw, 48px) !important;
    box-shadow: 0 16px 40px rgba(43, 38, 32, 0.04) !important;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
    display: flex !important;
    flex-direction: column !important;
}

.diff-card::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 0% !important;
    height: 3px !important;
    background: linear-gradient(90deg, #c9592e, #2fa9a1) !important;
    transition: width 0.4s ease !important;
    border-radius: 20px 20px 0 0 !important;
}

.diff-card:hover::before {
    width: 100% !important;
}

.diff-card:hover {
    background: #ffffff !important;
    border-color: rgba(201, 89, 46, 0.35) !important;
    transform: translateY(-8px) !important;
    box-shadow: 0 24px 54px rgba(43, 38, 32, 0.08), 0 6px 20px rgba(201, 89, 46, 0.08) !important;
}

.diff-card-top {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 18px !important;
}

.diff-num-display {
    font-family: var(--font-title) !important;
    font-size: clamp(2.4rem, 3.2vw, 3.8rem) !important;
    font-weight: 850 !important;
    color: var(--r01-terracotta) !important;
    line-height: 1 !important;
    letter-spacing: -0.04em !important;
    opacity: 0.88 !important;
}

.diff-icon-badge {
    width: 50px !important;
    height: 50px !important;
    border-radius: 50% !important;
    background: rgba(47, 169, 161, 0.1) !important;
    color: #2fa9a1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(47, 169, 161, 0.25) !important;
    transition: all 0.35s ease !important;
}

.diff-card:hover .diff-icon-badge {
    background: #2fa9a1 !important;
    color: #ffffff !important;
    transform: scale(1.08) rotate(4deg) !important;
    border-color: #2fa9a1 !important;
}

.diff-tag-pill {
    font-family: var(--font-mono) !important;
    font-size: 0.72rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.14em !important;
    color: rgba(43, 38, 32, 0.52) !important;
    text-transform: uppercase !important;
    margin-bottom: 10px !important;
    display: inline-block !important;
}

.diff-title {
    font-family: var(--font-title) !important;
    font-size: clamp(1.45rem, 1.8vw, 2.1rem) !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    color: #17130f !important;
    margin-bottom: 12px !important;
}

.diff-text {
    font-family: var(--font-body) !important;
    font-size: clamp(0.96rem, 1.05vw, 1.1rem) !important;
    font-weight: 500 !important;
    line-height: 1.6 !important;
    color: rgba(43, 38, 32, 0.76) !important;
    margin: 0 !important;
}

@media (max-width: 992px) {
    .differentials-header {
        grid-template-columns: 1fr !important;
    }
    .differentials-layout {
        grid-template-columns: 1fr !important;
    }
    .diff-showcase-card {
        min-height: 380px !important;
    }
}

@media (max-width: 768px) {
    .differentials-grid {
        grid-template-columns: 1fr !important;
    }
}

/* =============================================================
   SECCIÓN 8: CTA FINAL (ACTIVE_JOURNEY) [ TERRACOTA & FOTOGRAFÍA ]
   ============================================================= */
section.final-cta-section,
main section.final-cta-section#cta {
    background: linear-gradient(180deg, #f1e8dc 0%, #fffaf3 100%) !important;
    padding-block: clamp(70px, 7vw, 110px) !important;
}

.cta-inner-card {
    position: relative !important;
    border-radius: 32px !important;
    box-shadow: 0 28px 70px rgba(201, 89, 46, 0.28), 0 8px 24px rgba(43, 38, 32, 0.1) !important;
    overflow: hidden !important;
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    background: #17130f !important;
}

.cta-bg-photo {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background-size: cover !important;
    background-position: center !important;
    transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.cta-inner-card:hover .cta-bg-photo {
    transform: scale(1.04) !important;
}

.cta-content-wrap {
    position: relative !important;
    z-index: 2 !important;
    padding: clamp(52px, 6.5vw, 92px) clamp(32px, 5.5vw, 80px) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
}

.cta-inner-card .cta-kicker {
    font-family: var(--font-mono) !important;
    font-size: 0.78rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.16em !important;
    color: rgba(255, 250, 243, 0.95) !important;
    background: rgba(255, 255, 255, 0.14) !important;
    border: 1px solid rgba(255, 255, 255, 0.32) !important;
    border-radius: 99px !important;
    padding: 6px 20px 6px 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-bottom: 26px !important;
    backdrop-filter: blur(12px) !important;
}

.cta-inner-card .cta-kicker span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    border: 1px solid rgba(255, 255, 255, 0.5) !important;
    color: #fffaf3 !important;
    font-size: 0.72rem !important;
}

.cta-card-title {
    font-family: var(--font-title) !important;
    font-size: clamp(2.5rem, 4.4vw, 5rem) !important;
    font-weight: 850 !important;
    line-height: 1.02 !important;
    color: #ffffff !important;
    letter-spacing: -0.025em !important;
    max-width: 920px !important;
    margin-bottom: 22px !important;
    text-shadow: 0 2px 14px rgba(0, 0, 0, 0.4) !important;
}

.cta-card-text {
    font-family: var(--font-body) !important;
    font-size: clamp(1.08rem, 1.35vw, 1.38rem) !important;
    line-height: 1.55 !important;
    font-weight: 500 !important;
    color: rgba(255, 250, 243, 0.94) !important;
    max-width: 700px !important;
    margin-bottom: 40px !important;
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.4) !important;
}

.cta-action-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 16px !important;
    flex-wrap: wrap !important;
    margin-bottom: 36px !important;
}

.btn-cta-light {
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    background: #fffaf3 !important;
    color: #17130f !important;
    font-family: var(--font-body) !important;
    font-size: clamp(1.02rem, 1.15vw, 1.18rem) !important;
    font-weight: 750 !important;
    padding: 18px 36px !important;
    border-radius: 99px !important;
    text-decoration: none !important;
    box-shadow: 0 12px 32px rgba(23, 19, 15, 0.25) !important;
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
    border: 1px solid rgba(255, 255, 255, 0.6) !important;
}

.btn-cta-light:hover {
    background: #ffffff !important;
    color: #c9592e !important;
    transform: translateY(-4px) scale(1.02) !important;
    box-shadow: 0 20px 45px rgba(23, 19, 15, 0.35) !important;
}

.btn-cta-glass {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    background: rgba(255, 255, 255, 0.12) !important;
    color: #ffffff !important;
    font-family: var(--font-body) !important;
    font-size: clamp(0.98rem, 1.1vw, 1.1rem) !important;
    font-weight: 650 !important;
    padding: 18px 32px !important;
    border-radius: 99px !important;
    text-decoration: none !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    backdrop-filter: blur(12px) !important;
    transition: all 0.35s ease !important;
}

.btn-cta-glass:hover {
    background: rgba(255, 255, 255, 0.22) !important;
    border-color: rgba(255, 255, 255, 0.5) !important;
    color: #ffffff !important;
    transform: translateY(-4px) !important;
}

.cta-trust-features {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: clamp(20px, 3vw, 36px) !important;
    flex-wrap: wrap !important;
    padding-top: 24px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.2) !important;
    width: 100% !important;
    max-width: 860px !important;
}

.trust-item {
    font-family: var(--font-mono) !important;
    font-size: 0.76rem !important;
    font-weight: 650 !important;
    letter-spacing: 0.08em !important;
    color: rgba(255, 250, 243, 0.9) !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.btn-cta-light:hover {
    background: #ffffff !important;
    color: #c9592e !important;
    transform: translateY(-4px) scale(1.02) !important;
    box-shadow: 0 20px 45px rgba(23, 19, 15, 0.3) !important;
}

.btn-cta-light svg {
    transition: transform 0.3s ease !important;
}

.btn-cta-light:hover svg {
    transform: translateX(5px) !important;
}

/* =============================================================
   SECCIÓN 10: CONTACTO DIRECTO [ DIRECT_LINE ] (LIGHT EDITORIAL)
   ============================================================= */
section.contact-section,
main section.contact-section#contacto {
    background: linear-gradient(180deg, #fffaf3 0%, #f8f3ea 50%, #f3ece1 100%) !important;
    color: #17130f !important;
    padding-block: clamp(100px, 9vw, 155px) !important;
    position: relative !important;
}

.contact-container {
    display: grid !important;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr) !important;
    gap: clamp(48px, 6vw, 96px) !important;
    align-items: start !important;
}

.contact-info-area .section-title {
    font-family: var(--font-title) !important;
    font-size: clamp(2.6rem, 4.2vw, 5.2rem) !important;
    font-weight: 850 !important;
    line-height: 0.98 !important;
    color: #17130f !important;
    letter-spacing: -0.02em !important;
    margin-bottom: 20px !important;
    margin-top: 14px !important;
}

.contact-intro-text {
    font-family: var(--font-body) !important;
    font-size: clamp(1.05rem, 1.25vw, 1.3rem) !important;
    line-height: 1.6 !important;
    font-weight: 550 !important;
    color: rgba(43, 38, 32, 0.78) !important;
    margin-bottom: 36px !important;
}

.direct-channels {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    margin-bottom: 36px !important;
}

.channel-item {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    background: rgba(255, 252, 247, 0.92) !important;
    border: 1px solid rgba(43, 38, 32, 0.12) !important;
    border-radius: 16px !important;
    padding: 18px 24px !important;
    transition: all 0.35s ease !important;
    box-shadow: 0 8px 24px rgba(43, 38, 32, 0.03) !important;
}

.channel-item:hover {
    background: #ffffff !important;
    border-color: rgba(201, 89, 46, 0.4) !important;
    transform: translateX(6px) !important;
    box-shadow: 0 14px 32px rgba(201, 89, 46, 0.1) !important;
}

.channel-icon {
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    background: rgba(47, 169, 161, 0.12) !important;
    color: #2fa9a1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    border: 1px solid rgba(47, 169, 161, 0.25) !important;
}

.channel-details {
    display: flex !important;
    flex-direction: column !important;
}

.channel-label {
    font-family: var(--font-mono) !important;
    font-size: 0.72rem !important;
    letter-spacing: 0.12em !important;
    color: rgba(43, 38, 32, 0.55) !important;
    text-transform: uppercase !important;
}

.channel-link {
    font-family: var(--font-body) !important;
    font-size: 1.12rem !important;
    font-weight: 750 !important;
    color: #17130f !important;
    text-decoration: none !important;
    transition: color 0.25s ease !important;
}

.channel-link:hover {
    color: #c9592e !important;
}

.social-networks-vertical .social-label-heading {
    font-family: var(--font-mono) !important;
    font-size: 0.74rem !important;
    letter-spacing: 0.14em !important;
    color: rgba(43, 38, 32, 0.55) !important;
    text-transform: uppercase !important;
    margin-bottom: 14px !important;
    display: block !important;
}

.social-icons-wrapper {
    display: flex !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
}

.social-icon-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    background: #ffffff !important;
    border: 1px solid rgba(43, 38, 32, 0.14) !important;
    color: #17130f !important;
    padding: 12px 22px !important;
    border-radius: 99px !important;
    font-size: 0.94rem !important;
    font-weight: 650 !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 14px rgba(43, 38, 32, 0.04) !important;
}

.social-icon-btn:hover {
    background: #c9592e !important;
    border-color: #c9592e !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 10px 24px rgba(201, 89, 46, 0.25) !important;
}

/* Formulario Warm Light Studio Card */
.contact-form-area {
    background: #ffffff !important;
    border: 1px solid rgba(43, 38, 32, 0.13) !important;
    border-radius: 24px !important;
    padding: clamp(32px, 4vw, 54px) !important;
    box-shadow: 0 24px 60px rgba(43, 38, 32, 0.07) !important;
}

.contact-form .form-group {
    margin-bottom: 22px !important;
}

.contact-form label {
    font-family: var(--font-body) !important;
    font-size: 0.92rem !important;
    font-weight: 700 !important;
    color: #17130f !important;
    margin-bottom: 8px !important;
    display: block !important;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
    width: 100% !important;
    background: #fffaf3 !important;
    border: 1px solid rgba(43, 38, 32, 0.16) !important;
    border-radius: 12px !important;
    color: #17130f !important;
    padding: 16px 20px !important;
    font-family: var(--font-body) !important;
    font-size: 1rem !important;
    transition: all 0.3s ease !important;
    box-sizing: border-box !important;
}

.contact-form select option {
    background: #ffffff !important;
    color: #17130f !important;
}

.contact-form input::placeholder,
.contact-form textarea::placeholder {
    color: rgba(43, 38, 32, 0.45) !important;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
    border-color: #2fa9a1 !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 4px rgba(47, 169, 161, 0.18) !important;
    outline: none !important;
}

.btn-submit-primary {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    width: 100% !important;
    background: linear-gradient(135deg, #c9592e 0%, #b34a22 100%) !important;
    color: #ffffff !important;
    font-family: var(--font-body) !important;
    font-weight: 750 !important;
    font-size: 1.08rem !important;
    padding: 20px 36px !important;
    border-radius: 99px !important;
    border: none !important;
    cursor: pointer !important;
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
    box-shadow: 0 14px 36px rgba(201, 89, 46, 0.35) !important;
    margin-top: 10px !important;
}

.btn-submit-primary:hover {
    background: linear-gradient(135deg, #d86438 0%, #c9592e 100%) !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 20px 45px rgba(201, 89, 46, 0.45) !important;
}

.security-protocol-badge {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    margin-top: 18px !important;
    font-family: var(--font-mono) !important;
    font-size: 0.72rem !important;
    color: rgba(43, 38, 32, 0.55) !important;
    text-align: center !important;
}

@media (max-width: 992px) {
    .contact-container {
        grid-template-columns: 1fr !important;
    }
}

/* =============================================================
   SECCIÓN 5: MÉTODO DE TRABAJO [ METODOLOGIA_STUDIO ]
   ============================================================= */
section.process-section,
main section.process-section#metodo {
    background-image: 
        radial-gradient(circle at 50% 0%, rgba(201, 89, 46, 0.08), transparent 42%),
        radial-gradient(circle at 85% 85%, rgba(47, 169, 161, 0.09), transparent 38%),
        linear-gradient(180deg, #f8f3ea 0%, #fffaf3 50%, #f1e8dc 100%) !important;
    color: #17130f !important;
    padding-block: clamp(100px, 9vw, 150px) !important;
    position: relative !important;
}

.process-header {
    display: grid !important;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.75fr) !important;
    align-items: end !important;
    gap: clamp(36px, 5vw, 96px) !important;
    margin-bottom: clamp(48px, 6vw, 76px) !important;
    text-align: left !important;
}

.process-header .section-title {
    font-family: var(--font-title) !important;
    font-size: clamp(2.8rem, 4.6vw, 5.6rem) !important;
    font-weight: 850 !important;
    line-height: 0.95 !important;
    color: #17130f !important;
    letter-spacing: -0.025em !important;
    margin-top: 14px !important;
}

.process-intro-text {
    font-family: var(--font-body) !important;
    font-size: clamp(1.05rem, 1.25vw, 1.35rem) !important;
    line-height: 1.55 !important;
    font-weight: 550 !important;
    color: rgba(43, 38, 32, 0.76) !important;
    border-left: 3px solid rgba(47, 169, 161, 0.7) !important;
    padding-left: clamp(20px, 2.2vw, 30px) !important;
    margin: 0 !important;
}

.process-grid {
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    gap: clamp(16px, 1.8vw, 24px) !important;
    position: relative !important;
}

.process-step {
    position: relative !important;
    background: rgba(255, 252, 247, 0.92) !important;
    border: 1px solid rgba(43, 38, 32, 0.12) !important;
    border-radius: 20px !important;
    padding: clamp(24px, 2vw, 34px) !important;
    box-shadow: 0 12px 30px rgba(43, 38, 32, 0.04) !important;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    min-height: 280px !important;
}

.process-step::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 0% !important;
    height: 3px !important;
    background: linear-gradient(90deg, #2fa9a1, #c9592e) !important;
    transition: width 0.4s ease !important;
    border-radius: 20px 20px 0 0 !important;
}

.process-step:hover::before {
    width: 100% !important;
}

.process-step:hover {
    background: #ffffff !important;
    border-color: rgba(47, 169, 161, 0.4) !important;
    transform: translateY(-8px) !important;
    box-shadow: 0 20px 48px rgba(47, 169, 161, 0.12) !important;
}

.step-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 20px !important;
}

.step-tag-mono {
    font-family: var(--font-mono) !important;
    font-size: 0.72rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.12em !important;
    color: var(--r01-terracotta) !important;
    text-transform: uppercase !important;
}

.step-icon-badge {
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    background: rgba(47, 169, 161, 0.1) !important;
    color: #2fa9a1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(47, 169, 161, 0.25) !important;
    transition: all 0.35s ease !important;
    flex-shrink: 0 !important;
}

.process-step:hover .step-icon-badge {
    background: #2fa9a1 !important;
    color: #ffffff !important;
    transform: scale(1.08) rotate(4deg) !important;
    border-color: #2fa9a1 !important;
}

.step-title {
    font-family: var(--font-title) !important;
    font-size: clamp(1.25rem, 1.45vw, 1.7rem) !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    color: #17130f !important;
    margin-bottom: 10px !important;
}

.step-text {
    font-family: var(--font-body) !important;
    font-size: clamp(0.9rem, 0.98vw, 1.02rem) !important;
    font-weight: 500 !important;
    line-height: 1.55 !important;
    color: rgba(43, 38, 32, 0.75) !important;
    margin: 0 !important;
}

.step-line-indicator {
    height: 3px !important;
    width: 36px !important;
    background: rgba(47, 169, 161, 0.35) !important;
    border-radius: 99px !important;
    margin-top: 20px !important;
    transition: all 0.4s ease !important;
}

.process-step:hover .step-line-indicator {
    width: 100% !important;
    background: linear-gradient(90deg, #2fa9a1, #c9592e) !important;
}

@media (max-width: 1200px) {
    .process-grid {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

@media (max-width: 992px) {
    .process-header {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 768px) {
    .process-grid {
        grid-template-columns: 1fr !important;
    }
}

/* =============================================================
   MÉTODO DE TRABAJO: editorial claro / ruta progresiva final
   ============================================================= */
main section.process-section#metodo {
    overflow: hidden !important;
    isolation: isolate !important;
    padding-block: clamp(118px, 10vw, 178px) clamp(112px, 9vw, 160px) !important;
    background:
        radial-gradient(circle at 14% 8%, rgba(203, 91, 46, 0.09), transparent 32%),
        radial-gradient(circle at 86% 72%, rgba(64, 215, 204, 0.13), transparent 36%),
        linear-gradient(180deg, #f8f3ea 0%, #fffaf5 48%, #f0e6d9 100%) !important;
    border-top: 1px solid rgba(23, 19, 15, 0.09) !important;
    border-bottom: 1px solid rgba(23, 19, 15, 0.09) !important;
}

main section.process-section#metodo::before {
    content: "METHOD" !important;
    position: absolute !important;
    left: max(-22px, -1.4vw) !important;
    bottom: -0.23em !important;
    z-index: -1 !important;
    font-family: "Sora", "Segoe UI", system-ui, sans-serif !important;
    font-size: clamp(8.5rem, 18vw, 24rem) !important;
    font-weight: 900 !important;
    line-height: 0.75 !important;
    color: rgba(23, 19, 15, 0.035) !important;
    letter-spacing: 0 !important;
    pointer-events: none !important;
    white-space: nowrap !important;
}

main section.process-section#metodo::after {
    content: "" !important;
    position: absolute !important;
    inset: clamp(88px, 8vw, 140px) clamp(20px, 5vw, 84px) auto auto !important;
    width: min(25vw, 360px) !important;
    height: min(25vw, 360px) !important;
    border: 1px solid rgba(203, 91, 46, 0.22) !important;
    border-radius: 50% !important;
    opacity: 0.7 !important;
    transform: rotate(-12deg) !important;
    pointer-events: none !important;
}

main section.process-section#metodo > .container {
    width: min(100% - clamp(32px, 6vw, 128px), 1680px) !important;
    max-width: none !important;
    position: relative !important;
    z-index: 2 !important;
    padding-inline: 0 !important;
}

main section.process-section#metodo .process-header {
    display: grid !important;
    grid-template-columns: minmax(620px, 0.9fr) minmax(390px, 0.46fr) !important;
    align-items: end !important;
    gap: clamp(48px, 7vw, 136px) !important;
    margin-bottom: clamp(58px, 7vw, 104px) !important;
}

main section.process-section#metodo .process-kicker {
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: clamp(18px, 2vw, 28px) !important;
    color: #17130f !important;
    font-family: "Space Mono", var(--font-mono), monospace !important;
    font-size: clamp(0.72rem, 0.7vw, 0.82rem) !important;
    font-weight: 800 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
}

main section.process-section#metodo .process-kicker::before {
    content: "" !important;
    width: 7px !important;
    height: 7px !important;
    border-radius: 50% !important;
    background: #40d7cc !important;
    box-shadow: 0 0 16px rgba(64, 215, 204, 0.62) !important;
}

main section.process-section#metodo .process-kicker span {
    display: inline-grid !important;
    place-items: center !important;
    width: 36px !important;
    height: 36px !important;
    border: 1px solid rgba(23, 19, 15, 0.34) !important;
    border-radius: 50% !important;
    color: #17130f !important;
    background: rgba(255, 250, 243, 0.7) !important;
    font-size: 0.74rem !important;
    letter-spacing: 0 !important;
}

main section.process-section#metodo .process-header .section-title {
    max-width: 11.2ch !important;
    margin: 0 !important;
    color: #17130f !important;
    font-family: "Sora", "Segoe UI", system-ui, sans-serif !important;
    font-size: clamp(3.6rem, 6vw, 7.35rem) !important;
    font-weight: 850 !important;
    line-height: 0.94 !important;
    letter-spacing: 0 !important;
}

main section.process-section#metodo .process-intro-text {
    max-width: 520px !important;
    margin: 0 0 clamp(14px, 1.8vw, 28px) !important;
    padding: 0 0 0 clamp(20px, 2.2vw, 32px) !important;
    border-left: 2px solid #40d7cc !important;
    color: rgba(23, 19, 15, 0.72) !important;
    font-family: "Manrope", "Segoe UI", system-ui, sans-serif !important;
    font-size: clamp(1.02rem, 1.16vw, 1.28rem) !important;
    font-weight: 650 !important;
    line-height: 1.58 !important;
}

main section.process-section#metodo .process-grid {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 0 !important;
    position: relative !important;
    padding: clamp(14px, 1.2vw, 20px) !important;
    border: 1px solid rgba(23, 19, 15, 0.13) !important;
    border-radius: 30px !important;
    background: rgba(255, 250, 243, 0.62) !important;
    box-shadow: 0 26px 80px rgba(23, 19, 15, 0.08) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
}

main section.process-section#metodo .process-grid::before {
    content: "" !important;
    position: absolute !important;
    left: clamp(42px, 4vw, 76px) !important;
    right: clamp(42px, 4vw, 76px) !important;
    top: clamp(82px, 6vw, 112px) !important;
    height: 1px !important;
    background: linear-gradient(90deg, rgba(203, 91, 46, 0.12), rgba(64, 215, 204, 0.45), rgba(203, 91, 46, 0.12)) !important;
    pointer-events: none !important;
}

main section.process-section#metodo .process-step {
    min-height: clamp(360px, 26vw, 460px) !important;
    padding: clamp(30px, 3vw, 54px) clamp(24px, 2.4vw, 44px) clamp(28px, 2.6vw, 42px) !important;
    border: 0 !important;
    border-radius: 22px !important;
    background: transparent !important;
    box-shadow: none !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    overflow: visible !important;
    transform: translateY(calc(var(--method-lift, 0) * 1px)) !important;
    transition:
        background 320ms ease,
        box-shadow 320ms ease,
        transform 380ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

main section.process-section#metodo .process-step:nth-child(1) { --method-lift: 0; }
main section.process-section#metodo .process-step:nth-child(2) { --method-lift: 28; }
main section.process-section#metodo .process-step:nth-child(3) { --method-lift: -14; }
main section.process-section#metodo .process-step:nth-child(4) { --method-lift: 32; }
main section.process-section#metodo .process-step:nth-child(5) { --method-lift: 4; }

main section.process-section#metodo .process-step + .process-step {
    border-left: 1px solid rgba(23, 19, 15, 0.12) !important;
}

main section.process-section#metodo .process-step::before {
    content: "" !important;
    position: absolute !important;
    top: clamp(57px, 4.1vw, 82px) !important;
    left: clamp(22px, 2.1vw, 38px) !important;
    width: 14px !important;
    height: 14px !important;
    border-radius: 50% !important;
    background: #40d7cc !important;
    box-shadow: 0 0 0 13px rgba(64, 215, 204, 0.12), 0 0 34px rgba(64, 215, 204, 0.38) !important;
    z-index: 2 !important;
}

main section.process-section#metodo .process-step:nth-child(odd)::before {
    background: #cb5b2e !important;
    box-shadow: 0 0 0 13px rgba(203, 91, 46, 0.12), 0 0 34px rgba(203, 91, 46, 0.3) !important;
}

main section.process-section#metodo .process-step::after {
    content: "" !important;
    position: absolute !important;
    inset: 14px !important;
    border-radius: 18px !important;
    border: 1px solid transparent !important;
    pointer-events: none !important;
    transition: border-color 280ms ease, background 280ms ease !important;
}

main section.process-section#metodo .process-step:hover,
main section.process-section#metodo .process-step.active-animation {
    background: rgba(255, 252, 247, 0.72) !important;
    box-shadow: 0 18px 48px rgba(23, 19, 15, 0.08) !important;
    transform: translateY(calc((var(--method-lift, 0) - 8) * 1px)) !important;
}

main section.process-section#metodo .process-step:hover::after,
main section.process-section#metodo .process-step.active-animation::after {
    border-color: rgba(203, 91, 46, 0.2) !important;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.34), rgba(64, 215, 204, 0.045)) !important;
}

main section.process-section#metodo .step-header {
    min-height: 72px !important;
    margin: 0 0 clamp(54px, 5vw, 86px) !important;
    align-items: flex-start !important;
}

main section.process-section#metodo .step-tag-mono {
    position: relative !important;
    z-index: 3 !important;
    display: inline-flex !important;
    align-items: center !important;
    min-height: 34px !important;
    padding: 0 12px !important;
    border: 1px solid rgba(23, 19, 15, 0.1) !important;
    border-radius: 999px !important;
    background: rgba(255, 250, 243, 0.72) !important;
    color: #cb5b2e !important;
    font-family: "Space Mono", var(--font-mono), monospace !important;
    font-size: clamp(0.64rem, 0.58vw, 0.74rem) !important;
    font-weight: 800 !important;
    letter-spacing: 0.08em !important;
    white-space: nowrap !important;
}

main section.process-section#metodo .step-icon-badge {
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    background: rgba(64, 215, 204, 0.11) !important;
    border: 1px solid rgba(64, 215, 204, 0.34) !important;
    color: #188c84 !important;
    box-shadow: none !important;
    transform: none !important;
}

main section.process-section#metodo .process-step:nth-child(odd) .step-icon-badge {
    background: rgba(203, 91, 46, 0.09) !important;
    border-color: rgba(203, 91, 46, 0.28) !important;
    color: #cb5b2e !important;
}

main section.process-section#metodo .process-step:hover .step-icon-badge,
main section.process-section#metodo .process-step.active-animation .step-icon-badge {
    background: #17130f !important;
    border-color: #17130f !important;
    color: #fffaf3 !important;
    transform: translateY(-3px) rotate(4deg) !important;
}

main section.process-section#metodo .step-title {
    max-width: 9.4ch !important;
    margin: 0 0 clamp(18px, 1.7vw, 26px) !important;
    color: #17130f !important;
    font-family: "Sora", "Segoe UI", system-ui, sans-serif !important;
    font-size: clamp(1.75rem, 2.24vw, 3.15rem) !important;
    font-weight: 850 !important;
    line-height: 0.96 !important;
    letter-spacing: 0 !important;
}

main section.process-section#metodo .step-text {
    max-width: 31ch !important;
    margin: 0 !important;
    color: rgba(23, 19, 15, 0.66) !important;
    font-family: "Manrope", "Segoe UI", system-ui, sans-serif !important;
    font-size: clamp(0.92rem, 0.98vw, 1.08rem) !important;
    font-weight: 560 !important;
    line-height: 1.55 !important;
}

main section.process-section#metodo .step-line-indicator {
    width: 100% !important;
    height: 1px !important;
    margin-top: clamp(34px, 4vw, 56px) !important;
    background: rgba(23, 19, 15, 0.12) !important;
    border-radius: 0 !important;
    position: relative !important;
    overflow: visible !important;
}

main section.process-section#metodo .step-line-indicator::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: -1px !important;
    width: 38px !important;
    height: 3px !important;
    border-radius: 999px !important;
    background: #40d7cc !important;
    transition: width 320ms ease, background 320ms ease !important;
}

main section.process-section#metodo .process-step:nth-child(odd) .step-line-indicator::after {
    background: #cb5b2e !important;
}

main section.process-section#metodo .process-step:hover .step-line-indicator::after,
main section.process-section#metodo .process-step.active-animation .step-line-indicator::after {
    width: min(100%, 118px) !important;
    background: linear-gradient(90deg, #40d7cc, #cb5b2e) !important;
}

@media (max-width: 1280px) {
    main section.process-section#metodo .process-header {
        grid-template-columns: minmax(0, 1fr) minmax(300px, 0.52fr) !important;
    }

    main section.process-section#metodo .process-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        row-gap: 0 !important;
    }

    main section.process-section#metodo .process-step:nth-child(n) {
        --method-lift: 0;
    }

    main section.process-section#metodo .process-step + .process-step {
        border-left: 0 !important;
    }

    main section.process-section#metodo .process-step {
        border-top: 1px solid rgba(23, 19, 15, 0.1) !important;
    }
}

@media (max-width: 900px) {
    main section.process-section#metodo {
        padding-block: 92px 108px !important;
    }

    main section.process-section#metodo::after {
        width: 240px !important;
        height: 240px !important;
        right: -96px !important;
        top: 76px !important;
    }

    main section.process-section#metodo > .container {
        width: min(100% - 30px, 760px) !important;
    }

    main section.process-section#metodo .process-header {
        grid-template-columns: 1fr !important;
        gap: 26px !important;
        margin-bottom: 42px !important;
    }

    main section.process-section#metodo .process-header .section-title {
        max-width: 11ch !important;
        font-size: clamp(2.58rem, 12vw, 4.4rem) !important;
        line-height: 0.96 !important;
    }

    main section.process-section#metodo .process-intro-text {
        max-width: 100% !important;
        font-size: 1rem !important;
        line-height: 1.56 !important;
    }

    main section.process-section#metodo .process-grid {
        grid-template-columns: 1fr !important;
        padding: 10px !important;
        border-radius: 24px !important;
        background: rgba(255, 250, 243, 0.64) !important;
    }

    main section.process-section#metodo .process-grid::before {
        left: 34px !important;
        right: auto !important;
        top: 44px !important;
        bottom: 44px !important;
        width: 1px !important;
        height: auto !important;
        background: linear-gradient(180deg, rgba(203, 91, 46, 0.22), rgba(64, 215, 204, 0.52), rgba(203, 91, 46, 0.14)) !important;
    }

    main section.process-section#metodo .process-step {
        min-height: 0 !important;
        padding: 28px 22px 30px 58px !important;
        border-top: 1px solid rgba(23, 19, 15, 0.1) !important;
        border-radius: 18px !important;
        transform: none !important;
    }

    main section.process-section#metodo .process-step:first-child {
        border-top: 0 !important;
    }

    main section.process-section#metodo .process-step::before {
        top: 40px !important;
        left: 18px !important;
        width: 13px !important;
        height: 13px !important;
        box-shadow: 0 0 0 10px rgba(64, 215, 204, 0.12) !important;
    }

    main section.process-section#metodo .process-step:nth-child(odd)::before {
        box-shadow: 0 0 0 10px rgba(203, 91, 46, 0.13) !important;
    }

    main section.process-section#metodo .step-header {
        min-height: 0 !important;
        margin-bottom: 42px !important;
    }

    main section.process-section#metodo .step-icon-badge {
        width: 40px !important;
        height: 40px !important;
    }

    main section.process-section#metodo .step-title {
        max-width: 100% !important;
        font-size: clamp(1.82rem, 7.5vw, 2.35rem) !important;
        line-height: 0.98 !important;
    }

    main section.process-section#metodo .step-text {
        max-width: 100% !important;
        font-size: 0.96rem !important;
    }

    main section.process-section#metodo .process-step:hover,
    main section.process-section#metodo .process-step.active-animation {
        transform: none !important;
    }
}

@media (max-width: 430px) {
    main section.process-section#metodo .process-header .section-title {
        font-size: 2.54rem !important;
    }

    main section.process-section#metodo .process-kicker {
        gap: 9px !important;
        font-size: 0.66rem !important;
        letter-spacing: 0.08em !important;
    }

    main section.process-section#metodo .process-kicker span {
        width: 33px !important;
        height: 33px !important;
    }

    main section.process-section#metodo .step-header {
        gap: 12px !important;
    }

    main section.process-section#metodo .step-tag-mono {
        font-size: 0.6rem !important;
        padding-inline: 10px !important;
    }
}

/* Limpieza visual: ocultar barras nativas sin desactivar el scroll */
html,
body,
.pipeline-steps-indicator {
    -ms-overflow-style: none !important;
    scrollbar-width: none !important;
}

html::-webkit-scrollbar,
body::-webkit-scrollbar,
.pipeline-steps-indicator::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
    display: none !important;
}

/* Método: respiración desktop final */
main section.process-section#metodo .process-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    gap: clamp(18px, 1.6vw, 30px) !important;
    padding: clamp(18px, 1.7vw, 30px) !important;
    overflow: visible !important;
    overflow-x: visible !important;
    overflow-y: visible !important;
    max-height: none !important;
    height: auto !important;
}

main section.process-section#metodo .process-grid::before {
    display: none !important;
}

main section.process-section#metodo .process-step {
    grid-column: span 4 !important;
    min-height: clamp(300px, 19vw, 370px) !important;
    padding: clamp(26px, 2.2vw, 40px) !important;
    border: 1px solid rgba(203, 91, 46, 0.16) !important;
    border-radius: 24px !important;
    background:
        linear-gradient(145deg, rgba(255, 252, 247, 0.92), rgba(246, 240, 231, 0.78)) !important;
    box-shadow: 0 18px 54px rgba(23, 19, 15, 0.06) !important;
    transform: none !important;
    overflow: hidden !important;
}

main section.process-section#metodo .process-step:nth-child(4),
main section.process-section#metodo .process-step:nth-child(5) {
    grid-column: span 6 !important;
}

main section.process-section#metodo .process-step + .process-step {
    border-left: 1px solid rgba(203, 91, 46, 0.16) !important;
}

main section.process-section#metodo .process-step::before {
    top: clamp(32px, 2.4vw, 42px) !important;
    left: auto !important;
    right: clamp(30px, 2.4vw, 42px) !important;
}

main section.process-section#metodo .process-step:hover,
main section.process-section#metodo .process-step.active-animation {
    transform: translateY(-6px) !important;
}

main section.process-section#metodo .step-header {
    min-height: 0 !important;
    margin-bottom: clamp(58px, 5vw, 92px) !important;
}

main section.process-section#metodo .step-title {
    max-width: 100% !important;
    font-size: clamp(1.8rem, 2.05vw, 2.62rem) !important;
    line-height: 1.03 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
}

main section.process-section#metodo .step-title .blur-reveal-word {
    max-width: 100% !important;
    white-space: normal !important;
}

main section.process-section#metodo .step-text {
    max-width: 44ch !important;
    font-size: clamp(0.95rem, 0.96vw, 1.05rem) !important;
}

main section.process-section#metodo .step-line-indicator {
    margin-top: clamp(30px, 3vw, 44px) !important;
}

* {
    scrollbar-width: none !important;
}

*::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
    display: none !important;
}

@media (max-width: 1480px) {
    main section.process-section#metodo .process-grid {
        grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    }

    main section.process-section#metodo .process-step,
    main section.process-section#metodo .process-step:nth-child(4),
    main section.process-section#metodo .process-step:nth-child(5) {
        grid-column: span 3 !important;
    }

    main section.process-section#metodo .process-step:nth-child(5) {
        grid-column: 2 / span 4 !important;
    }
}

@media (max-width: 980px) {
    main section.process-section#metodo .process-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    main section.process-section#metodo .process-step,
    main section.process-section#metodo .process-step:nth-child(4),
    main section.process-section#metodo .process-step:nth-child(5) {
        grid-column: span 1 !important;
    }

    main section.process-section#metodo .process-step:nth-child(5) {
        grid-column: 1 / -1 !important;
    }
}

@media (max-width: 640px) {
    main section.process-section#metodo .process-grid {
        grid-template-columns: 1fr !important;
    }

    main section.process-section#metodo .process-step,
    main section.process-section#metodo .process-step:nth-child(4),
    main section.process-section#metodo .process-step:nth-child(5) {
        grid-column: 1 / -1 !important;
        min-height: 0 !important;
        overflow: hidden !important;
    }

    main section.process-section#metodo .process-step:hover,
    main section.process-section#metodo .process-step.active-animation {
        transform: none !important;
    }
}

/* Portafolio y sectores: ruta clara editorial final */
main section.experience-section#experiencia {
    overflow: hidden !important;
    isolation: isolate !important;
    padding-block: clamp(118px, 10vw, 176px) clamp(112px, 10vw, 168px) !important;
    background:
        radial-gradient(circle at 15% 12%, rgba(203, 91, 46, 0.1), transparent 34%),
        radial-gradient(circle at 85% 76%, rgba(64, 215, 204, 0.13), transparent 36%),
        linear-gradient(180deg, #f8f3ea 0%, #fffaf5 50%, #efe6d9 100%) !important;
    border-top: 1px solid rgba(23, 19, 15, 0.08) !important;
}

main section.experience-section#experiencia::before {
    content: "SECTORES" !important;
    position: absolute !important;
    left: max(-12px, -1vw) !important;
    top: clamp(78px, 8vw, 126px) !important;
    z-index: -1 !important;
    color: rgba(23, 19, 15, 0.035) !important;
    font-family: "Sora", "Segoe UI", system-ui, sans-serif !important;
    font-size: clamp(7rem, 17vw, 22rem) !important;
    font-weight: 900 !important;
    line-height: 0.8 !important;
    letter-spacing: 0 !important;
    pointer-events: none !important;
    white-space: nowrap !important;
}

main section.experience-section#experiencia > .container {
    width: min(100% - clamp(32px, 6vw, 128px), 1680px) !important;
    max-width: none !important;
    padding-inline: 0 !important;
    position: relative !important;
    z-index: 2 !important;
}

main section.experience-section#experiencia .experience-header {
    display: grid !important;
    grid-template-columns: minmax(620px, 0.9fr) minmax(420px, 0.5fr) !important;
    gap: clamp(48px, 7vw, 136px) !important;
    align-items: end !important;
    margin-bottom: clamp(56px, 7vw, 104px) !important;
}

main section.experience-section#experiencia .experience-kicker {
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: clamp(18px, 2vw, 28px) !important;
    color: #17130f !important;
    font-family: "Space Mono", var(--font-mono), monospace !important;
    font-size: clamp(0.7rem, 0.68vw, 0.82rem) !important;
    font-weight: 800 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
}

main section.experience-section#experiencia .experience-kicker::before {
    content: "" !important;
    width: 7px !important;
    height: 7px !important;
    border-radius: 50% !important;
    background: #40d7cc !important;
    box-shadow: 0 0 16px rgba(64, 215, 204, 0.6) !important;
}

main section.experience-section#experiencia .experience-kicker span {
    display: inline-grid !important;
    place-items: center !important;
    width: 36px !important;
    height: 36px !important;
    border: 1px solid rgba(23, 19, 15, 0.34) !important;
    border-radius: 50% !important;
    background: rgba(255, 250, 243, 0.72) !important;
    color: #17130f !important;
    font-size: 0.74rem !important;
    letter-spacing: 0 !important;
}

main section.experience-section#experiencia .experience-header .section-title {
    max-width: 12ch !important;
    margin: 0 !important;
    color: #17130f !important;
    font-family: "Sora", "Segoe UI", system-ui, sans-serif !important;
    font-size: clamp(3.35rem, 5.55vw, 7rem) !important;
    font-weight: 850 !important;
    line-height: 0.94 !important;
    letter-spacing: 0 !important;
}

main section.experience-section#experiencia .experience-right {
    max-width: 590px !important;
}

main section.experience-section#experiencia .experience-header .section-intro {
    margin: 0 0 18px !important;
    padding-left: clamp(20px, 2.2vw, 32px) !important;
    border-left: 2px solid #40d7cc !important;
    color: rgba(23, 19, 15, 0.74) !important;
    font-family: "Manrope", "Segoe UI", system-ui, sans-serif !important;
    font-size: clamp(1.02rem, 1.12vw, 1.24rem) !important;
    font-weight: 650 !important;
    line-height: 1.58 !important;
}

main section.experience-section#experiencia .experience-subtext {
    margin: 0 !important;
    padding-left: clamp(20px, 2.2vw, 32px) !important;
    color: rgba(23, 19, 15, 0.58) !important;
    font-family: "Manrope", "Segoe UI", system-ui, sans-serif !important;
    font-size: clamp(0.94rem, 0.98vw, 1.05rem) !important;
    font-weight: 540 !important;
    line-height: 1.6 !important;
}

main section.experience-section#experiencia .sectors-grid {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    grid-auto-rows: minmax(240px, auto) !important;
    gap: clamp(18px, 1.7vw, 30px) !important;
    margin: 0 !important;
    overflow: visible !important;
}

main section.experience-section#experiencia .sector-card,
main section.experience-section#experiencia .sector-card:nth-child(n) {
    grid-column: span 4 !important;
    min-height: clamp(420px, 31vw, 540px) !important;
    height: auto !important;
    border-radius: 28px !important;
    overflow: hidden !important;
    border: 1px solid rgba(23, 19, 15, 0.12) !important;
    background: #fffaf3 !important;
    box-shadow: 0 22px 62px rgba(23, 19, 15, 0.09) !important;
    transform: none !important;
}

main section.experience-section#experiencia .sector-card:nth-child(1) {
    grid-column: span 6 !important;
}

main section.experience-section#experiencia .sector-card:nth-child(2) {
    grid-column: span 6 !important;
}

main section.experience-section#experiencia .sector-card:nth-child(3),
main section.experience-section#experiencia .sector-card:nth-child(4),
main section.experience-section#experiencia .sector-card:nth-child(5),
main section.experience-section#experiencia .sector-card:nth-child(6) {
    grid-column: span 3 !important;
    min-height: clamp(410px, 27vw, 500px) !important;
}

main section.experience-section#experiencia .sector-card:nth-child(6) {
    grid-column: span 3 !important;
}

main section.experience-section#experiencia .sector-card:hover {
    transform: translateY(-8px) !important;
    border-color: rgba(203, 91, 46, 0.34) !important;
    box-shadow: 0 30px 76px rgba(203, 91, 46, 0.14) !important;
}

main section.experience-section#experiencia .sector-bg {
    position: absolute !important;
    inset: 0 0 30% 0 !important;
    background-size: cover !important;
    background-position: center !important;
    filter: saturate(0.9) contrast(1.03) brightness(1.06) !important;
    opacity: 1 !important;
    transform: scale(1) !important;
    transition: transform 720ms cubic-bezier(0.16, 1, 0.3, 1), filter 720ms ease !important;
}

main section.experience-section#experiencia .sector-card:hover .sector-bg {
    transform: scale(1.045) !important;
    filter: saturate(1) contrast(1.04) brightness(1.08) !important;
}

main section.experience-section#experiencia .sector-card-inner {
    position: relative !important;
    z-index: 2 !important;
    min-height: clamp(420px, 31vw, 540px) !important;
    height: 100% !important;
    display: grid !important;
    grid-template-rows: auto 1fr auto auto !important;
    align-content: end !important;
    padding: clamp(24px, 2.2vw, 38px) !important;
    background:
        linear-gradient(180deg, rgba(255, 250, 243, 0) 0%, rgba(255, 250, 243, 0.1) 42%, rgba(255, 250, 243, 0.94) 66%, #fffaf3 100%) !important;
}

main section.experience-section#experiencia .sector-num {
    align-self: start !important;
    justify-self: start !important;
    display: inline-flex !important;
    width: fit-content !important;
    padding: 8px 12px !important;
    border: 1px solid rgba(203, 91, 46, 0.18) !important;
    border-radius: 999px !important;
    background: rgba(255, 250, 243, 0.78) !important;
    color: #cb5b2e !important;
    font-family: "Space Mono", var(--font-mono), monospace !important;
    font-size: clamp(0.62rem, 0.58vw, 0.72rem) !important;
    font-weight: 800 !important;
    letter-spacing: 0.09em !important;
    text-shadow: none !important;
    backdrop-filter: blur(12px) !important;
    max-width: calc(100% - 72px) !important;
    white-space: normal !important;
    line-height: 1.25 !important;
}

main section.experience-section#experiencia .sector-title-name {
    align-self: end !important;
    max-width: 12ch !important;
    margin: clamp(168px, 16vw, 240px) 0 12px !important;
    color: #17130f !important;
    font-family: "Sora", "Segoe UI", system-ui, sans-serif !important;
    font-size: clamp(2rem, 2.55vw, 3.45rem) !important;
    font-weight: 850 !important;
    line-height: 0.98 !important;
    letter-spacing: 0 !important;
    text-shadow: none !important;
}

main section.experience-section#experiencia .sector-card:nth-child(1) .sector-title-name,
main section.experience-section#experiencia .sector-card:nth-child(2) .sector-title-name,
main section.experience-section#experiencia .sector-card:nth-child(6) .sector-title-name {
    max-width: 15ch !important;
}

main section.experience-section#experiencia .sector-card:nth-child(n+3) .sector-title-name {
    font-size: clamp(1.65rem, 1.85vw, 2.45rem) !important;
    max-width: 11ch !important;
}

main section.experience-section#experiencia .sector-card:nth-child(n+3) .sector-card-desc {
    font-size: clamp(0.88rem, 0.88vw, 0.98rem) !important;
}

main section.experience-section#experiencia .sector-card-desc {
    max-width: 42ch !important;
    margin: 0 0 18px !important;
    color: rgba(23, 19, 15, 0.66) !important;
    font-family: "Manrope", "Segoe UI", system-ui, sans-serif !important;
    font-size: clamp(0.95rem, 0.98vw, 1.08rem) !important;
    font-weight: 560 !important;
    line-height: 1.52 !important;
    text-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    height: auto !important;
    max-height: none !important;
    transform: none !important;
}

main section.experience-section#experiencia .sector-tags-row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}

main section.experience-section#experiencia .sector-pill {
    color: #17130f !important;
    background: rgba(248, 243, 234, 0.86) !important;
    border: 1px solid rgba(23, 19, 15, 0.12) !important;
    border-radius: 999px !important;
    padding: 6px 12px !important;
    font-family: "Space Mono", var(--font-mono), monospace !important;
    font-size: clamp(0.6rem, 0.56vw, 0.68rem) !important;
    font-weight: 800 !important;
    letter-spacing: 0.06em !important;
    backdrop-filter: none !important;
}

main section.experience-section#experiencia .sector-card:hover .sector-pill {
    background: rgba(64, 215, 204, 0.12) !important;
    border-color: rgba(64, 215, 204, 0.34) !important;
}

main section.experience-section#experiencia .sector-arrow {
    top: clamp(22px, 2vw, 34px) !important;
    right: clamp(22px, 2vw, 34px) !important;
    width: 46px !important;
    height: 46px !important;
    border-radius: 50% !important;
    background: rgba(255, 250, 243, 0.86) !important;
    border: 1px solid rgba(23, 19, 15, 0.16) !important;
    color: #17130f !important;
    box-shadow: 0 12px 28px rgba(23, 19, 15, 0.08) !important;
    text-shadow: none !important;
    flex-shrink: 0 !important;
}

main section.experience-section#experiencia .sector-card:hover .sector-arrow {
    background: #cb5b2e !important;
    border-color: #cb5b2e !important;
    color: #fffaf3 !important;
    box-shadow: 0 16px 34px rgba(203, 91, 46, 0.28) !important;
}

@media (max-width: 1500px) {
    main section.experience-section#experiencia .sectors-grid {
        grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    }

    main section.experience-section#experiencia .sector-card,
    main section.experience-section#experiencia .sector-card:nth-child(n),
    main section.experience-section#experiencia .sector-card:nth-child(1),
    main section.experience-section#experiencia .sector-card:nth-child(2),
    main section.experience-section#experiencia .sector-card:nth-child(3),
    main section.experience-section#experiencia .sector-card:nth-child(4),
    main section.experience-section#experiencia .sector-card:nth-child(5),
    main section.experience-section#experiencia .sector-card:nth-child(6) {
        grid-column: span 3 !important;
        min-height: clamp(410px, 34vw, 520px) !important;
    }

    main section.experience-section#experiencia .sector-card-inner {
        min-height: clamp(410px, 34vw, 520px) !important;
    }

    main section.experience-section#experiencia .sector-card:nth-child(n+3) .sector-title-name {
        font-size: clamp(1.95rem, 2.8vw, 2.85rem) !important;
        max-width: 14ch !important;
    }
}

@media (max-width: 1280px) {
    main section.experience-section#experiencia .experience-header {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
    }

    main section.experience-section#experiencia .experience-right {
        max-width: 720px !important;
    }
}

@media (max-width: 720px) {
    main section.experience-section#experiencia {
        padding-block: 92px 108px !important;
    }

    main section.experience-section#experiencia > .container {
        width: min(100% - 30px, 760px) !important;
    }

    main section.experience-section#experiencia .experience-header .section-title {
        max-width: 11ch !important;
        font-size: clamp(2.5rem, 11.6vw, 4.1rem) !important;
        line-height: 0.98 !important;
    }

    main section.experience-section#experiencia .experience-kicker {
        gap: 9px !important;
        font-size: 0.64rem !important;
        letter-spacing: 0.08em !important;
    }

    main section.experience-section#experiencia .experience-kicker span {
        width: 33px !important;
        height: 33px !important;
    }

    main section.experience-section#experiencia .experience-header .section-intro,
    main section.experience-section#experiencia .experience-subtext {
        padding-left: 18px !important;
        font-size: 0.96rem !important;
    }

    main section.experience-section#experiencia .sectors-grid {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }

    main section.experience-section#experiencia .sector-card,
    main section.experience-section#experiencia .sector-card:nth-child(n) {
        grid-column: 1 / -1 !important;
        min-height: 430px !important;
        border-radius: 24px !important;
    }

    main section.experience-section#experiencia .sector-card-inner {
        min-height: 430px !important;
        padding: 22px !important;
    }

    main section.experience-section#experiencia .sector-title-name {
        max-width: 12ch !important;
        margin-top: 184px !important;
        font-size: clamp(2rem, 9vw, 2.8rem) !important;
    }

main section.experience-section#experiencia .sector-card-desc {
        font-size: 0.95rem !important;
    }
}

main section.final-cta-section#cta .cta-inner-card .cta-kicker {
    color: #17130f !important;
    font-family: "Manrope", "Segoe UI", system-ui, sans-serif !important;
    font-size: clamp(0.78rem, 0.82vw, 0.94rem) !important;
    font-weight: 820 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

@media (max-width: 720px) {
    main section.final-cta-section#cta .cta-inner-card .cta-kicker {
        font-size: 0.72rem !important;
    }
}

/* Propuesta de valor: editorial claro sin retícula genérica */
main section.differentials-section#diferenciales {
    position: relative !important;
    overflow: hidden !important;
    isolation: isolate !important;
    padding-block: clamp(96px, 8vw, 136px) !important;
    background:
        radial-gradient(circle at 12% 18%, rgba(203, 91, 46, 0.1), transparent 32%),
        radial-gradient(circle at 86% 22%, rgba(64, 215, 204, 0.12), transparent 34%),
        linear-gradient(180deg, #fffaf5 0%, #f8f3ea 52%, #efe6d9 100%) !important;
    color: #17130f !important;
}

main section.differentials-section#diferenciales::before {
    content: "VALOR" !important;
    position: absolute !important;
    right: clamp(-18px, -1vw, 0px) !important;
    top: clamp(64px, 7vw, 116px) !important;
    z-index: -1 !important;
    color: rgba(23, 19, 15, 0.04) !important;
    font-family: "Sora", "Segoe UI", system-ui, sans-serif !important;
    font-size: clamp(7rem, 18vw, 23rem) !important;
    font-weight: 900 !important;
    line-height: 0.78 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
    pointer-events: none !important;
}

main section.differentials-section#diferenciales > .container {
    width: min(100% - clamp(32px, 6vw, 128px), 1680px) !important;
    max-width: none !important;
    padding-inline: 0 !important;
}

main section.differentials-section#diferenciales .differentials-header {
    display: grid !important;
    grid-template-columns: minmax(560px, 0.86fr) minmax(360px, 0.48fr) !important;
    gap: clamp(48px, 8vw, 140px) !important;
    align-items: end !important;
    margin: 0 0 clamp(42px, 5vw, 72px) !important;
    text-align: left !important;
}

main section.differentials-section#diferenciales .differentials-header .section-title {
    max-width: 13.5ch !important;
    margin: 0 !important;
    color: #17130f !important;
    font-family: "Sora", "Segoe UI", system-ui, sans-serif !important;
    font-size: clamp(3rem, 4.65vw, 5.9rem) !important;
    font-weight: 880 !important;
    line-height: 0.96 !important;
    letter-spacing: 0 !important;
}

main section.differentials-section#diferenciales .differentials-header .section-intro {
    max-width: 560px !important;
    margin: 0 !important;
    padding-left: clamp(20px, 2vw, 30px) !important;
    border-left: 2px solid #40d7cc !important;
    color: rgba(23, 19, 15, 0.68) !important;
    font-family: "Manrope", "Segoe UI", system-ui, sans-serif !important;
    font-size: clamp(1.02rem, 1.14vw, 1.25rem) !important;
    font-weight: 650 !important;
    line-height: 1.58 !important;
}

main section.differentials-section#diferenciales .differentials-layout {
    display: grid !important;
    grid-template-columns: minmax(420px, 0.78fr) minmax(560px, 1fr) !important;
    gap: clamp(34px, 4vw, 70px) !important;
    align-items: stretch !important;
    padding: clamp(16px, 1.6vw, 24px) !important;
    border: 1px solid rgba(23, 19, 15, 0.1) !important;
    border-radius: 42px !important;
    background: rgba(255, 250, 243, 0.68) !important;
    box-shadow: 0 26px 74px rgba(23, 19, 15, 0.1) !important;
}

main section.differentials-section#diferenciales .diff-showcase-card {
    min-height: clamp(500px, 36vw, 640px) !important;
    border: 0 !important;
    border-radius: 30px !important;
    overflow: hidden !important;
    background: #efe6d9 !important;
    box-shadow: none !important;
}

main section.differentials-section#diferenciales .diff-showcase-image {
    position: absolute !important;
    inset: 0 !important;
    background-size: cover !important;
    background-position: 42% center !important;
    filter: saturate(0.78) contrast(1.02) brightness(1.16) !important;
    opacity: 0.9 !important;
    transform: scale(1) !important;
}

main section.differentials-section#diferenciales .diff-showcase-card::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background:
        linear-gradient(180deg, rgba(255, 250, 243, 0.04) 0%, rgba(255, 250, 243, 0.24) 42%, rgba(255, 250, 243, 0.88) 100%),
        linear-gradient(90deg, rgba(23, 19, 15, 0.08), transparent 44%) !important;
    pointer-events: none !important;
}

main section.differentials-section#diferenciales .diff-showcase-card:hover .diff-showcase-image {
    transform: scale(1.035) !important;
    filter: saturate(0.88) contrast(1.02) brightness(1.18) !important;
}

main section.differentials-section#diferenciales .diff-showcase-overlay {
    position: relative !important;
    z-index: 2 !important;
    margin: auto clamp(16px, 2vw, 24px) clamp(16px, 2vw, 24px) !important;
    padding: clamp(24px, 2.6vw, 36px) !important;
    border: 1px solid rgba(255, 250, 243, 0.62) !important;
    border-radius: 24px !important;
    background: rgba(255, 250, 243, 0.82) !important;
    backdrop-filter: blur(16px) !important;
    color: #17130f !important;
}

main section.differentials-section#diferenciales .diff-showcase-tag {
    margin: 0 0 14px !important;
    color: #cb5b2e !important;
    font-family: "Manrope", "Segoe UI", system-ui, sans-serif !important;
    font-size: clamp(0.78rem, 0.82vw, 0.94rem) !important;
    font-weight: 820 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

main section.differentials-section#diferenciales .diff-showcase-quote {
    max-width: 20ch !important;
    margin: 0 0 clamp(22px, 2vw, 30px) !important;
    color: #17130f !important;
    font-family: "Sora", "Segoe UI", system-ui, sans-serif !important;
    font-size: clamp(1.4rem, 1.85vw, 2.25rem) !important;
    font-style: normal !important;
    font-weight: 850 !important;
    line-height: 1.04 !important;
    letter-spacing: 0 !important;
    text-shadow: none !important;
}

main section.differentials-section#diferenciales .diff-showcase-metrics {
    display: flex !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
}

main section.differentials-section#diferenciales .metric-pill {
    min-width: 148px !important;
    padding: 13px 16px !important;
    border: 1px solid rgba(23, 19, 15, 0.12) !important;
    border-radius: 999px !important;
    background: rgba(255, 250, 243, 0.74) !important;
    color: #17130f !important;
    backdrop-filter: blur(14px) !important;
    box-shadow: none !important;
}

main section.differentials-section#diferenciales .metric-num {
    color: #17130f !important;
    font-family: "Sora", "Segoe UI", system-ui, sans-serif !important;
    font-size: 1.1rem !important;
    font-weight: 860 !important;
}

main section.differentials-section#diferenciales .metric-label {
    color: rgba(23, 19, 15, 0.62) !important;
    font-family: "Manrope", "Segoe UI", system-ui, sans-serif !important;
    font-size: 0.74rem !important;
    font-weight: 760 !important;
    letter-spacing: 0 !important;
}

main section.differentials-section#diferenciales .differentials-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    border-radius: 30px !important;
    overflow: hidden !important;
    background: rgba(255, 250, 243, 0.78) !important;
    border: 1px solid rgba(23, 19, 15, 0.1) !important;
}

main section.differentials-section#diferenciales .diff-card {
    display: grid !important;
    grid-template-columns: minmax(86px, 0.22fr) minmax(0, 1fr) auto !important;
    grid-template-areas:
        "top title icon"
        "top text icon" !important;
    align-items: center !important;
    gap: clamp(18px, 2.6vw, 42px) !important;
    min-height: clamp(116px, 8.8vw, 150px) !important;
    padding: clamp(22px, 2.4vw, 34px) !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(23, 19, 15, 0.1) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
}

main section.differentials-section#diferenciales .diff-card:last-child {
    border-bottom: 0 !important;
}

main section.differentials-section#diferenciales .diff-card::before {
    display: none !important;
}

main section.differentials-section#diferenciales .diff-card:hover {
    background: rgba(64, 215, 204, 0.08) !important;
    border-color: rgba(23, 19, 15, 0.1) !important;
    transform: none !important;
    box-shadow: none !important;
}

main section.differentials-section#diferenciales .diff-card-top {
    grid-area: top !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    margin: 0 !important;
}

main section.differentials-section#diferenciales .diff-num-display {
    color: #cb5b2e !important;
    font-family: "Sora", "Segoe UI", system-ui, sans-serif !important;
    font-size: clamp(2.5rem, 3.5vw, 4.5rem) !important;
    font-weight: 880 !important;
    line-height: 0.9 !important;
    letter-spacing: 0 !important;
    opacity: 1 !important;
}

main section.differentials-section#diferenciales .diff-icon-badge {
    grid-area: icon !important;
    width: 48px !important;
    height: 48px !important;
    border-radius: 50% !important;
    background: rgba(255, 250, 243, 0.8) !important;
    border: 1px solid rgba(23, 19, 15, 0.14) !important;
    color: #17130f !important;
}

main section.differentials-section#diferenciales .diff-card:hover .diff-icon-badge {
    background: #17130f !important;
    border-color: #17130f !important;
    color: #fffaf3 !important;
    transform: translateX(2px) !important;
}

main section.differentials-section#diferenciales .diff-tag-pill {
    display: none !important;
}

main section.differentials-section#diferenciales .diff-title {
    grid-area: title !important;
    margin: 0 0 8px !important;
    color: #17130f !important;
    font-family: "Sora", "Segoe UI", system-ui, sans-serif !important;
    font-size: clamp(1.45rem, 2.2vw, 2.45rem) !important;
    font-weight: 860 !important;
    line-height: 1.02 !important;
    letter-spacing: 0 !important;
}

main section.differentials-section#diferenciales .diff-text {
    grid-area: text !important;
    max-width: 58ch !important;
    margin: 0 !important;
    color: rgba(23, 19, 15, 0.66) !important;
    font-family: "Manrope", "Segoe UI", system-ui, sans-serif !important;
    font-size: clamp(0.96rem, 1vw, 1.08rem) !important;
    font-weight: 590 !important;
    line-height: 1.55 !important;
}

@media (max-width: 1180px) {
    main section.differentials-section#diferenciales .differentials-header,
    main section.differentials-section#diferenciales .differentials-layout {
        grid-template-columns: 1fr !important;
    }

    main section.differentials-section#diferenciales .differentials-header {
        gap: 28px !important;
    }

    main section.differentials-section#diferenciales .diff-showcase-card {
        min-height: clamp(420px, 50vw, 560px) !important;
    }

    main section.differentials-section#diferenciales .diff-showcase-quote {
        max-width: 24ch !important;
    }
}

@media (max-width: 720px) {
    main section.differentials-section#diferenciales {
        padding-block: 92px 108px !important;
    }

    main section.differentials-section#diferenciales > .container {
        width: min(100% - 30px, 760px) !important;
    }

    main section.differentials-section#diferenciales .differentials-header .section-title {
        max-width: 11ch !important;
        font-size: clamp(2.55rem, 11.6vw, 4.2rem) !important;
        line-height: 0.98 !important;
    }

    main section.differentials-section#diferenciales .differentials-layout {
        padding: 12px !important;
        border-radius: 28px !important;
        gap: 14px !important;
    }

    main section.differentials-section#diferenciales .diff-showcase-card {
        min-height: 430px !important;
        border-radius: 22px !important;
    }

    main section.differentials-section#diferenciales .diff-showcase-overlay {
        margin: auto 12px 12px !important;
        padding: 20px !important;
        border-radius: 18px !important;
        background: rgba(255, 250, 243, 0.86) !important;
    }

    main section.differentials-section#diferenciales .diff-showcase-quote {
        max-width: 18ch !important;
        font-size: clamp(1.24rem, 6.2vw, 1.95rem) !important;
    }

    main section.differentials-section#diferenciales .differentials-grid {
        border-radius: 22px !important;
    }

    main section.differentials-section#diferenciales .diff-card {
        grid-template-columns: 1fr auto !important;
        grid-template-areas:
            "top icon"
            "title icon"
            "text text" !important;
        gap: 14px !important;
        padding: 24px 20px !important;
        min-height: auto !important;
    }

    main section.differentials-section#diferenciales .diff-num-display {
        font-size: 2.3rem !important;
    }

    main section.differentials-section#diferenciales .diff-title {
        font-size: clamp(1.55rem, 7vw, 2.2rem) !important;
    }
}

main section.services-section#servicios .services-kicker.section-tag,
main section.system-route-section#sistema .system-kicker.section-tag,
main section.process-section#metodo .process-kicker,
main section.experience-section#experiencia .experience-kicker,
main section.differentials-section#diferenciales .value-kicker,
main section.final-cta-section#cta .cta-inner-card .cta-kicker,
main section.contact-section#contacto .contact-kicker {
    color: #17130f !important;
    font-family: "Manrope", "Segoe UI", system-ui, sans-serif !important;
    font-size: clamp(0.78rem, 0.82vw, 0.94rem) !important;
    font-weight: 820 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

main section.services-section#servicios .services-kicker.section-tag span,
main section.system-route-section#sistema .system-kicker.section-tag span,
main section.process-section#metodo .process-kicker span,
main section.experience-section#experiencia .experience-kicker span,
main section.differentials-section#diferenciales .value-kicker span,
main section.final-cta-section#cta .cta-inner-card .cta-kicker span,
main section.contact-section#contacto .contact-kicker span {
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    font-size: 0.72rem !important;
    letter-spacing: 0 !important;
}

/* Active Journey: cierre editorial claro */
main section.final-cta-section#cta {
    position: relative !important;
    overflow: hidden !important;
    isolation: isolate !important;
    padding-block: clamp(96px, 8vw, 138px) !important;
    background:
        radial-gradient(circle at 16% 20%, rgba(203, 91, 46, 0.1), transparent 32%),
        radial-gradient(circle at 88% 20%, rgba(64, 215, 204, 0.12), transparent 34%),
        linear-gradient(180deg, #efe6d9 0%, #fffaf5 48%, #f8f3ea 100%) !important;
    border-top: 1px solid rgba(23, 19, 15, 0.08) !important;
}

main section.final-cta-section#cta::before {
    content: "ACTIVE" !important;
    position: absolute !important;
    left: clamp(-24px, -1vw, 0px) !important;
    top: clamp(48px, 7vw, 108px) !important;
    z-index: -1 !important;
    color: rgba(23, 19, 15, 0.04) !important;
    font-family: "Sora", "Segoe UI", system-ui, sans-serif !important;
    font-size: clamp(7rem, 18vw, 23rem) !important;
    font-weight: 900 !important;
    line-height: 0.8 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
    pointer-events: none !important;
}

main section.final-cta-section#cta > .container {
    width: min(100% - clamp(32px, 6vw, 128px), 1680px) !important;
    max-width: none !important;
    padding-inline: 0 !important;
}

main section.final-cta-section#cta .cta-inner-card {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(0, 0.95fr) minmax(380px, 0.68fr) !important;
    gap: clamp(28px, 5vw, 80px) !important;
    align-items: stretch !important;
    min-height: clamp(580px, 38vw, 700px) !important;
    padding: clamp(18px, 1.7vw, 28px) !important;
    overflow: hidden !important;
    border: 1px solid rgba(23, 19, 15, 0.12) !important;
    border-radius: 42px !important;
    background:
        linear-gradient(135deg, rgba(255, 250, 243, 0.88), rgba(248, 243, 234, 0.72)),
        #fffaf3 !important;
    box-shadow: 0 30px 82px rgba(23, 19, 15, 0.12) !important;
    text-align: left !important;
}

main section.final-cta-section#cta .cta-inner-card::before {
    content: "" !important;
    position: absolute !important;
    inset: clamp(18px, 1.7vw, 28px) !important;
    z-index: 0 !important;
    border: 1px solid rgba(203, 91, 46, 0.14) !important;
    border-radius: 30px !important;
    pointer-events: none !important;
}

main section.final-cta-section#cta .cta-bg-photo {
    position: relative !important;
    inset: auto !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    z-index: 1 !important;
    min-height: 100% !important;
    border-radius: 30px !important;
    overflow: hidden !important;
    background-image: url("assets/images/andrea-connective-cta.webp") !important;
    background-size: cover !important;
    background-position: 58% 48% !important;
    filter: saturate(0.92) contrast(1.02) brightness(1.04) !important;
    box-shadow: 0 24px 64px rgba(23, 19, 15, 0.12) !important;
    transform: none !important;
}

main section.final-cta-section#cta .cta-bg-photo::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background:
        linear-gradient(180deg, rgba(255, 250, 243, 0) 0%, rgba(255, 250, 243, 0.08) 56%, rgba(255, 250, 243, 0.58) 100%),
        linear-gradient(90deg, rgba(23, 19, 15, 0.08), transparent 40%) !important;
    pointer-events: none !important;
}

main section.final-cta-section#cta .cta-bg-photo::after {
    content: "Andrea Connective" !important;
    position: absolute !important;
    right: clamp(18px, 2vw, 32px) !important;
    bottom: clamp(18px, 2vw, 32px) !important;
    padding: 10px 16px !important;
    border: 1px solid rgba(255, 250, 243, 0.54) !important;
    border-radius: 999px !important;
    background: rgba(255, 250, 243, 0.72) !important;
    color: #17130f !important;
    font-family: "Space Mono", var(--font-mono), monospace !important;
    font-size: clamp(0.62rem, 0.62vw, 0.74rem) !important;
    font-weight: 800 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    backdrop-filter: blur(14px) !important;
}

main section.final-cta-section#cta .cta-inner-card:hover .cta-bg-photo {
    transform: none !important;
    filter: saturate(1) contrast(1.03) brightness(1.06) !important;
}

main section.final-cta-section#cta .cta-content-wrap {
    position: relative !important;
    z-index: 2 !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    min-height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    padding: clamp(40px, 4.8vw, 74px) clamp(28px, 4.5vw, 72px) !important;
}

main section.final-cta-section#cta .cta-inner-card .cta-kicker {
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    width: fit-content !important;
    margin: 0 0 clamp(24px, 2.5vw, 38px) !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #17130f !important;
    font-family: "Space Mono", var(--font-mono), monospace !important;
    font-size: clamp(0.68rem, 0.7vw, 0.82rem) !important;
    font-weight: 800 !important;
    letter-spacing: 0.12em !important;
    line-height: 1.25 !important;
    text-transform: uppercase !important;
    backdrop-filter: none !important;
}

main section.final-cta-section#cta .cta-inner-card .cta-kicker::before {
    content: "" !important;
    width: 7px !important;
    height: 7px !important;
    border-radius: 50% !important;
    background: #40d7cc !important;
    box-shadow: 0 0 16px rgba(64, 215, 204, 0.58) !important;
}

main section.final-cta-section#cta .cta-inner-card .cta-kicker span {
    display: inline-grid !important;
    place-items: center !important;
    width: 36px !important;
    height: 36px !important;
    border: 1px solid rgba(23, 19, 15, 0.34) !important;
    border-radius: 50% !important;
    background: rgba(255, 250, 243, 0.78) !important;
    color: #17130f !important;
    font-size: 0.74rem !important;
    letter-spacing: 0 !important;
}

main section.final-cta-section#cta .cta-card-title {
    max-width: 13ch !important;
    margin: 0 0 clamp(22px, 2.3vw, 34px) !important;
    color: #17130f !important;
    font-family: "Sora", "Segoe UI", system-ui, sans-serif !important;
    font-size: clamp(2.85rem, 4.45vw, 5.55rem) !important;
    font-weight: 880 !important;
    line-height: 0.94 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    text-shadow: none !important;
}

main section.final-cta-section#cta .cta-card-text {
    max-width: 650px !important;
    margin: 0 0 clamp(30px, 4vw, 54px) !important;
    padding-left: clamp(18px, 2vw, 28px) !important;
    border-left: 2px solid #40d7cc !important;
    color: rgba(23, 19, 15, 0.68) !important;
    font-family: "Manrope", "Segoe UI", system-ui, sans-serif !important;
    font-size: clamp(1.02rem, 1.14vw, 1.28rem) !important;
    font-weight: 620 !important;
    line-height: 1.58 !important;
    text-align: left !important;
    text-shadow: none !important;
}

main section.final-cta-section#cta .cta-action-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 14px !important;
    flex-wrap: wrap !important;
    width: 100% !important;
    margin: 0 0 clamp(30px, 3.6vw, 50px) !important;
}

main section.final-cta-section#cta .btn-cta-light,
main section.final-cta-section#cta .btn-cta-glass {
    min-height: 58px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    padding: 16px 26px !important;
    border-radius: 999px !important;
    font-family: "Manrope", "Segoe UI", system-ui, sans-serif !important;
    font-size: clamp(0.94rem, 0.95vw, 1.04rem) !important;
    font-weight: 850 !important;
    line-height: 1.1 !important;
    text-decoration: none !important;
    transition: transform 240ms ease, background 240ms ease, border-color 240ms ease, color 240ms ease, box-shadow 240ms ease !important;
}

main section.final-cta-section#cta .btn-cta-light {
    background: #17130f !important;
    color: #fffaf3 !important;
    border: 1px solid #17130f !important;
    box-shadow: 0 16px 40px rgba(23, 19, 15, 0.18) !important;
}

main section.final-cta-section#cta .btn-cta-light:hover {
    background: #cb5b2e !important;
    border-color: #cb5b2e !important;
    color: #fffaf3 !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 18px 44px rgba(203, 91, 46, 0.24) !important;
}

main section.final-cta-section#cta .btn-cta-glass {
    background: rgba(255, 250, 243, 0.68) !important;
    color: #17130f !important;
    border: 1px solid rgba(23, 19, 15, 0.16) !important;
    box-shadow: none !important;
    backdrop-filter: blur(14px) !important;
}

main section.final-cta-section#cta .btn-cta-glass:hover {
    background: rgba(64, 215, 204, 0.14) !important;
    border-color: rgba(64, 215, 204, 0.42) !important;
    color: #17130f !important;
    transform: translateY(-3px) !important;
}

main section.final-cta-section#cta .btn-cta-light svg {
    transition: transform 240ms ease !important;
}

main section.final-cta-section#cta .btn-cta-light:hover svg {
    transform: translateX(5px) !important;
}

main section.final-cta-section#cta .cta-trust-features {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 760px !important;
    padding: 0 !important;
    border: 0 !important;
}

main section.final-cta-section#cta .trust-item {
    min-height: 72px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 9px !important;
    padding: 14px 16px !important;
    border: 1px solid rgba(23, 19, 15, 0.1) !important;
    border-radius: 18px !important;
    background: rgba(255, 250, 243, 0.58) !important;
    color: rgba(23, 19, 15, 0.72) !important;
    font-family: "Space Mono", var(--font-mono), monospace !important;
    font-size: clamp(0.62rem, 0.62vw, 0.72rem) !important;
    font-weight: 800 !important;
    letter-spacing: 0.04em !important;
    line-height: 1.35 !important;
}

main section.final-cta-section#cta .trust-item svg {
    flex: 0 0 auto !important;
    color: #cb5b2e !important;
}

@media (max-width: 1180px) {
    main section.final-cta-section#cta .cta-inner-card {
        grid-template-columns: 1fr !important;
        min-height: auto !important;
    }

    main section.final-cta-section#cta .cta-bg-photo {
        grid-column: 1 !important;
        grid-row: 2 !important;
        min-height: clamp(360px, 52vw, 560px) !important;
        background-position: center 42% !important;
    }

    main section.final-cta-section#cta .cta-content-wrap {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }

    main section.final-cta-section#cta .cta-card-title {
        max-width: 14ch !important;
    }
}

@media (max-width: 720px) {
    main section.final-cta-section#cta {
        padding-block: 88px 100px !important;
    }

    main section.final-cta-section#cta > .container {
        width: min(100% - 30px, 760px) !important;
    }

    main section.final-cta-section#cta .cta-inner-card {
        padding: 12px !important;
        border-radius: 28px !important;
    }

    main section.final-cta-section#cta .cta-inner-card::before {
        inset: 12px !important;
        border-radius: 20px !important;
    }

    main section.final-cta-section#cta .cta-content-wrap {
        padding: 34px 18px 26px !important;
    }

    main section.final-cta-section#cta .cta-inner-card .cta-kicker {
        gap: 8px !important;
        font-size: 0.62rem !important;
        letter-spacing: 0.08em !important;
    }

    main section.final-cta-section#cta .cta-inner-card .cta-kicker span {
        width: 32px !important;
        height: 32px !important;
    }

    main section.final-cta-section#cta .cta-card-title {
        max-width: 12ch !important;
        font-size: clamp(2.35rem, 11.4vw, 4rem) !important;
        line-height: 0.98 !important;
    }

    main section.final-cta-section#cta .cta-card-text {
        padding-left: 16px !important;
        font-size: 0.98rem !important;
    }

    main section.final-cta-section#cta .cta-action-wrap {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    main section.final-cta-section#cta .btn-cta-light,
    main section.final-cta-section#cta .btn-cta-glass {
        width: 100% !important;
        min-height: 54px !important;
        padding-inline: 18px !important;
        font-size: 0.92rem !important;
    }

    main section.final-cta-section#cta .cta-trust-features {
        grid-template-columns: 1fr !important;
    }

    main section.final-cta-section#cta .trust-item {
        min-height: 58px !important;
        border-radius: 16px !important;
    }

    main section.final-cta-section#cta .cta-bg-photo {
        min-height: 330px !important;
        border-radius: 22px !important;
        background-position: center 38% !important;
    }
}

/* Sistema final de subtítulos editoriales */
main .section-tag,
main .hero-editorial-kicker,
main .manifesto-kicker,
main .services-kicker,
main .system-kicker,
main .process-kicker,
main .experience-kicker,
main .value-kicker,
main .cta-kicker,
main .contact-kicker {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 11px !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin: 0 0 clamp(18px, 2vw, 28px) !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #17130f !important;
    font-family: "Manrope", "Segoe UI", system-ui, sans-serif !important;
    font-size: clamp(0.78rem, 0.82vw, 0.94rem) !important;
    font-weight: 820 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    text-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

main .section-tag::before,
main .hero-editorial-kicker::before,
main .manifesto-kicker::before,
main .services-kicker::before,
main .system-kicker::before,
main .process-kicker::before,
main .experience-kicker::before,
main .value-kicker::before,
main .cta-kicker::before,
main .contact-kicker::before {
    content: "" !important;
    flex: 0 0 auto !important;
    width: 7px !important;
    height: 7px !important;
    border-radius: 50% !important;
    background: #40d7cc !important;
    box-shadow: 0 0 16px rgba(64, 215, 204, 0.52) !important;
}

main .section-tag > span,
main .hero-editorial-kicker > span,
main .manifesto-kicker > span,
main .services-kicker > span,
main .system-kicker > span,
main .process-kicker > span,
main .experience-kicker > span,
main .value-kicker > span,
main .cta-kicker > span,
main .contact-kicker > span {
    flex: 0 0 auto !important;
    display: inline-grid !important;
    place-items: center !important;
    width: 36px !important;
    height: 36px !important;
    padding: 0 !important;
    border: 1px solid rgba(23, 19, 15, 0.3) !important;
    border-radius: 50% !important;
    background: rgba(255, 250, 243, 0.72) !important;
    color: #17130f !important;
    font-family: "Space Mono", var(--font-mono), monospace !important;
    font-size: 0.72rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
}

main .system-route-kicker,
main .diff-showcase-tag,
main .portrait-tag {
    display: inline-flex !important;
    align-items: center !important;
    gap: 9px !important;
    width: fit-content !important;
    max-width: 100% !important;
    color: #cb5b2e !important;
    font-family: "Manrope", "Segoe UI", system-ui, sans-serif !important;
    font-size: clamp(0.72rem, 0.72vw, 0.84rem) !important;
    font-weight: 820 !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    text-shadow: none !important;
}

main .system-route-kicker::before,
main .diff-showcase-tag::before,
main .portrait-tag::before {
    content: "" !important;
    width: 6px !important;
    height: 6px !important;
    border-radius: 50% !important;
    background: #cb5b2e !important;
    flex: 0 0 auto !important;
}

main .section-intro,
main .experience-subtext,
main .contact-intro-text,
main .manifesto-lead {
    color: rgba(23, 19, 15, 0.66) !important;
    font-family: "Manrope", "Segoe UI", system-ui, sans-serif !important;
    letter-spacing: 0 !important;
}

@media (max-width: 720px) {
    main .section-tag,
    main .hero-editorial-kicker,
    main .manifesto-kicker,
    main .services-kicker,
    main .system-kicker,
    main .process-kicker,
    main .experience-kicker,
    main .value-kicker,
    main .cta-kicker,
    main .contact-kicker {
        gap: 8px !important;
        font-size: 0.72rem !important;
        line-height: 1.25 !important;
    }

    main .section-tag > span,
    main .hero-editorial-kicker > span,
    main .manifesto-kicker > span,
    main .services-kicker > span,
    main .system-kicker > span,
    main .process-kicker > span,
    main .experience-kicker > span,
    main .value-kicker > span,
    main .cta-kicker > span,
    main .contact-kicker > span {
        width: 33px !important;
        height: 33px !important;
        font-size: 0.68rem !important;
    }
}

main section.final-cta-section#cta .cta-inner-card .cta-kicker {
    color: #17130f !important;
    font-family: "Manrope", "Segoe UI", system-ui, sans-serif !important;
    font-size: clamp(0.78rem, 0.82vw, 0.94rem) !important;
    font-weight: 820 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

@media (max-width: 720px) {
    main section.final-cta-section#cta .cta-inner-card .cta-kicker {
        font-size: 0.72rem !important;
    }
}

/* Enhanced Footer Typography */
.footer-bottom {
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: rgba(248, 243, 234, 0.85) !important;
  border-top: 1px solid rgba(248, 243, 234, 0.12) !important;
  padding-top: 24px !important;
  margin-top: 32px !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
}

.footer-bottom p {
  font-size: 14px !important;
  margin: 0 !important;
}

.visual-creative-direction {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: rgba(248, 243, 234, 0.9) !important;
}

.visual-creative-direction strong {
  color: #40d7cc !important;
}


/* ==========================================================================
   FONDO UNICO COMPARTIDO / ROUTE 01 LIGHT CONTINUITY
   ========================================================================== */
html,
body {
    background-color: #f8f3ea !important;
    background:
        linear-gradient(115deg, rgba(255, 250, 243, 0.96) 0%, rgba(248, 243, 234, 0.92) 34%, rgba(238, 247, 239, 0.88) 100%),
        radial-gradient(1400px 820px at 82% 10%, rgba(47, 169, 161, 0.16), transparent 58%),
        radial-gradient(1200px 760px at 9% 32%, rgba(201, 89, 46, 0.12), transparent 54%),
        radial-gradient(1300px 840px at 78% 72%, rgba(47, 169, 161, 0.12), transparent 58%),
        radial-gradient(950px 680px at 18% 92%, rgba(201, 89, 46, 0.08), transparent 52%),
        #f8f3ea !important;
    background-attachment: fixed !important;
    background-repeat: no-repeat !important;
    color: #17130f !important;
}

main {
    position: relative !important;
    background: transparent !important;
    isolation: isolate !important;
}

main::before {
    content: "" !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: -1 !important;
    pointer-events: none !important;
    background:
        linear-gradient(180deg, rgba(255, 250, 243, 0.7), rgba(255, 250, 243, 0) 26%, rgba(255, 250, 243, 0.4) 100%),
        radial-gradient(900px 620px at 68% 18%, rgba(64, 215, 204, 0.08), transparent 62%),
        radial-gradient(780px 560px at 26% 58%, rgba(203, 91, 46, 0.07), transparent 64%);
}

main > .hero-section,
main > .statement-section,
main > .services-section,
main > section.system-section,
main > .process-section,
main > .experience-section,
main > .differentials-section,
main > .final-cta-section,
main > .contact-section {
    background: transparent !important;
    background-image: none !important;
    background-color: transparent !important;
    border-top-color: transparent !important;
    border-bottom-color: transparent !important;
}

main > .hero-section + section,
main > section + section {
    border-top-color: transparent !important;
}

body main > section.hero-section#inicio,
body main > section.statement-section#manifiesto,
body main > section.services-section#servicios,
body main > section.system-route-section#sistema,
body main > section.process-section#metodo,
body main > section.experience-section#experiencia,
body main > section.differentials-section#diferenciales,
body main > section.final-cta-section#cta,
body main > section.contact-section#contacto {
    background: transparent !important;
    background-image: none !important;
    background-color: transparent !important;
    border-top-color: transparent !important;
    border-bottom-color: transparent !important;
    box-shadow: none !important;
}

body main > section.hero-section#inicio::before,
body main > section.hero-section#inicio::after,
body main > section.statement-section#manifiesto::before,
body main > section.statement-section#manifiesto::after,
body main > section.services-section#servicios::before,
body main > section.services-section#servicios::after,
body main > section.system-route-section#sistema::before,
body main > section.system-route-section#sistema::after,
body main > section.process-section#metodo::before,
body main > section.process-section#metodo::after,
body main > section.experience-section#experiencia::before,
body main > section.experience-section#experiencia::after,
body main > section.differentials-section#diferenciales::before,
body main > section.differentials-section#diferenciales::after,
body main > section.final-cta-section#cta::before,
body main > section.final-cta-section#cta::after,
body main > section.contact-section#contacto::before,
body main > section.contact-section#contacto::after {
    background: none !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
}


/* ==========================================================================
   HIGH-CONTRAST FOOTER TYPOGRAPHY & CREDITS (LIGHT THEME COMPLIANCE)
   ========================================================================== */
.main-footer .footer-bottom,
.main-footer .footer-bottom p,
.main-footer .copyright,
.main-footer .visual-creative-direction {
    color: #17130f !important;
    opacity: 0.88 !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
}

.main-footer .visual-creative-direction .footer-synergy-link,
.main-footer .footer-bottom a {
    color: #0d8c82 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.main-footer .visual-creative-direction .footer-synergy-link:hover,
.main-footer .footer-bottom a:hover {
    color: #cb5b2e !important;
    text-decoration: underline !important;
}
