.home-lead{padding:28px 0 18px}
.home-hero{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(360px,.76fr);gap:34px;align-items:center}
.home-hero h1{margin:0;max-width:720px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.45rem,4.65vw,4.15rem);line-height:.98;letter-spacing:-.038em}
.home-hero .deck{max-width:720px;font-size:1.02rem;color:var(--muted);margin:14px 0 19px}
.quick-search{display:flex;gap:8px;padding:9px;background:#fff;border:1px solid var(--line-dark);box-shadow:var(--shadow);max-width:720px}
.quick-search input{flex:1;min-width:0;border:0;padding:8px 10px;font:inherit;font-size:1rem;outline:none}
.home-snapshot{
  max-width:720px;
  margin-top:13px;
  padding-top:10px;
  border-top:1px solid var(--line-dark);
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px 0;
  color:#57544d;
  font-size:.78rem;
  line-height:1.35
}
.home-snapshot[hidden]{display:none}
.home-snapshot span{display:inline-flex;align-items:center;white-space:nowrap}
.home-snapshot span+span::before{content:"·";margin:0 10px;color:var(--red);font-weight:900}
.home-snapshot strong{color:var(--ink);font-weight:900}
.region-map-panel{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:transparent;
  border:0;
  padding:0;
  box-shadow:none;
  position:relative
}
.peru-map{
  width:min(100%,390px);
  margin:0 auto;
  aspect-ratio:300/398;
  position:relative
}
.peru-svg{
  display:block;
  width:100%;
  height:100%;
  overflow:visible;
  filter:drop-shadow(0 10px 16px rgba(24,42,54,.12))
}
.map-department{
  fill:#0b6098;
  stroke:#fffdf8;
  stroke-width:1.75;
  vector-effect:non-scaling-stroke;
  transition:fill .14s ease,stroke .14s ease,opacity .14s ease;
  outline:none
}
.map-department.has-jobs{
  cursor:pointer
}
.map-department.has-jobs:hover,
.map-department.has-jobs:focus-visible{
  fill:#1573aa;
  stroke:#c51f2a;
  stroke-width:2.35;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.16))
}
.map-department.no-jobs{
  fill:#b9cbd5;
  opacity:.66
}
.map-count-link{
  cursor:pointer;
  text-decoration:none;
  outline:none
}
.map-count-link circle{
  fill:#c51f2a;
  stroke:#fff;
  stroke-width:2.35;
  vector-effect:non-scaling-stroke;
  filter:drop-shadow(0 2px 3px rgba(0,0,0,.30));
  transition:fill .14s ease,transform .14s ease;
  transform-box:fill-box;
  transform-origin:center
}
.map-count-link text{
  fill:#fff;
  font-family:Arial,"Helvetica Neue",sans-serif;
  font-size:10px;
  font-weight:900;
  text-anchor:middle;
  dominant-baseline:central;
  pointer-events:none;
  user-select:none
}
.map-count-link:hover circle,
.map-count-link:focus-visible circle{
  fill:#981722;
  transform:scale(1.14)
}

