:root {
  --brand: #16a34a;
  --brand-dark: #14532d;
  --ink: #0f172a;
}

* {
  box-sizing: border-box;
}

.container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 16px 24px;
}

/* NAV */
.nav {
  position: sticky;
  top: 0;
  z-index: 30;
  background: var(--brand-dark);
  color: #e6fff0;
}

.nav .wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.nav a {
  color: #e6fff0;
  text-decoration: none;
  font-weight: 800;
}

.nav a:hover {
  text-decoration: underline;
}

.nav .links {
  display: flex;
  gap: 18px;
  align-items: center;
  flex-wrap: wrap;
}

.nav .brand {
  letter-spacing: 0.2px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.nav .menu-btn {
  display: none;
  background: transparent;
  border: 0;
  color: #e6fff0;
  font-size: 20px;
}

/* Logo scaling */
.logo img,
.logo-img {
  vertical-align: middle;
  display: block;
  height: auto;
  max-height: 40px; /* Desktop default */
  width: auto;
}

@media (max-width: 820px) {
  .logo img,
  .logo-img {
    max-height: 30px; /* Slightly smaller on mobile */
  }
}

/* Mobile menu */
@media (max-width: 820px) {
  .nav .links {
    display: none;
  }

  .nav .menu-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    border-radius: 10px;
  }

  .nav.open .links {
    display: grid;
    gap: 10px;
    padding: 12px 0;
  }

  .nav .links a {
    padding: 8px 0;
  }
}

/* Optional footer */
.site-footer {
  padding: 28px 0;
  color: #64748b;
  text-align: center;
}

/* Desktop: keep links pushed right */
@media (min-width: 821px) {
  .nav .links {
    margin-left: auto;
  }
}

/* Mobile layout improvements */
@media (max-width: 820px) {
  .nav .wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
  }

  .nav .logo {
    order: 1;
  }

  .nav .menu-btn {
    order: 2;
  }

  .nav .links {
    order: 3;
    width: 100%;
  }

  .nav.open .links {
    display: grid;
    gap: 10px;
    padding: 12px 0;
  }
}

