:root{
  --bg:#070709;
  --panel:#0b0b0d;
  --muted:#9aa0a6;
  --accent:#25D366; /* whatsapp green */
  --primary:#0a84ff; /* call button */
  --card:#0e0f11;
  --radius:14px;
  --wrap:1100px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial;
  background:linear-gradient(180deg,#050509 0%, #070709 100%);
  color:#e9f2f8;
  -webkit-font-smoothing:antialiased;
}

/* wrapper */
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 16px}

/* header */
.site-header{position:sticky;top:0;z-index:1000;background:linear-gradient(90deg, rgba(7,7,9,0.6), rgba(7,7,9,0.6));backdrop-filter:blur(6px);border-bottom:1px solid rgba(255,255,255,0.02)}
.header-inner{display:flex;align-items:center;gap:18px;padding:12px 16px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}
.logo-circle{width:44px;height:44px;border-radius:10px;background:linear-gradient(180deg,#ffd775,#b5752a);display:flex;align-items:center;justify-content:center;font-weight:700;color:#071014;font-family:Playfair Display,serif}
.brand-title{font-family:Playfair Display,serif;font-size:20px;font-weight:700}

/* nav */
.top-nav{margin-left:auto;display:flex;gap:14px;align-items:center}
.top-nav a{color:var(--muted);text-decoration:none;font-weight:600}
.top-nav a.active{color:#fff}
.header-cta .btn.whatsapp{background:var(--accent);color:#021;padding:8px 14px;border-radius:12px;text-decoration:none;font-weight:700}
.hamburger{display:none;background:none;border:0;color:var(--muted);font-size:20px;margin-left:8px}

/* HERO */
.hero-inner{display:flex;align-items:center;justify-content:space-between;padding:36px 0;gap:18px}
.hero-copy{flex:1}
.hero-copy h1{font-family:Playfair Display,serif;font-size:34px;margin:0 0 8px}
.lead{color:var(--muted);line-height:1.6}
.hero-cta{display:flex;flex-direction:column;gap:12px}
.btn{display:inline-block;padding:10px 14px;border-radius:12px;text-decoration:none;font-weight:700}
.btn.whatsapp.large{background:var(--accent);color:#021}
.btn.call.large{background:var(--primary);color:#fff}

/* CONTACT GRID */
.contact-grid{display:grid;grid-template-columns:1fr 420px;gap:22px;padding:22px;margin-top:18px;border-radius:12px;background:linear-gradient(180deg, rgba(255,255,255,0.01), rgba(255,255,255,0.02))}
.contact-left{min-width:0}
.contact-right{min-width:0}

/* form */
.contact-form{display:flex;flex-direction:column;gap:10px;margin-top:8px}
.contact-form label{font-size:14px;color:var(--muted)}
.contact-form input[type="text"],
.contact-form input[type="tel"],
.contact-form input[type="email"],
.contact-form textarea{
  background:transparent;border:1px solid rgba(255,255,255,0.04);padding:12px;border-radius:8px;color:inherit;font-size:15px
}
.contact-form textarea{resize:vertical}
.form-actions{display:flex;gap:10px;margin-top:6px;align-items:center}
.btn.primary{background:#ffd775;color:#071014}
.btn.outline{background:transparent;border:1px solid rgba(255,255,255,0.06);color:var(--muted)}

/* smaller messages */
.form-msg{margin-top:10px;color:var(--muted);min-height:22px}

/* contact-info */
.contact-info{margin-top:18px;color:var(--muted)}
.contact-info ul{padding-left:18px}

/* map placeholder */
.map-placeholder img{width:100%;border-radius:10px;display:block;margin-top:12px}
.hours{margin-top:12px;color:var(--muted)}
.faq details{background:rgba(255,255,255,0.01);padding:10px;border-radius:8px;margin-top:8px}
.faq summary{cursor:pointer;outline:none}

/* footer */
.site-footer{padding:18px 0;margin-top:28px;border-top:1px solid rgba(255,255,255,0.03)}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:16px}

/* responsiveness */
@media(max-width:980px){
  .contact-grid{grid-template-columns:1fr}
  .top-nav{display:none}
  .hamburger{display:block}
  .hero-inner{flex-direction:column;align-items:flex-start}
  .hero-cta{flex-direction:row}
  .map-placeholder img{height:220px;object-fit:cover}
  .footer-inner{flex-direction:column;align-items:flex-start}
}

/* mobile menu */
.mobile-menu{position:fixed;inset:0;background:rgba(7,7,9,0.98);z-index:2000;padding:28px;display:none;flex-direction:column}
.mobile-close{align-self:flex-end;background:none;border:0;color:var(--muted);font-size:22px;margin-bottom:12px}
.mobile-nav{display:flex;flex-direction:column;gap:14px}
.mobile-nav a{color:#fff;text-decoration:none;font-size:18px}