.map-legend{position:absolute;z-index:2;left:4px;top:10px;display:grid;gap:4px;margin:0;padding:6px 8px;background:rgba(242,239,232,.9);border:1px solid rgba(185,181,172,.65);border-radius:5px;color:var(--muted);font-size:.66rem;line-height:1.2;pointer-events:none}
.map-legend span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.map-legend-dot{display:inline-block;width:9px;height:9px;border-radius:2px;border:1px solid rgba(0,0,0,.08)}
.map-legend-active{background:#0b6098}
.map-legend-empty{background:#b9cbd5}
.news-layout{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(270px,.62fr);gap:24px;margin-top:24px}
.latest-head-extra{display:flex;align-items:center;gap:12px}
.traffic-legend{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:.68rem}
.legend-item{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.traffic-dot{width:9px;height:9px;border-radius:50%;display:inline-block;box-shadow:0 0 0 2px #fff,0 0 0 3px rgba(0,0,0,.12)}
.traffic-green{background:#19a654}.traffic-source{background:#2472a4}.traffic-orange{background:#ef8a24}.traffic-red{background:#c51f2a}
.job-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.latest-card{position:relative;min-width:0;background:#fff;border:1px solid var(--line);border-top:3px solid var(--ink);padding:15px 15px 13px;min-height:194px;display:flex;flex-direction:column}
.latest-card:hover{border-top-color:var(--red);box-shadow:0 7px 20px rgba(33,28,20,.07)}
.latest-card .status-light{position:absolute;right:12px;top:12px;width:11px;height:11px;border-radius:50%;box-shadow:0 0 0 2px #fff,0 0 0 3px rgba(0,0,0,.12)}
.card-institution{margin:0 22px 7px 0;color:var(--red-dark);font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.035em;line-height:1.3}
.latest-card h3{font-family:Arial,"Helvetica Neue",system-ui,sans-serif;font-size:.98rem;font-weight:800;line-height:1.3;letter-spacing:-.012em;margin:0 0 10px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.latest-card h3 a{text-decoration:none}.latest-card h3 a:hover{color:var(--red-dark)}
.card-place{font-size:.77rem;font-weight:800;color:var(--navy);margin-bottom:7px}
.card-detail{display:flex;gap:5px 8px;flex-wrap:wrap;color:var(--muted);font-size:.72rem;line-height:1.35}
.card-detail span{display:inline-flex;align-items:center}
.card-footer{margin-top:auto;padding-top:10px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:8px}
.card-deadline{font-size:.7rem;color:var(--muted);font-weight:700}.card-deadline.urgent{color:#b35b09}.card-deadline.expired{color:var(--red-dark)}
.card-link{color:var(--red-dark);text-decoration:none;font-size:.75rem;font-weight:900;white-space:nowrap}
.deadline-list{display:grid;gap:0}
.deadline-item{display:grid;grid-template-columns:52px 1fr;gap:11px;padding:11px 0;border-bottom:1px solid var(--line)}
.deadline-date{border:1px solid var(--line-dark);text-align:center;background:#fff;font-weight:900;font-size:.72rem;padding:6px 3px}
.deadline-date strong{display:block;color:var(--red-dark);font-size:1.15rem}
.deadline-item h3{font-size:.9rem;line-height:1.3;margin:0 0 3px}.deadline-item h3 a{text-decoration:none}.deadline-item p{font-size:.76rem;color:var(--muted);margin:0}
.deadline-count{font-size:.7rem;color:var(--red-dark);font-weight:900;white-space:nowrap}
.portal-block{margin-top:34px}
.loading-line{color:var(--muted);padding:10px 0}
@media(max-width:1040px){.job-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-hero{grid-template-columns:minmax(0,1.3fr) minmax(330px,.72fr)}}
@media(max-width:900px){.home-hero,.news-layout{grid-template-columns:1fr}.region-map-panel{max-width:520px;margin:0 auto}.peru-map{width:min(100%,360px)}.latest-head-extra{align-items:flex-end}.job-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.quick-search{display:grid}.home-snapshot{font-size:.75rem}.home-snapshot span+span::before{margin:0 7px}.job-card-grid{grid-template-columns:1fr}.latest-card{min-height:0}.peru-map{width:min(100%,330px)}.news-layout{gap:18px}.traffic-legend{display:none}.deadline-item{grid-template-columns:48px minmax(0,1fr)}.deadline-footer{flex-wrap:wrap;justify-content:flex-start}}

.topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.topic-grid-rich .topic-card-rich{display:grid;grid-template-columns:84px 1fr;gap:16px;align-items:start;background:#fff;border:1px solid var(--line);border-top:4px solid var(--red);padding:18px;min-height:178px}
.topic-media,.tool-media{width:72px;height:72px;border-radius:18px;background:linear-gradient(180deg,#fbfaf7 0%,#f0ece4 100%);border:1px solid #d8d2c7;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.75)}
.topic-body h3,.tool-copy h3{font-family:Georgia,serif;font-size:1.18rem;margin:0 0 7px}
.topic-body p{color:var(--muted);font-size:.87rem;line-height:1.5;margin:0 0 15px}
.topic-body a{font-weight:900;color:var(--red-dark);font-size:.86rem;text-decoration:none}
.topic-icon{width:44px;height:44px}
.icon-stroke,.icon-line{fill:none;stroke:var(--navy);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.icon-accent{stroke:var(--red)}
.icon-fill-soft{fill:#eef1f5;stroke:var(--navy);stroke-width:2;stroke-linejoin:round}
.icon-dot{fill:var(--red)}
.official-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.tool-row-rich{background:#fff;border:1px solid var(--line);padding:16px;display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:14px;align-items:center}
.tool-copy p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.45}
.tool-row-rich .btn{white-space:nowrap}
@media(max-width:900px){.topic-grid-rich{grid-template-columns:1fr}.official-tools-rich{grid-template-columns:1fr}}
@media(max-width:700px){.section-head{align-items:flex-start}.latest-head-extra{display:grid;justify-items:end}.traffic-legend{flex-wrap:wrap;justify-content:flex-end}.topic-grid-rich{grid-template-columns:1fr}.official-tools-rich{grid-template-columns:1fr}.topic-grid-rich .topic-card-rich{grid-template-columns:72px 1fr}.tool-row-rich{grid-template-columns:64px 1fr}}
@media(max-width:560px){.tool-row-rich{grid-template-columns:1fr;align-items:start}.tool-media{width:64px;height:64px}.topic-media{width:68px;height:68px}}


/* R0R108.0 · consistencia visual del inicio */
.quick-search{border-radius:12px}
.quick-search input{border-radius:7px}
.latest-card{border-radius:10px;overflow:hidden;box-shadow:0 2px 9px rgba(31,28,22,.025);transition:border-color .14s ease,box-shadow .14s ease}
.latest-card:hover{box-shadow:0 8px 20px rgba(33,28,20,.065)}
.deadline-list{gap:8px}
.deadline-item{padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:#fff}
.deadline-date{border-radius:6px}
.topic-grid-rich .topic-card-rich,.tool-row-rich{border-radius:11px;box-shadow:0 2px 9px rgba(31,28,22,.025)}
@media(max-width:560px){.quick-search{padding:8px}.deadline-item{grid-template-columns:48px 1fr}}

/* R0R108.0.3 · pulido visual: ilustraciones raster transparentes + 18 convocatorias */
.home-lead{position:relative;isolation:isolate;overflow:clip}
.home-hero{position:relative;z-index:2}
.hero-etch{position:absolute;z-index:1;display:block;pointer-events:none;user-select:none;object-fit:contain;mix-blend-mode:multiply}
.hero-etch-left{left:calc(50% - 805px);bottom:0;width:300px;height:auto;opacity:.72}
.hero-etch-right{right:calc(50% - 815px);bottom:0;width:285px;height:auto;opacity:.62}

/* Tarjetas de últimas convocatorias: borde suave tipo papel/pergamino. */
.latest-card{
  border:0;
  border-radius:0;
  overflow:visible;
  background:
    radial-gradient(circle at 18% 22%,rgba(122,86,49,.055) 0 1px,transparent 1.35px) 0 0/18px 18px,
    radial-gradient(circle at 74% 68%,rgba(139,103,61,.04) 0 1px,transparent 1.25px) 0 0/23px 23px,
    linear-gradient(180deg,#fffdf8 0%,#fbf6ec 100%);
  clip-path:polygon(1.1% 0,15% .5%,29% .15%,44% .7%,61% .12%,78% .55%,98.9% 0,100% 10%,99.45% 24%,100% 39%,99.35% 55%,100% 71%,99.5% 87%,100% 100%,84% 99.55%,68% 100%,51% 99.35%,35% 100%,18% 99.55%,0 100%,.55% 85%,0 68%,.6% 52%,0 35%,.55% 18%,0 0);
  box-shadow:none;
  filter:drop-shadow(0 2px 2px rgba(57,42,25,.12));
  transition:filter .14s ease,transform .14s ease
}
.latest-card:nth-child(3n+2){clip-path:polygon(.5% .5%,17% 0,33% .55%,49% .1%,65% .65%,82% .1%,100% .6%,99.45% 17%,100% 34%,99.35% 51%,100% 69%,99.45% 85%,99.7% 99.5%,83% 100%,66% 99.4%,50% 100%,34% 99.35%,17% 100%,.35% 99.5%,0 83%,.55% 66%,0 49%,.55% 32%,0 15%,.5% .5%)}
.latest-card:nth-child(3n){clip-path:polygon(.8% 0,18% .55%,35% .1%,52% .65%,68% .15%,84% .6%,99.5% 0,100% 16%,99.4% 33%,100% 50%,99.4% 67%,100% 84%,99.3% 100%,82% 99.4%,65% 100%,48% 99.45%,31% 100%,15% 99.4%,0 100%,.55% 84%,0 67%,.55% 50%,0 33%,.55% 16%,.8% 0)}
.latest-card:hover{border-top-color:transparent;filter:drop-shadow(0 7px 7px rgba(57,42,25,.16));transform:translateY(-1px)}
.latest-card .card-footer{border-top-color:rgba(105,85,61,.19)}

/* Explora oportunidades: ilustración editorial más rica, pero bloque compacto. */
.topic-grid-rich .topic-card-rich{
  grid-template-columns:82px minmax(0,1fr);
  gap:13px;
  align-items:center;
  min-height:142px;
  padding:13px 15px;
  border:1px solid #d8cec0;
  border-top:2px solid var(--red);
  border-radius:7px;
  background:linear-gradient(180deg,#fffdf9 0%,#fbf7ef 100%);
  box-shadow:0 3px 10px rgba(61,47,31,.045)
}
.topic-card-rich.blue{border-top-color:var(--navy)}
.topic-card-rich.green{border-top-color:var(--green)}
.topic-media{
  width:78px;height:74px;
  border:0;border-radius:0;
  background:transparent;
  box-shadow:none
}
.editorial-icon{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 2px 2px rgba(54,43,31,.13));opacity:.94}
.topic-body h3{font-size:1.14rem;margin:0 0 4px}
.topic-body p{font-size:.81rem;line-height:1.38;margin:0 0 8px}
.topic-body a{font-size:.81rem}

/* Herramientas: misma familia ilustrada, sin crecer verticalmente. */
.official-tools-rich{gap:10px}
.tool-row-rich{
  min-height:88px;
  grid-template-columns:62px minmax(0,1fr) auto;
  gap:12px;
  padding:10px 12px;
  border:1px solid #d8cec0;
  border-radius:7px;
  background:linear-gradient(180deg,#fffdf9 0%,#fbf7ef 100%);
  box-shadow:0 3px 10px rgba(61,47,31,.04)
}
.tool-media{width:58px;height:58px;border:0;border-radius:0;background:transparent;box-shadow:none}
.tool-copy h3{font-size:1.06rem;margin:0 0 3px}
.tool-copy p{font-size:.78rem;line-height:1.36}
.tool-row-rich .btn{min-height:38px;padding:7px 12px;background:#fffdf9}

@media(max-width:1320px){
  .hero-etch-left{left:-92px;opacity:.42}
  .hero-etch-right{right:-96px;opacity:.32}
}
@media(max-width:900px){
  .topic-grid-rich .topic-card-rich{grid-template-columns:76px minmax(0,1fr);min-height:132px}
  .topic-media{width:72px;height:68px}
}
@media(max-width:700px){
  .topic-grid-rich .topic-card-rich{grid-template-columns:68px minmax(0,1fr)}
  .topic-media{width:64px;height:62px}
  .tool-row-rich{grid-template-columns:56px minmax(0,1fr) auto}
  .tool-media{width:52px;height:52px}
}
@media(max-width:560px){
  .topic-grid-rich .topic-card-rich{grid-template-columns:64px minmax(0,1fr);padding:12px;min-height:0}
  .topic-media{width:60px;height:58px}
  .tool-row-rich{grid-template-columns:54px minmax(0,1fr);align-items:center;min-height:0}
  .tool-row-rich .btn{grid-column:2;justify-self:start}
  .tool-media{width:50px;height:50px}
}
@media(prefers-reduced-motion:reduce){.latest-card{transition:none}.latest-card:hover{transform:none}}

/* R0R108.0.3.2 · hero editorial integrado: imagenes amplias y discretas; mapa intacto */
.hero-etch{
  mix-blend-mode:multiply;
  object-fit:contain;
}
.hero-etch-left{
  left:max(-36px,calc(50% - 895px));
  bottom:-12px;
  width:520px;
  max-width:31vw;
  opacity:.58;
}
.hero-etch-right{
  right:max(-28px,calc(50% - 905px));
  bottom:-10px;
  width:540px;
  max-width:32vw;
  opacity:.52;
}
@media(max-width:1500px){
  .hero-etch-left{left:-48px;width:450px;opacity:.46}
  .hero-etch-right{right:-48px;width:455px;opacity:.40}
}
@media(max-width:1240px){
  .hero-etch-left{left:-84px;width:400px;opacity:.34}
  .hero-etch-right{right:-90px;width:405px;opacity:.30}
}
@media(max-width:1120px){.hero-etch{display:none}}

/* R0R108.0.3.3 · hero filler + deadline column balance + clean course art */
.hero-etch-center{
  left:50%;
  bottom:18px;
  width:410px;
  max-width:24vw;
  transform:translateX(-28%);
  opacity:.17;
}

.news-layout{
  align-items:stretch;
}

.deadline-panel{
  display:flex;
  flex-direction:column;
  min-height:100%;
}

.deadline-panel .section-head{
  align-items:center;
}

.deadline-panel .section-head h2{
  font-size:1.2rem;
  white-space:nowrap;
  line-height:1.1;
}

.deadline-panel .deadline-count{
  font-size:.78rem;
}

.deadline-list{
  flex:1;
  display:grid;
  grid-template-rows:repeat(6,minmax(0,1fr));
  gap:10px;
  min-height:0;
}

.deadline-item{
  height:100%;
  min-height:0;
  align-content:start;
  padding:12px;
  border-radius:10px;
}

.deadline-item h3{
  font-size:.89rem;
}

.deadline-item p{
  font-size:.74rem;
  line-height:1.33;
}

.topic-card-rich.green .topic-media{
  width:80px;
  height:76px;
}

@media(max-width:1500px){
  .hero-etch-center{
    width:360px;
    max-width:23vw;
    opacity:.14;
    transform:translateX(-30%);
  }
}

@media(max-width:1240px){
  .hero-etch-center{
    width:320px;
    max-width:22vw;
    opacity:.12;
    transform:translateX(-32%);
  }
}

@media(max-width:1120px){
  .hero-etch-center{display:none}
}

/* R0R108.0.3.4 · deadline exact balance + hero soft filler */
.news-layout{
  grid-template-columns:minmax(0,2.15fr) minmax(310px,.72fr);
  align-items:stretch;
}
.news-layout>section{
  min-width:0;
  display:flex;
  flex-direction:column;
}
.news-layout>section .job-card-grid{
  flex:1;
}
.deadline-panel{
  min-width:0;
  min-height:0;
  display:grid;
  grid-template-rows:auto auto auto;
  align-content:start;
  overflow:visible;
}
.deadline-panel .section-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
}
.deadline-panel .section-head h2{
  margin:0;
  white-space:nowrap;
  font-size:1.12rem;
  line-height:1.05;
  letter-spacing:-.015em;
}
.deadline-panel .deadline-count{
  white-space:nowrap;
  font-size:.72rem;
}
.deadline-list{
  display:grid;
  grid-template-rows:none;
  gap:12px;
  min-height:0;
  height:auto;
  overflow:visible;
  align-content:start;
}
.deadline-item{
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  gap:12px;
  align-items:start;
  min-height:0;
  height:auto;
  overflow:visible;
  padding:12px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
}
.deadline-date{
  display:grid;
  align-content:start;
  justify-items:center;
  min-height:72px;
  padding:8px 4px;
  border:1px solid var(--line-dark);
  border-radius:8px;
  background:#fff;
  text-align:center;
  font-weight:900;
  font-size:.72rem;
}
.deadline-date strong{display:block;color:var(--red-dark);font-size:1.12rem}
.deadline-copy{min-width:0;display:grid;gap:4px}
.deadline-item h3{margin:0;font-size:.9rem;line-height:1.27}
.deadline-item h3 a{text-decoration:none;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.deadline-item p{margin:0;color:var(--muted);font-size:.74rem;line-height:1.32;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.deadline-meta{display:flex;flex-wrap:wrap;gap:6px 10px;color:#5f5b53;font-size:.72rem;line-height:1.28}
.deadline-meta span{display:inline-flex;align-items:center}
.deadline-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:2px}
.deadline-chip{display:inline-flex;align-items:center;min-height:22px;padding:3px 8px;border-radius:999px;background:#fff4e7;color:#a45a08;font-size:.68rem;font-weight:900;white-space:nowrap}
.deadline-link{color:var(--red-dark);text-decoration:none;font-size:.74rem;font-weight:900;white-space:nowrap}
.hero-etch-center{
  left:49%;
  bottom:26px;
  width:540px;
  max-width:31.5vw;
  transform:translateX(-25%);
  opacity:.105;
  filter:sepia(.22) saturate(.72) contrast(.88);
}
.topic-card-rich.green .topic-media{
  overflow:visible;
}
.topic-card-rich.green .editorial-icon{
  object-fit:contain;
  object-position:center;
}
@media(max-width:1240px){
  .news-layout{grid-template-columns:minmax(0,2.05fr) minmax(295px,.75fr)}
  .deadline-panel .section-head h2{font-size:1.04rem}
}
@media(max-width:1040px){
  .news-layout{grid-template-columns:minmax(0,1.85fr) minmax(285px,.78fr)}
}
@media(max-width:900px){
  .news-layout{grid-template-columns:1fr}
  .deadline-panel{display:block;overflow:visible}
  .deadline-panel .section-head{display:flex}
  .deadline-panel .section-head h2{font-size:1.45rem;white-space:normal}
  .deadline-list{height:auto;overflow:visible;grid-template-rows:none}
  .deadline-item{height:auto;overflow:visible}
}

/* R0R109.0.2 · HOME header spacing + responsive polish. Sólo presentación pública; motor/Collector/API intactos.
   Ajustes: cierre vertical del hero, acciones del mapa ligeramente a la derecha y composición responsive sin superposiciones. */
.home-lead{
  padding:30px 0 8px;
  background:
    radial-gradient(circle at 55% 28%,rgba(255,255,255,.78),rgba(255,255,255,0) 42%),
    linear-gradient(180deg,rgba(250,248,243,.74),rgba(242,239,232,.44));
}
.home-hero{
  grid-template-columns:minmax(0,1.34fr) minmax(405px,.86fr);
  gap:30px;
  align-items:center;
}
.hero-copy{min-width:0;padding:18px 0 10px}
.home-hero .kicker{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:9px;
}
.home-hero .kicker::after{
  content:"";
  width:38px;
  height:1px;
  background:var(--red);
  opacity:.85;
}
.home-hero h1{
  max-width:760px;
  font-size:clamp(2.7rem,4.75vw,4.55rem);
  line-height:.91;
  letter-spacing:-.045em;
}
.home-hero h1 span{display:block}
.home-hero h1 .hero-accent{color:var(--red)}
.home-hero .deck{
  max-width:700px;
  margin:18px 0 18px;
  color:#5e6268;
  font-size:1.04rem;
  line-height:1.45;
}
.quick-search{
  max-width:735px;
  min-height:64px;
  align-items:center;
  gap:7px;
  padding:7px 8px 7px 14px;
  border:1px solid #d7d2ca;
  border-radius:13px;
  box-shadow:0 12px 28px rgba(31,28,22,.08),0 1px 0 rgba(255,255,255,.9) inset;
}
.quick-search-icon{
  position:relative;
  flex:0 0 auto;
  display:inline-grid;
  place-items:center;
  width:28px;
  height:28px;
  color:#1c2430;
  transform:none;
}
.quick-search-icon::before{
  content:"";
  position:absolute;
  left:5px;top:5px;
  width:12px;height:12px;
  border:2px solid #1c2430;
  border-radius:50%;
}
.quick-search-icon::after{
  content:"";
  position:absolute;
  left:16px;top:17px;
  width:7px;height:2px;
  border-radius:2px;
  background:#1c2430;
  transform:rotate(45deg);
  transform-origin:left center;
}
.quick-search input{
  min-height:46px;
  padding:9px 8px;
  font-size:1rem;
  color:var(--ink);
  background:transparent;
}
.quick-search input::placeholder{color:#8b8c8d}
.quick-search .btn{
  min-width:174px;
  min-height:48px;
  gap:8px;
  border-radius:9px;
  box-shadow:0 5px 12px rgba(197,31,42,.18);
}
.home-snapshot{
  max-width:735px;
  margin-top:12px;
  padding:0;
  border-top:0;
  gap:7px 19px;
  color:#5b5d5f;
  font-size:.76rem;
}
.home-snapshot span+span::before{content:none;margin:0}
.home-snapshot .snapshot-item{gap:6px}
.home-snapshot .snapshot-item i{display:none}
.home-snapshot .snapshot-item svg{
  width:17px;height:17px;
  flex:0 0 17px;
  fill:none;
  stroke:#243746;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.home-snapshot strong{font-size:.82rem}
.quick-links{
  max-width:735px;
  margin-top:14px;
  padding-top:11px;
  border-top:1px solid rgba(185,181,172,.7);
}
.quick-links-title{
  display:flex;
  align-items:center;
  gap:6px;
  margin-bottom:9px;
  color:#66645f;
  font-size:.69rem;
  font-weight:900;
  letter-spacing:.085em;
  text-transform:uppercase;
}
.quick-links-title b{color:var(--red);font-size:1rem;line-height:1}
.quick-links-row{display:flex;flex-wrap:wrap;gap:8px}
.quick-links-row a{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:6px 13px;
  border:1px solid #d9d5cd;
  border-radius:999px;
  background:rgba(255,255,255,.88);
  color:#213246;
  box-shadow:0 2px 6px rgba(31,28,22,.045);
  font-size:.77rem;
  font-weight:800;
  text-decoration:none;
  transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease,color .14s ease;
}
.quick-links-row a:hover,
.quick-links-row a:focus-visible{
  border-color:#aeb9c3;
  box-shadow:0 5px 12px rgba(31,28,22,.08);
  color:var(--red-dark);
  transform:translateY(-1px);
}
.quick-links-row .quick-link-all{color:var(--red-dark);gap:6px}

/* Mapa: conserva el enlace existente /empleos?department=... y añade información visual. */
.region-map-panel{
  min-height:500px;
  align-items:center;
  justify-content:center;
  padding:6px 6px 24px;
}
.peru-map{
  width:min(100%,405px);
  transform:translateX(-28px);
}
.map-department{
  fill:#0f679d;
  stroke:#fffdf8;
  stroke-width:1.85;
  transition:fill .16s ease,stroke .16s ease,opacity .16s ease,filter .16s ease;
}
.map-department.has-jobs:hover,
.map-department.has-jobs:focus-visible,
.map-department.has-jobs.is-preview{
  fill:#c51f2a;
  stroke:#fff;
  stroke-width:2.5;
  filter:drop-shadow(0 0 4px rgba(197,31,42,.48));
}
.map-department.no-jobs{fill:#c4ced5;opacity:.78}
.map-count-link circle{fill:#cf1f2d;stroke-width:2.2}
.map-count-link:hover circle,
.map-count-link:focus-visible circle{fill:#a31320;transform:scale(1.12)}
.map-legend{
  left:auto;
  right:2px;
  top:8px;
  gap:5px;
  padding:8px 10px;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(185,181,172,.55);
  border-radius:8px;
  box-shadow:0 5px 18px rgba(31,28,22,.05);
  color:#66645f;
  font-size:.63rem;
}
.map-legend-dot{width:9px;height:9px;border-radius:50%}
.map-legend-selected{
  background:var(--red);
  box-shadow:0 0 0 2px rgba(255,255,255,.95),0 0 0 3px rgba(197,31,42,.28);
}
.map-info-card{
  position:absolute;
  z-index:4;
  right:-8px;
  top:35%;
  width:172px;
  padding:12px 14px;
  border:1px solid #ddd8cf;
  border-radius:10px;
  background:rgba(255,255,255,.97);
  box-shadow:0 10px 24px rgba(31,28,22,.12);
  pointer-events:none;
  transform:translateY(-50%);
}
.map-info-card[hidden]{display:none}
.map-info-card strong{display:block;color:#202733;font-size:.91rem;line-height:1.2}
.map-info-card span{display:block;margin-top:3px;color:var(--red);font-size:.77rem;font-weight:900}
.map-info-card small{display:block;margin-top:5px;color:#73706a;font-size:.64rem;line-height:1.3}
.map-connector{
  position:absolute;
  z-index:3;
  height:0;
  border-top:1.5px solid var(--red);
  pointer-events:none;
  transform-origin:0 50%;
}
.map-connector[hidden]{display:none}
.map-connector::before{
  content:"";
  position:absolute;
  left:-4px;top:-4px;
  width:7px;height:7px;
  border-radius:50%;
  background:var(--red);
  box-shadow:0 0 0 2px #fff;
}
.map-connector::after{
  content:"";
  position:absolute;
  right:-1px;top:-4px;
  width:0;height:0;
  border-top:4px solid transparent;
  border-bottom:4px solid transparent;
  border-left:6px solid var(--red);
}
.map-actions{
  position:absolute;
  z-index:3;
  left:42px;
  right:auto;
  bottom:18px;
  display:grid;
  justify-items:start;
  gap:7px;
  max-width:205px;
}
.map-all-link{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:37px;
  padding:7px 12px;
  border:1px solid #d9d5cd;
  border-radius:9px;
  background:rgba(255,255,255,.94);
  box-shadow:0 5px 14px rgba(31,28,22,.07);
  color:#243446;
  font-size:.76rem;
  font-weight:900;
  text-decoration:none;
}
.map-all-link:hover{color:var(--red-dark);border-color:#c5bbb0}
.map-actions p{
  margin:0;
  max-width:205px;
  color:#77736c;
  font-size:.65rem;
  line-height:1.35;
  text-align:left;
}

/* Cierre del hero: reduce aire vacío sin alterar la estructura de la siguiente sección. */
.home-lead + .news-layout{margin-top:10px}

/* Los fondos acompañan al contenido; nunca compiten con la búsqueda ni el mapa. */
.hero-etch-left{bottom:26px;opacity:.39}
.hero-etch-right{bottom:22px;opacity:.29}
.hero-etch-center{opacity:.075}

@media(max-width:1240px){
  .home-hero{grid-template-columns:minmax(0,1.25fr) minmax(370px,.78fr);gap:24px}
  .home-hero h1{font-size:clamp(2.65rem,4.6vw,4.05rem)}
  .region-map-panel{min-height:470px}
  .peru-map{width:min(100%,375px)}
  .map-info-card{right:-2px;top:34%;width:164px}
  .map-legend{right:0}
  .map-actions{left:32px}
}
@media(max-width:1040px){
  .home-hero{grid-template-columns:minmax(0,1.15fr) minmax(345px,.75fr)}
  .home-hero h1{font-size:clamp(2.45rem,4.55vw,3.65rem)}
  .quick-search .btn{min-width:155px}
  .region-map-panel{min-height:445px}
  .peru-map{width:min(100%,350px)}
  .map-info-card{right:-4px;top:34%;width:150px;padding:10px 11px}
  .map-actions{left:20px}
}
@media(max-width:900px){
  .home-lead{padding:18px 0 8px}
  .home-lead + .news-layout{margin-top:12px}
  .home-hero{grid-template-columns:1fr;gap:8px}
  .hero-copy{padding-bottom:0}
  .home-hero h1{max-width:710px;font-size:clamp(2.65rem,9vw,4.15rem)}
  .region-map-panel{max-width:590px;min-height:0;margin:2px auto 0;width:100%;padding:0 0 6px;flex-direction:column;justify-content:flex-start}
  .peru-map{width:min(100%,350px)}
  .map-info-card{right:3%;top:32%;width:170px}
  .map-actions{position:static;left:auto;right:auto;bottom:auto;transform:none;justify-items:center;width:min(100%,230px);max-width:230px;margin:-10px auto 0}
  .map-actions p{max-width:230px;text-align:center}
}
@media(max-width:640px){
  .home-hero h1{font-size:clamp(2.35rem,12vw,3.4rem)}
  .home-hero .deck{font-size:.96rem}
  .quick-search{display:grid;grid-template-columns:28px minmax(0,1fr);padding:8px 9px 9px}
  .quick-search .btn{grid-column:1/-1;width:100%;min-width:0}
  .home-snapshot{gap:7px 13px}
  .quick-links-row{gap:6px}
  .quick-links-row a{padding:5px 11px;font-size:.73rem}
  .region-map-panel{min-height:0;padding:0 0 4px}
  .peru-map{width:min(100%,310px);transform:none}
  .map-legend{right:0;top:4px;font-size:.59rem}
  .map-info-card{right:0;top:32%;width:148px}
  .map-actions{width:min(100%,210px);max-width:210px;margin:-6px auto 0}
  .map-actions p{max-width:210px;font-size:.61rem;text-align:center}
}
@media(max-width:420px){
  .peru-map{width:min(100%,278px)}
  .map-info-card{position:relative;right:auto;top:auto;transform:none;width:min(100%,230px);margin:-10px auto 0}
  .map-connector{display:none!important}
  .map-legend{position:relative;right:auto;top:auto;margin:0 auto 6px;width:max-content;max-width:100%}
  .region-map-panel{display:flex;min-height:0;padding:0 0 4px}
  .map-actions{position:static;width:min(100%,205px);max-width:205px;margin:8px auto 0}
  .map-actions p{max-width:205px;text-align:center}
}
@media(prefers-reduced-motion:reduce){
  .quick-links-row a{transition:none}
}



/* R0R109.0.6 · ajuste puntual aprobado: alinear Próximas a vencer con Últimas convocatorias. */
@media(min-width:901px){
  .deadline-panel{margin-top:12px}
}