.damage-example{
  max-width: 860px;      /* keeps it from being huge on desktop */
  margin: 16px auto 0;   /* centered within the container */
  text-align: center;
}
.damage-example img{
  width: 100%;
  height: auto;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(2,6,23,.08);
}
.damage-example figcaption{
  font-size: 0.95rem;
  color: #475569;
  margin-top: 8px;
}
@media (min-width: 1400px){
  .damage-example{ max-width: 900px; }  /* optional tighter cap on very wide screens */
}

    :root{--brand:#16a34a;--brand-dark:#14532d;--slate:#0f172a;--muted:#475569}
    body{background:#f8fafc;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}
    a{color:var(--brand-dark);text-decoration:none}
    a:hover{text-decoration:underline}
    .btn{display:inline-block;background:var(--brand);color:#fff;font-weight:700;padding:12px 18px;border-radius:10px;box-shadow:0 6px 18px rgba(22,163,74,.22)}
    .btn.alt{background:var(--brand-dark);border:2px solid #fff;color:#fff}
    .hero{position:relative;min-height:60vh;display:flex;align-items:center;color:#fff}
    .hero .wrap{position:relative;z-index:1}
    h1{font-size:clamp(32px,4.6vw,56px);line-height:1.05;margin:10px 0 8px}
    .lead{font-size:18px;color:#e2e8f0;max-width:840px}
    h2{font-size:clamp(22px,3vw,34px);margin:0 0 10px}
    .grid{display:grid;gap:20px}
    .features{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
    .card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:18px;box-shadow:0 6px 24px rgba(2,6,23,.06)}
    .muted{color:var(--muted)}
    .section{padding:56px 0}
    .alt{background:#ffffff}
    .container{max-width:1100px;margin:0 auto;padding:0 20px}

/* --- Hero contrast & legibility --- */
.hero{min-height:60vh; display:flex; align-items:center; color:#fff}

.hero h1, .hero .lead{ text-shadow: 0 2px 8px rgba(0,0,0,.35); }

/* current nav item */
a.current{ font-weight:700; color:#fff !important; text-decoration:none; }
a.current::after{ content:''; display:block; height:2px; margin-top:6px; background:#16a34a; border-radius:2px; }

/* --- Base typography polish --- */
html { scroll-behavior: smooth; }
body { color:#0f172a; line-height:1.6; }
.container { max-width:1100px; margin:0 auto; padding:0 20px; }

/* Headings: consistent sizes + spacing */
h1,h2,h3,h4 { color:#0f172a; margin:0 0 .5em; line-height:1.15; }
h1 { font-size: clamp(32px, 4.6vw, 56px); }
h2 { font-size: clamp(22px, 3vw, 34px); }
h3 { font-size: clamp(18px, 2.2vw, 22px); }

/* Paragraphs & lists */
p { margin: 0 0 1em; color:#334155; }
ul,ol { margin: .5em 0 1em 1.25em; color:#334155; }
strong { color:#0f172a; }

/* Sections */
.section { padding:56px 0; }
.section.alt { background:#fff; }

/* Buttons */
.btn { display:inline-block; background:#16a34a; color:#fff; font-weight:700; padding:12px 18px; border-radius:10px; box-shadow:0 6px 18px rgba(22,163,74,.22); }
.btn.alt { background:var(--brand-dark); border:2px solid #fff; color:#fff; }
.button.primary{display:inline-block;background:var(--brand);color:#fff;font-weight:700;padding:12px 18px;border-radius:10px;box-shadow:0 6px 18px rgba(22,163,74,.22)}
.button.outline{background:var(--brand-dark);border:2px solid #fff;color:#fff}

.btn:hover { text-decoration:none; filter:brightness(1.03); }
.button:hover { text-decoration:none; filter:brightness(1.1); }
/* Cards + feature grid */
.grid { display:grid; gap:20px; }
.features { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.card { background:#fff; border:1px solid #e5e7eb; border-radius:14px; padding:18px; box-shadow:0 6px 24px rgba(2,6,23,.06); }
.muted { color:#475569; }

/* Hero stays the same, but ensure stacking context */
.hero { position:relative; }
.hero .wrap { position:relative; z-index:1; }

/* Hero text color override */
.hero h1,
.hero h2,
.hero .lead,
.hero p { color:#fff !important; text-shadow:0 2px 8px rgba(0,0,0,.35); }

/* Hero link color/hover */
.hero a { color:#fff !important; text-decoration:underline; }
.hero a:hover { text-decoration:none; opacity:.9; }
.hero a strong { color:inherit; } /* keep bold links white */

/* Force bold text in hero to be white */
.hero strong,
.hero b {
  color: #fff !important;
}

a img:hover {
  opacity: 0.85;
  transition: opacity 0.2s;
}

/* ===== Contact form polish ===== */
form.g-forms, form.card {
  display: grid;
  gap: 16px;
  padding: 24px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  box-shadow: 0 12px 30px rgba(2,6,23,.08);
}
form.g-forms label { display: grid; gap: 8px; font-weight: 800; color: #0f172a; }

/* Inputs */
form.g-forms input, form.g-forms textarea {
  width: 100%;
  padding: 14px 16px;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  font: inherit;
  background: #fff;
}
form.g-forms .input-lg { font-size: 1.05rem; }
form.g-forms input::placeholder, form.g-forms textarea::placeholder { color: #94a3b8; }
form.g-forms input:focus, form.g-forms textarea:focus {
  outline: none;
  border-color: #16a34a;
  box-shadow: 0 0 0 4px rgba(22,163,74,.12);
}

/* Buttons */
form.g-forms .buttons { display: flex; gap: 12px; align-items: center; }
form.g-forms .buttons [type=submit] {
  background: #16a34a; color: #fff; font-weight: 800; border: 0;
  padding: 12px 18px; border-radius: 12px; cursor: pointer;
  box-shadow: 0 8px 22px rgba(22,163,74,.22);
}
form.g-forms .buttons [type=submit]:hover { filter: brightness(1.04); }
form.g-forms .buttons [type=reset] {
  background: transparent; border: 2px solid #e5e7eb; color: #0f172a;
  padding: 10px 16px; border-radius: 12px; cursor: pointer;
}

/* Hide honeypot field */
form.g-forms .form-field.honeypot { display: none !important; }

/* Success/Errors */
.notices .success { background: #ecfdf5; border: 1px solid #10b981; color: #065f46; }
.notices .error { background: #fef2f2; border: 1px solid #ef4444; color: #7f1d1d; }

/* Form wrapper spacing on smaller screens */
@media (max-width: 720px){
  form.g-forms, form.card { padding: 18px; border-radius: 14px; }
}

/* Make success message stand out */
#messages .notices.success {
  background: #16a34a; /* bright brand green */
  color: #fff;
  font-size: 1.2em; /* bigger text */
  font-weight: bold;
  padding: 16px 20px;
  border-radius: 6px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  display: flex;
  align-items: center;
  gap: 12px;
}

/* Make the icon/image bigger if one exists */
#messages .notices.success img {
  width: 32px;
  height: auto;
}

/* Scope to this form block so we don't disturb the rest of the site */
.g-forms .field { margin-bottom: 12px; }
.g-forms label { display:block; margin: 0 0 6px; }
.g-forms .input { width:100%; font-weight: 400; }            /* <- ensure not bold */
.g-forms .input::placeholder { color: var(--muted,#64748b); } /* match your muted tone */
.g-forms textarea.input { min-height: 140px; resize: vertical; }

/* Optional: submit spinner if you like */
button[aria-busy="true"]{ position:relative; pointer-events:none; opacity:.85 }
button[aria-busy="true"]::after{
  content:""; position:absolute; right:10px; top:50%; width:14px; height:14px; margin-top:-7px;
  border:2px solid currentColor; border-left-color:transparent; border-radius:50%;
  animation:ot-spin .8s linear infinite;
}
@keyframes ot-spin{to{transform:rotate(360deg)}}