.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:14px 22px;
  font-family:var(--ff-ui);
  font-weight:500;
  font-size:.98rem;
  border-radius:999px;
  transition:transform .2s var(--ease),box-shadow .2s var(--ease),background .2s var(--ease),color .2s var(--ease);
  cursor:pointer;
  min-height:48px;
  letter-spacing:.005em;
}
.btn svg{width:18px;height:18px;flex-shrink:0;}

.btn-primary{
  background:var(--primary);
  color:#F1F5EF;
  box-shadow:0 1px 0 rgba(0,0,0,.04),0 8px 22px -10px rgba(41,64,47,.45);
}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 12px 26px -10px rgba(41,64,47,.55);}

.btn-wa{
  background:#1FAA4F;
  color:#fff;
  box-shadow:0 8px 22px -10px rgba(31,170,79,.55);
}
.btn-wa:hover{background:#17933F;transform:translateY(-1px);}

.btn-ghost{
  background:transparent;
  border:1.5px solid var(--border-strong);
  color:var(--primary);
}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent);}

.btn-block{width:100%;}

.chip{
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 14px;
  background:color-mix(in srgb,var(--accent) 12%,var(--bg));
  color:var(--primary);
  border-radius:999px;
  font-family:var(--ff-ui);
  font-size:.82rem;
  font-weight:500;
  letter-spacing:.01em;
  border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);
}

.c-plain{
  background:var(--surface);
  border-radius:var(--r-lg);
  padding:28px 26px;
  border:1px solid color-mix(in srgb,var(--text) 6%,transparent);
}
.c-plain:hover{border-color:color-mix(in srgb,var(--accent) 30%,transparent);}

.section-head{display:flex;flex-direction:column;gap:14px;margin-bottom:36px;max-width:760px;}
.section-head .eyebrow{display:inline-block;}
.section-head h2{font-size:clamp(2rem,4.2vw,2.8rem);line-height:1.1;}
.section-head p{color:var(--text-2);font-size:1.05rem;line-height:1.7;}
@media (min-width:768px){.section-head{margin-bottom:56px;}}

.divider{height:1px;background:linear-gradient(90deg,transparent,var(--border),transparent);margin:0;border:none;}

.fab-call{
  position:fixed;bottom:18px;right:18px;
  width:60px;height:60px;
  border-radius:50%;
  background:#1FAA4F;
  color:#fff;
  display:grid;place-items:center;
  box-shadow:0 14px 28px -8px rgba(31,170,79,.45),0 0 0 6px color-mix(in srgb,#1FAA4F 18%,transparent);
  z-index:990;
  transition:transform .2s var(--ease);
}
.fab-call svg{width:28px;height:28px;}
.fab-call:hover{transform:scale(1.05);}
@media (min-width:768px){.fab-call{display:none;}}

.ml-trigger{cursor:pointer;}

#ml-modal{
  position:fixed;inset:0;
  z-index:var(--z-modal);
  display:flex;align-items:center;justify-content:center;
  padding:16px;
}
#ml-modal .ml-overlay{
  position:absolute;inset:0;
  background:rgba(34,42,36,.62);
  backdrop-filter:blur(2px);
}
#ml-modal .ml-box{
  position:relative;
  background:var(--bg);
  border-radius:var(--r-lg);
  max-width:520px;width:100%;
  padding:28px 24px 24px;
  max-height:86vh;overflow-y:auto;
  box-shadow:0 30px 60px -20px rgba(0,0,0,.4);
}
#ml-modal .ml-close{
  position:absolute;top:10px;right:10px;
  width:36px;height:36px;
  display:grid;place-items:center;
  border-radius:8px;
  color:var(--text-2);
}
#ml-modal .ml-close:hover{background:var(--bg-alt);color:var(--primary);}
#ml-modal h2{font-size:1.5rem;margin-bottom:14px;}
#ml-modal h3{font-family:var(--ff-display);font-size:1.05rem;margin:18px 0 6px;color:var(--primary);}
#ml-modal p{font-size:.92rem;color:var(--text-2);line-height:1.65;}

.form-field{display:flex;flex-direction:column;gap:6px;min-width:0;}
.form-field label{font-family:var(--ff-ui);font-size:.85rem;color:var(--text-2);font-weight:500;}
.form-field input,.form-field textarea,.form-field select{
  font-family:var(--ff-body);font-size:1rem;color:var(--primary);
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--r-sm);
  padding:12px 14px;
  min-height:48px;
  width:100%;
  min-width:0;
  transition:border-color .2s var(--ease),background .2s var(--ease);
}
.form-field textarea{min-height:120px;resize:vertical;font-family:var(--ff-body);}
.form-field input:focus,.form-field textarea:focus,.form-field select:focus{
  border-color:var(--accent);background:#fff;outline:none;
}

.form-row{display:grid;grid-template-columns:1fr;gap:14px;}
@media (min-width:640px){.form-row{grid-template-columns:1fr 1fr;}}
