:root{
  --green:#96c71f;
  --green-2:#acd151;
  --blue:#0996da;
  --gray:#6d726e;
  --bg:#fbfcfb;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: 'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, 'Apple Color Emoji', 'Segoe UI Emoji';
  color:var(--gray);
  background: var(--bg);
  overflow-x:hidden;
}
.wrap{position:relative; max-width:1100px; margin:0 auto; padding:24px;}
.logo{width:260px; height:auto; filter: drop-shadow(0 6px 24px rgba(0,0,0,.15)); border-radius:14px}
.badges{display:flex; gap:8px; margin-top:10px;}
.badge{background:var(--blue); color:white; padding:6px 10px; border-radius:999px; font-size:12px; letter-spacing:.3px; text-transform:uppercase; opacity:.9}
.bg{position:fixed; inset:0; z-index:-1; overflow:hidden}
.bg-stripes{
  position:absolute; inset:-50px;
  background:
    repeating-linear-gradient(135deg,
      rgba(109,114,110,.06) 0px,
      rgba(109,114,110,.06) 2px,
      transparent 2px,
      transparent 14px);
  animation: slide 18s linear infinite;
}
@keyframes slide{from{background-position:0 0} to{background-position:400px 0}}
.bg-bubbles::before,
.bg-bubbles::after{
  content:""; position:absolute; inset:-10%;
  background:
    radial-gradient(circle at 15% 20%, rgba(150,199,31,.25), transparent 35%),
    radial-gradient(circle at 85% 60%, rgba(9,150,218,.20), transparent 38%),
    radial-gradient(circle at 60% 15%, rgba(172,209,81,.26), transparent 35%);
  filter: blur(10px);
  animation: pulse 8s ease-in-out infinite alternate;
}
@keyframes pulse{
  0%{transform:scale(1); opacity:.8}
  100%{transform:scale(1.1); opacity:1}
}

.hero{padding:60px 0 28px}
.title{
  font-size: clamp(42px, 7vw, 80px);
  font-weight: 800; line-height:1.02;
  color:#3a3a3a;
  text-shadow: 0 12px 30px rgba(0,0,0,.12);
  margin:0 0 12px;
}
.subtitle{font-size: clamp(16px, 2.6vw, 22px); color:#4a4a4a; max-width:720px}
.cta{
  display:inline-block; margin-top:22px;
  background: linear-gradient(90deg, var(--green), var(--green-2));
  color:#fff; text-decoration:none; font-weight:700; letter-spacing:.3px;
  padding:14px 22px; border-radius:14px;
  box-shadow: 0 10px 30px rgba(150,199,31,.35);
  transform: translateY(0); transition: transform .2s ease, box-shadow .2s ease;
}
.cta:hover{transform: translateY(-2px); box-shadow: 0 16px 40px rgba(150,199,31,.45)}

.contact{
  background: #fff; border-radius:20px; padding:28px; margin:28px 0 60px;
  box-shadow: 0 10px 40px rgba(0,0,0,.08), inset 0 0 0 1px rgba(109,114,110,.05);
}
.contact h2{margin:0 0 6px; font-size:28px}
.contact p{margin:0 0 24px}

.grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:16px}
@media (max-width:860px){.grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.grid{grid-template-columns:1fr}}

.field label{display:block; font-size:14px; margin:2px 0 6px}
.field input[type="text"],
.field input[type="email"],
.field input[type="tel"],
.field textarea{
  width:100%; border:1.6px solid rgba(109,114,110,.2); border-radius:12px;
  padding:12px 14px; font-family:inherit; font-size:16px; outline:none;
  background:#fff; transition:border .2s ease, box-shadow .2s ease;
}
.field textarea{resize:vertical}
.field input:focus, .field textarea:focus{
  border-color: var(--green);
  box-shadow: 0 0 0 4px rgba(150,199,31,.15);
}

.checks{display:flex; gap:16px; flex-wrap:wrap; border:none; padding:0; margin:4px 0 4px}
.checks legend{font-weight:700; margin-bottom:4px}
.checks label{display:inline-flex; align-items:center; gap:8px; padding:6px 10px; border-radius:999px; border:1px solid rgba(109,114,110,.25)}
.checks input{accent-color: var(--green)}

.consent{display:flex; align-items:center; gap:10px; margin:12px 0}
.btn{
  background: linear-gradient(90deg, var(--blue), #1090d2);
  color:white; border:none; padding:12px 18px; border-radius:12px; font-weight:700; letter-spacing:.3px; cursor:pointer;
  box-shadow: 0 8px 26px rgba(9,150,218,.35); transition: transform .18s ease, box-shadow .2s ease; transform: translateY(0);
}
.btn:hover{transform: translateY(-2px); box-shadow: 0 12px 36px rgba(9,150,218,.45)}
.btn:disabled{opacity:.6; cursor:wait}

.form-msg{margin-top:12px; font-weight:700}
.form-msg.ok{color:#2f7a2b}
.form-msg.err{color:#a22020}

.footer{
  padding:24px 16px;
  text-align:center;
  color:#6b6b6b;
}

.footer-company{
  margin-bottom:14px;
  line-height:1.7;
  font-size:14px;
}

.footer-company p{
  margin:4px 0;
}

.footer-company strong{
  color:#3a3a3a;
}

.footer-copy{
  margin-top:10px;
  font-size:14px;
}

.footer-company{
  max-width:700px;
  margin:0 auto 14px;
  padding:18px 20px;
  background:rgba(255,255,255,.75);
  border:1px solid rgba(109,114,110,.12);
  border-radius:16px;
  box-shadow:0 8px 24px rgba(0,0,0,.05);
  line-height:1.7;
  font-size:14px;
}

.hp{display:none !important}

/* Reveal animations */
[data-reveal]{opacity:0; transform: translateY(18px); transition: .7s ease; filter: blur(1px)}
[data-reveal].visible{opacity:1; transform:none; filter:none}
