.page-hero{min-height:370px;display:flex;align-items:center;background:linear-gradient(115deg,rgba(4,74,108,.98),rgba(7,117,169,.83)),url('assets/posto-taguatinga.jpg') center/cover;background-image:linear-gradient(115deg,rgba(4,74,108,.98),rgba(7,117,169,.83)),image-set(url('assets/posto-taguatinga.webp') type('image/webp'),url('assets/posto-taguatinga.jpg') type('image/jpeg'));background-size:cover;background-position:center;color:#fff}.page-hero h1{font:700 58px/.96 Outfit;letter-spacing:-2px;margin:0}.page-hero h1 em,.page-hero h2 em{font-style:normal;color:#92dcf3}.page-hero p:not(.eyebrow){margin:20px 0 0;color:#d9eff7;font-size:17px}.gallery-intro{margin-bottom:40px}.gallery-intro h2,.two-column h2,.feed-heading h2{font:700 46px/1 Outfit;letter-spacing:-1.7px;margin:0}.gallery-intro h2 em,.two-column h2 em{color:var(--red);font-style:normal}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.photo-grid a{display:block;overflow:hidden;background:#e8f0f2;aspect-ratio:1.18}.photo-grid img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .35s ease}.photo-grid a:hover img{transform:scale(1.05)}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start}.two-column>div>p:not(.eyebrow),.two-column>p{color:var(--muted);font-size:15px;line-height:1.7;margin:0 0 17px}.instagram-feed,.facebook-callout{background:var(--blue);color:#fff;padding:86px 0}.feed-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:38px}.feed-heading h2{color:#fff}.feed-heading h2 em{color:#91dcf3}.instagram-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:9px}.instagram-grid a{aspect-ratio:1;overflow:hidden;background:#0b628b}.instagram-grid img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.instagram-grid a:hover img{transform:scale(1.06)}.tax-day{background:var(--cream)}.facebook-callout{background:var(--deep)}.facebook-callout .two-column>div>p:not(.eyebrow){color:#c8e1e9}.facebook-callout .button{margin-top:15px}.facebook-callout .two-column>div:last-child{padding-top:5px}.facebook-callout .two-column>div:last-child p{color:#c8e1e9;font-size:16px;line-height:1.65;margin:0 0 18px}@media(max-width:800px){.page-hero{min-height:320px}.page-hero h1{font-size:46px}.gallery-intro h2,.two-column h2,.feed-heading h2{font-size:38px}.photo-grid{grid-template-columns:repeat(2,1fr);gap:9px}.two-column{grid-template-columns:1fr;gap:28px}.instagram-feed,.facebook-callout{padding:65px 0}.feed-heading{display:block}.feed-heading .button{margin-top:24px}.instagram-grid{grid-template-columns:repeat(3,1fr);gap:7px}}

.photo-grid button.gallery-thumb{
  display:block;
  width:100%;
  padding:0;
  border:0;
  overflow:hidden;
  background:#e8f0f2;
  aspect-ratio:1.18;
  cursor:zoom-in;
  position:relative;
}
.photo-grid button.gallery-thumb::after{
  content:"";
  position:absolute;
  inset:auto 12px 12px auto;
  width:34px;
  height:34px;
  border-radius:50%;
  background:rgba(8,117,169,.92);
  box-shadow:0 8px 18px rgba(0,42,62,.22);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23fff' stroke-width='2'%3E%3Ccircle cx='7' cy='7' r='4.5'/%3E%3Cpath d='M10.5 10.5 14 14'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:center;
}
.photo-grid button.gallery-thumb img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transition:transform .35s ease;
}
.photo-grid button.gallery-thumb:hover img{transform:scale(1.05)}

body.lightbox-open{overflow:hidden}
.lightbox[hidden]{display:none!important}
.lightbox{
  position:fixed;
  inset:0;
  z-index:1000;
  display:grid;
  place-items:center;
  padding:24px;
}
.lightbox-backdrop{
  position:absolute;
  inset:0;
  background:rgba(10,34,46,.84);
}
.lightbox-dialog{
  position:relative;
  z-index:1;
  width:min(1040px,100%);
  max-height:min(90vh,900px);
  background:#132c38;
  color:#fff;
  border:1px solid rgba(149,203,220,.35);
  box-shadow:0 24px 60px rgba(0,20,30,.45);
  padding:28px 28px 22px;
  display:grid;
  grid-template-columns:48px 1fr 48px;
  grid-template-rows:auto 1fr auto;
  gap:12px 10px;
  align-items:center;
}
.lightbox-figure{
  grid-column:2;
  grid-row:2;
  margin:0;
  min-height:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
}
.lightbox-image{
  display:block;
  max-width:100%;
  max-height:min(68vh,720px);
  width:auto;
  height:auto;
  object-fit:contain;
  background:#0b2430;
}
.lightbox-caption{
  margin:0;
  font:600 14px/1.4 "DM Sans",sans-serif;
  color:#c8e1e9;
  text-align:center;
}
.lightbox-counter{
  grid-column:1 / -1;
  grid-row:3;
  margin:0;
  text-align:center;
  font:700 12px Outfit,sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#89d3ed;
}
.lightbox-btn{
  width:46px;
  height:46px;
  border:1px solid rgba(255,255,255,.42);
  border-radius:14px;
  background:rgba(255,255,255,.09);
  color:#fff;
  cursor:pointer;
  font:700 22px/1 Outfit,sans-serif;
  transition:transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.lightbox-btn:hover{
  transform:translateY(-2px);
  background:#fff;
  border-color:#fff;
  color:#0875a9;
  box-shadow:0 12px 25px rgba(0,42,62,.25);
}
.lightbox-close{
  grid-column:3;
  grid-row:1;
  justify-self:end;
  border-radius:3px;
  background:var(--red,#ec273d);
  border-color:var(--red,#ec273d);
}
.lightbox-close:hover{color:#fff;background:#d41f34;border-color:#d41f34}
.lightbox-prev{grid-column:1;grid-row:2}
.lightbox-next{grid-column:3;grid-row:2}

@media(max-width:800px){
  .lightbox{padding:12px}
  .lightbox-dialog{
    grid-template-columns:42px 1fr 42px;
    padding:18px 14px 16px;
    gap:10px 6px;
  }
  .lightbox-btn{width:42px;height:42px;border-radius:12px;font-size:18px}
  .lightbox-image{max-height:58vh}
  .lightbox-caption{font-size:13px}
}
