body { background:#fbf8f3; }
.hero-slide { opacity:0; transition: opacity .9s ease; }
.hero-slide.active { opacity:1; }
.hero-banner-photo { object-position: 62% 48%; }
.backdrop-blur-xl {
  --tw-backdrop-blur: blur(24px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.nav-link { transition: .25s; }
.nav-link:hover, .nav-link.is-active { color: #D6B16A; }
.btn-gold { background: #D6B16A; color: #1B1510; transition: .25s; }
.btn-gold:hover { background: #B89149; color: #fff; }
#header { transition: background-color .3s ease, border-color .3s ease; }
#headerInner { transition: padding .3s ease; }
#header img { transition: height .3s ease; }
#header.is-compact { background-color: rgba(8, 7, 6, .98) !important; border-color: rgba(255,255,255,.16); }
#header.is-compact #headerInner { padding-top: .5rem; padding-bottom: .5rem; }
#header.is-compact img { height: 3.25rem; }
.page-hero {
  min-height: 420px;
  background-color: #16110C;
  background-image:
    radial-gradient(ellipse 80% 90% at 8% 100%, rgba(214,177,106,.2), transparent 54%),
    radial-gradient(ellipse 55% 70% at 92% 8%, rgba(92,70,48,.5), transparent 58%),
    linear-gradient(180deg, rgba(0,0,0,.22) 0%, transparent 42%, rgba(8,7,6,.38) 100%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'%3E%3Cpath d='M40 4L76 40 40 76 4 40Z' fill='none' stroke='%23D6B16A' stroke-width='0.7' opacity='0.22'/%3E%3Cpath d='M40 20L60 40 40 60 20 40Z' fill='none' stroke='%23D6B16A' stroke-width='0.6' opacity='0.12'/%3E%3Ccircle cx='40' cy='40' r='1.5' fill='%23D6B16A' opacity='0.4'/%3E%3Ccircle cx='4' cy='40' r='1' fill='%23D6B16A' opacity='0.2'/%3E%3Ccircle cx='76' cy='40' r='1' fill='%23D6B16A' opacity='0.2'/%3E%3Ccircle cx='40' cy='4' r='1' fill='%23D6B16A' opacity='0.2'/%3E%3Ccircle cx='40' cy='76' r='1' fill='%23D6B16A' opacity='0.2'/%3E%3C/svg%3E");
  background-size: auto, auto, auto, 80px 80px;
  box-shadow: inset 0 0 0 1px rgba(214,177,106,.14);
  border-bottom: 1px solid rgba(214,177,106,.42);
}
.page-hero-ornament {
  position: absolute;
  right: 7%;
  top: 54%;
  width: min(36vw, 320px);
  height: min(36vw, 320px);
  transform: translateY(-50%) rotate(45deg);
  border: 1px solid rgba(214,177,106,.26);
  pointer-events: none;
}
.page-hero-ornament::before,
.page-hero-ornament::after {
  content: "";
  position: absolute;
  border: 1px solid rgba(214,177,106,.16);
}
.page-hero-ornament::before { inset: 14%; }
.page-hero-ornament::after {
  inset: 28%;
  border-color: rgba(214,177,106,.32);
  background: radial-gradient(circle, rgba(214,177,106,.14), transparent 70%);
}
@media (max-width: 767px) {
  #home { min-height: 0 !important; }
  #headerInner { padding-top: .75rem; padding-bottom: .75rem; }
  #header img { height: 3.5rem !important; }
  #home > div:first-child, .hero-content { height: 400px !important; min-height: 400px !important; }
  #home > div:first-child { overflow: hidden; }
  #home .hero-slide img { height: 400px !important; object-position: 62% center; }
  #home .hero-banner-photo { object-position: 62% 45% !important; }
  .hero-content { align-items: flex-start; align-content: start; gap: 0; padding-top: 5.4rem !important; padding-bottom: .5rem !important; }
  .hero-content h1 { margin-top: .55rem; font-size: 2rem !important; line-height: .94; }
  .hero-kicker { font-size: .625rem; letter-spacing: .25em; }
  .hero-description { display: none; }
  .hero-actions { margin-top: .8rem; gap: .5rem; }
  .hero-actions a { flex: 1; justify-content: center; padding: .55rem .35rem; font-size: .55rem; letter-spacing: .04em; }
  .hero-content #sliderDots { margin-top: .7rem; }
  .hero-features { margin-top: .55rem; gap: .35rem; }
  .hero-features a, .hero-features button { gap: .25rem; padding: .4rem .45rem; font-size: .56rem; }
  .hero-features svg { height: 1rem; width: 1rem; }
  #home > div:nth-child(2) { padding-top: 1.5rem; }
  .page-hero { min-height: 300px; }
  .page-hero h1 { font-size: 2rem !important; line-height: 1.05; }
  .page-hero-ornament { right: -6%; opacity: .32; width: 220px; height: 220px; }
}
.glass-panel { background: rgba(255,255,255,.9); backdrop-filter: blur(12px); }
.section-reveal { opacity:0; transform: translateY(24px); }
.section-reveal.show {
  opacity:1;
  transform: translateY(0);
  transition: opacity .75s ease, transform .75s ease;
}
.pattern-lines {
  background-image: linear-gradient(to right, rgba(210,174,103,.1) 1px, transparent 1px),
                    linear-gradient(to bottom, rgba(210,174,103,.06) 1px, transparent 1px);
  background-size: 36px 36px;
}
.lightbox {
  position: fixed; inset: 0; z-index: 80;
  display: none; place-items: center;
  background: rgba(8,7,6,.92); padding: 1.5rem;
}
.lightbox.is-open { display: grid; }
.lightbox img { max-height: 88vh; max-width: min(1100px, 94vw); object-fit: contain; }
.gallery-tile { cursor: zoom-in; }
.site-footer-cols {
  display: grid;
  gap: 2.5rem;
}
@media (min-width: 768px) {
  .site-footer-cols {
    grid-template-columns: 1fr auto 1fr;
    align-items: start;
    column-gap: 4rem;
  }
  .site-footer-about { padding-right: 2.5rem; }
  .site-footer-mid { justify-self: center; min-width: 8.5rem; }
  .site-footer-end { justify-self: end; max-width: 22rem; }
}
.whatsapp-float {
  position: fixed;
  right: 1.15rem;
  bottom: 1.15rem;
  z-index: 70;
  display: grid;
  place-items: center;
  width: 3.7rem;
  height: 3.7rem;
  border-radius: 999px;
  background: #25D366;
  color: #fff;
  box-shadow: 0 10px 24px rgba(18, 140, 70, .35);
  animation: wa-pulse 2.4s ease-out infinite;
  transition: transform .2s ease;
}
.whatsapp-float:hover { transform: scale(1.07); }
.whatsapp-float svg { width: 2rem; height: 2rem; }
@keyframes wa-pulse {
  0% { box-shadow: 0 0 0 0 rgba(37, 211, 102, .55); }
  70% { box-shadow: 0 0 0 14px rgba(37, 211, 102, 0); }
  100% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0); }
}
@media (max-width: 767px) {
  .whatsapp-float { width: 3.35rem; height: 3.35rem; right: .9rem; bottom: .9rem; }
  .whatsapp-float svg { width: 1.75rem; height: 1.75rem; }
}
