:root{
  --sg-green:#1f8a4c;
  --sg-green-dark:#176a3a;
  --sg-orange:#f28a1f;
  --sg-orange-dark:#d4761a;
  --sg-bg:#fafbfa;
  --sg-surface:#ffffff;
  --sg-muted:#6b7280;
  --sg-border:#e9ecef;
  --sg-text:#1f2937;
}

*{ -webkit-font-smoothing:antialiased; }
body{
  font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  color:var(--sg-text);
  background:var(--sg-bg);
}
h1,h2,h3,h4,h5,h6{ font-weight:700; letter-spacing:-0.01em; }
a{ color:var(--sg-green-dark); text-decoration:none; }
a:hover{ color:var(--sg-green); }

/* Header */
.site-header .navbar{ padding-top:.85rem; padding-bottom:.85rem; }
.site-header .nav-link{
  color:#374151; font-weight:500; padding:.5rem .9rem; border-radius:.5rem;
}
.site-header .nav-link:hover{ color:var(--sg-green); background:#f3f6f4; }
.site-header .nav-link.active{ color:var(--sg-green); background:#eaf5ee; }

/* Buttons */
.btn-whats{
  background:var(--sg-green); color:#fff; border:none; font-weight:600;
  padding:.55rem 1rem; border-radius:.6rem;
}
.btn-whats:hover{ background:var(--sg-green-dark); color:#fff; }
.btn-orange{
  background:var(--sg-orange); color:#fff; border:none; font-weight:600;
  padding:.7rem 1.4rem; border-radius:.6rem;
}
.btn-orange:hover{ background:var(--sg-orange-dark); color:#fff; }
.btn-outline-dark-soft{
  background:#fff; color:var(--sg-text); border:1px solid var(--sg-border);
  font-weight:600; padding:.7rem 1.4rem; border-radius:.6rem;
}
.btn-outline-dark-soft:hover{ border-color:var(--sg-green); color:var(--sg-green); }

/* Hero */
.hero{
  background:
    radial-gradient(1200px 400px at 80% -10%, rgba(242,138,31,.10), transparent 60%),
    radial-gradient(900px 400px at -10% 110%, rgba(31,138,76,.10), transparent 60%),
    #ffffff;
  padding: 5rem 0 4rem;
  border-bottom:1px solid var(--sg-border);
}
.hero .eyebrow{
  display:inline-block; font-size:.8rem; font-weight:600; letter-spacing:.08em;
  text-transform:uppercase; color:var(--sg-green);
  background:#eaf5ee; padding:.35rem .7rem; border-radius:999px; margin-bottom:1.2rem;
}
.hero h1{ font-size:clamp(2rem,4.5vw,3.2rem); line-height:1.1; margin-bottom:1rem; }
.hero p.lead{ color:var(--sg-muted); font-size:1.1rem; max-width:620px; }



/* Cards */
.feature-card{
  background:var(--sg-surface);
  border:1px solid var(--sg-border);
  border-radius:1rem;
  padding:1.6rem;
  height:100%;
  text-align: center;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.feature-card:hover{
  transform:translateY(-3px);
  box-shadow:0 10px 30px rgba(17,24,39,.06);
  border-color:#d8e6dd;
}
.feature-card .icon{
  width:48px; height:48px; border-radius:.75rem;
  display:inline-flex; align-items:center; justify-content:center;
  background:#eaf5ee; color:var(--sg-green); font-size:1.4rem; margin-bottom:1rem;
}
.feature-card.orange .icon{ background:#fdeedb; color:var(--sg-orange-dark); }
.feature-card h3{ font-size:1.05rem; margin-bottom:.4rem; }
.feature-card p{ color:var(--sg-muted); font-size:.95rem; margin:0; }

/* Section */
.section{ padding:4.5rem 0; }
.section-tight{ padding:3rem 0; }
.section-alt{ background:#f4f6f5; }
.section h2{ font-size:clamp(1.6rem,3vw,2.2rem); margin-bottom:.6rem; }
.section .section-sub{ color:var(--sg-muted); max-width:680px; }

/* Trust strip */
.trust-strip{
  background:#ffffff; border:1px solid var(--sg-border);
  border-radius:1rem; padding:1.5rem 1.75rem;
  display:flex; gap:1rem; align-items:center;
}
.trust-strip i{ color:var(--sg-green); font-size:1.6rem; }

.trust-strip  img{
  max-width: 450px;
  border-radius: 1rem;
  margin: auto;
 /* aspect-ratio: 4/3;*/
}

/* Lists */
.area-list{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:.75rem; padding:0; list-style:none; margin:0;
}
.area-list li{
  background:#fff; border:1px solid var(--sg-border);
  padding:.9rem 1.1rem; border-radius:.6rem; font-weight:500;
  display:flex; align-items:center; gap:.6rem;
}
.area-list i{ color:var(--sg-orange); }

/* Contact tiles */
.contact-tile{
  background:#fff; border:1px solid var(--sg-border);
  border-radius:1rem; padding:1.4rem; height:100%;
}
.contact-tile .icon{
  width:44px; height:44px; border-radius:.6rem;
  display:inline-flex; align-items:center; justify-content:center;
  background:#eaf5ee; color:var(--sg-green); margin-bottom:.8rem;
}
.contact-tile h4{ font-size:1rem; margin:0 0 .25rem; }
.contact-tile a{ color:var(--sg-text); font-weight:600; }

/* Footer */
.site-footer{ background:#0f1715; color:#cbd5d1; margin-top:4rem; }
.site-footer a{ color:#cbd5d1; }
.site-footer a:hover{ color:#fff; }
.site-footer .footer-title{
  color:#fff; font-size:.95rem; text-transform:uppercase; letter-spacing:.08em; margin-bottom:1rem;
}
.site-footer hr{ border-color:#1f2a26; }
.site-footer .logo-light{ filter:brightness(0) invert(1); opacity:.95; }

/* Floating WhatsApp */
.float-whats{
  position:fixed; right:18px; bottom:18px; z-index:1030;
  width:56px; height:56px; border-radius:50%;
  background:var(--sg-green); color:#fff !important;
  display:flex; align-items:center; justify-content:center;
  font-size:1.7rem; box-shadow:0 10px 24px rgba(31,138,76,.35);
  transition:transform .15s ease, background .15s ease;
}
.float-whats:hover{ background:var(--sg-green-dark); transform:translateY(-2px); }

/* Prose pages */
.prose{ max-width:780px; }
.prose h2{ margin-top:2rem; font-size:1.35rem; }
.prose p, .prose li{ color:#374151; line-height:1.7; }

/* Page header */
.page-head{
  background:#fff; border-bottom:1px solid var(--sg-border);
  padding:3rem 0 2.2rem;
}
.page-head h1{ font-size:clamp(1.8rem,3.5vw,2.4rem); margin:0 0 .4rem; }
.page-head p{ color:var(--sg-muted); margin:0; }

/* Aviso */
.notice{
  background:#fdf6ec; border:1px solid #f5d9a8; color:#7a4c0d;
  padding:1rem 1.2rem; border-radius:.75rem; font-size:.95rem;
}

@media (max-width: 991.98px){
  .site-header .nav-link.active{ background:transparent; }
  .btn-whats{ display:inline-flex; align-items:center; gap:.4rem; margin-top:.5rem; }
}
