/* Shared rules extracted from the per-page <style> blocks.
   Design values come from tokens.css, which must load first. */
body{margin:0;background:var(--sp-white)}
a{color:var(--sp-green-dark)}a:hover{color:var(--sp-green)}
:where(.dc-header) a{color:var(--sp-ink)}:where(.dc-header) a:hover{color:var(--sp-green-dark)}
:where(.dc-footer) a{color:var(--sp-white)}:where(.dc-footer) a:hover{color:var(--sp-green-tint)}
@keyframes sproutMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.sp-track{animation:sproutMarquee 70s linear infinite}
.sp-track:hover{animation-play-state:paused}
@media (prefers-reduced-motion: reduce){.sp-track{animation:none}}
.sp-logo img{filter:grayscale(1);opacity:0.6;transition:filter var(--sp-transition),opacity var(--sp-transition)}
.sp-logo:hover img{filter:grayscale(0);opacity:1}
a:focus-visible,button:focus-visible{outline:3px solid var(--sp-green);outline-offset:2px}
.sp-form-status{grid-column:1 / -1;margin:0;font-size:15px;font-weight:600}
.sp-form-status[data-state="ok"]{color:var(--sp-green-dark)}
.sp-form-status[data-state="error"]{color:#B42318}
.sp-hp{position:absolute;left:-9999px}
.sp-article{max-width:760px;margin:0 auto;padding:72px 32px 56px;box-sizing:border-box;display:flex;flex-direction:column;gap:24px}
.sp-article h1{margin:0;font-size:clamp(28px,5vw,var(--sp-display-m));line-height:var(--sp-lh-display);font-weight:700;letter-spacing:-0.02em}
.sp-article .lede{margin:0;font-size:var(--sp-body-l);line-height:1.55}
.sp-article .meta{font-size:14px;color:var(--sp-ink-muted)}
.sp-article img,.sp-article video{width:100%;height:450px;object-fit:cover;border-radius:var(--sp-radius);display:block;background:var(--sp-tint)}
.sp-article p{margin:0;font-size:17px;line-height:var(--sp-lh-body)}
.sp-article .soon{padding:20px 24px;background:var(--sp-tint);border-radius:var(--sp-radius)}
.sp-article .back{font-weight:700;text-decoration:none}
.sp-skip{position:absolute;left:-9999px;top:8px;z-index:10;padding:10px 16px;background:var(--sp-green-deep);color:var(--sp-white)!important;border-radius:var(--sp-radius)}
.sp-skip:focus{left:8px}
.sp-article h2{margin:16px 0 0;font-size:28px;line-height:1.2;font-weight:700;letter-spacing:-0.01em}
.sp-article h3{margin:8px 0 0;font-size:21px;line-height:1.3;font-weight:700}
.sp-article h4{margin:0;font-size:16px;font-weight:700;color:var(--sp-green-dark)}
.sp-article ul{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:8px;font-size:17px;line-height:var(--sp-lh-body)}
.sp-filter{min-height:44px;padding:0 20px;border-radius:999px;font-family:inherit;font-size:15px;font-weight:700;cursor:pointer;transition:background var(--sp-transition),color var(--sp-transition);border:2px solid var(--sp-green);background:var(--sp-white);color:var(--sp-green-dark)}
.sp-filter[aria-pressed="true"]{background:var(--sp-green);color:var(--sp-white)}
[data-tag][hidden]{display:none}
/* Cards and logos: hover effects (formerly a <style> block on individual pages) */
.sp-card{transition:box-shadow var(--sp-transition),transform var(--sp-transition)}
.sp-card:hover{box-shadow:var(--sp-shadow-hover)}
.sp-lg img{filter:grayscale(1) contrast(1.25);opacity:0.9;transition:filter var(--sp-transition),opacity var(--sp-transition)}
.sp-lg:hover img{filter:grayscale(0);opacity:1}
.clients-cell{transition:border-color var(--sp-transition)}
.clients-cell:hover{border-color:var(--sp-green)}
.sp-field:focus{outline:none;border-color:var(--sp-green);box-shadow:0 0 0 3px var(--sp-focus-ring)}
