/* Base Theme */
:root{
  --bg:#000000;
  --fg:#ffffff;
  --muted:#cfcfcf;
  --gold:#c49b63;
  --gold-20:rgba(196,155,99,0.2);
  --surface:#0a0a0a;
}
*{box-sizing:border-box}
html,body{height:100%}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--fg);
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji";
  line-height:1.6;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

/* Layout */
.container{width:min(1200px,92vw);margin-inline:auto}
.section{padding:72px 0}
.section__title{font-size:28px;font-weight:600;margin:0 0 28px 0;letter-spacing:0.02em}

/* Hero */
.hero{position:relative;min-height:92vh;display:grid;place-items:stretch;overflow:hidden}
.hero__bg{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.75)), url('../images/hero.jpg') center/cover no-repeat fixed;
  filter:saturate(0.9) contrast(1.05);
  transform:scale(1.02);
}
.hero__overlay{position:absolute;inset:0;background:radial-gradient(70% 60% at 50% 40%, rgba(0,0,0,0) 0%, rgba(0,0,0,.55) 60%, rgba(0,0,0,.85) 100%)}
.hero__content{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;min-height:92vh;padding:18vh 0 14vh}
.hero__title{font-size:64px;letter-spacing:0.06em;margin:0 0 10px 0;font-weight:700}
.hero__subtitle{max-width:860px;color:var(--muted);margin:0 0 26px 0;font-size:18px}
.hero__actions{display:flex;gap:14px;flex-wrap:wrap}

/* Buttons */
.btn{display:inline-block;padding:12px 18px;border-radius:999px;border:1px solid #2a2a2a;background:#111;color:#fff;transition:all .3s ease;letter-spacing:.02em}
.btn:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(0,0,0,.5)}
.btn--gold{background:var(--gold);color:#0b0b0b;border-color:transparent}
.btn--gold:hover{filter:brightness(1.08)}
.btn--outline{background:transparent;border-color:var(--gold);color:var(--gold)}
.btn--outline:hover{background:var(--gold-20)}

/* Scroll Indicator */
.scroll-indicator{position:absolute;left:50%;bottom:22px;translate:-50% 0;width:26px;height:38px;border:2px solid var(--gold);border-radius:16px;opacity:.7}
.scroll-indicator::after{content:"";position:absolute;left:50%;top:8px;translate:-50% 0;width:4px;height:8px;background:var(--gold);border-radius:2px;animation:scrollDot 1.6s infinite}
@keyframes scrollDot{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(12px)}}

/* About */
.about__content p{color:#dddddd;max-width:860px}

/* Gallery */
.gallery{background:linear-gradient(180deg,transparent,rgba(196,155,99,.04) 10%,transparent 90%)}
.gallery__grid{display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}
@media(min-width:640px){.gallery__grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:960px){.gallery__grid{grid-template-columns:repeat(4,1fr)}}

.card{position:relative;background:var(--surface);border-radius:12px;overflow:hidden}
.card__media{aspect-ratio: 3 / 4; width:100%;object-fit:cover;background:#111;transition:transform .5s ease, filter .5s ease}
.card:hover .card__media{transform:scale(1.03);filter:contrast(1.05) saturate(1.05)}
.card__overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.65));opacity:0;transition:opacity .35s ease}
.card:hover .card__overlay{opacity:1}
.card__meta{position:absolute;left:12px;bottom:10px;font-size:12px;color:#cfcfcf;letter-spacing:.04em}
.card__badge{position:absolute;right:10px;top:10px;background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.1);padding:6px 9px;border-radius:999px;font-size:11px;color:#eee}

/* Footer */
.footer{padding:42px 0;border-top:1px solid #1a1a1a;color:#bdbdbd;text-align:center}

/* Smooth fades */
.fade-in{opacity:0;transform:translateY(8px);animation:fadeIn .6s ease forwards}
@keyframes fadeIn{to{opacity:1;transform:none}}

/* Utility placeholder background if image missing */
.placeholder{background:repeating-linear-gradient(45deg,#111,#111 14px,#0d0d0d 14px,#0d0d0d 28px)}
.placeholder::before{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}

.whatsapp-button {
    position: fixed;
    right: 13px;
    bottom: 90px;
    transform: translate(-50%, -50%);
    background: #25D366; 
    border-radius: 50%;
    width: 48px; 
    height: 48px; 
    color: #fff;
    text-align: center;
    line-height: 53px; 
    font-size: 35px; 
    z-index: 9999;
}

.whatsapp-button a {
    content: " ";
    display: block;
    position: absolute;
    border: 50%;
    border: 1px solid #25D366; 
    left: -20px;
    right: -20px;
    top: -20px;
    bottom: -20px;
    border-radius: 50%;
    animation: animate 1.5s linear infinite;
    opacity: 0;
    backface-visibility: hidden; 
}
 
.whatsapp-button a {
    animation-delay: .5s;
}
 
@keyframes animate
{
    0%
    {
        transform: scale(0.5);
        opacity: 0;
    }
    50%
    {
        opacity: 1;
    }
    100%
    {
        transform: scale(1.2);
        opacity: 0;
    }
}

@media only screen and (max-width: 767px){

.whatsapp-button {   
    bottom: 5px;
    left: 70px; 
}
}
