:root{
  --bg:#F5F3EE;
  --surface:#FFFFFF;
  --ink:#1B1F1C;
  --ink-soft:#585C54;
  --primary:#0B5D52;
  --primary-dark:#083F38;
  --accent:#C98A3E;
  --line:#DEDACD;
  --whatsapp:#25D366;
  --radius:14px;
  --maxw:1080px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:'Rubik',system-ui,-apple-system,sans-serif;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;}
h1,h2,h3{font-weight:700;line-height:1.25;margin:0;}
p{margin:0;}
ul{margin:0;padding:0;list-style:none;}
button{font-family:inherit;}

.container{max-width:var(--maxw);margin-inline:auto;padding-inline:20px;}

/* header */
.site-header{
  position:sticky;top:0;z-index:20;
  background:rgba(245,243,238,.92);
  backdrop-filter:blur(6px);
  border-block-end:1px solid var(--line);
}
.site-header .container{
  display:flex;align-items:center;justify-content:space-between;
  padding-block:14px;gap:16px;flex-wrap:wrap;
}
.brand{font-size:16px;font-weight:700;text-decoration:none;}
.brand span{color:var(--primary);}
.main-nav ul{display:flex;gap:22px;}
.main-nav a{font-size:14px;text-decoration:none;color:var(--ink-soft);}
.main-nav a:hover{color:var(--ink);}
.lang-switch{display:flex;gap:6px;font-size:13px;}
.lang-switch a{padding:4px 9px;border-radius:999px;text-decoration:none;color:var(--ink-soft);border:1px solid transparent;}
.lang-switch a[aria-current="true"]{color:var(--primary-dark);border-color:var(--line);font-weight:600;background:var(--surface);}

/* buttons */
.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:12px 22px;border-radius:10px;
  font-weight:600;font-size:15px;text-decoration:none;
  border:1px solid transparent;cursor:pointer;
}
.btn-primary{background:var(--primary);color:#fff;}
.btn-primary:hover{background:var(--primary-dark);}
.btn-whatsapp{background:var(--whatsapp);color:#fff;}
.btn-outline{border-color:var(--line);background:var(--surface);color:var(--ink);}
.btn-outline:hover{border-color:var(--ink-soft);}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-block-start:26px;}

/* hero */
.hero{padding-block:64px 48px;}
.trust-bar{display:flex;flex-wrap:wrap;gap:8px;margin-block-end:22px;}
.pill{
  background:var(--surface);border:1px solid var(--line);
  border-radius:999px;padding:6px 14px;font-size:13px;
  color:var(--primary-dark);font-weight:500;
}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;}
.hero h1{font-size:clamp(28px,4vw,42px);max-width:18ch;margin-block-end:16px;}
.hero .lead{font-size:18px;color:var(--ink-soft);max-width:56ch;}

.terminal{
  background:var(--ink);color:#D8F3E4;border-radius:12px;
  padding:22px 24px;font-size:13.5px;
}
.terminal .line{
  direction:ltr;text-align:start;white-space:pre;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  margin-block-end:8px;
}
.terminal .line:last-child{margin-block-end:0;}
.terminal .prompt{color:var(--accent);}
.terminal .ok{color:#7FE0B0;}

/* sections */
.section{padding-block:56px;border-block-start:1px solid var(--line);}
.section-head{margin-block-end:28px;max-width:60ch;}
.eyebrow{color:var(--accent);text-transform:uppercase;font-size:12px;letter-spacing:.08em;font-weight:700;}
.section h2{font-size:26px;margin-block:6px 8px;}
.section .desc{color:var(--ink-soft);}

.grid{display:grid;gap:16px;}
.grid-4{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));}
.grid-3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));}

.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;}
.service-card .icon{
  width:38px;height:38px;border-radius:10px;background:var(--bg);
  display:flex;align-items:center;justify-content:center;
  margin-block-end:14px;font-size:18px;color:var(--primary);
}
.service-card h3{font-size:16px;margin-block-end:6px;}
.service-card p{font-size:13.5px;color:var(--ink-soft);}

/* filter tabs */
.filter-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-block-end:22px;}
.filter-tabs button{
  background:var(--surface);border:1px solid var(--line);
  padding:8px 16px;border-radius:999px;font-size:13px;cursor:pointer;
}
.filter-tabs button[aria-pressed="true"]{background:var(--primary);color:#fff;border-color:var(--primary);}

.biz-card{text-decoration:none;display:block;transition:border-color .15s;}
.biz-card:hover{border-color:var(--ink-soft);}
.cat-badge{
  display:inline-block;font-size:11px;background:var(--bg);
  color:var(--primary-dark);padding:3px 10px;border-radius:999px;
  margin-block-end:10px;font-weight:600;
}
.biz-card h3{font-size:16px;margin-block-end:6px;}
.biz-card p{font-size:13.5px;color:var(--ink-soft);margin-block-end:12px;}
.biz-link{font-size:13px;color:var(--primary-dark);font-weight:600;}
.biz-empty{color:var(--ink-soft);font-size:14px;}

/* process */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;}
.step .num{font-size:13px;color:var(--accent);font-weight:700;margin-block-end:8px;}
.step h3{font-size:15px;margin-block-end:6px;}
.step p{font-size:13.5px;color:var(--ink-soft);}

/* contact */
.contact-grid{display:grid;grid-template-columns:1fr .8fr;gap:40px;}
.contact-form{display:grid;gap:14px;}
.field label{display:block;font-size:13px;margin-block-end:6px;color:var(--ink-soft);}
.field input,.field select,.field textarea{
  width:100%;padding:10px 12px;border:1px solid var(--line);
  border-radius:8px;font-family:inherit;font-size:15px;
  background:var(--surface);color:var(--ink);
}
.field textarea{min-height:110px;resize:vertical;}
.row-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.form-msg{font-size:14px;padding:10px 14px;border-radius:8px;display:none;margin-block-start:4px;}
.form-msg.success{display:block;background:#E1F5EE;color:#085041;}
.form-msg.error{display:block;background:#FAECE7;color:#712B13;}
.contact-side{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px;height:fit-content;}
.contact-side h3{font-size:15px;margin-block-end:10px;}
.contact-side p{font-size:13.5px;color:var(--ink-soft);margin-block-end:16px;}

/* footer */
.site-footer{border-block-start:1px solid var(--line);padding-block:32px;margin-block-start:20px;font-size:13px;color:var(--ink-soft);}
.site-footer .container{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;align-items:center;}
.credit{margin-block-start:6px;font-size:12px;}

.wa-float{
  position:fixed;bottom:20px;right:20px;z-index:30;
  width:52px;height:52px;border-radius:50%;
  background:var(--whatsapp);color:#fff;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 14px rgba(0,0,0,.18);text-decoration:none;font-size:24px;
}

@media (max-width:780px){
  .hero-grid,.contact-grid{grid-template-columns:1fr;}
  .row-2{grid-template-columns:1fr;}
  .main-nav{display:none;}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
}
