/* Direction: misty monsoon hillside — deep rainforest greens, soft fog, warm roasted-corn amber */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --color-background:#EDF2EB;
  --color-surface:#FFFDF6;
  --color-surface-2:#E2EBDD;
  --color-dark:#122419;
  --color-dark-2:#1A3324;
  --color-text:#16241B;
  --color-secondary:#46584C;
  --color-muted:#4F6356;
  --color-border:#D4DDCF;
  --color-primary:#1B5C38;
  --color-primary-dark:#123E27;
  --color-primary-soft:#DCEAD9;
  --color-accent:#E9A319;
  --color-accent-dark:#9A5F00;
  --color-accent-soft:#FCEFC7;
  --color-success:#1B7A43;
  --color-warning:#B77900;
  --color-danger:#B3382E;
  --font-display:"Fraunces", Georgia, serif;
  --font-body:"Inter", system-ui, sans-serif;
  --radius-sm:10px;
  --radius-md:16px;
  --radius-lg:24px;
  --radius-pill:999px;
  --shadow-soft:0 18px 40px -18px rgba(18,36,25,.28);
  --shadow-card:0 10px 28px -12px rgba(18,36,25,.22);
}

html{scroll-behavior:smooth}
body{
  font-family:var(--font-body);
  background:var(--color-background);
  color:var(--color-text);
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:var(--font-display);line-height:1.12;letter-spacing:-.02em;text-wrap:balance}
h1.text-white,h2.text-white,h3.text-white{color:#fff}
.wrap{max-width:1200px;margin-inline:auto;padding-inline:20px}
section{scroll-margin-top:96px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:48px;padding:.85rem 1.6rem;border-radius:var(--radius-pill);font-weight:700;font-size:1rem;transition:transform .2s ease, box-shadow .2s ease, background .2s ease;border:2px solid transparent;cursor:pointer}
.btn-primary{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-card)}
.btn-primary:hover{background:var(--color-primary-dark);transform:translateY(-2px)}
.btn-corn{background:var(--color-accent);color:#231600}
.btn-corn:hover{transform:translateY(-2px);box-shadow:var(--shadow-card)}
.btn-ghost{background:#fff;color:var(--color-text);border-color:var(--color-border)}
.btn-ghost:hover{border-color:var(--color-text)}
:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px;border-radius:6px}
.card{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}
.eyebrow{display:inline-flex;align-items:center;gap:.5rem;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:.4rem .9rem;font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary)}
.rain-lines{background-image:repeating-linear-gradient(115deg, rgba(255,255,255,.14) 0 1px, transparent 1px 14px)}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease-out, transform .6s ease-out}
.reveal.visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
  *{animation:none!important;transition:none!important}
}
input,select,textarea{width:100%;background:#fff;border:1.5px solid var(--color-border);border-radius:12px;padding:.85rem 1rem;font:inherit;color:var(--color-text)}
input:focus,select:focus,textarea:focus{border-color:var(--color-primary);outline:3px solid rgba(27,92,56,.18)}
.field-error{color:var(--color-danger);font-size:.88rem;margin-top:.35rem;min-height:1.2em}
.lucide{width:20px;height:20px}
