/* Capítulo 01 · PMV Agency: una pantalla, acceso por clics */
#agencia{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;padding:88px 0 40px;
  background:radial-gradient(800px 520px at 85% 10%,rgba(0,180,255,.1),transparent 65%),radial-gradient(700px 480px at 5% 95%,rgba(122,33,233,.14),transparent 65%),var(--bg)}
.ag{display:grid;gap:clamp(20px,3.5vh,36px);width:min(1240px,100%)}
.ag .h2{font-size:clamp(1.8rem,3.2vw,2.8rem)}
.ag-head{display:grid;gap:12px}
.ag-head .h2{text-wrap:balance;max-width:none}
.ag-chap{display:flex;align-items:center;gap:14px;font-size:.85rem;font-weight:700;color:var(--muted)}
.ag-chap b{font-size:.95rem;color:#fff}
.ag-chap::after{content:"";width:40px;height:2px;border-radius:2px;background:var(--universe)}
.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.tile{display:grid;align-content:space-between;gap:26px;min-height:clamp(112px,15vh,140px);padding:18px 22px 16px;gap:18px;text-align:left;width:100%;transition:translate .45s var(--ease),border-color .3s,background .3s}
.tile:hover{translate:0 -4px;border-color:rgba(255,255,255,.26);background:var(--surface-2)}
.tile-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.tile-n{font-size:.8rem;font-weight:700;color:var(--muted-2)}
.tile-go{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;transition:border-color .35s,background .35s,rotate .35s var(--ease)}
.tile-go svg{width:16px;height:16px}
.tile:hover .tile-go{background:var(--cta);border-color:transparent;rotate:-45deg}
.tile h3{font-size:clamp(1.15rem,1.8vw,1.4rem);font-weight:800;letter-spacing:-.03em;line-height:1.15}
.tile p{margin-top:6px;color:var(--muted);font-size:.88rem;line-height:1.45}
.tile-stat{display:flex;flex-direction:column;align-items:flex-start;gap:6px;font-size:clamp(2rem,3.4vw,2.8rem);font-weight:800;letter-spacing:-.05em;line-height:1;background:var(--growth);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:10px}
.tile-stat small.tile-sl{font-size:.8rem;white-space:nowrap;font-weight:700;letter-spacing:0;color:var(--muted);-webkit-text-fill-color:var(--muted)}
.tile-stat .big{display:flex;align-items:baseline;gap:8px}
.tile-stat .big small{font-size:1rem;font-weight:700;letter-spacing:0;color:var(--muted);-webkit-text-fill-color:var(--muted)}
.tile p{min-height:1.5em}

/* Contenido de popups */
.qs-st{font-size:clamp(1rem,1.6vw,1.2rem);font-weight:600;line-height:1.45;letter-spacing:-.01em;max-width:60em;margin-bottom:16px;color:var(--muted)}
.vt{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.vt-c{padding:20px;display:grid;gap:12px;align-content:start;border-top:3px solid var(--c)}
.vt-c h3{font-size:1.15rem;font-weight:800;letter-spacing:-.03em}
.vt-c p{color:var(--muted);font-size:.9rem}
.vt-tools{display:flex;flex-wrap:wrap;gap:8px}
.qs-f{margin-top:18px}
.st{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.st-c{padding:24px}
.st-n small{font-size:.38em;letter-spacing:0;font-weight:700;color:var(--muted);-webkit-text-fill-color:var(--muted);margin-right:6px}
.st-n{font-size:clamp(2.6rem,6vw,4.2rem);font-weight:800;letter-spacing:-.06em;line-height:1;background:var(--growth);-webkit-background-clip:text;background-clip:text;color:transparent}
.st-l{margin-top:8px;font-size:.92rem;font-weight:600;color:var(--muted)}
.ct{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ct-c{padding:22px;display:grid;gap:18px;align-content:space-between;min-height:190px;text-align:left;width:100%}
.ct-c[disabled]{cursor:default}
.ct-ico{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.07);border:1px solid var(--line)}
.ct-ico svg{width:22px;height:22px}
.ct-c h3{font-size:1.05rem;font-weight:800;margin-bottom:8px}
.ct-note{margin-top:14px;font-size:.84rem;color:var(--muted-2)}
.ct-frame{width:100%;height:min(66vh,640px);border:0;border-radius:var(--r-md);background:#fff}
.lc-wrap{display:grid;gap:14px}
.lc-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px}
.lc-addr{font-weight:700;font-size:1.05rem;line-height:1.4;letter-spacing:-.015em}
.lc-acts{display:flex;flex-wrap:wrap;gap:10px}
.lc-map{height:min(50vh,430px);min-height:300px;border-radius:var(--r-md);overflow:hidden;border:1px solid var(--line-2);background:#0F1418}
.lc-map.is-osm .leaflet-tile-pane{filter:invert(.92) hue-rotate(180deg) saturate(.6) brightness(.9)}
.leaflet-container{font-family:var(--f);background:#0F1418;outline:0}
.leaflet-control-attribution{background:rgba(13,17,21,.8)!important;color:var(--muted-2)!important;font-size:10px}
.leaflet-control-attribution a{color:var(--muted)!important}
.leaflet-bar a{background:var(--surface-2)!important;color:#fff!important;border-color:var(--line)!important}
.pin{position:relative;width:0;height:0}
.pin-x{position:absolute;left:50%;bottom:30px;transform:translateX(-50%);padding:9px 14px;border-radius:12px;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.45)}
.pin-lbl img{height:17px;width:auto;display:block}
.pin-lbl::after{content:"";position:absolute;left:50%;bottom:-5px;width:10px;height:10px;background:#fff;transform:translateX(-50%) rotate(45deg)}
.pin-dot{position:absolute;left:-9px;top:-9px;width:18px;height:18px;border-radius:50%;background:var(--cta);border:3px solid #fff;box-shadow:0 0 0 0 rgba(185,28,200,.6);animation:pinp 2.2s infinite}
@keyframes pinp{70%{box-shadow:0 0 0 18px rgba(185,28,200,0)}100%{box-shadow:0 0 0 0 rgba(185,28,200,0)}}
.sl-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.sl-tabs button{min-height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--line);font-weight:700;font-size:.88rem;color:var(--muted);transition:border-color .2s,background .2s,box-shadow .2s,color .2s}
.sl-tabs button[aria-selected="true"]{color:#fff;background:var(--cta);border-color:transparent}
.sl-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.sl-r{display:grid;gap:10px;padding:16px 18px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line-2);align-content:start}
.sl-r h4{font-size:.98rem;font-weight:800;letter-spacing:-.02em;margin-bottom:8px}
.sl-t{display:inline-block;font-weight:800;font-size:.84rem;padding:4px 12px;border-radius:999px;background:rgba(0,223,125,.12);color:var(--green);border:1px solid rgba(0,223,125,.3)}
.sl-r p{color:var(--muted);font-size:.86rem;line-height:1.5}
.sl-intro{color:var(--muted);margin-bottom:18px;max-width:70ch}
.rc{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.rc-c{padding:22px;display:grid;gap:8px;align-content:space-between}
.rc-k{font-size:.8rem;font-weight:700;color:var(--muted-2)}
.rc-v{font-size:clamp(1.1rem,2vw,1.4rem);font-weight:800;letter-spacing:-.025em;overflow-wrap:anywhere}
.rc-c .copy{justify-self:start;margin-top:8px}

@media (max-width:960px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:720px){
  #agencia{align-items:flex-start;padding-top:88px}
  .tile{min-height:0;padding:14px;gap:12px}
  .tile-stat{font-size:1.9rem;margin-bottom:6px}
  .tiles{gap:10px}
  .tile p{display:none}
  .tile-stat small.tile-sl{font-size:.74rem}
  .tile-go{width:34px;height:34px}
  .vt,.ct,.rc,.st,.sl-list{grid-template-columns:1fr}
  .ct-c{min-height:0}
  .sl-tabs{flex-wrap:nowrap;overflow-x:auto;margin-inline:-20px;padding-inline:20px;scrollbar-width:none}
  .sl-tabs button{flex:none}
}
@media (max-width:380px){.tiles{gap:10px}.tile h3{font-size:1.02rem}}

/* Líneas de negocio */
.ln-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}
.ln-tab{display:grid;gap:2px;text-align:left;padding:14px 16px;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.03);transition:border-color .25s,background .25s,box-shadow .25s,color .25s;position:relative;overflow:hidden}
.ln-tab i{font-style:normal;font-size:.72rem;font-weight:700;color:var(--muted-2)}
.ln-tab b{font-size:clamp(1.05rem,2vw,1.4rem);font-weight:800;letter-spacing:-.03em}
.ln-tab::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--c);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}
.ln-tab:hover{border-color:rgba(255,255,255,.3)}
.ln-tab[aria-selected="true"]{border-color:var(--c);background:color-mix(in srgb,var(--c) 14%,transparent)}
.ln-tab[aria-selected="true"]::after{transform:scaleX(1)}
.ln-p{display:grid;gap:18px;padding:20px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line-2);border-top:3px solid var(--c)}
.ln-tag{font-size:clamp(1.05rem,2vw,1.35rem);font-weight:800;letter-spacing:-.03em;line-height:1.25;color:var(--c)}
.ln-focus{margin-top:8px;color:var(--muted);font-size:.95rem;max-width:64ch}
.ln-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px}
.ln-cols h4{font-size:.78rem;font-weight:700;color:var(--muted-2);margin-bottom:10px}
.ln-caps{display:grid;gap:6px;padding:0;margin:0;list-style:none}
.ln-caps li{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:12px;background:rgba(255,255,255,.04);font-weight:600;font-size:.9rem;line-height:1.3}
.ln-caps i{font-style:normal;font-size:.72rem;font-weight:800;color:var(--c);min-width:1.6em}
.ln-tools{display:flex;flex-wrap:wrap;gap:8px}
.ln-chip{min-height:42px;padding:0 16px;border-radius:999px;border:1px solid var(--line);font-weight:700;font-size:.86rem;background:rgba(255,255,255,.04);transition:border-color .2s,background .2s,box-shadow .2s,color .2s}
.ln-chip:hover{border-color:var(--c);background:color-mix(in srgb,var(--c) 14%,transparent)}
.ln-chip[aria-pressed="true"]{border-color:var(--c);background:color-mix(in srgb,var(--c) 22%,transparent);box-shadow:0 0 18px color-mix(in srgb,var(--c) 30%,transparent)}
.ln-det{margin-top:12px;padding:14px;border-radius:var(--r-sm);border:1px dashed var(--line);display:grid;gap:6px;align-content:start;min-height:96px}
.ln-det h5{font-size:1.05rem;font-weight:800;display:flex;flex-wrap:wrap;align-items:baseline;gap:10px}
.ln-det h5 small{font-size:.78rem;font-weight:600;color:var(--muted)}
.ln-det p{font-size:.9rem;line-height:1.5;color:var(--muted)}
.ln-det .ln-when b{color:#fff}
.ln-det .btn{justify-self:start;margin-top:4px}
.ln-hint{color:var(--muted-2)!important}
/* Comunidad */
.cm{margin-top:18px;display:grid;gap:12px}
.cm-i{color:var(--muted);max-width:62ch}
.cm-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cm-c{padding:22px;display:grid;gap:10px;align-content:start}
.cm-c h3{font-size:1.3rem;font-weight:800;letter-spacing:-.03em}
.cm-c p{color:var(--muted);font-size:.92rem}
.cm-c .btn{justify-self:start}
.st{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.lc-map iframe{width:100%;height:100%;border:0;filter:invert(.92) hue-rotate(180deg) saturate(.7) contrast(.95)}
@media (max-width:760px){.ln-tabs{grid-template-columns:1fr}.ln-cols,.cm-g,.st{grid-template-columns:1fr!important}.ln-tab{display:flex;align-items:baseline;gap:12px}}
.ct-g{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--muted-2,#8fa0a8);margin:4px 0 10px}
.ct+.ct-g{margin-top:22px}
.ct-c{min-height:150px}
