.lead-flow { width:100%; min-width:0; border:1px solid var(--cumbre-line); background:var(--cumbre-bg); box-shadow:8px 8px 0 rgba(56,49,42,.06); }
.flow-heading { padding:18px 20px; background:var(--cumbre-ink); color:var(--cumbre-bg); display:flex; gap:12px; justify-content:space-between; align-items:center; }
.flow-kicker { font:500 .72rem var(--font-mono); }
.flow-example { font-size:.65rem; white-space:nowrap; color:#e0d4c5; }
.flow-path { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-bottom:1px solid var(--cumbre-line); }
.flow-path button { border:0; border-right:1px solid var(--cumbre-line); padding:14px 8px; min-height:58px; background:var(--cumbre-bg-2); color:var(--cumbre-ink-soft); font:500 .76rem var(--font-body); cursor:pointer; }
.flow-path button:last-child { border-right:0; }
.flow-path span { display:block; font:500 .62rem var(--font-mono); margin-bottom:4px; }
.flow-path button[aria-current=step] { background:#e7ecdf; color:#3f5736; box-shadow:inset 0 -3px #536947; }
.flow-screen { padding:24px; min-height:375px; }
.flow-screen [hidden] { display:none; }
.flow-eyebrow { font:500 .62rem var(--font-mono); color:var(--cumbre-accent-strong); text-transform:uppercase; margin:0 0 10px; }
.flow-screen h2 { font-size:clamp(1.1rem,1.7vw,1.4rem); line-height:1.25; text-transform:none; margin:0 0 18px; }
.flow-channels { display:flex; gap:8px; margin-bottom:18px; }
.flow-channels button { padding:10px 15px; min-height:44px; border:1px solid var(--cumbre-line); background:transparent; font:500 .75rem var(--font-body); color:var(--cumbre-ink); cursor:pointer; }
.flow-channels button[aria-pressed=true] { background:var(--cumbre-ink); color:var(--cumbre-bg); }
.flow-chat { display:grid; gap:12px; }
.flow-message { padding:13px 15px; font-size:.87rem; line-height:1.5; max-width:94%; margin:0; }
.flow-message small { display:block; font-size:.65rem; margin-bottom:5px; opacity:.8; }
.flow-message.client { background:var(--cumbre-bg-2); justify-self:end; border:1px solid var(--cumbre-line); border-radius:8px 8px 0 8px; }
.flow-message.assistant { background:#e7ecdf; border-radius:8px 8px 8px 0; }
.flow-hint { font-size:.75rem; color:var(--cumbre-ink-soft); line-height:1.5; margin-top:16px; }
.flow-summary { display:grid; gap:5px; background:var(--cumbre-bg-2); padding:12px 14px; font-size:.8rem; }
.flow-fields { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:16px 0; }
.flow-fields label { font-size:.73rem; display:grid; gap:6px; min-width:0; }
.flow-fields select { width:100%; min-width:0; min-height:46px; padding:10px 6px; border:1px solid var(--cumbre-line); background:var(--cumbre-bg); color:var(--cumbre-ink); font:inherit; }
.flow-crm { border:1px solid var(--cumbre-line); }
.flow-crm-top { padding:14px; border-bottom:1px solid var(--cumbre-line); display:flex; align-items:start; gap:10px; justify-content:space-between; }
.flow-crm-top small { font:500 .55rem var(--font-mono); }
.flow-crm h3 { font-size:.95rem; line-height:1.35; margin-top:7px; }
.flow-priority { padding:5px 7px; font-size:.6rem; white-space:nowrap; background:#e7ecdf; color:#3f5736; }
.flow-crm dl { padding:12px 14px; display:grid; gap:7px; margin:0; font-size:.77rem; }
.flow-crm dl>div { display:grid; grid-template-columns:95px 1fr; gap:8px; }
.flow-crm dt { color:var(--cumbre-ink-soft); }
.flow-crm dd { margin:0; }
.flow-owner { padding:12px 14px; background:var(--cumbre-bg-2); font-size:.75rem; display:grid; gap:5px; }
.flow-controls { display:flex; align-items:center; justify-content:space-between; gap:12px; border-top:1px solid var(--cumbre-line); padding:16px 20px; }
.flow-controls span { font:400 .65rem var(--font-mono); white-space:nowrap; }
.flow-controls button { min-height:46px; padding:12px 14px; border:0; background:#536947; color:white; font:500 .72rem var(--font-mono); cursor:pointer; }
.flow-disclaimer { margin:0; padding:0 20px 16px; color:var(--cumbre-ink-soft); font-size:.62rem; }
.lead-flow button:focus-visible,.lead-flow select:focus-visible { outline:3px solid var(--cumbre-accent); outline-offset:3px; }
.mobile-contact { display:none; }
@media(max-width:860px) {
 .mobile-contact { display:inline-flex; min-height:44px; align-items:center; padding:10px 14px; background:var(--cumbre-accent); color:white; font:500 .72rem var(--font-mono); }
 .hero-l { padding-top:32px; padding-bottom:32px; }
 .hero-r { padding-top:24px; padding-bottom:32px; }
 .hero-title { font-size:clamp(2rem,7vw,3rem); }
 .hero-lead { font-size:1rem; margin-top:20px; }
 .hero-ctas { margin-top:24px; }
}
@media(max-width:480px) {
 .brand-logo { font-size:1.25rem; gap:8px; }
 .brand-logo .logo-mark { width:30px; height:30px; }
 .hero-ctas { flex-direction:column; align-items:stretch; }
 .hero-ctas .btn { justify-content:center; }
 .flow-heading { padding:14px; }
 .flow-kicker { max-width:20ch; line-height:1.5; }
 .flow-screen { padding:18px 14px; min-height:390px; }
 .flow-crm-top { flex-direction:column; }
 .flow-controls { padding:14px; flex-wrap:wrap; }
 .flow-controls button { flex:1; }
 .flow-fields { grid-template-columns:1fr; }
 .flow-disclaimer { padding-inline:14px; line-height:1.5; }
}
