/* KALKORA Labs · página Núcleo Agentes (2026-10-05). Usa tokens de styles.css. */
.ag-kick{font:500 13px/1.4 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--green)}
.ag-light .ag-kick{color:var(--green-deep)}
.ag-hero{padding:clamp(64px,9vw,128px) 0 clamp(56px,7vw,96px)}
.ag-hero h1{margin-top:var(--s3);font-size:clamp(40px,6.2vw,92px);line-height:.98;letter-spacing:-.045em;color:var(--white);max-width:15ch}
.ag-hero h1 .accent{color:var(--green)}
.ag-hero .lede{margin-top:var(--s3);color:var(--mist);max-width:56ch;font-size:clamp(18px,1.7vw,21px)}
.ag-hero .lede strong{color:var(--white);font-weight:500}
.ag-hero .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:var(--s4)}
.ag-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:var(--s4)}
.ag-pills li{font:500 12px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:9px 12px;border-radius:8px;background:var(--ink-2);color:#E3E9EE;border:1px solid var(--line-dark)}
.ag-sec{padding:var(--s6) 0}
.ag-sec .h2{margin-top:var(--s2);font-size:clamp(32px,4vw,54px);line-height:1.02;letter-spacing:-.035em}
.band-ink .h2{color:var(--white)}
.ag-sec .lede{margin-top:var(--s2);max-width:62ch}
.band-ink .lede{color:var(--mist)}
.ag-light{background:var(--paper)}

/* flujo de trabajo */
.flow-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(20px,3vw,36px);margin-top:var(--s5);align-items:stretch}
.flow-stage{position:relative;background:linear-gradient(180deg,#0B151D,#0E1A24);border:1px solid var(--line-dark);border-radius:18px;padding:clamp(10px,1.6vw,18px);overflow:hidden}
.flow-stage svg{display:block;width:100%;height:auto}
.flow-stage .edge{fill:none;stroke:rgba(201,210,218,.18);stroke-width:2;transition:stroke .35s}
.flow-stage .edge.on{stroke:var(--green);stroke-width:3;filter:drop-shadow(0 0 6px rgba(43,196,138,.7))}
.flow-stage .edge.amber.on{stroke:#E8A33D;filter:drop-shadow(0 0 6px rgba(232,163,61,.7))}
.flow-stage .nd rect,.flow-stage .nd circle.body{fill:#16283A;stroke:rgba(201,210,218,.28);stroke-width:2;transition:stroke .3s,fill .3s}
.flow-stage .nd text{fill:#E3E9EE;font:500 22px var(--mono);letter-spacing:.04em;text-transform:uppercase;text-anchor:middle;dominant-baseline:middle}
.flow-stage .nd text.sm{font:400 17px var(--sans);letter-spacing:0;text-transform:none;fill:var(--mist)}
.flow-stage .nd.human rect{stroke:rgba(232,163,61,.7);stroke-dasharray:7 6;fill:#1B2430}
.flow-stage .nd.human text{fill:#F4D7A6}
.flow-stage .nd.on rect,.flow-stage .nd.on circle.body{stroke:var(--green);fill:#173041}
.flow-stage .nd.human.on rect{stroke:#E8A33D;fill:#2A2A22}
.flow-stage .nd.ceo circle.body{fill:#0B151D;stroke:rgba(43,196,138,.6)}
.flow-stage .nd.ceo text.big{font:600 44px var(--sans);fill:var(--white);letter-spacing:-.02em;text-transform:none}
.flow-stage .nd.ceo text.big tspan{fill:var(--green)}
.flow-stage .packet{fill:var(--green);filter:drop-shadow(0 0 8px rgba(43,196,138,.9))}
.flow-stage .packet.amber{fill:#E8A33D;filter:drop-shadow(0 0 8px rgba(232,163,61,.9))}
.flow-stage .ring{fill:none;stroke:var(--green);stroke-width:2;opacity:0}
.flow-stage .badge{font:600 20px var(--mono);letter-spacing:.06em;text-transform:uppercase}
.flow-cap{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:10px;padding:0 4px}
.flow-cap p{font-size:15px;color:#E3E9EE;min-height:1.5em}
.flow-cap p b{color:var(--green);font:500 12px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;margin-right:8px}
.flow-btn{font:500 12px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;background:transparent;color:var(--mist);border:1px solid var(--line-dark);padding:9px 12px;border-radius:8px;cursor:pointer}
.flow-btn:hover{color:var(--white);border-color:var(--mist)}
.flow-log{background:var(--ink-2);border:1px solid var(--line-dark);border-radius:18px;padding:20px;display:flex;flex-direction:column;min-height:100%}
.flow-log h3{font:500 12px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mist);display:flex;justify-content:space-between;gap:8px}
.flow-log h3 span{color:var(--green)}
.flow-log ol{list-style:none;margin-top:14px;display:grid;gap:8px;align-content:start}
.flow-log li{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start;padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);font-size:14px;color:#E3E9EE;animation:log-in .5s var(--out)}
.flow-log li time{font:500 12px/1.6 var(--mono);color:var(--mist)}
.flow-log li em{font-style:normal;display:block;font:500 11px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--mist)}
.chip{font:500 10.5px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:5px 7px;border-radius:5px;white-space:nowrap}
.c-g{background:rgba(43,196,138,.15);color:#7FE3B9}.c-y{background:rgba(232,163,61,.16);color:#F4C67A}.c-h{background:rgba(201,210,218,.12);color:#DDE5EB}.c-r{background:rgba(229,100,106,.16);color:#FFB4B7}
.flow-log .note{margin-top:auto;padding-top:14px;font-size:13px;color:var(--mist)}
@keyframes log-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media (max-width:980px){.flow-grid{grid-template-columns:1fr}.flow-cap{position:static;margin-top:10px}}

/* oficinas */
.offices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s2);margin-top:var(--s5)}
.office{position:relative;overflow:hidden;background-color:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;transition:transform .35s var(--out),box-shadow .35s var(--out)}
.office:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.office .on-dot{display:flex;justify-content:space-between;font:500 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--slate-2)}
.office .on-dot span:last-child{color:var(--green-deep)}
.office h3{margin:14px 0 4px;font-size:20px}
.office p{font-size:14.5px;color:var(--slate)}
.office ul{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.office li{font-size:12.5px;padding:4px 9px;border-radius:999px;border:1px solid var(--line);color:var(--slate)}
.office.ceo{grid-column:1/-1;background:var(--ink);color:var(--white);border-color:var(--ink);display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center}
.office.ceo .mono{width:88px;height:88px;border-radius:50%;display:grid;place-items:center;font-size:36px;font-weight:600;box-shadow:0 0 0 1px rgba(43,196,138,.6),0 0 40px -6px rgba(43,196,138,.6)}
.office.ceo .mono span{color:var(--green)}
.office.ceo p{color:var(--mist)}
.office.ceo h3{color:var(--white);margin-top:0}
.office.audit{border-color:#EBC98D;background-color:#FFFBF2}
@media (max-width:1000px){.offices{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.offices{grid-template-columns:1fr}.office.ceo{grid-template-columns:1fr}}

/* niveles y reglas */
.levels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s2);margin-top:var(--s5)}
.lv{background-color:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;position:relative;overflow:hidden}
.lv .n{font:600 40px/1 var(--sans);color:var(--green-deep);letter-spacing:-.03em}
.lv h3{margin:12px 0 6px;font-size:19px}
.lv p{font-size:14.5px;color:var(--slate)}
.lv .bar{height:6px;border-radius:3px;background:var(--line);margin-top:18px;overflow:hidden}
.lv .bar i{display:block;height:100%;background:var(--green);transform-origin:left;transform:scaleX(0);transition:transform 1.2s var(--out)}
.lv.in .bar i{transform:scaleX(var(--w))}
.lv:nth-child(1){--w:.2}.lv:nth-child(2){--w:.45}.lv:nth-child(3){--w:.72}.lv:nth-child(4){--w:1}
.rules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s2);margin-top:var(--s2)}
.rule{background-color:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;position:relative;overflow:hidden}
.rule h3{display:flex;gap:10px;align-items:center;font-size:18px}
.rule h3 i{width:12px;height:12px;border-radius:50%;flex:none}
.rule.g h3 i{background:var(--green)}.rule.y h3 i{background:#E8A33D}.rule.r h3 i{background:#E5646A}
.rule p{margin-top:8px;font-size:14.5px;color:var(--slate)}
@media (max-width:1000px){.levels{grid-template-columns:repeat(2,minmax(0,1fr))}.rules{grid-template-columns:1fr}}
@media (max-width:560px){.levels{grid-template-columns:1fr}}

/* panel */
.panel{margin-top:var(--s5);border-radius:18px;overflow:hidden;border:1px solid var(--line-dark);background:#0B151D;box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.pbar{display:flex;align-items:center;gap:14px;padding:14px 18px;border-bottom:1px solid var(--line-dark);flex-wrap:wrap}
.pbar .plogo{font:600 15px/1 var(--sans);color:var(--white)}
.pbar .plogo span{color:var(--green)}
.ptabs{display:flex;gap:4px;flex-wrap:wrap}
.ptabs button{font:500 12px/1 var(--mono);letter-spacing:.05em;text-transform:uppercase;background:transparent;color:var(--mist);border:1px solid transparent;padding:9px 11px;border-radius:8px;cursor:pointer}
.ptabs button[aria-selected="true"]{color:var(--white);border-color:var(--line-dark);background:var(--ink-2)}
.pkill{margin-left:auto;font:600 12px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;background:transparent;color:#FFB4B7;border:1px solid rgba(229,100,106,.6);padding:9px 12px;border-radius:8px;cursor:pointer}
.pkill.paused{background:#E5646A;color:var(--ink)}
.pbody{padding:20px 18px;color:#E3E9EE;min-height:300px}
.pdemo{font:500 10.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#E8A33D;margin-bottom:14px}
.pstats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px}
.pstat{background:var(--ink-2);border:1px solid var(--line-dark);border-radius:12px;padding:14px}
.pstat b{display:block;font:600 26px/1.1 var(--sans);color:var(--white)}
.pstat span{font-size:12.5px;color:var(--mist)}
.ptable{width:100%;border-collapse:collapse;font-size:13.5px}
.ptable th{font:500 10.5px/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mist);text-align:left;padding:8px 10px;border-bottom:1px solid var(--line-dark)}
.ptable td{padding:10px;border-bottom:1px solid rgba(255,255,255,.06);vertical-align:top}
.pact{display:flex;gap:6px;flex-wrap:wrap}
.pact button{font:500 11px/1 var(--mono);text-transform:uppercase;letter-spacing:.05em;padding:6px 8px;border-radius:6px;border:1px solid var(--line-dark);background:var(--ink-2);color:#E3E9EE;cursor:pointer}
.pact button.ok{border-color:var(--green);color:var(--green)}
.pact button:disabled{opacity:.6;cursor:default}
.ppane[hidden]{display:none}
@media (max-width:700px){.pstats{grid-template-columns:repeat(2,minmax(0,1fr))}.hide-s{display:none}.pkill{margin-left:0}.ptable{font-size:12.5px}}

/* fases y cierre */
.phases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s2);margin-top:var(--s5);counter-reset:ph}
.phase{position:relative;overflow:hidden;background-color:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px}
.phase .n{font:500 12px/1 var(--mono);letter-spacing:.12em;color:var(--green-deep);text-transform:uppercase}
.phase h3{margin:12px 0 10px;font-size:22px}
.phase ul{display:grid;gap:6px;font-size:15px;color:var(--slate)}
.phase li::before{content:"→ ";color:var(--green-deep)}
.phase .out{margin-top:16px;padding-top:12px;border-top:1px solid var(--line);font-size:14.5px}
.phase .out b{display:block;font:500 11px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--slate-2)}
@media (max-width:900px){.phases{grid-template-columns:1fr}}
.ag-cta{padding:var(--s6) 0;text-align:left}
.ag-cta .h2{max-width:20ch}
.ag-cta .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:var(--s4)}
.ag-fine{margin-top:var(--s3);font-size:14px;color:var(--mist);max-width:70ch}
.office.ceo .mono{display:flex;align-items:center;justify-content:center;gap:2px}
.office.audit{grid-column:1/-1}
.flow-stage .nd text.sp{font-size:19px}
@media (max-width:640px){.flow-stage .nd text.sm{display:none}}

/* ---------- v8: subnavegación de la landing ---------- */
.ag-subnav{position:sticky;top:72px;z-index:30;background:rgba(245,243,238,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.ag-subnav .wrap{display:flex;gap:6px 22px;align-items:center;overflow-x:auto;scrollbar-width:none;padding-top:10px;padding-bottom:10px}
.ag-subnav .wrap::-webkit-scrollbar{display:none}
.ag-subnav a{font:500 13px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--slate);text-decoration:none;white-space:nowrap;padding:10px 0}
.ag-subnav a:hover,.ag-subnav a[aria-current="true"]{color:var(--ink);box-shadow:inset 0 -2px 0 var(--green-deep)}
.ag-subnav .ag-subcta{margin-left:auto;color:var(--green-deep)}
@media (max-width:920px){.ag-subnav{top:64px}.ag-subnav .ag-subcta{display:none}}

/* ---------- v8: agentes por departamento ---------- */
.dep{display:grid;grid-template-columns:220px minmax(0,1fr);gap:var(--s3);margin-top:var(--s4);align-items:start}
.dep-tabs{display:flex;flex-direction:column;gap:6px;position:sticky;top:140px}
.dep-tabs button{text-align:left;font:500 16px/1.2 var(--sans);padding:13px 16px;border-radius:10px;border:1px solid var(--line);background:var(--white);color:var(--slate);cursor:pointer;transition:background .2s,color .2s,border-color .2s;min-height:44px}
.dep-tabs button:hover{border-color:var(--green-deep);color:var(--ink)}
.dep-tabs button[aria-selected="true"]{background:var(--ink);color:var(--white);border-color:var(--ink);box-shadow:inset 3px 0 0 var(--green)}
.dep-tabs button:focus-visible{outline:3px solid var(--green-deep);outline-offset:2px}
.dpanel{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:clamp(22px,2.6vw,34px)}
.dpanel[hidden]{display:none}
.dp-head h3{font-size:clamp(24px,2.4vw,32px);letter-spacing:-.02em}
.dp-head p{margin-top:6px;color:var(--slate);font-size:15px}
.dp-flow{display:flex;gap:8px;margin:18px 0 22px;counter-reset:f;flex-wrap:wrap}
.dp-flow li{font:500 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:9px 12px;border-radius:999px;border:1px solid var(--line);color:var(--slate-2);position:relative}
.dp-flow li+li::before{content:"→";position:absolute;left:-12px;top:50%;transform:translateY(-50%);color:var(--slate-2);font-family:var(--sans)}
.dp-flow li+li{margin-left:8px}
.dag-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.dag{border:1px solid var(--line);border-radius:14px;padding:18px;background:linear-gradient(180deg,#FBFAF7,#fff)}
.dag-n{font:600 17px/1.25 var(--sans);color:var(--ink);margin-bottom:10px}
.dag-do,.dag-ap,.dp-never{display:grid;grid-template-columns:12px 1fr;gap:10px;font-size:14.5px;color:var(--slate);align-items:start}
.dag-ap{margin-top:10px}
.dag-ap span,.dp-never span{font-weight:600;color:var(--ink)}
.dag i,.dp-never i{width:10px;height:10px;border-radius:50%;margin-top:6px}
i.g{background:var(--green)}i.y{background:#E8A33D}i.r{background:#E5646A}
.dp-never{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.dp-kpi{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.dp-kpi li{font-size:13px;padding:6px 11px;border-radius:999px;background:var(--green-wash);color:var(--green-deep);font-weight:500}
.dp-kpi::before{content:"Qué medimos";font:500 11px/2.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--slate-2);margin-right:6px}
.dep-audit{margin-top:var(--s3);font-size:15px;color:var(--slate);max-width:80ch}
@media (prefers-reduced-motion:no-preference){
  .dpanel.in-anim .dag{animation:dag-in .5s var(--out) both}
  .dpanel.in-anim .dag:nth-child(2){animation-delay:.08s}.dpanel.in-anim .dag:nth-child(3){animation-delay:.16s}
  .dp-flow li{animation:flow-step 4s ease-in-out infinite}
  .dp-flow li:nth-child(2){animation-delay:1s}.dp-flow li:nth-child(3){animation-delay:2s}.dp-flow li:nth-child(4){animation-delay:3s}
}
@keyframes dag-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes flow-step{0%,20%{background:var(--ink);color:var(--white);border-color:var(--ink)}30%,100%{background:transparent;color:var(--slate-2);border-color:var(--line)}}
.dp-flow li:nth-child(3){border-color:#EBC98D}
@media (max-width:980px){.dep{grid-template-columns:1fr}.dep-tabs{position:static;flex-direction:row;flex-wrap:wrap}.dep-tabs button{padding:10px 14px;font-size:15px}.dag-grid{grid-template-columns:1fr}}

.ag-sec,#flujo{scroll-margin-top:136px}
