/* You're Not Finished Yet — shared styles. Page layout lives inline in each page. */
html { scroll-behavior: smooth; }
body { margin: 0; background: #F1F4F1; }
a { color: #2F5D58; }
a:hover { color: #1E3F3B; }
img { max-width: 100%; }
[hidden] { display: none !important; }

/* Keyboard focus: dark ring + gold halo, visible on light and dark sections */
:focus-visible { outline: 3px solid #1F2A27; outline-offset: 3px; box-shadow: 0 0 0 7px #F3C98B; border-radius: 6px; }
input:focus-visible, textarea:focus-visible, button:focus-visible { outline-offset: 2px; }

::placeholder { color: #66726D; opacity: 1; }

.skip-link { position: absolute; left: 16px; top: -100px; z-index: 100; padding: 12px 20px; background: #1F2A27; color: #FFFFFF; font: 600 16px 'Instrument Sans', system-ui, sans-serif; border-radius: 999px; text-decoration: none; }
.skip-link:focus { top: 16px; color: #FFFFFF; }

.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* Donate: selectable options built on real radio buttons */
.choice input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.choice span { display: flex; flex-direction: column; align-items: center; justify-content: center; box-sizing: border-box; height: 100%; border: 1.5px solid #B8C4BF; background: #FFFFFF; color: #1F2A27; cursor: pointer; }
.choice input:checked + span { border: 2px solid #2F5D58; background: #E3EBE7; }
.choice input:focus-visible + span { outline: 3px solid #1F2A27; outline-offset: 3px; box-shadow: 0 0 0 7px #F3C98B; }
.seg span { height: 48px; border: 0; border-radius: 999px; background: transparent; font-weight: 600; font-size: 16px; }
.seg input:checked + span { background: #2F5D58; color: #FFFFFF; border: 0; }

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
