
/* ---------- Root & Reset (Light Theme) ---------- */
:root{
  --bg:#faf7f0;           /* soft beige background */
  --surface:#ffffff;      /* cards / sections */
  --elev:#f3eee4;         /* elevated beige */
  --text:#1e2329;         /* dark readable text */
  --muted:#606c7a;        /* muted grey */
  --brand:#49b26b;        /* calm natural green */
  --brand-2:#bfe6c9;      /* mint tint */
  --accent:#e6b980;       /* warm sand */
  --ring: rgba(73, 178, 107, .35);
  --radius: 18px;
  --shadow: 0 8px 24px rgba(15, 23, 42, .08);
}

*{box-sizing:border-box}
html,body{
  margin:0;padding:0;
  background:
    radial-gradient(900px 300px at 10% -10%, rgba(191,230,201,.35), transparent 55%),
    radial-gradient(800px 260px at 90% 0%, rgba(230,185,128,.18), transparent 60%),
    linear-gradient(180deg, var(--bg), #ffffff);
  color:var(--text);
  font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,Inter,"Helvetica Neue",Arial,"Noto Sans","Apple Color Emoji","Segoe UI Emoji";
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
.container{width:min(1200px, 92%);margin-inline:auto}
.hidden{display:none}

/* ---------- Header & Nav ---------- */
.header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.75);
  backdrop-filter: blur(8px);
  border-bottom:1px solid rgba(15, 23, 42, .05);
}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0}
.brand{display:flex;align-items:center;gap:12px}
.brand .logo{
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: url("img/logo.png") no-repeat center center;
  background-size: cover;  
}
.brand .name{font-weight:800;letter-spacing:.3px}
.brand .tag{font-size:.85rem;color:var(--muted)}

