
:root{
  --brand:#1f1f1f;         /* base dark */
  --accent:#c8a97e;        /* soft gold */
  --bg:#fff;
  --muted:#f6f6f6;
  --text:#222;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial,sans-serif;color:var(--text);background:var(--bg)}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto;display:block}
.container{max-width:1200px;margin:0 auto;padding:0 20px}

header{
  position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);
  backdrop-filter: blur(8px);border-bottom:1px solid #eee
}
.nav{display:flex;align-items:center;gap:20px;padding:12px 0}
.logo{display:flex;align-items:center;gap:12px;font-weight:700}
.logo img{width:40px;height:40px;border-radius:10px}
.navlinks{margin-left:auto;display:flex;gap:16px;flex-wrap:wrap}
.navlinks a{padding:8px 10px;border-radius:10px}
.navlinks a:hover{background:var(--muted)}

.hero{
  position:relative;min-height:72vh;display:grid;place-items:center;
  color:white;text-align:center;overflow:hidden
}
.hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.55)}
.hero .content{position:relative;padding:40px}
.badge{display:inline-block;background:rgba(0,0,0,.55);padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.2);margin-bottom:10px}
.hero h1{font-size:clamp(34px,7vw,60px);margin:10px 0 16px;line-height:1.05}
.hero p{max-width:850px;margin-inline:auto;font-size:18px}
.ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:18px}
.btn{display:inline-block;padding:12px 18px;border-radius:12px;font-weight:600}
.btn.primary{background:var(--accent);color:#111}
.btn.outline{border:2px solid #fff;color:#fff}
.btn.dark{background:#111;color:#fff}

.section{padding:64px 0}
.section.alt{background:var(--muted)}

.grid{display:grid;gap:24px}
.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:900px){
  .grid.cols-2,.grid.cols-3{grid-template-columns:1fr}
}

.card{background:#fff;border:1px solid #eee;border-radius:18px;overflow:hidden;box-shadow:0 8px 20px rgba(0,0,0,.05)}
.card .p{padding:18px}

blockquote.quote{
  border-left:4px solid var(--accent);padding:10px 16px;background:#fff;border-radius:10px
}

.gallery{columns:3 300px;column-gap:16px}
.gallery figure{break-inside:avoid;margin:0 0 16px 0;border-radius:14px;overflow:hidden;box-shadow:0 8px 22px rgba(0,0,0,.06)}
.gallery figcaption{padding:8px 10px;background:#fff;color:#444;font-size:14px}

.social-embeds{display:grid;gap:24px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:900px){.social-embeds{grid-template-columns:1fr}}

footer{padding:36px 0;border-top:1px solid #eee;background:#fafafa;color:#555}
.footergrid{display:grid;gap:24px;grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:900px){.footergrid{grid-template-columns:1fr}}

.whatsapp{
  position:fixed;right:18px;bottom:18px;z-index:60;
  width:56px;height:56px;border-radius:50%;display:grid;place-items:center;
  background:#25D366;color:#fff;font-weight:700;box-shadow:0 10px 20px rgba(0,0,0,.25)
}

/* contact form */
form .row{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:680px){form .row{grid-template-columns:1fr}}
input,textarea,select{width:100%;padding:12px 14px;border-radius:12px;border:1px solid #ddd;font:inherit}
label{font-weight:600;margin-top:6px;display:block}
button[type=submit]{background:var(--accent);border:0;color:#111;padding:12px 16px;border-radius:12px;font-weight:700}
.small{font-size:13px;color:#666}
