:root{--navy:#064f98;--navy-dark:#063d78;--blue:#0860aa;--cyan:#00a8e8;--cyan-dark:#009ad7;--ink:#18334b;--muted:#6a7e90;--line:#0b5ca3;--pale:#eff7fc;--border:#d6e4ef;--white:#fff;--shadow:0 12px 35px rgba(11,55,91,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f5f9fc;color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}.page-shell{max-width:2200px;margin:0 auto;padding:0 22px 22px}.page-header{min-height:124px;display:grid;grid-template-columns:minmax(210px,1fr) minmax(400px,1.7fr) minmax(170px,1fr);align-items:center;gap:16px;border-bottom:1px solid #dce7f0;background:#fff;padding:10px 8px}.brand{display:inline-flex;align-items:center;max-width:300px}.brand img{width:min(100%,290px);height:auto;object-fit:contain}.page-title{text-align:center}.eyebrow{color:#0b7ebc;margin:0 0 7px;font-size:10px;font-weight:800;letter-spacing:1.8px;text-transform:uppercase}.page-title h1{margin:0;color:#171f27;font-size:clamp(18px,1.65vw,27px);line-height:1.38;font-weight:800;letter-spacing:.1px}.header-aside{justify-self:end;display:flex;align-items:center;gap:8px;padding:9px 12px;background:#eff8fd;border:1px solid #d6eaf7;border-radius:99px;color:#17618f;font-size:11px;font-weight:700;white-space:nowrap}.live-dot{width:7px;height:7px;border-radius:50%;background:#11b77d;box-shadow:0 0 0 4px #d8f6e9}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 8px}.search-box{display:flex;align-items:center;gap:10px;width:min(680px,100%);min-height:45px;background:#fff;border:1px solid #cedfea;border-radius:12px;padding:0 12px;box-shadow:0 3px 12px rgba(20,66,100,.035)}.search-box:focus-within{border-color:#74b9de;box-shadow:0 0 0 3px rgba(0,168,232,.12)}.search-box svg{width:19px;height:19px;color:#427b9f;flex:0 0 19px}.search-box input{width:100%;height:43px;border:0;outline:0;background:transparent;color:#203b51;font-size:13px}.search-box input::placeholder{color:#8294a4}.search-box button{display:grid;place-items:center;width:28px;height:28px;border:0;border-radius:7px;background:#eff6fb;color:#56748a;font-size:21px;cursor:pointer}.search-box button[hidden]{display:none}.toolbar-note{display:flex;align-items:center;gap:9px;color:#697f91;font-size:12px}.hint-key{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:#e6f5fc;color:#087caf;font-weight:800;font-size:16px}.chart-section{overflow:hidden;background:#fff;border:1px solid #dbe7f0;border-radius:16px;box-shadow:var(--shadow)}.chart-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px 22px 14px;border-bottom:1px solid #e7eff5}.chart-heading .eyebrow{margin-bottom:5px}.chart-heading h2{margin:0;font-size:19px;color:#163d5a}.chart-tip{display:flex;align-items:center;gap:8px;color:#6b8294;font-size:11px}.line-swatch{height:2px;width:25px;background:var(--cyan);border-radius:2px}.chart-viewport{overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;padding:20px 22px 29px;scrollbar-color:#76b2d4 #e8f1f7;scrollbar-width:thin}.chart-viewport::-webkit-scrollbar{height:12px}.chart-viewport::-webkit-scrollbar-track{border-radius:20px;background:#e8f1f7}.chart-viewport::-webkit-scrollbar-thumb{border:3px solid #e8f1f7;border-radius:20px;background:#76b2d4}.org-chart{width:max-content;min-width:100%}.top-hierarchy{width:100%;min-width:1645px;position:relative;padding:8px 20px 0}.upper-row{position:relative;display:flex;align-items:center;justify-content:center;gap:29px;min-height:77px}.upper-row:before{content:"";position:absolute;z-index:0;left:calc(50% - 420px);right:calc(50% - 420px);top:50%;height:2px;background:var(--line);opacity:.8}.left-support{position:relative;z-index:1;display:flex;flex-direction:column;gap:10px;width:168px;flex:0 0 168px}.alcaldia-wrap{z-index:2;display:flex;align-items:center;justify-content:center;width:180px;flex:0 0 180px}.governance-group{position:relative;z-index:1;display:flex;align-items:center;gap:13px}.mini-node,.alcaldia-node,.admin-node,.admin-child,.director-node,.unit-chip{font-family:inherit;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.mini-node:focus-visible,.alcaldia-node:focus-visible,.admin-node:focus-visible,.admin-child:focus-visible,.director-node:focus-visible,.unit-chip:focus-visible{outline:3px solid #f5be2e;outline-offset:3px}.mini-node:hover,.admin-child:hover,.unit-chip:hover{transform:translateY(-2px);box-shadow:0 5px 13px rgba(0,91,155,.18)}.mini-node{display:flex;align-items:center;justify-content:center;text-align:center;width:123px;min-height:38px;padding:8px 10px;border:1px solid #0775b8;border-radius:999px;background:#08a5df;color:#fff;font-weight:800;font-size:9px;line-height:1.22;letter-spacing:.15px}.left-support .mini-node{width:100%;min-height:35px}.alcaldia-node{position:relative;z-index:2;width:180px;min-height:50px;border:0;border-radius:999px;background:var(--navy);color:#fff;padding:12px 17px;box-shadow:0 8px 20px rgba(6,79,152,.18);font-size:15px;font-weight:800;letter-spacing:.4px}.alcaldia-node:hover{background:var(--navy-dark);transform:translateY(-2px);box-shadow:0 10px 22px rgba(6,79,152,.23)}.alcaldia-node small{display:block;margin-top:4px;font-size:9px;letter-spacing:.3px;font-weight:500;opacity:.88}.admin-tree{display:flex;flex-direction:column;align-items:center;position:relative;width:100%;padding-top:21px;transform:translateX(-113px)}.admin-tree:before{content:"";position:absolute;left:50%;top:0;height:21px;border-left:2px solid var(--line)}.admin-node{z-index:1;min-width:170px;min-height:39px;padding:10px 17px;border:0;border-radius:999px;background:var(--navy-dark);color:#fff;text-transform:uppercase;letter-spacing:.2px;font-size:10px;font-weight:800;box-shadow:0 4px 11px rgba(6,61,120,.13)}.admin-children{position:relative;display:flex;justify-content:center;align-items:flex-start;gap:25px;margin-top:15px;padding-top:13px}.admin-children:before{content:"";position:absolute;left:calc(12.5%);right:calc(12.5%);top:0;border-top:2px solid var(--line)}.admin-child-wrap{position:relative;display:flex;justify-content:center;min-width:135px}.admin-child-wrap:before{content:"";position:absolute;top:-13px;height:13px;border-left:2px solid var(--line)}.admin-child{min-width:128px;max-width:150px;min-height:35px;padding:8px 10px;border:1px solid #0aa4dc;border-radius:999px;background:#08a5df;color:#fff;text-align:center;font-weight:800;font-size:9px;line-height:1.2}.main-connector{transform:translateX(-113px);display:flex;flex-direction:column;align-items:center;gap:8px;height:61px;padding-top:1px;color:#647f92;font-size:10px;letter-spacing:.7px;text-transform:uppercase;font-weight:800}.main-connector span{display:block;width:2px;height:33px;background:var(--line)}.main-connector em{font-style:normal}.directorate-chart{width:max-content;padding-top:0}.chart-columns{--columns:15;display:grid;grid-template-columns:repeat(var(--columns),103px);gap:5px;position:relative;align-items:stretch;padding-top:22px}.chart-columns:before{content:"";position:absolute;left:52px;right:52px;top:8px;height:2px;background:var(--line);opacity:.88}.director-column{position:relative;display:flex;flex-direction:column;align-items:center;min-width:0}.director-column:before{content:"";position:absolute;left:50%;top:-14px;height:22px;border-left:2px solid var(--line)}.director-node{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:100%;min-height:43px;padding:8px 7px;border:0;border-radius:999px;background:var(--navy);color:#fff;text-align:center;font-size:8.5px;line-height:1.24;font-weight:800;letter-spacing:.05px;box-shadow:0 3px 9px rgba(6,79,152,.09)}.director-node:hover{background:var(--navy-dark);transform:translateY(-2px);box-shadow:0 7px 14px rgba(6,79,152,.18)}.director-node .count{display:block;position:absolute;right:-5px;top:-5px;min-width:17px;height:17px;display:grid;place-items:center;padding:0 4px;border:2px solid white;border-radius:99px;background:#e7f7ff;color:#07549a;font-size:8px}.unit-list{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:12px;width:100%;margin-top:16px;padding-right:0}.unit-list:before{content:"";position:absolute;top:-16px;bottom:16px;right:11px;border-right:2px solid var(--line)}.unit-chip{position:relative;z-index:1;align-self:flex-start;display:flex;align-items:center;justify-content:center;width:calc(100% - 20px);min-height:35px;margin:0;padding:7px 8px;border:1px solid transparent;border-radius:999px;background:var(--cyan);color:#fff;text-align:center;font-size:8.5px;font-weight:800;line-height:1.19;overflow-wrap:anywhere}.unit-chip:after{content:"";position:absolute;top:50%;left:100%;width:9px;border-top:2px solid var(--line)}.unit-chip:hover{background:#0094ce}.director-column[hidden]{display:none}.unit-chip[hidden]{display:none}.no-results{display:flex;align-items:center;flex-direction:column;gap:8px;text-align:center;padding:60px 20px;color:#536b7c}.no-results[hidden]{display:none}.no-results strong{font-size:16px;color:#1f4967}.no-results span{font-size:12px}.bottom-note{display:flex;align-items:flex-start;gap:10px;margin:15px 4px 0;color:#718494;font-size:11px;line-height:1.55}.bottom-note p{margin:0}.note-icon{display:grid;place-items:center;flex:0 0 18px;width:18px;height:18px;border-radius:50%;background:#e4eff6;color:#567e98;font-size:11px;font-weight:800}.page-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:20px 4px 8px;color:#8292a0;font-size:10px}.page-footer strong{color:#4b687e}.page-footer nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px 14px}.page-footer a{color:#0b6ea8;text-decoration:none}.page-footer a:hover{text-decoration:underline}
/* Ventana emergente */
.modal-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(5,23,43,.59);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);animation:fade-in .15s ease both}.modal-backdrop[hidden]{display:none}.modal-panel{display:flex;flex-direction:column;width:min(100%,720px);max-height:min(89vh,850px);overflow:hidden;border:1px solid #d8e5ef;border-radius:22px;background:#fff;box-shadow:0 25px 85px rgba(0,17,37,.34);animation:modal-in .18s ease both;outline:none}.modal-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 17px;border-bottom:1px solid #e6eef4;background:#fbfdff}.modal-brand{display:flex;align-items:center;gap:10px;color:#60798a;font-size:11px;font-weight:750}.modal-brand img{width:105px;height:auto;object-fit:contain}.modal-close{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;border:1px solid #dbe5ec;border-radius:11px;background:#fff;color:#425e72;font-size:25px;line-height:1;cursor:pointer}.modal-close:hover{background:#f0f7fc;border-color:#b3ccde}.modal-content{overflow:auto;padding:clamp(20px,4vw,30px)}.modal-heading{display:flex;align-items:flex-start;gap:14px}.modal-icon{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border:1px solid #d4e8f6;border-radius:15px;background:#eaf5fc;color:#0a5c96;font-size:23px;font-weight:850}.modal-kicker{margin:1px 0 6px;color:#0b7db8;font-size:9px;font-weight:850;letter-spacing:1.3px;text-transform:uppercase}.modal-title{margin:0;color:#123650;font-size:clamp(21px,3vw,28px);line-height:1.2;overflow-wrap:anywhere}.modal-person{display:flex;align-items:center;gap:7px;margin:9px 0 0;color:#647a8b;font-size:12px;line-height:1.45}.modal-description{margin:20px 0 0;color:#435a6e;font-size:14px;line-height:1.75}.modal-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.meta-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:8px 10px;border:1px solid #e0e9f0;border-radius:10px;background:#f8fbfd;color:#5e7587;font-size:11px;line-height:1.4}.modal-units-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:23px 0 11px;padding-top:18px;border-top:1px solid #e6edf3}.modal-units-head h3{margin:0;font-size:15px;color:#193f5c}.modal-units-head span{color:#8293a2;font-size:11px}.modal-unit-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.modal-unit-button{display:flex;align-items:center;gap:9px;min-width:0;min-height:54px;padding:10px 12px;border:1px solid #dfe8f0;border-radius:12px;background:#fbfdff;color:#294b64;text-align:left;cursor:pointer;transition:background .15s,border-color .15s}.modal-unit-button:hover{border-color:#97c8e5;background:#eef8fe}.unit-square{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:9px;background:#e7f3fb;color:#0a65a0;font-size:12px;font-weight:850}.modal-unit-button strong{display:block;flex:1;min-width:0;font-size:11.5px;line-height:1.4;font-weight:750}.unit-chevron{color:#7c9aaf;font-size:19px;line-height:1}.modal-back-hint{margin:13px 0 0;color:#8494a2;font-size:11px;line-height:1.5}.unit-detail-box{margin-top:20px;padding:17px;border:1px solid #d9eaf6;border-radius:15px;background:#f4faff}.unit-detail-box .box-overline{margin:0 0 7px;color:#0b76b3;font-size:9px;font-weight:850;letter-spacing:1.1px;text-transform:uppercase}.unit-detail-box h3{margin:0;color:#133d5c;font-size:17px;line-height:1.35}.unit-detail-box p:last-child{margin:10px 0 0;color:#455e72;font-size:12px;line-height:1.7}.modal-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 17px;border-top:1px solid #e5edf4;background:#fbfdff;color:#8393a1;font-size:10px}.text-button{border:0;background:none;color:#0b68a1;font-size:11px;font-weight:800;padding:7px 0;cursor:pointer}.text-button:hover{text-decoration:underline}.text-button[hidden]{display:none}@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes modal-in{from{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:800px){.page-shell{padding:0 10px 18px}.page-header{grid-template-columns:1fr;gap:9px;padding:12px 8px 16px}.brand{justify-self:center;max-width:230px}.brand img{width:230px}.page-title{grid-row:2}.page-title h1{font-size:19px}.page-title .eyebrow{display:none}.header-aside{justify-self:center;grid-row:3;padding:6px 10px;font-size:10px}.toolbar{align-items:stretch;flex-direction:column;padding:12px 0}.search-box{width:100%}.toolbar-note{font-size:11px}.chart-heading{align-items:flex-start;flex-direction:column;padding:17px 15px 13px}.chart-heading h2{font-size:17px}.chart-tip{font-size:10px}.chart-viewport{padding:14px 12px 22px}.top-hierarchy{min-width:1980px}.admin-tree{transform:translateX(-113px)}.chart-columns{grid-template-columns:repeat(var(--columns),103px);gap:5px}.main-connector{height:55px}.modal-backdrop{padding:8px;align-items:flex-end}.modal-panel{max-height:93vh;border-radius:21px 21px 14px 14px}.modal-topline{padding:9px 13px}.modal-content{padding:20px 15px}.modal-unit-list{grid-template-columns:1fr}.modal-title{font-size:22px}.modal-description{font-size:13px;line-height:1.7}.modal-footer{padding:10px 13px}.page-footer{flex-direction:column;gap:11px}.page-footer nav{justify-content:flex-start}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
@media print{body{background:white}.page-shell{max-width:none;padding:0}.toolbar,.header-aside,.chart-tip,.bottom-note,.page-footer,.modal-backdrop{display:none!important}.chart-section{border:0;box-shadow:none}.chart-viewport{overflow:visible;padding:0}.org-chart,.top-hierarchy{min-width:0;width:100%}.upper-row{transform:scale(.7);transform-origin:center}.chart-columns{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.director-column[hidden]{display:flex}.director-node,.unit-chip{-webkit-print-color-adjust:exact;print-color-adjust:exact}.chart-columns:before{display:none}.director-column:before{display:none}}


/* HERO MODERNO — Municipalidad de Cerrillos */
.page-shell{max-width:none;margin:0;padding:0 0 22px}
.modern-hero{position:relative;isolation:isolate;overflow:hidden;color:#fff;background:radial-gradient(ellipse at 77% 37%,rgba(0,174,232,.22) 0,rgba(0,174,232,0) 32%),radial-gradient(ellipse at 12% 3%,rgba(44,132,220,.31) 0,rgba(44,132,220,0) 37%),linear-gradient(118deg,#041b35 0%,#06396f 48%,#07549a 100%);border-radius:0 0 32px 32px;box-shadow:0 22px 54px rgba(2,30,59,.18)}
.modern-hero:before{content:"";position:absolute;inset:0;z-index:-2;opacity:.22;background-image:linear-gradient(rgba(255,255,255,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.075) 1px,transparent 1px);background-size:43px 43px;mask-image:linear-gradient(90deg,transparent 0%,#000 45%,#000 100%)}
.modern-hero:after{content:"";position:absolute;z-index:-1;width:620px;height:620px;right:-180px;top:-290px;border:1px solid rgba(135,226,255,.13);border-radius:50%;box-shadow:0 0 0 45px rgba(114,207,245,.025),0 0 0 90px rgba(114,207,245,.025),0 0 0 135px rgba(114,207,245,.02)}
.hero-grid-glow{position:absolute;z-index:-1;left:27%;bottom:-245px;width:580px;height:480px;border-radius:50%;background:rgba(0,171,231,.09);filter:blur(65px);pointer-events:none}
.hero-orb{position:absolute;z-index:-1;border-radius:50%;pointer-events:none}.hero-orb-one{width:9px;height:9px;top:23%;left:47%;background:#79e1ff;box-shadow:0 0 0 7px rgba(121,225,255,.1),0 0 32px rgba(74,217,255,.75)}.hero-orb-two{width:6px;height:6px;right:11%;top:20%;background:#fff;box-shadow:0 0 0 7px rgba(255,255,255,.07),0 0 23px rgba(255,255,255,.45)}
.hero-inner{position:relative;z-index:1;max-width:1900px;margin:0 auto;padding:23px clamp(20px,4vw,70px) 27px}
.hero-nav{display:flex;align-items:center;gap:25px;min-height:70px}
.hero-brand{display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:198px;min-height:70px;padding:7px 11px;border:1px solid rgba(255,255,255,.7);border-radius:17px;background:#fff;box-shadow:0 7px 24px rgba(0,14,33,.13);transition:transform .2s,box-shadow .2s}
.hero-brand:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,14,33,.2)}.hero-brand img{display:block;width:100%;height:auto;max-height:61px;object-fit:contain}
.hero-status{display:flex;align-items:center;gap:11px;margin-left:auto;color:rgba(255,255,255,.84)}.hero-status-icon{display:grid;place-items:center;width:41px;height:41px;flex:0 0 41px;border:1px solid rgba(169,225,255,.2);border-radius:13px;background:rgba(255,255,255,.075);color:#6bdcff}.hero-status-icon svg{width:21px;height:21px}.hero-status strong,.hero-status small{display:block}.hero-status strong{font-size:12px;letter-spacing:.2px;color:white}.hero-status small{margin-top:4px;font-size:10px;color:rgba(229,245,255,.62)}
.hero-top-link{display:inline-flex;align-items:center;gap:15px;justify-content:space-between;min-height:44px;padding:0 9px 0 17px;border:1px solid rgba(255,255,255,.26);border-radius:13px;background:rgba(255,255,255,.07);color:#fff;text-decoration:none;font-size:11px;font-weight:800;white-space:nowrap;box-shadow:inset 0 1px 0 rgba(255,255,255,.06);transition:background .18s,border-color .18s,transform .18s}.hero-top-link:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.48);transform:translateY(-1px)}.hero-link-arrow{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#05a9e5;color:#fff;font-size:18px;line-height:1}
.hero-main{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(390px,.98fr);align-items:center;gap:clamp(22px,4vw,75px);min-height:316px;padding:21px 0 20px}.hero-copy{max-width:730px;padding:12px 0 22px}.hero-overline{display:flex;align-items:center;gap:10px;margin:0 0 19px;color:#8be5ff;font-size:10px;font-weight:850;letter-spacing:1.8px}.hero-overline-dot{width:7px;height:7px;border-radius:50%;background:#43d7fc;box-shadow:0 0 0 5px rgba(67,215,252,.11)}.hero-overline-rule{display:block;width:43px;height:1px;margin-left:4px;background:linear-gradient(90deg,rgba(139,229,255,.9),transparent)}
.hero-copy h1{max-width:800px;margin:0;color:white;font-size:clamp(38px,4.1vw,67px);line-height:1.055;font-weight:850;letter-spacing:-2.5px;text-wrap:balance}.hero-copy h1 span{display:inline-block;color:#7de1ff;text-shadow:0 5px 25px rgba(42,199,255,.15)}.hero-description{max-width:620px;margin:21px 0 0;color:rgba(231,244,255,.77);font-size:clamp(14px,1.15vw,16px);line-height:1.75;letter-spacing:.05px}.hero-proof-row{display:flex;align-items:center;flex-wrap:wrap;gap:13px;margin-top:24px}.hero-proof-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid rgba(152,222,255,.2);border-radius:999px;background:rgba(255,255,255,.075);color:#f4fbff;font-size:10px;font-weight:750}.hero-proof-check{display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:#0eabd9;color:#fff;font-size:11px;font-weight:900}.hero-proof-note{color:rgba(223,241,253,.55);font-size:10px}
.hero-visual{position:relative;isolation:isolate;display:flex;justify-content:center;align-items:center;min-width:0;min-height:315px}.hero-visual:before{content:"";position:absolute;z-index:-1;width:min(95%,480px);aspect-ratio:1;border:1px solid rgba(123,215,255,.15);border-radius:50%;background:radial-gradient(circle,rgba(25,165,223,.13) 0,rgba(10,96,160,.06) 45%,transparent 68%);box-shadow:0 0 0 28px rgba(102,208,248,.022),0 0 0 58px rgba(102,208,248,.018)}.hero-visual-orbit{position:absolute;z-index:-1;left:10%;top:10%;width:9px;height:9px;border-radius:50%;background:#8be9ff;box-shadow:0 0 24px #25bce9}.hero-visual-orbit-two{left:auto;right:5%;top:auto;bottom:13%;width:6px;height:6px;background:#fff;opacity:.8}.hero-cross{position:absolute;width:18px;height:18px;opacity:.48}.hero-cross:before,.hero-cross:after{content:"";position:absolute;left:50%;top:0;background:#9eeaff;transform:translateX(-50%)}.hero-cross:before{width:1px;height:100%}.hero-cross:after{width:100%;height:1px;top:50%;left:0;transform:translateY(-50%)}.hero-cross-one{right:10%;top:19%}.hero-cross-two{left:8%;bottom:15%;transform:scale(.7)}
.hero-visual-window{position:relative;width:min(100%,450px);margin:0 2% 0 auto;overflow:hidden;border:1px solid rgba(255,255,255,.65);border-radius:23px;background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(239,249,255,.96));box-shadow:0 25px 70px rgba(0,17,39,.27),0 4px 14px rgba(127,224,255,.11);transform:rotate(1.2deg);animation:hero-card-float 7s ease-in-out infinite}.hero-window-bar{display:flex;align-items:center;gap:11px;min-height:43px;padding:0 15px;border-bottom:1px solid #e3eef5;background:rgba(255,255,255,.82)}.hero-window-dots{display:flex;gap:4px}.hero-window-dots i{display:block;width:6px;height:6px;border-radius:50%;background:#b8d0df}.hero-window-dots i:first-child{background:#0b63a6}.hero-window-dots i:nth-child(2){background:#5fc3e9}.hero-window-caption{margin-left:4px;color:#688297;font-size:8px;font-weight:850;letter-spacing:1.1px}.hero-window-live{display:inline-flex;align-items:center;gap:5px;margin-left:auto;padding:5px 7px;border-radius:7px;background:#e6f8f2;color:#258969;font-size:7px;font-weight:850;letter-spacing:.3px}.hero-window-live i{width:5px;height:5px;border-radius:50%;background:#25bd8b}
.hero-mini-tree{padding:19px 21px 20px}.hero-tree-node{display:flex;align-items:center;gap:9px;min-height:48px;min-width:0;padding:8px 10px;border:1px solid #deebf4;border-radius:13px;background:#fff;color:#17405f;box-shadow:0 5px 13px rgba(13,80,123,.045)}.hero-tree-node strong,.hero-tree-node small{display:block}.hero-tree-node strong{font-size:10px;line-height:1.25;font-weight:850}.hero-tree-node small{margin-top:3px;color:#8296a6;font-size:8px;line-height:1.3}.hero-tree-icon{display:grid;place-items:center;width:29px;height:29px;flex:0 0 29px;border-radius:9px;background:#e7f6fd;color:#0876b4;font-size:18px;font-weight:800}.hero-tree-root{width:69%;margin:auto;border-color:#d2e9f7;background:linear-gradient(110deg,#fff,#f1faff)}.hero-tree-root .hero-tree-icon{background:#07549a;color:white}.hero-tree-spark{margin-left:auto;color:#0a9ed4;font-size:14px}.hero-tree-stem{width:1px;height:20px;margin:auto;background:linear-gradient(#a9d8ed,#76bede);position:relative}.hero-tree-stem:after{content:"";position:absolute;bottom:0;left:-3px;width:7px;height:7px;border-right:1px solid #76bede;border-bottom:1px solid #76bede;transform:rotate(45deg)}.hero-tree-branches{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:11px}.hero-tree-branches:before{content:"";position:absolute;left:25%;right:25%;top:-1px;height:1px;background:#9ccfe5}.hero-tree-branches .hero-tree-node{min-height:55px;position:relative}.hero-tree-branches .hero-tree-node:before{content:"";position:absolute;left:50%;top:-8px;height:7px;border-left:1px solid #9ccfe5}.hero-tree-tags{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin-top:17px}.hero-tree-tags span{padding:6px 10px;border:1px solid #dcebf4;border-radius:99px;background:#f6fbfe;color:#68859b;font-size:8px;font-weight:750}
.hero-float-card{position:absolute;z-index:2;display:flex;align-items:center;gap:9px;padding:10px 13px;border:1px solid rgba(255,255,255,.76);border-radius:15px;background:rgba(255,255,255,.96);box-shadow:0 14px 38px rgba(0,18,39,.22);color:#194564;animation:hero-float 5.7s ease-in-out infinite}.hero-float-card strong,.hero-float-card small{display:block}.hero-float-card strong{font-size:9px;font-weight:850}.hero-float-card small{margin-top:4px;color:#8095a5;font-size:8px}.hero-float-card-one{left:0;top:19%;}.hero-float-card-two{right:-1%;bottom:13%;animation-delay:-2s}.hero-float-icon{display:grid;place-items:center;width:29px;height:29px;flex:0 0 29px;border-radius:10px}.hero-float-icon-check{background:#dcf8ed;color:#169d70;font-size:16px;font-weight:900}.hero-float-icon-chart{background:#e3f5fc;color:#0877b4}.hero-float-icon-chart svg{width:17px;height:17px}
.hero-search-panel{display:grid;grid-template-columns:minmax(205px,.68fr) minmax(0,1.32fr);align-items:center;gap:24px;margin-top:2px;padding:19px 22px;border:1px solid rgba(210,240,255,.18);border-radius:20px;background:rgba(255,255,255,.085);box-shadow:inset 0 1px 0 rgba(255,255,255,.07);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.hero-search-copy{display:flex;flex-direction:column;gap:7px}.hero-search-label{color:#fff;font-size:10px;font-weight:850;letter-spacing:1.4px}.hero-search-sub{color:rgba(231,245,255,.66);font-size:10px;line-height:1.5}.hero-search-controls{min-width:0}.hero-search-controls .search-box{width:100%;min-height:51px;border:1px solid rgba(255,255,255,.6);border-radius:13px;padding:0 13px;background:#fff;box-shadow:0 8px 22px rgba(0,21,45,.12)}.hero-search-controls .search-box:focus-within{border-color:#66d3f6;box-shadow:0 0 0 4px rgba(81,208,249,.19),0 8px 22px rgba(0,21,45,.12)}.hero-search-controls .search-box input{height:49px;font-size:12px}.hero-search-controls .search-box svg{color:#3a789b}.hero-search-controls .search-box input::placeholder{color:#91a2b0}.hero-search-controls .search-box button{background:#eaf7fd;color:#23648b}.hero-search-controls .toolbar-note{margin-top:9px;color:rgba(228,244,255,.67);font-size:9px}.hero-search-controls .hint-key{width:19px;height:19px;border-radius:6px;background:rgba(127,226,255,.14);color:#9ceaff;font-size:12px}
#chart-section{margin:27px clamp(10px,2vw,28px) 0}.chart-section{border-radius:19px}.chart-heading{padding:21px 24px 16px}.page-footer{margin:0 clamp(10px,2vw,28px)}.bottom-note{margin-left:clamp(10px,2vw,28px);margin-right:clamp(10px,2vw,28px)}
@keyframes hero-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes hero-card-float{0%,100%{transform:rotate(1.2deg) translateY(0)}50%{transform:rotate(.5deg) translateY(-4px)}}
@media(max-width:1050px){.hero-inner{padding-right:27px;padding-left:27px}.hero-main{grid-template-columns:minmax(0,1fr) minmax(330px,.9fr);gap:22px}.hero-copy h1{font-size:clamp(37px,4.2vw,52px);letter-spacing:-1.8px}.hero-visual-window{width:min(100%,390px)}.hero-float-card-one{left:-4%}.hero-float-card-two{right:-4%}.hero-search-panel{grid-template-columns:220px minmax(0,1fr);gap:18px}}
@media(max-width:800px){.modern-hero{border-radius:0 0 24px 24px}.hero-inner{padding:16px 16px 20px}.hero-nav{min-height:58px;gap:12px;flex-wrap:wrap}.hero-brand{width:154px;min-height:55px;padding:6px 8px;border-radius:13px}.hero-brand img{max-height:43px}.hero-status{gap:0;margin-left:auto}.hero-status-icon{width:35px;height:35px;flex-basis:35px}.hero-status>span:last-child{display:none}.hero-top-link{min-height:38px;margin-left:auto;padding:0 6px 0 12px;gap:8px;border-radius:11px;font-size:9px}.hero-link-arrow{width:24px;height:24px}.hero-main{grid-template-columns:1fr;gap:1px;min-height:0;padding:32px 0 18px}.hero-copy{padding:0 0 10px}.hero-overline{margin-bottom:14px;font-size:9px;letter-spacing:1.4px}.hero-copy h1{max-width:600px;font-size:clamp(35px,8.5vw,53px);line-height:1.06;letter-spacing:-1.7px}.hero-description{margin-top:15px;font-size:13px;line-height:1.68}.hero-proof-row{margin-top:17px;gap:10px}.hero-proof-pill{font-size:9px}.hero-proof-note{font-size:9px}.hero-visual{min-height:272px;margin-top:5px}.hero-visual-window{width:min(86%,400px);margin:auto;transform:none}.hero-float-card-one{left:0;top:15%}.hero-float-card-two{right:-1%;bottom:8%}.hero-search-panel{grid-template-columns:1fr;gap:13px;margin-top:8px;padding:15px;border-radius:16px}.hero-search-label{font-size:9px}.hero-search-sub{font-size:9px}.hero-search-controls .toolbar-note{font-size:9px}#chart-section{margin-top:19px}.chart-heading{padding:16px 15px 13px}.page-footer{padding-top:17px}}
@media(max-width:440px){.hero-inner{padding:13px 12px 16px}.hero-brand{width:138px;min-height:50px}.hero-brand img{max-height:38px}.hero-status-icon{width:31px;height:31px;flex-basis:31px}.hero-top-link{font-size:8px;min-height:35px}.hero-main{padding-top:28px}.hero-copy h1{font-size:36px;letter-spacing:-1.4px}.hero-overline{font-size:8px;letter-spacing:1px}.hero-description{font-size:12px}.hero-visual{min-height:245px}.hero-visual-window{width:90%;}.hero-mini-tree{padding:15px 13px 15px}.hero-window-bar{padding:0 10px}.hero-window-caption{font-size:7px}.hero-tree-branches{gap:7px}.hero-tree-node{gap:6px;padding:7px}.hero-tree-node strong{font-size:9px}.hero-tree-node small{font-size:7px}.hero-tree-icon{width:25px;height:25px;flex-basis:25px}.hero-float-card{padding:8px 9px;gap:7px;border-radius:12px}.hero-float-card strong{font-size:8px}.hero-float-card small{font-size:7px}.hero-float-icon{width:24px;height:24px;flex-basis:24px}.hero-float-card-one{left:-2%;top:13%}.hero-float-card-two{right:-2%;bottom:6%}.hero-search-panel{padding:12px}.hero-search-controls .search-box input{font-size:11px}.hero-search-controls .search-box input::placeholder{font-size:10px}.hero-proof-note{display:none}}
@media(prefers-reduced-motion:reduce){.hero-visual-window,.hero-float-card{animation:none!important}}
@media print{.modern-hero{display:none!important}}

/* HERO REDISEÑADO: inspirado en la cabecera del formulario municipal */
.modern-hero{background:linear-gradient(135deg,#003b73 0%,#07549a 58%,#0d5fa8 100%);border-radius:0 0 35px 35px;box-shadow:0 15px 35px rgba(0,0,0,.16);}
.modern-hero:before{opacity:.09;background-size:52px 52px;mask-image:linear-gradient(90deg,transparent,#000 40%,#000)}
.modern-hero:after{width:460px;height:460px;right:-170px;top:-280px;border-color:rgba(255,255,255,.09);box-shadow:0 0 0 35px rgba(255,255,255,.025),0 0 0 70px rgba(255,255,255,.02)}
.hero-inner{max-width:1500px;padding:36px clamp(20px,4vw,64px) 28px}
.hero-nav{justify-content:center;min-height:auto;position:relative;padding-bottom:10px}
.hero-brand{background:transparent;border:0;box-shadow:none;padding:0;min-height:0}
.hero-brand img{width:170px;max-height:88px;object-fit:contain;filter:brightness(0) invert(1)}
.hero-status,.hero-top-link{display:none}
.hero-main{display:block;min-height:0;text-align:center;padding:18px 0 20px}
.hero-copy{max-width:900px;margin:0 auto;padding:0}
.hero-overline{justify-content:center;margin-bottom:13px;color:#bfebff;font-size:11px;letter-spacing:1.5px}
.hero-overline-rule{display:none}
.hero-copy h1{max-width:900px;margin:0 auto;color:#fff;font-size:clamp(30px,3.5vw,45px);line-height:1.18;letter-spacing:-1.2px;font-weight:800}
.hero-copy h1 span{color:#fff}
.hero-description{max-width:680px;margin:14px auto 0;color:#dbeafe;font-size:15px;line-height:1.75}
.hero-proof-row{justify-content:center;margin-top:18px}
.hero-proof-pill{border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.1);color:#fff;padding:9px 14px;border-radius:999px;font-size:11px}
.hero-proof-check{color:#fff}
.hero-proof-note{color:#dbeafe;font-size:11px}
.hero-visual{display:none!important}
.hero-search-panel{max-width:1000px;margin:20px auto 0;grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr);gap:22px;padding:20px 22px;border:1px solid #e1e8ef;border-radius:22px;background:#fff;box-shadow:0 12px 30px rgba(0,28,58,.13);backdrop-filter:none;-webkit-backdrop-filter:none}
.hero-search-label{color:#003b73;font-size:11px;letter-spacing:.7px}
.hero-search-sub{color:#64748b;font-size:12px}
.hero-search-controls .search-box{min-height:54px;border:1px solid #d9e2ec;border-radius:16px;box-shadow:none;background:#f8fbff}
.hero-search-controls .search-box:focus-within{border-color:#0d5fa8;box-shadow:0 0 0 4px rgba(13,95,168,.12)}
.hero-search-controls .search-box input{height:52px;font-size:13px}
.hero-search-controls .search-box svg{color:#0d5fa8}
.hero-search-controls .search-box button{background:#eaf3fb;color:#07549a}
.hero-search-controls .toolbar-note{color:#64748b;font-size:10px}
.hero-search-controls .hint-key{background:#eff6ff;color:#07549a}
@media(max-width:800px){.modern-hero{border-radius:0 0 28px 28px}.hero-inner{padding:29px 16px 22px}.hero-nav{padding-bottom:5px}.hero-brand{width:auto;min-height:0;padding:0;border-radius:0}.hero-brand img{width:135px;max-height:72px}.hero-main{padding:14px 0 10px}.hero-overline{font-size:9px;margin-bottom:11px}.hero-copy h1{font-size:clamp(27px,6.8vw,36px);letter-spacing:-.7px;line-height:1.18}.hero-description{font-size:13px;line-height:1.7;margin-top:12px}.hero-proof-row{margin-top:15px}.hero-proof-note{display:none}.hero-search-panel{grid-template-columns:1fr;gap:12px;margin-top:18px;padding:16px;border-radius:18px}.hero-search-label{font-size:10px}.hero-search-sub{font-size:11px}.hero-search-controls .toolbar-note{font-size:10px}}
@media(max-width:440px){.hero-inner{padding:25px 13px 18px}.hero-brand img{width:120px;max-height:64px}.hero-copy h1{font-size:28px}.hero-description{font-size:12px}.hero-search-panel{padding:14px}.hero-search-controls .search-box input{font-size:12px}}

/* Hero sencillo con degradado celeste claro a azul intenso */
.modern-hero{position:relative;isolation:isolate;overflow:hidden;color:#123d5b;background:linear-gradient(100deg,#f5fdff 0%,#e1f8ff 22%,#9be7fa 46%,#39c2ed 70%,#087bc2 100%);border-radius:0 0 35px 35px;box-shadow:0 15px 35px rgba(0,72,120,.14)}
.modern-hero:before,.modern-hero:after{display:none!important}
.hero-simple-inner{max-width:1100px;padding:48px 24px 28px}
.simple-hero-content{text-align:center;margin:0 auto 28px;max-width:800px}
.simple-hero-logo{display:inline-flex;align-items:center;justify-content:center;margin-bottom:18px}
.simple-hero-logo img{display:block;width:95px;height:auto;max-height:95px;object-fit:contain;filter:none}
.simple-hero-content h1{margin:0 0 10px;color:#073b68;font-size:clamp(25px,3vw,34px);line-height:1.25;font-weight:800;letter-spacing:-.6px}
.simple-hero-content p{margin:0;color:#164f70;font-size:15px;line-height:1.7}
.hero-search-panel{grid-template-columns:1fr;gap:12px;margin:0 auto;padding:20px;max-width:900px;border:1px solid rgba(255,255,255,.75);border-radius:22px;background:#fff;box-shadow:0 10px 30px rgba(0,62,105,.13);backdrop-filter:none}
.hero-search-label{color:#003b73;font-size:13px;letter-spacing:0}
.hero-search-sub{color:#64748b;font-size:13px}
.hero-search-controls .search-box{min-height:52px;border:1px solid #d9e2ec;border-radius:16px;box-shadow:none}
.hero-search-controls .search-box input{height:50px;font-size:14px}
.hero-search-controls .toolbar-note{color:#64748b;font-size:12px}
.hero-search-controls .hint-key{background:#eff6ff;color:#0d5fa8}
@media(max-width:480px){.hero-simple-inner{padding:42px 16px 22px}.simple-hero-logo img{width:82px}.simple-hero-content{margin-bottom:22px}.simple-hero-content h1{font-size:27px}.simple-hero-content p{font-size:14px}.hero-search-panel{padding:18px;border-radius:20px}.hero-search-controls .search-box input{font-size:13px}}

/* Hero con la misma estructura del banner de Servicios Municipales */
.modern-hero{background:linear-gradient(90deg,#f5fdff 0%,#e5f9ff 20%,#a9eafb 47%,#45c5ed 72%,#087bc2 100%);color:#123d5b;min-height:340px;position:relative;display:flex;align-items:center;padding:80px 0 60px;border-radius:0 0 35px 35px;box-shadow:0 15px 35px rgba(0,72,120,.14);overflow:hidden}
.modern-hero:before,.modern-hero:after{display:none!important}
.hero-simple-inner{width:100%;max-width:1500px;margin:0 auto;padding:40px 24px 24px;position:relative}
.simple-hero-logo{position:absolute;top:20px;left:24px;display:block;margin:0;z-index:2}
.simple-hero-logo img{display:block;width:auto;height:56px;max-height:56px;object-fit:contain}
.simple-hero-content{text-align:left;margin:0;max-width:850px;padding-top:20px}
.simple-hero-kicker{color:#07549a;opacity:.85;font-size:.85rem;font-weight:700;letter-spacing:.3px;text-transform:uppercase;margin-bottom:.5rem}
.simple-hero-content h1{margin:0 0 1rem;color:#073b68;font-size:clamp(30px,3.5vw,45px);line-height:1.18;font-weight:800;letter-spacing:-.8px}
.simple-hero-content p{margin:0;color:#164f70;font-size:1.1rem;line-height:1.7;max-width:740px}
.search-wrap{position:relative;z-index:3;margin:-28px auto 0;padding:0 24px;max-width:1500px}
.hero-search-panel{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr);align-items:center;gap:22px;margin:0 auto;padding:20px 22px;max-width:100%;border:0;border-radius:16px;background:#fff;box-shadow:0 12px 30px rgba(0,0,0,.10);backdrop-filter:none;-webkit-backdrop-filter:none}
.hero-search-label{color:#003b73;font-size:13px;letter-spacing:0}.hero-search-sub{color:#64748b;font-size:13px}
.hero-search-controls .search-box{min-height:52px;border:1px solid #d9e2ec;border-radius:999px;padding:0 16px;background:#fff;box-shadow:none}
.hero-search-controls .search-box input{height:50px;font-size:14px}.hero-search-controls .toolbar-note{color:#64748b;font-size:12px}.hero-search-controls .hint-key{background:#eff6ff;color:#0d5fa8}
@media(max-width:800px){.modern-hero{min-height:300px;padding:70px 0 48px;border-radius:0 0 28px 28px}.hero-simple-inner{padding:42px 20px 24px}.simple-hero-logo{top:16px;left:20px}.simple-hero-logo img{height:44px;max-height:44px}.simple-hero-content{padding-top:18px}.simple-hero-content h1{font-size:clamp(27px,6vw,36px)}.simple-hero-content p{font-size:14px}.search-wrap{margin-top:-25px;padding:0 15px}.hero-search-panel{grid-template-columns:1fr;gap:12px;padding:18px;border-radius:18px}}
@media(max-width:480px){.modern-hero{min-height:280px;padding-bottom:42px}.hero-simple-inner{padding:39px 16px 20px}.simple-hero-logo{left:16px;top:13px}.simple-hero-logo img{height:38px;max-height:38px}.simple-hero-content h1{font-size:27px}.simple-hero-content p{font-size:13px}.search-wrap{padding:0 12px}.hero-search-panel{padding:16px}.hero-search-controls .search-box input{font-size:12px}}


/* HERO: estructura replicada del banner Servicios Municipales */
.page-shell{padding-top:0}
.hero-servicios{
  background:linear-gradient(90deg,#f8feff 0%,#e9faff 18%,#b9effb 42%,#54cbed 70%,#087bc2 100%);
  color:#fff;
  min-height:340px;
  position:relative;
  display:flex;
  align-items:center;
  padding:80px 0 60px;
  overflow:hidden;
  margin-left:-22px;
  margin-right:-22px;
}
.hero-servicios .hero-logo{position:absolute;top:20px;left:24px;z-index:2}
.hero-servicios .hero-logo img{height:56px;width:auto;display:block;object-fit:contain}
.hero-servicios .kicker{color:#07549a;opacity:.9;font-weight:700;letter-spacing:.3px;text-transform:uppercase;font-size:.85rem}
.hero-servicios h1{color:#073b68}
.hero-servicios .lead{color:#164f70}
.hero-servicios .badge-chip{background:rgba(255,255,255,.55);color:#07549a;border:1px solid rgba(7,84,154,.12);border-radius:999px;padding:.35rem .7rem;font-weight:700}
.search-wrap{margin-top:-28px;position:relative;z-index:3;margin-bottom:28px}
.hero-search-panel{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr);align-items:center;gap:22px;margin:0 auto;padding:20px 22px;max-width:100%;border:0;border-radius:16px;background:#fff;box-shadow:0 12px 30px rgba(0,0,0,.10);backdrop-filter:none;-webkit-backdrop-filter:none}
.hero-search-copy{display:flex;flex-direction:column;gap:7px}
.hero-search-label{color:#003b73;font-size:13px;font-weight:800;letter-spacing:0}
.hero-search-sub{color:#64748b;font-size:13px;line-height:1.5}
.hero-search-controls .search-box{min-height:52px;border:1px solid #d9e2ec;border-radius:999px;padding:0 16px;background:#fff;box-shadow:none}
.hero-search-controls .search-box input{height:50px;font-size:14px;color:#0f172a}
.hero-search-controls .toolbar-note{color:#64748b;font-size:12px}
.hero-search-controls .hint-key{background:#eff6ff;color:#0d5fa8}
@media(max-width:800px){
 .hero-servicios{min-height:300px;padding:70px 0 48px;margin-left:-22px;margin-right:-22px}
 .hero-servicios .hero-logo{top:16px;left:20px}
 .hero-servicios .hero-logo img{height:44px}
 .hero-search-panel{grid-template-columns:1fr;gap:12px;padding:18px;border-radius:18px}
 .search-wrap{padding-left:12px;padding-right:12px}
}
@media(max-width:480px){
 .hero-servicios{min-height:280px;padding-bottom:42px}
 .hero-servicios .hero-logo{left:16px;top:13px}
 .hero-servicios .hero-logo img{height:38px}
 .hero-servicios h1{font-size:clamp(27px,7vw,34px)}
 .hero-servicios .lead{font-size:1rem}
 .search-wrap{padding-left:8px;padding-right:8px}
 .hero-search-panel{padding:16px}
}

/* HERO FINAL: misma estructura de Servicios Municipales, con azul intenso */
.page-shell{max-width:none;padding:0 0 22px}
.hero-servicios{background:linear-gradient(105deg,#168fe0 0%,#0868c4 26%,#064a9f 57%,#032967 100%);color:#fff;min-height:340px;position:relative;display:flex;align-items:center;padding:80px 0 60px;overflow:hidden;border-radius:0 0 35px 35px;box-shadow:0 15px 35px rgba(0,35,90,.2)}
.hero-servicios:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(130deg,transparent 67%,rgba(36,131,255,.18) 67%,rgba(36,131,255,.08) 82%,transparent 82%)}
.hero-servicios .hero-logo{position:absolute;top:20px;left:24px;z-index:2}
.hero-servicios .hero-logo img{height:56px;width:auto;display:block;object-fit:contain}
.hero-servicios .container{position:relative;z-index:1}
.hero-servicios .kicker{color:#fff;opacity:.9;font-weight:700;letter-spacing:.3px;text-transform:uppercase;font-size:.85rem}
.hero-servicios h1{color:#fff}
.hero-servicios .lead{color:rgba(255,255,255,.94);max-width:780px}
.hero-servicios .badge-chip{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);color:#fff;border-radius:999px;padding:.35rem .7rem;font-weight:700}
.search-wrap{position:relative;z-index:3;margin-top:-28px}
.hero-search-panel{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr);align-items:center;gap:22px;margin:0 auto;padding:20px 22px;max-width:100%;border:0;border-radius:16px;background:#fff;box-shadow:0 12px 30px rgba(0,0,0,.10);backdrop-filter:none;-webkit-backdrop-filter:none}
.hero-search-copy{display:flex;flex-direction:column;gap:7px}
.hero-search-label{color:#003b73;font-size:13px;font-weight:800;letter-spacing:0}
.hero-search-sub{color:#64748b;font-size:13px;line-height:1.5}
.hero-search-controls .search-box{min-height:52px;border:1px solid #d9e2ec;border-radius:999px;padding:0 16px;background:#f2f6fb;box-shadow:none}
.hero-search-controls .search-box input{height:50px;font-size:14px;color:#0f172a}
.hero-search-controls .search-box svg{color:#0d5fa8}
.hero-search-controls .toolbar-note{color:#64748b;font-size:12px}
.hero-search-controls .hint-key{background:#eff6ff;color:#0d5fa8}
@media(max-width:800px){.hero-servicios{min-height:300px;padding:70px 0 48px;border-radius:0 0 28px 28px}.hero-servicios .hero-logo{top:16px;left:20px}.hero-servicios .hero-logo img{height:44px}.search-wrap{margin-top:-25px;padding:0 15px}.hero-search-panel{grid-template-columns:1fr;gap:12px;padding:18px;border-radius:18px}}
@media(max-width:480px){.hero-servicios{min-height:280px;padding-bottom:42px}.hero-servicios .hero-logo{left:16px;top:13px}.hero-servicios .hero-logo img{height:38px}.search-wrap{padding:0 12px}.hero-search-panel{padding:16px}.hero-search-controls .search-box input{font-size:12px}}

/* Tipografía de responsables/directores: nombre más visible, sin alterar el diseño. */
.modal-person{font-size:13.5px}
.modal-person strong{font-size:15px;font-weight:800;color:#123650}

/* Jerarquía superior alineada a la referencia: Gabinete a la izquierda de Administración Municipal; tres unidades a la derecha. */
.top-hierarchy{min-width:1645px;padding-top:8px}
.upper-row{display:grid;grid-template-columns:minmax(0,1fr) 180px minmax(0,1fr);justify-content:stretch;gap:0;min-height:77px}
.upper-row:before{left:calc(50% - 500px);right:calc(50% - 500px);top:50%;height:2px;opacity:.9}
.left-support{grid-column:1;justify-self:end;margin-right:29px;width:168px;flex:initial}
.left-support .mini-node{width:100%}
.alcaldia-wrap{grid-column:2;justify-self:center;width:180px;flex:initial}
.governance-group{grid-column:3;justify-self:start;margin-left:29px;gap:13px}
.admin-tree{display:grid;grid-template-columns:minmax(0,calc(50% - 286px)) 168px 180px max-content;gap:14px;align-items:center;justify-content:stretch;position:relative;width:100%;min-height:76px;margin:0;padding:21px 0 0;transform:none}
.admin-tree:before{content:"";position:absolute;left:50%;top:-14px;height:35px;border-left:2px solid var(--line);transform:translateX(-1px)}
.admin-tree:after{content:"";position:absolute;left:calc(50% - 272px);right:calc(50% - 470px);top:46px;border-top:2px solid var(--line);opacity:.95;pointer-events:none}
.admin-spacer{min-width:0;min-height:1px}
.cabinet-node{position:relative;z-index:1;width:100%;min-height:50px;padding:8px 10px;background:#fff;color:#103e6a;border:1.5px solid var(--navy);border-radius:10px;font-size:9px;line-height:1.2}
.admin-node{position:relative;z-index:2;width:180px;min-width:180px;min-height:50px;padding:10px 15px;font-size:10px}
.admin-children{position:relative;z-index:1;display:flex;justify-content:flex-start;align-items:center;gap:14px;width:max-content;margin:0;padding:0}
.admin-children:before,.admin-child-wrap:before{display:none!important}
.admin-child-wrap{position:relative;z-index:1;display:flex;justify-content:center;min-width:120px;max-width:150px}
.admin-child{position:relative;z-index:2;min-width:120px;max-width:150px;min-height:38px;padding:8px 10px}
.main-connector{transform:none;margin-top:0}
@media(max-width:800px){
  .top-hierarchy{min-width:1645px}
  .upper-row{grid-template-columns:minmax(0,1fr) 180px minmax(0,1fr)}
  .admin-tree{grid-template-columns:minmax(0,calc(50% - 286px)) 168px 180px max-content;gap:14px}
}

/* Ajustes de jerarquía solicitados: Juzgado independiente, órganos colegiados amarillos y conexiones de Gabinete. */
.upper-row:before{
  /* El tramo empieza después de Alcaldía: no debe conectar con el Juzgado. */
  left:calc(50% + 90px);
  right:calc(50% - 500px);
}
.juzgado-node{
  width:168px!important;
  min-height:76px!important;
  height:76px;
  flex:0 0 76px;
  padding:17px 27px;
  border:0!important;
  border-radius:0!important;
  clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);
  background:#f2bd39!important;
  color:#3e2e08!important;
  box-shadow:0 5px 12px rgba(123,87,0,.16);
  line-height:1.2;
}
.juzgado-node:hover{background:#eab12a!important;transform:translateY(-2px);box-shadow:0 7px 15px rgba(123,87,0,.2)}
.council-node{
  background:#f2bd39!important;
  border-color:#d7a223!important;
  color:#3e2e08!important;
  box-shadow:0 3px 9px rgba(123,87,0,.12);
}
.council-node:hover{background:#eab12a!important}
/* Ruta ortogonal desde Gabinete hacia arriba y a la derecha hasta Alcaldía. */
.cabinet-node:before{
  content:"";
  position:absolute;
  left:50%;
  bottom:100%;
  height:60px;
  border-left:2px solid var(--line);
  pointer-events:none;
  z-index:0;
}
.cabinet-node:after{
  content:"";
  position:absolute;
  left:50%;
  top:-60px;
  width:79px;
  border-top:2px solid var(--line);
  pointer-events:none;
  z-index:0;
}
/* Asegura que los tres departamentos permanezcan por encima de la línea horizontal común. */
.admin-child-wrap,.admin-child{z-index:2}
@media(max-width:800px){
  .juzgado-node{width:168px!important;height:76px;min-height:76px!important}
}

/* Ajuste final: Juzgado de Policía Local aislado y más a la izquierda. */
.left-support{transform:translateX(-65px)}
.upper-row:before{display:none!important}
/* La conexión horizontal superior parte desde Alcaldía, nunca desde el Juzgado. */
.alcaldia-wrap{position:relative}
.alcaldia-wrap:after{content:"";position:absolute;left:100%;top:50%;width:445px;border-top:2px solid var(--line);transform:translateY(-1px);z-index:-1;pointer-events:none}
/* Ruta ortogonal Gabinete → Alcaldía por el borde derecho, sin cruzar el rombo del JPL. */
.cabinet-node:before{left:auto;right:-1px;bottom:100%;top:auto;height:48px;border-left:2px solid var(--line)}
.cabinet-node:after{left:100%;top:-48px;width:15px;border-top:2px solid var(--line)}
@media(max-width:800px){.left-support{transform:translateX(-65px)}}

/* Corrección de conectores superiores: líneas solo en los espacios entre nodos. */
.alcaldia-wrap:after{display:none!important}
.upper-row:before{display:none!important}
.governance-group{position:relative;z-index:2;isolation:isolate}
.council-node{position:relative;z-index:2}
.council-node:before{content:"";position:absolute;top:50%;left:-14px;width:14px;border-top:2px solid var(--line);transform:translateY(-1px);z-index:-1;pointer-events:none}
.council-node:first-child:before{left:-30px;width:30px}
.left-support{transform:translateX(-105px)!important}
@media(max-width:800px){.left-support{transform:translateX(-105px)!important}}
