:root {
      --bg: #eef8f1;
      --bg-2: #f8fbf6;
      --panel: rgba(255,255,255,.82);
      --panel-solid: #ffffff;
      --ink: #142019;
      --muted: #607166;
      --soft: #7c927f;
      --line: rgba(43, 92, 57, .14);
      --green: #77b255;
      --green-strong: #377b3f;
      --green-deep: #163d25;
      --mint: #dff1d7;
      --sage: #b7d7a6;
      --gold: #b99a56;
      --radius-xl: 34px;
      --radius-lg: 24px;
      --shadow: 0 24px 80px rgba(33, 84, 48, .13);
      --max: 1180px;
    }
    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; background: var(--bg); }
    body {
      margin: 0;
      font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", Inter, "Segoe UI", sans-serif;
      color: var(--ink);
      background:
        radial-gradient(circle at 12% 8%, rgba(183,215,166,.62) 0 220px, transparent 420px),
        radial-gradient(circle at 88% 14%, rgba(119,178,85,.22) 0 240px, transparent 480px),
        linear-gradient(180deg, var(--bg-2) 0%, var(--bg) 45%, #f7f6ee 100%);
      line-height: 1.5;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
      overflow-x: hidden;
    }
    a { color: inherit; text-decoration: none; }
    .wrap { width: min(var(--max), calc(100% - 48px)); margin: 0 auto; }
    .nav-wrap { width: min(1100px, calc(100% - 48px)); margin: 0 auto; }
    header {
      position: sticky;
      top: 0;
      z-index: 50;
      background: rgba(248, 251, 246, .78);
      border-bottom: 1px solid var(--line);
      backdrop-filter: saturate(170%) blur(22px);
    }
    nav { min-height: 62px; display: flex; align-items: center; justify-content: space-between; gap: 22px; }
    .brand img { width: 154px; height: auto; display: block; }
    .navlinks { display: flex; align-items: center; gap: 25px; color: #35553f; font-size: 13px; font-weight: 700; letter-spacing: .01em; }
    .navlinks a { opacity: .82; transition: opacity .18s, color .18s; }
    .navlinks a:hover { color: var(--green-strong); opacity: 1; }
    .nav-cta { padding: 9px 14px; border: 1px solid var(--line); border-radius: 999px; background: rgba(255,255,255,.62); }

    /* HERO — clean centered */
    .hero {
      position: relative;
      min-height: 720px;
      display: grid;
      place-items: center;
      text-align: center;
      padding: 100px 0 80px;
      overflow: hidden;
    }
    .hero::before {
      content: '';
      position: absolute;
      inset: 0;
      background: radial-gradient(circle at 50% 30%, rgba(255,255,255,.65) 0%, transparent 55%);
      pointer-events: none;
    }
    .hero-inner {
      max-width: 960px;
      margin: 0 auto;
      position: relative;
      z-index: 1;
    }
    .hero-logo {
      width: min(340px, 74vw);
      height: auto;
      margin: 0 auto 42px;
      display: block;
      filter: drop-shadow(0 18px 30px rgba(36,80,45,.12));
    }
    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      color: var(--green-deep);
      background: rgba(255,255,255,.68);
      border: 1px solid var(--line);
      box-shadow: 0 12px 34px rgba(31,78,43,.08);
      border-radius: 999px;
      padding: 8px 14px;
      font-size: 14px;
      font-weight: 800;
      letter-spacing: .02em;
      margin: 0 0 22px;
      text-transform: uppercase;
    }
    .eyebrow::before { content: ''; width: 8px; height: 8px; border-radius: 999px; background: var(--green); box-shadow: 0 0 0 5px rgba(119,178,85,.18); }
    h1 {
      margin: 0;
      font-size: clamp(46px, 7.8vw, 96px);
      line-height: .96;
      letter-spacing: -.065em;
      font-weight: 850;
      text-wrap: balance;
    }
    .lede {
      margin: 30px auto 0;
      max-width: 740px;
      color: var(--muted);
      font-size: clamp(19px, 2.35vw, 28px);
      line-height: 1.24;
      letter-spacing: -.03em;
      font-weight: 560;
      text-wrap: balance;
    }
    .actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 14px; margin-top: 34px; }

    .button {
      min-height: 50px;
      padding: 0 25px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 999px;
      font-size: 16px;
      font-weight: 800;
      letter-spacing: -.015em;
      transition: transform .2s cubic-bezier(.23,1,.32,1), box-shadow .2s, background .2s;
    }
    .button.primary {
      background: linear-gradient(135deg, var(--green-strong), #6cae48);
      color: white;
      box-shadow: 0 14px 34px rgba(55,123,63,.28);
    }
    .button.primary:hover { transform: translateY(-1px); box-shadow: 0 18px 44px rgba(55,123,63,.34); }
    .button.secondary { color: var(--green-deep); background: rgba(255,255,255,.64); border: 1px solid var(--line); }
    .button.secondary:hover { transform: translateY(-1px); background: rgba(255,255,255,.86); }

    .section { padding: 18px 0; }
    .panel {
      background: var(--panel);
      border-radius: var(--radius-xl);
      padding: clamp(38px, 6vw, 76px);
      box-shadow: var(--shadow);
      border: 1px solid rgba(255,255,255,.7);
      outline: 1px solid var(--line);
      position: relative;
      overflow: hidden;
    }
    .panel::before {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(145deg, rgba(255,255,255,.74), transparent 46%);
      pointer-events: none;
    }
    .panel > * { position: relative; z-index: 1; }
    .panel.green {
      background:
        linear-gradient(145deg, rgba(255,255,255,.88), rgba(239,248,234,.88)),
        radial-gradient(circle at 85% 10%, rgba(119,178,85,.22), transparent 38%);
    }
    .panel.dark {
      color: #f6fbf4;
      background:
        radial-gradient(circle at 84% 8%, rgba(119,178,85,.28), transparent 35%),
        linear-gradient(145deg, #102418 0%, #173b25 54%, #0c1710 100%);
      box-shadow: 0 34px 90px rgba(16,36,24,.28);
      outline-color: rgba(255,255,255,.13);
    }
    .section-kicker { color: var(--green-strong); font-size: 15px; font-weight: 900; letter-spacing: .08em; margin: 0 0 13px; text-transform: uppercase; }
    .panel.dark .section-kicker { color: #bfe0ad; }
    h2 {
      margin: 0;
      max-width: 910px;
      font-size: clamp(37px, 5.2vw, 72px);
      line-height: .98;
      letter-spacing: -.058em;
      font-weight: 850;
      text-wrap: balance;
    }
    .section-copy {
      max-width: 780px;
      margin: 24px 0 0;
      color: var(--muted);
      font-size: clamp(18px, 2vw, 25px);
      line-height: 1.28;
      letter-spacing: -.026em;
      font-weight: 530;
    }
    .panel.dark .section-copy { color: rgba(246,251,244,.74); }
    .tile-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 42px; }
    .tile {
      min-height: 230px;
      padding: 28px;
      border-radius: var(--radius-lg);
      background: rgba(255,255,255,.68);
      border: 1px solid rgba(55,123,63,.12);
      box-shadow: 0 14px 42px rgba(34,80,46,.07);
      transition: transform .25s cubic-bezier(.23,1,.32,1), box-shadow .25s, border-color .25s;
    }
    .tile:hover { transform: translateY(-4px); box-shadow: 0 24px 62px rgba(34,80,46,.12); border-color: rgba(55,123,63,.22); }
    .tile::before { content: ''; display: block; width: 34px; height: 4px; border-radius: 999px; background: linear-gradient(90deg, var(--green), var(--gold)); margin-bottom: 22px; }
    .dark .tile { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.13); box-shadow: none; }
    .dark .tile::before { background: linear-gradient(90deg, #bfe0ad, #e0c276); }
    .tile h3 { margin: 0 0 12px; font-size: 23px; line-height: 1.08; letter-spacing: -.036em; font-weight: 820; }
    .tile p { margin: 0; color: var(--muted); font-size: 16.5px; line-height: 1.42; letter-spacing: -.012em; }
    .dark .tile p { color: rgba(246,251,244,.70); }
    .feature-list { margin: 38px 0 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; max-width: 920px; }
    .feature-list li {
      padding: 18px 20px;
      border-radius: 18px;
      background: rgba(246,252,243,.78);
      border: 1px solid var(--line);
      color: #33483a;
      font-size: 17px;
      letter-spacing: -.018em;
      font-weight: 750;
    }
    .feature-list li::before { content: "✓"; color: var(--green-strong); font-weight: 900; padding-right: 10px; }
    .contact-card {
      margin-top: 38px;
      display: inline-flex;
      flex-direction: column;
      gap: 6px;
      padding: 24px 28px;
      border-radius: 24px;
      background: rgba(255,255,255,.72);
      border: 1px solid var(--line);
      text-align: left;
      box-shadow: 0 16px 48px rgba(34,80,46,.09);
    }
    .contact-card span { color: var(--soft); font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
    .contact-card a { color: var(--green-strong); font-size: clamp(22px, 3vw, 34px); font-weight: 850; letter-spacing: -.045em; }
    .disclaimer { padding: 30px 0 10px; color: var(--soft); font-size: 13px; line-height: 1.55; }
    footer { padding: 26px 0 46px; color: var(--soft); font-size: 13px; }
    footer a { color: var(--green-strong); font-weight: 700; }

    @media (max-width: 920px) {
      .navlinks a:not(.nav-cta) { display: none; }
      .brand img { width: 142px; }
      .hero { min-height: auto; padding: 72px 0 58px; }
      .panel { padding: clamp(32px, 7vw, 52px); }
      .tile-grid, .feature-list { grid-template-columns: 1fr; }
      .tile { min-height: auto; }
    }
    @media (max-width: 640px) {
      .wrap, .nav-wrap { width: min(100% - 28px, var(--max)); }
      nav { min-height: 58px; }
      .brand img { width: 132px; }
      .navlinks { gap: 0; }
      .nav-cta { padding: 8px 12px; font-size: 12px; }
      h1 { font-size: clamp(38px, 12.5vw, 56px); line-height: .98; letter-spacing: -.052em; }
      .lede { font-size: 19px; line-height: 1.28; margin-top: 20px; }
      .actions { align-items: stretch; flex-direction: column; }
      .button { width: 100%; min-height: 48px; }
      .section { padding: 10px 0; }
      .panel { border-radius: 24px; padding: 28px 20px; }
      h2 { font-size: clamp(32px, 10.5vw, 44px); letter-spacing: -.045em; line-height: 1.02; }
      .section-copy { font-size: 17px; line-height: 1.35; }
      .tile-grid { gap: 12px; margin-top: 28px; }
      .tile { border-radius: 19px; padding: 22px; }
      .tile h3 { font-size: 21px; }
      .feature-list { gap: 10px; margin-top: 28px; }
      .feature-list li { font-size: 15px; padding: 15px 16px; }
      .contact-card { width: 100%; padding: 20px; }
      .disclaimer, footer { font-size: 12px; }
    }

/* Home contact panel helpers */
.center-panel { text-align: center; min-height: 420px; display: grid; place-items: center; }
.center-heading, .center-copy { margin-inline: auto; }

/* Shared subpage layout */
body.subpage a { color: var(--green-strong); }
body.subpage .wrap { margin: 0 auto; }
body.subpage .top {
  position: sticky;
  top: 0;
  z-index: 20;
  min-height: 60px;
  display: flex;
  align-items: center;
  border-bottom: 1px solid var(--line);
  background: rgba(248,251,246,.78);
  backdrop-filter: saturate(170%) blur(22px);
}
body.subpage .top a { text-decoration: none; color: var(--green-deep); font-size: 14px; font-weight: 800; }
body.subpage .footer { font-size: 12px; color: var(--soft); margin: 0 0 38px; }

/* Contact page */
body.contact-page .wrap { width: min(1020px, calc(100% - 48px)); }
body.contact-page .hero { text-align: center; padding: 76px 0 34px; min-height: auto; display: block; }
body.contact-page .hero::before { display: none; }
body.contact-page .eyebrow { font-size: 12px; font-weight: 900; letter-spacing: .08em; margin: 0 0 22px; }
body.contact-page h1 { font-size: clamp(42px, 8vw, 82px); line-height: .97; letter-spacing: -.06em; margin: 0; }
body.contact-page .lede { max-width: 720px; margin: 22px auto 0; font-size: clamp(19px, 2.4vw, 27px); line-height: 1.25; letter-spacing: -.026em; font-weight: 540; }
body.contact-page .grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin: 32px 0; }
body.contact-page .card { background: var(--panel); border-radius: 26px; padding: 28px; border: 1px solid rgba(255,255,255,.75); outline: 1px solid var(--line); box-shadow: var(--shadow); min-height: 250px; display: flex; flex-direction: column; }
body.contact-page .card::before { content: ''; display: block; width: 34px; height: 4px; border-radius: 999px; background: linear-gradient(90deg, var(--green), var(--gold)); margin-bottom: 22px; }
body.contact-page .card h2 { margin: 0 0 10px; font-size: 24px; line-height: 1.08; letter-spacing: -.038em; }
body.contact-page .card p { color: var(--muted); margin: 0 0 22px; flex: 1; }
body.contact-page .button { width: auto; display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 18px; border-radius: 999px; background: linear-gradient(135deg, var(--green-strong), #6cae48); color: #fff; text-decoration: none; font-weight: 800; box-shadow: 0 12px 30px rgba(55,123,63,.22); }
body.contact-page .panel { background: var(--panel); border-radius: 30px; padding: clamp(30px, 5vw, 54px); margin: 18px 0 36px; outline: 1px solid var(--line); box-shadow: var(--shadow); }
body.contact-page .panel h2 { font-size: 34px; letter-spacing: -.045em; margin: 0 0 14px; }
body.contact-page .panel ul { margin: 16px 0 0; color: var(--muted); padding-left: 22px; }

/* Privacy page */
body.privacy-page .wrap { width: min(850px, calc(100% - 48px)); }
body.privacy-page .panel { background: var(--panel); border-radius: 32px; margin: 42px 0 28px; padding: clamp(32px, 6vw, 64px); border: 1px solid rgba(255,255,255,.75); outline: 1px solid var(--line); box-shadow: var(--shadow); }
body.privacy-page .updated { display: inline-flex; align-items: center; gap: 10px; color: var(--green-deep); background: rgba(255,255,255,.68); border: 1px solid var(--line); border-radius: 999px; padding: 8px 13px; font-size: 12px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; margin: 0 0 22px; }
body.privacy-page .updated::before { content: ''; width: 8px; height: 8px; border-radius: 999px; background: var(--green); box-shadow: 0 0 0 5px rgba(119,178,85,.18); }
body.privacy-page h1 { font-size: clamp(42px, 7vw, 76px); line-height: .97; letter-spacing: -.06em; margin: 0 0 24px; }
body.privacy-page h2 { font-size: 26px; letter-spacing: -.03em; margin: 36px 0 10px; color: var(--green-deep); }
body.privacy-page p, body.privacy-page li { color: var(--muted); font-size: 17px; }
body.privacy-page a { font-weight: 700; }

@media (max-width: 850px) {
  body.contact-page .grid { grid-template-columns: 1fr; }
  body.contact-page .card { min-height: auto; }
  body.contact-page .wrap { width: min(100% - 28px, 1020px); }
  body.contact-page .hero { padding: 52px 0 24px; }
  body.contact-page h1 { font-size: clamp(38px, 12vw, 56px); letter-spacing: -.048em; }
  body.contact-page .lede { font-size: 18px; }
  body.contact-page .card { padding: 22px; border-radius: 22px; }
  body.contact-page .button { width: 100%; }
  body.contact-page .panel { border-radius: 24px; padding: 26px 20px; }
  body.subpage .top { min-height: 56px; }
}

@media (max-width: 650px) {
  body.privacy-page .wrap { width: min(100% - 28px, 850px); }
  body.privacy-page .panel { border-radius: 24px; margin: 28px 0 24px; padding: 28px 20px; }
  body.privacy-page h1 { font-size: clamp(38px, 12vw, 56px); letter-spacing: -.048em; }
  body.privacy-page h2 { font-size: 23px; }
  body.privacy-page p, body.privacy-page li { font-size: 16px; }
  body.privacy-page .updated { font-size: 11px; }
}


/* Static inquiry builder */
body.contact-page .inquiry-panel { margin-top: 20px; }
body.contact-page .inquiry-intro { max-width: 720px; margin-bottom: 26px; }
body.contact-page .inquiry-intro p { color: var(--muted); font-size: 17px; margin: 10px 0 0; }
body.contact-page .inquiry-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
body.contact-page .inquiry-form label { display: grid; gap: 7px; color: var(--green-deep); font-weight: 800; font-size: 13px; letter-spacing: .02em; }
body.contact-page .inquiry-form input,
body.contact-page .inquiry-form select,
body.contact-page .inquiry-form textarea { width: 100%; border: 1px solid var(--line); border-radius: 16px; background: rgba(255,255,255,.78); color: var(--ink); font: inherit; padding: 13px 14px; outline: none; }
body.contact-page .inquiry-form textarea { resize: vertical; }
body.contact-page .inquiry-form input:focus,
body.contact-page .inquiry-form select:focus,
body.contact-page .inquiry-form textarea:focus { border-color: rgba(55,123,63,.42); box-shadow: 0 0 0 4px rgba(119,178,85,.16); }
body.contact-page .inquiry-form .full-span,
body.contact-page .inquiry-form .form-note { grid-column: 1 / -1; }
body.contact-page .inquiry-form .button { border: 0; cursor: pointer; justify-self: start; }
body.contact-page .form-note { color: var(--soft); font-size: 13px; margin: 0; }
@media (max-width: 850px) {
  body.contact-page .inquiry-form { grid-template-columns: 1fr; }
  body.contact-page .inquiry-form .button { width: 100%; }
}