.navlinks{display:flex;gap:12px;align-items:center}
.navlinks a{
  padding:10px 14px;border-radius:12px;color:#415066;
  transition:.25s ease all;
}
.navlinks a:hover, .navlinks a.active{
  color:#0f172a;background:rgba(73,178,107,.12);border:1px solid rgba(73,178,107,.18)
}
.cta{
  padding:10px 14px;border-radius:12px;
  background:linear-gradient(135deg,var(--brand),var(--brand-2));
  color:#083019;font-weight:700;box-shadow:0 8px 22px rgba(73,178,107,.25);border:0
}
.menu-btn{display:none;background:transparent;border:0;color:#0f172a;font-size:1.4rem}

/* ---------- Hero ---------- */
.hero{
  position:relative;overflow:hidden;border-radius:calc(var(--radius) + 8px);margin:24px auto;
  background:
    radial-gradient(1200px 400px at 10% -20%, rgba(191,230,201,.35), transparent 60%),
    radial-gradient(800px 240px at 90% 0%, rgba(230,185,128,.18), transparent 60%),
    linear-gradient(180deg, var(--surface), var(--elev));
  box-shadow:var(--shadow);
  border:1px solid rgba(15, 23, 42, .06);
}
.hero-inner{display:grid;grid-template-columns:1.15fr 1fr;gap:22px;align-items:center;padding:40px 28px}
.hero h1{font-size:clamp(1.8rem, 3vw, 3rem);line-height:1.15;margin:0 0 10px}
.hero p{color:var(--muted);margin:0 0 18px}
.hero .actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{
  padding:12px 16px;border-radius:12px;border:1px solid rgba(15,23,42,.08);
  background:#ffffff;cursor:pointer;color:#0f172a;font-weight:600;
  transition:.25s ease box-shadow, .25s ease transform, .25s ease background;
}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 18px rgba(15,23,42,.08)}
.btn.primary{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#072a17;border:0}
.badge{
  display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#ffffff;
  border:1px solid rgba(15,23,42,.08);color:#2b3a4b;font-weight:600
}
.hero-visual{
  position:relative;border-radius:16px;overflow:hidden;border:1px solid rgba(15,23,42,.08);
}
.hero-visual img{
  width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;filter:saturate(1.02) contrast(1.0) brightness(1.02)
}
.chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.chip{font-size:.85rem;color:#0f2919;background:rgba(191,230,201,.9);padding:6px 10px;border-radius:999px;border:1px solid rgba(73,178,107,.25)}

/* ---------- Section ---------- */
.section{padding:40px 0}
.section h2{font-size:clamp(1.3rem, 2.2vw, 2rem);margin:0 0 8px}
.section p.lead{color:var(--muted);margin:0 0 20px}

/* ---------- Cards Grid ---------- */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{
  background:linear-gradient(180deg,#ffffff 0%, #f9f7f2 100%); padding:18px;border-radius:16px;
  border:1px solid rgba(15,23,42,.08); box-shadow:var(--shadow); transition:.2s ease transform, .2s ease border-color
}
.card:hover{transform:translateY(-4px); border-color: rgba(73,178,107,.35)}
.card h3{margin:6px 0 8px}
.card p{color:var(--muted)}
.card .meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.meta span{font-size:.8rem;color:#415066;padding:6px 10px;border:1px dashed rgba(15,23,42,.12);border-radius:999px;background:#fff}

/* ---------- Gallery Grid ---------- */
.gallery{ display:grid;grid-template-columns:repeat(4,1fr);gap:10px }
.gallery a{ display:block;border-radius:14px;overflow:hidden;border:1px solid rgba(15,23,42,.08); background:#fff }
.gallery img{aspect-ratio:1/1;object-fit:cover;transition:.3s ease transform, .25s ease filter}
.gallery a:hover img{transform:scale(1.05)}

/* ---------- Contact ---------- */
.form{
  display:grid;grid-template-columns:1fr 1fr;gap:14px;background:#ffffff;border:1px solid rgba(15,23,42,.08);padding:18px;border-radius:16px
}
.form input, .form textarea, .form select{
  width:100%;padding:12px 12px;border-radius:12px;background:#ffffff;border:1px solid rgba(15,23,42,.12);color:var(--text);outline:none
}
.form input:focus, .form textarea:focus, .form select:focus{box-shadow:0 0 0 4px var(--ring); border-color: var(--brand)}
.form textarea{grid-column:1 / -1;min-height:160px;resize:vertical}
.form .actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px}

.note{background:#fff;border:1px dashed rgba(15,23,42,.15);padding:12px;border-radius:12px;color:var(--muted)}

/* ---------- Footer ---------- */
.footer{margin:30px 0 40px;border-top:1px solid rgba(15,23,42,.08);padding-top:18px;color:#536173;font-size:.95rem}
.footer .grid{grid-template-columns:2fr 1fr 1fr 1fr}
.footer a{color:#536173}
.footer a:hover{color:#0f172a}

/* ---------- Utilities ---------- */
.mini{font-size:.9rem;color:#6b7788}
.center{text-align:center}
.whatsapp-fab{
  position:fixed;right:22px;bottom:22px;width:54px;height:54px;border-radius:999px;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#083019;font-weight:800;box-shadow:0 14px 30px rgba(15,23,42,.08);border:0
}
.to-top{position:fixed;right:22px;bottom:88px;opacity:0;visibility:hidden;transition:.25s ease all}
.to-top.show{opacity:1;visibility:visible}

/* ---------- Responsive ---------- */
@media (max-width: 980px){
  .hero-inner{grid-template-columns:1fr; padding:24px}
  .grid{grid-template-columns:1fr 1fr}
  .gallery{grid-template-columns:repeat(3,1fr)}
}
@media (max-width: 680px){
  .navlinks{display:none;position:absolute;right:4%;top:64px;background:#ffffff;padding:10px;border-radius:14px;flex-direction:column;width:70%;border:1px solid rgba(15,23,42,.12)}
  .menu-btn{display:block}
  .grid{grid-template-columns:1fr}
  .gallery{grid-template-columns:repeat(2,1fr)}
  .form{grid-template-columns:1fr}
}
