
:root { color-scheme: light; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background: #f6f8f7; color: #17221d; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; line-height: 1.55; }
a { color: #075b43; text-underline-offset: .18em; }
a:focus-visible, button:focus-visible, input:focus-visible, summary:focus-visible { outline: 3px solid #f0a51a; outline-offset: 3px; }
.skip-link { position: absolute; left: 1rem; top: -5rem; background: #fff; padding: .75rem 1rem; z-index: 10; }
.skip-link:focus { top: 1rem; }
.site-header, .site-footer { max-width: 64rem; margin: 0 auto; padding: 1.25rem clamp(1rem, 4vw, 2rem); }
.site-header { border-bottom: 1px solid #d8e0dc; }
.brand { font-weight: 750; color: #17221d; text-decoration: none; font-size: 1.12rem; }
.container { width: min(100% - 2rem, 64rem); margin: 0 auto; padding: clamp(2.5rem, 7vw, 5rem) 0; display: grid; gap: 2rem; }
.hero, .message { max-width: 46rem; }
h1, h2, h3 { line-height: 1.18; letter-spacing: -.02em; }
h1 { font-size: clamp(2.1rem, 7vw, 4.1rem); margin: .25rem 0 1rem; }
h2 { font-size: clamp(1.4rem, 3vw, 1.8rem); }
.eyebrow { color: #32725f; text-transform: uppercase; letter-spacing: .1em; font-size: .78rem; font-weight: 750; }
.lede { font-size: clamp(1.05rem, 2vw, 1.3rem); color: #405149; max-width: 42rem; margin-bottom: 1.75rem; }
.card, .tool-card { border: 1px solid #d8e0dc; border-radius: .85rem; background: #fff; padding: clamp(1.25rem, 4vw, 2rem); box-shadow: 0 1px 2px rgb(15 45 34 / 5%); }
.card { max-width: 46rem; }
.stack > * { margin-top: 0; margin-bottom: 1.15rem; }
.tool-list { display: grid; gap: 1rem; }
.tool-card { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; }
.tool-card h3, .tool-card p { margin: 0; }
.tool-card p { color: #526159; margin-top: .3rem; }
.button { min-height: 2.75rem; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #075b43; border-radius: .48rem; padding: .65rem 1rem; background: #fff; color: #075b43; font: inherit; font-weight: 700; text-decoration: none; cursor: pointer; }
.button.primary { background: #075b43; color: #fff; }
.button.secondary { border-color: #8b9992; color: #273b32; }
.button.danger { border-color: #9f2525; background: #9f2525; color: #fff; }
.check { display: grid; grid-template-columns: 1.4rem 1fr; align-items: start; gap: .6rem; }
.check input { width: 1.25rem; height: 1.25rem; margin-top: .15rem; }
input[type="text"], input:not([type]) { width: 100%; min-height: 2.75rem; border: 1px solid #74837b; border-radius: .4rem; padding: .6rem .7rem; font: inherit; }
details { border-top: 1px solid #d8e0dc; padding-top: 1rem; }
summary { cursor: pointer; font-weight: 700; min-height: 2.75rem; }
.danger-zone { padding: 1rem 0 0; }
.muted { color: #526159; }
.site-footer { display: flex; gap: 1.25rem; border-top: 1px solid #d8e0dc; color: #526159; }
.prose { max-width: 45rem; }
.prose h1 { font-size: clamp(2rem, 5vw, 3.2rem); }
.prose h2 { margin-top: 2rem; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (max-width: 38rem) { .tool-card { align-items: stretch; flex-direction: column; } .tool-card .button { width: 100%; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; } }
