/* Responsive + gallery layer for the Interbosque landing.
   The kit styles inline, so these overrides need !important to win. */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--web-crema)}
a{color:inherit}
a:hover{color:var(--web-amarillo)}
.ib-gal{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:28px}
.ib-gal button{appearance:none;border:0;padding:0;margin:0;cursor:pointer;background:var(--web-concreto);border-radius:var(--web-radius-inset);overflow:hidden;display:block;position:relative;aspect-ratio:16/10}
.ib-gal img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--duration-slow) var(--ease-out)}
.ib-gal button:hover img{transform:scale(1.04)}
.ib-gal figcaption{position:absolute;left:0;right:0;bottom:0;padding:16px 10px 8px;font-size:11.5px;font-weight:700;color:#fff;text-align:left;background:linear-gradient(180deg,transparent,rgba(15,23,29,.82));text-wrap:pretty}
.ib-lb{position:fixed;inset:0;z-index:80;background:rgba(15,23,29,.95);display:grid;grid-template-rows:1fr auto;gap:14px;padding:22px}
.ib-lb-img{min-height:0;display:grid;place-items:center}
.ib-lb-img img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.ib-lb-bar{display:flex;align-items:center;justify-content:center;gap:14px;color:#fff;font-size:13.5px;font-family:var(--font-web)}
.ib-lb-bar button{appearance:none;background:rgba(255,255,255,.12);border:0;color:#fff;width:40px;height:40px;border-radius:999px;cursor:pointer;font-size:18px;line-height:1}
.ib-lb-bar button:hover{background:rgba(255,255,255,.22)}
.ib-lb-close{position:absolute;top:16px;right:18px;appearance:none;background:rgba(255,255,255,.12);border:0;color:#fff;width:42px;height:42px;border-radius:999px;cursor:pointer;font-size:20px}
.ib-map{height:380px;border-radius:var(--web-radius-card);overflow:hidden;background:var(--web-concreto)}
.leaflet-container{font-family:var(--font-web)}
@media(max-width:900px){
  .ib-grid-3{grid-template-columns:1fr 1fr!important}
  .ib-grid-2{grid-template-columns:1fr!important;gap:34px!important}
  .ib-h1{font-size:52px!important}
  .ib-gal{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:760px){
  .ib-stats{grid-template-columns:1fr 1fr!important}
}
@media(max-width:620px){
  .ib-sec{padding-top:44px!important;padding-bottom:44px!important}
  .ib-h1{font-size:34px!important}
  .ib-h2{font-size:26px!important}
  .ib-hero-lede{font-size:16.5px!important}
  .ib-lede{font-size:15.5px!important}
  .ib-grid-3{grid-template-columns:1fr!important;gap:14px!important}
  .ib-two{grid-template-columns:1fr!important}
  .ib-nav-cta{font-size:12px!important;padding:9px 13px!important}
  .ib-nav-long{display:none}
  .ib-cta-row{flex-direction:column!important;align-items:stretch!important}
  .ib-cta-row>*{text-align:center}
  .ib-img-band{height:200px!important}
  .ib-img-inline{height:180px!important}
  .ib-panel{padding:18px!important}
  .ib-footer-cols{flex-direction:column!important;gap:26px!important}
  .ib-gal{grid-template-columns:repeat(2,1fr);gap:8px}
  .ib-map{height:280px}
  .ib-fab{left:14px!important;right:14px!important;bottom:14px!important;text-align:center}
  body{padding-bottom:78px}
}
