/* Fotografía territorial de Constitución: los masters conservan su resolución original y se muestran sin ampliarlos de forma agresiva. */
.hero{background:#032f4c!important;overflow:hidden}
.hero.hasPhoto{background-image:none!important}
.hero:before{inset:0 50% 0 0!important;background:linear-gradient(110deg,#032f4c 0%,#064f74 100%)!important}
.heroIn{position:relative;z-index:1;grid-template-columns:minmax(0,1.03fr) minmax(360px,.97fr)!important;grid-template-rows:1fr auto;gap:40px;align-items:stretch!important}
.heroIn>div:first-child{grid-column:1;grid-row:1/3;align-self:end;position:relative;z-index:2}
.heroPhoto{grid-column:2;grid-row:1/3;min-height:480px;margin:0;border-radius:18px;overflow:hidden;position:relative;box-shadow:0 24px 60px rgba(0,0,0,.2);background:#123b52}
.heroPhoto img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.heroPhoto:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(3,25,40,.72));pointer-events:none}
.heroPhoto figcaption{position:absolute;left:22px;right:22px;bottom:18px;z-index:2;color:#fff;font-size:.74rem;font-weight:700;letter-spacing:.01em}
.heroBrief{grid-column:2!important;grid-row:2!important;align-self:end!important;margin:0 22px 22px!important;padding:18px 20px!important;border:1px solid rgba(255,255,255,.22)!important;border-left:1px solid rgba(255,255,255,.22)!important;border-radius:12px!important;background:rgba(3,47,76,.9)!important;backdrop-filter:blur(8px)!important;position:relative;z-index:3}
.municipalBridge{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);gap:34px;align-items:center;margin-top:48px;padding:26px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow)}
.municipalBridge figure{margin:0;aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:#dce8ed}
.municipalBridge img{width:100%;height:100%;object-fit:cover;display:block}
.municipalBridgeCopy small{display:block;margin-bottom:9px;color:var(--blue);font-weight:800;font-size:.72rem}
.municipalBridgeCopy h3{margin:0 0 12px;font-size:clamp(1.55rem,2.5vw,2.25rem);line-height:1.03;letter-spacing:-.025em;color:var(--navy-strong)}
.municipalBridgeCopy p{max-width:62ch;margin:0;color:var(--muted);line-height:1.65}
.territoryGrid{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;grid-auto-rows:180px;gap:16px!important}
.territoryGrid figure{position:relative;margin:0;min-height:0;height:auto!important;border-radius:14px;overflow:hidden;background:#123b52}
.territoryGrid figure:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(3,20,32,.86));pointer-events:none}
.territoryGrid figure img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transform:none!important}
.territoryGrid figcaption{position:absolute;left:16px;right:16px;bottom:13px;z-index:2;color:#fff;font-size:.76rem;font-weight:700;line-height:1.25}
.territoryGrid .territoryLead{grid-column:span 7;grid-row:span 2;height:auto!important}
.territoryGrid .territoryWide{grid-column:span 5}
.territoryGrid .territoryThird{grid-column:span 4}
.territoryGrid .territoryPortrait img{object-position:center 45%}
.noteImage img.photo{image-rendering:auto}
@media(max-width:950px){
  .heroIn{grid-template-columns:1fr!important;grid-template-rows:auto!important;padding-top:70px!important}
  .heroIn>div:first-child,.heroPhoto,.heroBrief{grid-column:1!important;grid-row:auto!important}
  .heroPhoto{min-height:360px;margin-top:12px}
  .heroBrief{margin:-128px 18px 18px!important}
  .hero:before{inset:0!important;background:linear-gradient(180deg,#032f4c 0%,#064f74 52%,#032f4c 100%)!important}
  .municipalBridge{grid-template-columns:1fr}
  .territoryGrid{grid-template-columns:repeat(6,minmax(0,1fr))!important;grid-auto-rows:190px}
  .territoryGrid .territoryLead{grid-column:span 6;grid-row:span 2}
  .territoryGrid .territoryWide{grid-column:span 3}
  .territoryGrid .territoryThird{grid-column:span 3}
}
@media(max-width:620px){
  .heroPhoto{min-height:300px;border-radius:12px}
  .heroBrief{margin:-112px 12px 12px!important}
  .municipalBridge{padding:16px;gap:18px}
  .territoryGrid{grid-template-columns:1fr!important;grid-auto-rows:auto!important}
  .territoryGrid figure,.territoryGrid .territoryLead,.territoryGrid .territoryWide,.territoryGrid .territoryThird{grid-column:1!important;grid-row:auto!important;aspect-ratio:4/3}
  .territoryGrid .territoryLead{aspect-ratio:16/10}
}
