


html { line-height: 1.15; -webkit-text-size-adjust: 100%; }
body { margin: 0; }
main { display: block; }
h1 { font-size: 2em; margin: 0.67em 0; }
hr { box-sizing: content-box; height: 0; overflow: visible; }
pre { font-family: monospace, monospace; font-size: 1em; }
a { background-color: transparent; }
abbr[title] { border-bottom: none; text-decoration: underline; text-decoration: underline dotted; }
b, strong { font-weight: bolder; }
code, kbd, samp { font-family: monospace, monospace; font-size: 1em; }
small { font-size: 80%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sub { bottom: -0.25em; }
sup { top: -0.5em; }
img { border-style: none; }
button, input, optgroup, select, textarea { font-family: inherit; font-size: 100%; line-height: 1.15; margin: 0; }
button, input { overflow: visible; }
button, select { text-transform: none; }
button, [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; }
fieldset { padding: 0.35em 0.75em 0.625em; }
legend { box-sizing: border-box; color: inherit; display: table; max-width: 100%; padding: 0; white-space: normal; }
progress { vertical-align: baseline; }
textarea { overflow: auto; }
[type="checkbox"], [type="radio"] { box-sizing: border-box; padding: 0; }
[type="search"] { -webkit-appearance: textfield; outline-offset: -2px; }
details { display: block; }
summary { display: list-item; }
template, [hidden] { display: none; }


*, *::before, *::after { box-sizing: border-box; }


body {
  font-family: "Inter", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  background: #ffffff;
  color: #052e16;
  overflow-x: hidden;
}

h1, h2, h3, h4 {
  font-family: "Playfair Display", "Iowan Old Style", Georgia, "Times New Roman", serif;
  color: #052e16;
  margin: 0 0 1.5rem;
}

h1 { font-size: 2.5rem; font-weight: 700; line-height: 1.16; }
h2 { font-size: 2rem;   font-weight: 600; line-height: 1.22; }
h3 { font-size: 1.5rem; font-weight: 600; line-height: 1.3; }
h4 { font-size: 1.25rem; font-weight: 500; line-height: 1.35; }

p  { font-size: 1rem; line-height: 1.7; margin: 0 0 1.25rem; color: #365314; }

a { color: #15803d; text-decoration: none; }
a:hover { color: #052e16; }

ul, ol { margin: 0 0 1.25rem; padding-left: 6%; }
li { line-height: 1.7; color: #365314; margin-bottom: 0.5rem; }

img { max-width: 100%; height: auto; display: block; }

::selection { background: #dcfce7; color: #052e16; }

:focus-visible { outline: 3px solid #16a34a; outline-offset: 3px; }


@keyframes wbGradientDrift {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
@keyframes wbBloomUp {
  from { opacity: 0; transform: translateY(18px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes wbBloomIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@keyframes wbRidgeSway {
  0%   { transform: translateY(12px) translateX(0); }
  50%  { transform: translateY(12px) translateX(-2%); }
  100% { transform: translateY(12px) translateX(0); }
}
@keyframes wbPetalTurn {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}
@keyframes wbDockPulse {
  0%   { box-shadow: 0 0 0 0 rgba(22, 163, 74, 0.45); }
  70%  { box-shadow: 0 0 0 18px rgba(22, 163, 74, 0); }
  100% { box-shadow: 0 0 0 0 rgba(22, 163, 74, 0); }
}
@keyframes wbTallyRise {
  from { opacity: 0; transform: translateY(30%) scale(0.94); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes wbShotFloat {
  0%   { transform: translateY(0); }
  50%  { transform: translateY(-2.2%); }
  100% { transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; }
}
