/* Site-owned presentation; all editorial content remains managed by Sprigpost. */
:root{--teal:#086958;--line:#deddd3}
html{scroll-padding-top:2rem}
body{font-size:17px;line-height:1.75}
button,input,select,textarea{font:inherit}
a{text-underline-offset:.2em}
:focus-visible{outline:3px solid #086958;outline-offset:4px}
[hidden]{display:none!important}
.skip-link{position:absolute;left:1rem;top:-6rem;z-index:20;padding:.65rem 1rem;background:var(--ink);color:#fff}
.skip-link:focus{top:1rem}
header.site{border-top:4px solid var(--teal)}
nav.site{gap:1.5rem;min-height:88px}
.brand{font-size:1.7rem;letter-spacing:-.04em;white-space:nowrap}
nav.site .links{gap:.35rem}
nav.site a.nl{padding:.45rem .75rem;border-radius:.35rem}
nav.site a.nl[aria-current]{background:var(--teal-bg);color:var(--teal);font-weight:700}
.hero{padding:3rem 0 2.5rem;border-bottom:1px solid var(--line);margin-bottom:2.5rem}
.hero h1{font-size:clamp(2.8rem,6vw,4.6rem);letter-spacing:-.055em;line-height:1.05}
.hero p.lede{font-size:1.2rem;max-width:45rem;line-height:1.8}
.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}
.action-link,.reset-filters{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.6rem 1rem;border:1px solid var(--teal);border-radius:.4rem;text-decoration:none;font-weight:600;background:#fff;color:var(--teal);cursor:pointer}
.action-link.primary{background:var(--teal);color:white}
h1{letter-spacing:-.035em;font-size:clamp(2rem,4vw,3rem);text-wrap:balance}
h2{letter-spacing:-.025em;margin-top:2.7rem}
.cards{gap:1.2rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr))}
.card{padding:1.4rem;border-radius:.6rem;transition:border-color .15s,box-shadow .15s}
.card:has(a):hover,.card:focus-within{border-color:#76a69a;box-shadow:0 4px 18px #173b2d0a}
.card h3{font-size:1.25rem;line-height:1.4}
.card p{line-height:1.7}
.cards .card>p:last-child{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.tiergrid .card{border-top:3px solid var(--teal);background:#f1f6f2}
.filterbar{padding:1.25rem;background:#f0f2eb;border:1px solid var(--line);border-radius:.6rem;gap:1rem;align-items:end}
.filterbar label{display:flex;flex-direction:column;gap:.3rem;flex:1 1 12rem;font-size:.85rem;font-weight:600;min-width:0}
.filterbar select,.filterbar input{width:100%;min-height:46px;min-width:0;border:1px solid #acb6ab;border-radius:.35rem;background:#fff;padding:.6rem;color:var(--ink)}
.filterbar .search-label{flex-basis:100%}
.results-summary{color:var(--muted);font-size:.9rem;margin:1rem 0}
.empty-results{padding:2rem;border:1px dashed #acb6ab;border-radius:.6rem}
.sprigpost-document{max-width:48rem!important;font-size:1.075rem;line-height:1.85}
.sprigpost-document h2{padding-top:1rem;border-top:1px solid var(--line)}
.sprigpost-document h3{margin-top:2rem}
.sprigpost-document img{border-radius:.5rem}
.reader-nav{display:flex;justify-content:space-between;gap:1rem;font-size:.9rem;margin-bottom:1.5rem}
.contents{padding:1rem 1.25rem;border:1px solid var(--line);border-radius:.5rem;background:#f4f5ee;margin:1.75rem 0}
.contents summary{cursor:pointer;font-weight:600;color:var(--teal)}
.contents ol{padding-left:1.4rem;margin-bottom:0}
.contents li{margin:.4rem 0}
form.sprigpost-form{padding:1.75rem;max-width:42rem;border-top:3px solid var(--teal)}
form.sprigpost-form label.consent{display:flex;font-weight:400;gap:.75rem;line-height:1.6}
.consent input{flex:0 0 auto;width:18px;height:18px;margin-top:.3rem;accent-color:var(--teal)}
form.sprigpost-form input,form.sprigpost-form textarea{border-color:#a9b2a9!important}
form.sprigpost-form button{min-height:46px}
form button:disabled{opacity:.65;cursor:wait}
form [role=status]:not(:empty){padding:.8rem;background:var(--teal-bg);border-radius:.4rem}
form [role=status][data-error=true]{background:var(--red-bg);color:var(--red)}
footer.site{background:#f1f2eb;margin-top:3rem;padding:2.5rem 0}
footer.site a{display:inline-block;padding:.3rem .1rem}
@media(max-width:640px){nav.site{align-items:flex-start;flex-direction:column;gap:.5rem;padding:1rem 0}.brand{font-size:1.55rem}nav.site .links{width:100%;justify-content:space-between;gap:0}nav.site a.nl{padding:.5rem .35rem;font-size:.88rem}.hero{padding:1.5rem 0 2rem}.wrap{padding:0 1rem}.card{padding:1.2rem}.filterbar{padding:1rem}.filterbar label{flex-basis:100%}.reset-filters{width:100%}form.sprigpost-form{padding:1.2rem}.sprigpost-document{font-size:1rem}.reader-nav{flex-wrap:wrap}}
.landing-page .hero{position:relative}
.landing-page .hero::after{content:"";position:absolute;bottom:-1px;left:0;width:7rem;height:3px;background:linear-gradient(90deg,var(--teal),#87b7a6);border-radius:3px;transform-origin:left;animation:accent-reveal 1.1s cubic-bezier(.22,1,.36,1) both}
.landing-page .card,.landing-page .action-link{transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background-color .22s ease}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.landing-page .card:has(a):hover{transform:translateY(-4px);box-shadow:0 10px 24px #173b2d12}.landing-page .action-link:hover{transform:translateY(-2px);box-shadow:0 5px 12px #173b2d14}}
@keyframes accent-reveal{from{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:1}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
