:root{
  --bg:#F7F7F7;             /* page background */
  --ink:#1C2B36;            /* headings/body */
  --muted:#6B7280;          /* subtle text */
  --card:#FFFFFF;           /* cards */
  --primary:#3A7E64;        /* CTA green */
  --primary-strong:#2D5E4C; /* hover green */
  --gold:#C9A227;           /* accent */
  --border:#E6E8EA;         /* borders */
  --shadow:0 2px 10px rgba(0,0,0,.08);
  --radius:14px;
  --radius-sm:10px;
  --container:1080px;
}

*{box-sizing:border-box}
html,body{
  margin:0;padding:0;background:var(--bg);color:var(--ink);
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.6;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
}

/* Top promo banner */
.banner{
  background:var(--primary); color:#fff; text-align:center; padding:10px 12px; font-weight:700;
}
.banner strong{color:#fff}
.banner a{color:#fff; text-decoration:underline}

/* Header / Nav */
.header{
  background:#fff; border-bottom:1px solid var(--border);
}
.nav{max-width:var(--container); margin:0 auto; padding:12px 16px;
  display:flex; align-items:center; justify-content:space-between; gap:16px;}
.brand{display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--ink)}
.brand img{height:44px; width:auto; border-radius:6px; box-shadow:none}
.brand span{font-weight:800; font-size:18px}
.menu{display:flex; gap:14px; flex-wrap:wrap}
.menu a{color:var(--ink); text-decoration:none; font-weight:700}
.menu a:hover{color:var(--primary)}

/* Utilities */
.wrap{max-width:var(--container); margin:0 auto; padding:0 16px}
section{padding:48px 0}
h1{font-size:clamp(28px,4vw,40px); margin:0 0 8px}
h2{font-size:clamp(22px,3vw,30px); margin:0 0 12px}
.lede{color:var(--muted); margin:0 0 16px}

.btn{
  display:inline-block; padding:13px 18px; border-radius:12px; font-weight:800; text-decoration:none;
  border:1px solid transparent; transition:transform .06s ease, background .15s ease, box-shadow .15s ease;
  box-shadow:0 2px 6px rgba(0,0,0,.08);
}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--primary); color:#fff}
.btn-primary:hover{background:var(--primary-strong)}
.btn-ghost{background:#fff; color:var(--primary); border-color:#d6e6df}
.btn-ghost:hover{background:#f4fbf8}
.ctarow{display:flex; gap:12px; flex-wrap:wrap}

/* Hero */
.hero{
  background:
    radial-gradient(1300px 420px at 50% -60%, #fff 0%, #eef1f3 55%, var(--bg) 100%),
    var(--card);
  border-bottom:1px solid var(--border);
  padding:32px 0 28px;
}
.hero-card{
  background:var(--card); border:1px solid var(--border); border-radius:var(--radius);
  box-shadow:var(--shadow); padding:clamp(18px,3vw,28px); text-align:center;
}
.hero-logo{width:min(920px,92%); height:auto; border-radius:10px; margin:0 auto 18px; background:#fff; box-shadow:none}

/* Cards / grids */
.card{background:var(--card); border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow); padding:20px}
.grid{display:grid; gap:16px}
.grid-3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.service{display:flex; gap:12px; align-items:flex-start; background:#fff; border:1px solid var(--border); border-radius:var(--radius-sm); padding:16px; box-shadow:var(--shadow)}
.svc-icon{width:44px; height:44px; border-radius:50%; background:#EAF4EF; display:grid; place-items:center; flex:0 0 44px}
.svc-icon svg{width:24px; height:24px; stroke:#2F6A54}

/* Form */
form{display:grid; gap:12px}
label{font-weight:700}
input,textarea{width:100%; padding:12px; border:1px solid #cfd8e3; border-radius:12px; font-size:16px; background:#fff}
input:focus,textarea:focus{outline:2px solid #b8e0d0; border-color:#b8e0d0}
textarea{min-height:130px; resize:vertical}
.hint{color:var(--muted); font-size:13px}
.hidden{position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden}

/* Footer */
footer{background:#1C2B36; color:#fff; margin-top:28px}
.top-border{height:4px; background:linear-gradient(90deg,var(--primary),#2b5244,var(--primary))}
.foot{max-width:var(--container); margin:0 auto; padding:20px 16px; text-align:center}


/* --- Brands Grid Styles --- */
.brands-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 12px;
  margin-top: 16px;
}
.brands-grid span {
  background: #f4f4f4;
  border: 1px solid #ddd;
  border-radius: 6px;
  padding: 8px 12px;
  text-align: center;
  font-weight: 600;
  color: #333;
}
