
:root{--red:#cf202f;--dark:#111827;--muted:#6b7280;--paper:#fff;--line:#e5e7eb;--cream:#f7f7f4}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#1f2937;background:#fff;line-height:1.6}a{color:inherit}.topbar{background:#111;color:#fff;font-size:.94rem}.topbar .wrap{display:flex;gap:22px;justify-content:center;align-items:center;padding:9px 18px;flex-wrap:wrap}.nav{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 2px 10px rgba(0,0,0,.04)}.wrap{max-width:1120px;margin:0 auto;padding:0 20px}.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:16px;padding-bottom:16px}.brand{font-weight:900;font-size:1.25rem;letter-spacing:.04em;text-transform:uppercase}.brand span{color:var(--red)}.menu{display:flex;gap:20px;flex-wrap:wrap}.menu a{text-decoration:none;font-weight:700;color:#111}.menu a:hover,.menu a.active{color:var(--red)}.hero{min-height:520px;background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.25)),url(/assets/images/slider/victor-freitas-569958-unsplash.jpeg) center/cover no-repeat;color:#fff;display:grid;align-items:center}.hero h1{font-size:clamp(2.4rem,6vw,5rem);line-height:.95;margin:0 0 16px;text-transform:uppercase;letter-spacing:-.04em}.hero h2{font-size:clamp(1.2rem,3vw,2rem);font-weight:500;max-width:750px;margin:0 0 28px}.btn{display:inline-block;background:var(--red);color:#fff;text-decoration:none;text-transform:uppercase;font-weight:800;letter-spacing:.04em;border-radius:4px;padding:13px 20px;margin:6px 8px 6px 0}.btn.secondary{background:#111}.section{padding:64px 0}.section.alt{background:var(--cream)}.eyebrow{color:var(--red);font-weight:900;text-transform:uppercase;letter-spacing:.1em;font-size:.84rem}.section h1,.section h2{line-height:1.15;color:#111;margin:.2em 0 .6em}.section h1{font-size:clamp(2rem,5vw,3.6rem)}.section h2{font-size:clamp(1.7rem,4vw,2.7rem)}.lead{font-size:1.2rem;max-width:900px;color:#374151}.grid{display:grid;gap:24px}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.six{grid-template-columns:repeat(6,minmax(0,1fr))}.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px;box-shadow:0 10px 28px rgba(0,0,0,.05)}.benefit{text-align:center}.benefit .icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;margin:0 auto 12px;background:#fff;color:#111;font-size:28px;border:1px solid var(--line)}.benefit .icon img{width:38px;height:38px;object-fit:contain}.benefit h3{font-size:1rem;margin:.3em 0;color:#111}.quote{background:#111;color:#fff;text-align:center;font-size:clamp(1.4rem,3vw,2.15rem);font-weight:800;line-height:1.3;padding:54px 20px}.photo{width:100%;height:260px;object-fit:cover;border-radius:12px;background:#eee}.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.gallery img{width:100%;height:185px;object-fit:cover;border-radius:8px;background:#eee;border:1px solid var(--line)}.footer{background:#111827;color:#f9fafb;padding:46px 0 24px}.footer .muted{color:#d1d5db}.footer a{text-decoration:none;color:#fff}.footer h3{margin-top:0;color:#fff}.copyright{border-top:1px solid rgba(255,255,255,.15);margin-top:30px;padding-top:20px;font-size:.9rem;color:#d1d5db}.form label{display:block;font-weight:700;margin-top:14px}.form input,.form textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:6px;font:inherit}.form textarea{min-height:150px}.notice{background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;padding:15px}.address-card{background:#111;color:#fff;border-radius:12px;padding:28px}.address-card h3{color:#fff;margin-top:0}.list li{margin:10px 0}@media(max-width:900px){.two,.three,.six{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,1fr)}.nav .wrap{align-items:flex-start;flex-direction:column}.hero{min-height:430px}}@media(max-width:520px){.gallery{grid-template-columns:1fr}.topbar .wrap{justify-content:flex-start}.menu{gap:12px}.section{padding:44px 0}}

.address-card h2 {
    color: #ffffff;
}

/* Responsive image modal / lightbox */
.gallery a { cursor: zoom-in; }
body.lightbox-open { overflow: hidden; }
.image-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: clamp(12px, 3vw, 32px);
  background: rgba(0, 0, 0, 0.88);
}
.image-lightbox.is-open { display: flex; }
.image-lightbox__panel {
  position: relative;
  width: min(1100px, 100%);
  height: min(86vh, 900px);
  display: flex;
  align-items: center;
  justify-content: center;
}
.image-lightbox__image {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 10px;
  box-shadow: 0 20px 60px rgba(0,0,0,.55);
  background: #111;
}
.image-lightbox__caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -2.2rem;
  color: #fff;
  text-align: center;
  font-size: .95rem;
  line-height: 1.3;
  opacity: .92;
  padding: 0 3.25rem;
}
.image-lightbox__close,
.image-lightbox__prev,
.image-lightbox__next {
  position: absolute;
  border: 0;
  color: #fff;
  background: rgba(0,0,0,.55);
  cursor: pointer;
  display: grid;
  place-items: center;
  transition: background .15s ease, transform .15s ease;
  -webkit-tap-highlight-color: transparent;
}
.image-lightbox__close:hover,
.image-lightbox__prev:hover,
.image-lightbox__next:hover,
.image-lightbox__close:focus-visible,
.image-lightbox__prev:focus-visible,
.image-lightbox__next:focus-visible {
  background: rgba(255,255,255,.22);
  outline: 2px solid rgba(255,255,255,.8);
  outline-offset: 2px;
}
.image-lightbox__close {
  top: max(12px, env(safe-area-inset-top));
  right: max(12px, env(safe-area-inset-right));
  width: 44px;
  height: 44px;
  border-radius: 999px;
  font-size: 32px;
  line-height: 1;
}
.image-lightbox__prev,
.image-lightbox__next {
  top: 50%;
  transform: translateY(-50%);
  width: clamp(42px, 8vw, 56px);
  height: clamp(42px, 8vw, 56px);
  border-radius: 999px;
  font-size: clamp(30px, 7vw, 46px);
  line-height: 1;
}
.image-lightbox__prev { left: max(10px, env(safe-area-inset-left)); }
.image-lightbox__next { right: max(10px, env(safe-area-inset-right)); }
.image-lightbox__counter {
  position: absolute;
  top: max(14px, env(safe-area-inset-top));
  left: 50%;
  transform: translateX(-50%);
  color: #fff;
  background: rgba(0,0,0,.5);
  border-radius: 999px;
  padding: .35rem .75rem;
  font-size: .9rem;
}
@media (max-width: 640px) {
  .image-lightbox { padding: 10px; }
  .image-lightbox__panel { height: 78vh; }
  .image-lightbox__caption { bottom: -2.6rem; font-size: .85rem; padding: 0 2.5rem; }
  .image-lightbox__prev,
  .image-lightbox__next { background: rgba(0,0,0,.35); }
}
