/* DBH 1.1: conservar la identidad, aclarar el sistema y los módulos. */
.system-manifesto { line-height: 1.9; }
.dbh-flow { margin: 0; grid-column: 1 / -1; }
.dbh-flow figcaption { font: 500 1.5rem/1.4 Manrope, sans-serif; letter-spacing: -.025em; margin-bottom: 24px; }
.flow-route { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px 24px; counter-reset: flow; }
.flow-route li { position: relative; border-top: 2px solid #a4b9ad; padding: 20px 18px 22px; background: #e9eee6; counter-increment: flow; min-width: 0; }
.flow-route li::before { content: '0' counter(flow); display: block; font-size: .8rem; color: #526a5a; margin-bottom: 16px; }
.flow-route li:not(:last-child)::after { content: '→'; position: absolute; right: -19px; top: 50%; color: #497061; }
.flow-route strong, .flow-route span { display: block; }
.flow-route strong { font-size: 1.05rem; font-weight: 600; }
.flow-route span { font-size: .85rem; color: #526452; margin-top: 6px; }
.flow-route .flow-goal { background: var(--orange); border-color: var(--ink); }
.flow-route li:nth-child(4)::after { content: '↓'; right: 15px; top: auto; bottom: -23px; }
.flow-note { font-size: .85rem; line-height: 1.7; color: #536552; margin: 20px 0 0; max-width: 960px; }
.system-flow { margin-top: -15px; }
.businesses { display: grid; grid-template-columns: 1fr 1.15fr; gap: 8%; background: #e8eee5; border-top: 1px solid var(--line); }
.businesses h2 { font-size: clamp(32px, 3.1vw, 48px); }
.business-lead { font-size: 1.2rem; line-height: 1.6; }
.businesses .button { margin-top: 14px; }
.team .team-intro h2 { font-size: clamp(32px, 3.1vw, 48px); }
.team-flow { padding-top: 35px; border-top: 1px solid #485149; }
.team-flow figcaption span { font: 400 1rem/1.6 'DM Sans', sans-serif; letter-spacing: 0; color: #bdc8bf; }
.team-route { padding: 0; margin: 30px 0 0; list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 25px; }
.team-route li { padding: 22px 15px; border: 1px solid #65776d; text-align: center; position: relative; }
.team-route li:not(:last-child)::after { content: '→'; position: absolute; right: -21px; color: var(--aqua); }
.team-route .router { border-color: var(--aqua); color: var(--aqua); }
.team-route .router::after { content: '↓'; position: absolute; bottom: -30px; left: 50%; color: var(--aqua); }
.router span { display: block; font-size: .8rem; margin-top: 5px; }
.advisor-branches { border-top: 1px solid #70d8d17a; margin: 35px 10% 0; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 25px; }
.advisor-branches>div { text-align: center; position: relative; padding: 32px 8px 0; }
.advisor-branches>div::before { content: ''; width: 1px; height: 20px; background: var(--aqua); position: absolute; top: 0; left: 50%; }
.advisor-branches strong { font-weight: 500; display: block; }
.advisor-branches span { display: block; font-size: .85rem; color: #bdc8bf; margin-top: 8px; }
.team-flow .flow-note { color: #bdc8bf; }
.team-custom { grid-column: 1/-1; display: flex; align-items: center; justify-content: space-between; gap: 35px; }
.team-custom p { max-width: 580px; margin: 0; color: #bdc8bf; }
.team-custom .button { flex-shrink: 0; font-size: .9rem; gap: 20px; }
.price { font-size: clamp(30px, 2.8vw, 40px); }
.price span { display: block; margin-top: 7px; font-size: .85rem; }
.team-modules strong { font-size: 27px; }
.comparison-price { background: #edf2e8; font-weight: 600; }
.campaign-limits td { white-space: normal; min-width: 140px; }
@media(max-width:1000px) { .team-custom { flex-direction: column; align-items: start; } }
@media(max-width:800px) { .businesses { grid-template-columns: 1fr; gap: 20px; } .flow-route { grid-template-columns: repeat(2,minmax(0,1fr)); } .flow-route li { padding: 16px 12px; } .team-route { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; } .team-route li { font-size: .9rem; } .advisor-branches { margin-left: 0; margin-right: 0; gap: 5px; } .advisor-branches span { font-size: .75rem; } .team-custom .button, .businesses .button { max-width: 100%; white-space: normal; } .system-flow { margin-top: 0; } .team-flow { margin-top: 0; } }
@media(prefers-reduced-motion:no-preference) { .dbh-flow li { transition: border-color .25s, background .25s; } .flow-route li:hover { border-color: #24867b; background: #dcece5; } .flow-route li.flow-goal:hover { background: #ffa66f; } }
@media(max-width:800px) { .flow-route li:nth-child(2n):not(:last-child)::after, .team-route li:nth-child(2)::after { content: '↓'; right: 12px; top: auto; bottom: -23px; } }

/* La numeración continúa en la siguiente fila, sin saltar etapas. */
.flow-route li:nth-child(4)::after { content: none; }
@media(max-width:800px) { .flow-route li:nth-child(2n)::after, .team-route li:nth-child(2)::after { content: none; } }

@media(max-width:800px) { .flow-route li:nth-child(2n):not(:last-child)::after { content: none; } }

.team { row-gap: 40px; }
