html { scroll-behavior: smooth; }
:focus-visible { outline: 3px solid #1f9d5c; outline-offset: 2px; }
.hero-bg { background: radial-gradient(1200px 500px at 85% 0%, #dcf4e4 0%, rgba(220,244,228,0) 60%), linear-gradient(180deg, #f1fbf5 0%, #ffffff 100%); }
.prose-pd { max-width: 70ch; font-size: 1.0625rem; line-height: 1.8; color: #334155; }
.prose-pd h2 { margin: 2.2rem 0 .8rem; font-size: 1.5rem; line-height: 1.3; font-weight: 800; color: #0f1b3d; }
.prose-pd h3 { margin: 1.6rem 0 .6rem; font-size: 1.2rem; font-weight: 700; color: #0f1b3d; }
.prose-pd p { margin: 0 0 1.1rem; }
.prose-pd ul, .prose-pd ol { margin: 0 0 1.2rem 1.4rem; }
.prose-pd ul { list-style: disc; } .prose-pd ol { list-style: decimal; }
.prose-pd li { margin: .35rem 0; padding-left: .2rem; }
.prose-pd a { color: #0b5d3b; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.prose-pd strong { color: #0f1b3d; }
.field { width: 100%; border: 1px solid #cbd5e1; border-radius: .75rem; padding: .7rem .9rem; background: #fff; font-size: 1rem; }
.field:focus { border-color: #1f9d5c; outline: 3px solid #bde8cc; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; border-radius: .75rem; background: #0b5d3b; color: #fff; font-weight: 700; padding: .75rem 1.25rem; }
.btn:hover { background: #094a30; }
.btn-line { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; border-radius: .75rem; border: 1.5px solid #0b5d3b; color: #0b5d3b; font-weight: 700; padding: .7rem 1.2rem; background: #fff; }
.btn-line:hover { background: #effaf3; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; animation: none !important; } }
