:root{
  --green:#2EAF4A;
  --green-dark:#16824F;
  --slate:#465A69;
  --copper:#D97A1D;
  --bg:#F8FAF8;
  --text:#222831;
}
*{scroll-behavior:smooth;}
body{font-family:'Inter',sans-serif;background:var(--bg);color:var(--text);}
h1,h2,h3,h4,.font-head{font-family:'Manrope',sans-serif;}
.grad-green{background:linear-gradient(135deg,var(--green) 0%, var(--green-dark) 100%);}
.text-green{color:var(--green-dark);}
.bg-copper{background:var(--copper);}
.text-copper{color:var(--copper);}
.text-slate{color:var(--slate);}
.bg-slate{background:var(--slate);}
.card-shadow{box-shadow:0 8px 30px rgba(34,40,49,0.06);}
.card-shadow:hover{box-shadow:0 16px 40px rgba(34,40,49,0.10);}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease, transform .6s ease;}
.reveal.in{opacity:1;transform:translateY(0);}
.marker-line::before{
  content:"";position:absolute;left:23px;top:52px;bottom:-8px;width:2px;
  background:repeating-linear-gradient(to bottom, #2EAF4A 0 6px, transparent 6px 12px);
}
.step:last-child .marker-line::before{display:none;}
.nav-link.active{color:var(--green-dark);}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1!important;transform:none!important;transition:none!important;}
  *{scroll-behavior:auto!important;}
}
input:focus-visible, textarea:focus-visible, select:focus-visible, button:focus-visible, a:focus-visible{
  outline:3px solid var(--copper); outline-offset:2px;
}
