
:root{
  --ink:#121212;
  --coal:#1b1b1b;
  --cream:#faf6ef;
  --accent:#c5a572; /* toque dorado elegante */
  --muted:#666;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--cream);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif;line-height:1.5}
img{max-width:100%;display:block;height:auto;border-radius:18px}
.container{width:min(1100px,92%);margin-inline:auto}
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.8rem 1.1rem;border-radius:999px;text-decoration:none;border:2px solid var(--ink);font-weight:700}
.btn.primary{background:var(--ink);color:white;border-color:var(--ink)}
.btn.outline{background:transparent;color:var(--ink)}
.btn.wide{width:100%;justify-content:center}
.tag{color:var(--muted);margin-top:.25rem}
.note{color:var(--muted);font-size:.9rem}

.site-header{position:sticky;top:0;background:linear-gradient(0deg,rgba(250,246,239,.95),rgba(250,246,239,.95));backdrop-filter:saturate(140%) blur(6px);z-index:50;border-bottom:1px solid #e7dfcf}
.header-grid{display:grid;gap:1rem;grid-template-columns:1fr auto;align-items:center;padding:.6rem 0}
.brand{position:relative;isolation:isolate;border-radius:24px;overflow:hidden}
.brand-bg{height:220px;width:100%;object-fit:cover;filter:brightness(.7)}
.brand-overlay{position:absolute;inset:0;display:grid;place-items:center;text-align:center;color:white}
.brand-overlay .logo{width:84px;height:84px;object-fit:cover;border-radius:999px;border:3px solid rgba(255,255,255,.6);box-shadow:0 10px 30px rgba(0,0,0,.35)}
.brand-overlay h1{margin:.6rem 0 0;font-size:clamp(1.2rem,2vw,1.6rem)}
.main-nav{display:flex;gap:.8rem;flex-wrap:wrap}
.main-nav a{color:var(--ink);text-decoration:none;font-weight:700;padding:.4rem .8rem;border-radius:999px}
.main-nav a:hover{background:rgba(0,0,0,.05)}

.hero{padding:2rem 0}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.hero-copy h2{margin:0 0 .3rem;font-size:clamp(1.6rem,3vw,2.1rem)}
.contact-row{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1rem}

.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-top:1rem}
.card{background:white;border:1px solid #efe7d6;border-radius:22px;overflow:hidden;box-shadow:0 6px 24px rgba(0,0,0,.05)}
.card-body{padding:.9rem}
.card h4{margin:.2rem 0 .4rem}

.video-wrapper{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:20px;border:1px solid #efe7d6;background:#000}
.video-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%}

.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.6rem;margin-top:1rem}
#lightbox{border:none;border-radius:16px;width:min(920px,96%);padding:0;background:transparent}
#lightbox::backdrop{background:rgba(0,0,0,.6)}
#lightbox img{width:100%;border-radius:16px}
#lightbox .close{position:absolute;right:.2rem;top:.2rem;background:#000;color:#fff;border:none;border-radius:999px;font-size:1.6rem;line-height:1;padding:.2rem .6rem;cursor:pointer}

.social-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start}
.fb-embed iframe{width:100%;height:600px;border-radius:18px}
.ig-embed{display:grid;gap:.8rem;align-content:start}

.map-cta{margin-top:.6rem}

.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.8rem}
label{display:grid;gap:.35rem;font-weight:600}
input,textarea{padding:.8rem;border:1px solid #e1d9c8;border-radius:14px;background:white}
input:focus,textarea:focus{outline:2px solid var(--accent);border-color:var(--accent)}

.wa-float{position:fixed;right:18px;bottom:18px;width:58px;height:58px;border-radius:999px;background:#25D366;display:grid;place-items:center;box-shadow:0 6px 30px rgba(0,0,0,.25);z-index:80}
.wa-float svg{fill:white;width:32px;height:32px}

.site-footer{margin-top:2.4rem;padding:1.2rem 0;border-top:1px solid #e7dfcf;text-align:center;color:#3a3a3a}
.site-footer a{color:var(--ink);font-weight:700;text-underline-offset:3px}

@media (max-width: 820px){
  .hero-grid{grid-template-columns:1fr}
  .social-grid{grid-template-columns:1fr}
}
