:root{
  --leaf:#7BC043;
  --teal:#0E5A52;
  --teal2:#1D7A6B;

  --bg:#F6F8F7;
  --card:#FFFFFF;
  --ink:#0B1B18;
  --muted:#4A5B57;
  --border: rgba(14, 90, 82, .14);

  --shadow: 0 18px 60px rgba(10, 40, 35, .14);
  --shadow-hover: 0 22px 70px rgba(10, 40, 35, .18);
  --radius: 18px;
}

*{ box-sizing:border-box; }

html,body{ height:100%; }

body{
  margin:0;
  font-family: Inter, system-ui, sans-serif;
  color:var(--ink);
  background:
    radial-gradient(1000px 520px at 15% 0%, rgba(123,192,67,.11), transparent 55%),
    radial-gradient(900px 520px at 85% 10%, rgba(14,90,82,.11), transparent 58%),
    var(--bg);
}

.wrap{
  min-height:100%;
  display:grid;
  place-items:center;
  padding: clamp(18px, 4vw, 48px);
}

/* Animación entrada */
@keyframes cardIn {
  from { opacity:0; transform:translateY(10px); }
  to   { opacity:1; transform:translateY(0); }
}

.card{
  width: min(980px, 100%);
  background: rgba(255,255,255,.85);
  border: 1px solid var(--border);
  backdrop-filter: blur(10px);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  animation: cardIn .55s ease-out both;
}

.inner{
  padding: clamp(18px, 3.6vw, 42px);
  display:grid;
  gap: 18px;
}

/* Header */
.top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:14px;
}

.brand{
  display:flex;
  align-items:center;
  gap:16px;
}

.logoBox{
  width:92px;
  height:92px;
  border-radius:20px;
  background:#fff;
  display:grid;
  place-items:center;
  box-shadow:0 10px 26px rgba(14,90,82,.10);
}

.logoBox img{
  width:82px;
  height:82px;
  object-fit:contain;
}

.brandText strong{ font-size:16px; }
.brandText span{ font-size:12px; color:var(--muted); }

.pill{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid var(--border);
  font-weight:700;
  color:var(--teal);
  background:#f7faf9;
}

.dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--leaf);
}

/* Separador */
.rule{
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(14,90,82,.25), transparent);
}

/* Hero */
.hero{
  text-align:center;
  display:grid;
  gap:10px;
}

.kicker{
  font-size:12px;
  letter-spacing:.18em;
  font-weight:800;
  color:var(--teal);
}

h1{
  margin:0;
  font-size: clamp(28px, 4vw, 42px);
}

.lead{
  margin:0 auto;
  max-width:64ch;
  color:var(--muted);
  line-height:1.6;
}

.valueLine{
  font-weight:800;
  font-size:14px;
}

.valueLine span{ color:var(--teal); }

.actions{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
}

/* Botones */
.btn{
  padding:12px 18px;
  border-radius:14px;
  font-weight:800;
  text-decoration:none;
  transition:.15s ease;
}

.btnPrimary{
  background:linear-gradient(135deg, var(--teal), var(--teal2));
  color:white;
  box-shadow:0 14px 30px rgba(14,90,82,.25);
}
.btnPrimary:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow-hover);
}

.btnGhost{
  border:1px solid var(--border);
  color:var(--teal);
}
.btnGhost:hover{
  background:#f2f7f6;
}

/* Sucursales */
.grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

@media(max-width:760px){
  .grid{ grid-template-columns:1fr; }
}

.box{
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:14px;
  background:white;
}

.boxHeader{
  display:flex;
  justify-content:space-between;
}

.boxTitle{ font-size:14px; margin:0; }

.tag{
  font-size:12px;
  font-weight:800;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(123,192,67,.12);
  color:var(--teal);
}

.addr{
  font-size:14px;
  color:var(--muted);
}

.chip{
  display:inline-block;
  margin-top:10px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid var(--border);
  color:var(--teal);
  text-decoration:none;
  font-weight:700;
}
.chip:hover{
  background:#f1f6f5;
}

/* Footer */
footer{
  display:flex;
  justify-content:space-between;
  font-size:12px;
  color:var(--muted);
  flex-wrap:wrap;
}
