.forgood-page{--green:#16833f;--green-dark:#0b2e1a;--green-soft:#e9f5ec;--sun:#ffd23f;--ink:#121814;--muted:#4b5a50;--line:#d5e2d8;--display:'Arial Narrow','Roboto Condensed','Helvetica Neue',Arial,sans-serif;background:#fff;color:var(--ink)}
.forgood-page .wordmark svg,.forgood-page .wordmark-dot{color:var(--green)}
.forgood-page .nav{border-color:var(--line)}
.forgood-page .nav nav a{color:var(--ink)}
.forgood-page .nav-cta{background:var(--green);border-color:var(--green);color:#fff!important;font-weight:700}
.forgood-page .nav-cta:hover{background:var(--green-dark)}
.forgood-page :focus-visible{outline:3px solid var(--sun);outline-offset:3px}
.forgood-page h1,.forgood-page h2{font-family:var(--display);font-stretch:condensed;font-weight:800;text-transform:uppercase;letter-spacing:-.5px}
.forgood-page .service-page h2,.forgood-page h2{font-size:clamp(36px,4.4vw,60px);line-height:.98;margin:0 0 18px}
.forgood-page h2 span{color:var(--green)}
.kicker{font:700 13px/1.4 system-ui,sans-serif;letter-spacing:2.5px;color:var(--sun);margin:0 0 16px}
.kicker.dark{color:var(--green)}
.alert-bar{background:var(--green-dark);color:#fff;font-size:13px}
.alert-bar .wrap{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 22px;padding-block:9px;text-align:center}
.alert-bar strong{color:var(--sun);letter-spacing:1.5px}
/* hero */
.campaign-hero{background:var(--green);color:#fff;position:relative;overflow:hidden}
.campaign-hero:after{content:'';position:absolute;inset:auto -10% -60px -10%;height:120px;background:#fff;transform:rotate(-2deg)}
.campaign-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;padding-block:72px 120px;position:relative;z-index:1}
.forgood-page h1{font-size:clamp(56px,7vw,104px);line-height:.9;margin:0 0 26px;color:#fff}
.forgood-page h1 span{color:var(--sun);display:inline-block;background:var(--green-dark);padding:4px 14px 8px;margin-top:8px;transform:rotate(-1.5deg)}
.campaign-lead{font-size:20px;line-height:1.55!important;max-width:560px;margin:0 0 30px;color:#eaf6ee}
.campaign-lead strong{color:#fff;background:linear-gradient(transparent 62%,rgba(255,210,63,.55) 0)}
.campaign-actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px}
.action-button{display:inline-flex;align-items:center;gap:12px;background:var(--sun);color:var(--green-dark);font:800 19px/1 system-ui,sans-serif;padding:20px 30px;border-radius:4px;text-decoration:none;box-shadow:0 6px 0 var(--green-dark);transition:transform .15s,box-shadow .15s}
.action-button:hover{transform:translateY(-2px);box-shadow:0 8px 0 var(--green-dark)}
.action-button:active{transform:translateY(3px);box-shadow:0 3px 0 var(--green-dark)}
.plain-link{color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:5px;min-height:44px;display:inline-flex;align-items:center}
.fine{font-size:13px!important;color:#cfe9d7;margin-top:22px}
.fine a{color:#fff}
.pledge-card{background:var(--green-dark);border-radius:6px;padding:34px 30px 36px;text-align:center;box-shadow:14px 14px 0 rgba(0,0,0,.18)}
.globe{width:min(300px,70%);height:auto;display:block;margin:0 auto 6px}
.heart{transform-origin:260px 256px;animation:beat 2.6s ease-in-out infinite}
@keyframes beat{0%,100%{transform:scale(1)}12%{transform:scale(1.08)}24%{transform:scale(1)}36%{transform:scale(1.06)}}
.pledge-number{font:800 clamp(88px,10vw,140px)/.9 var(--display);font-stretch:condensed;color:var(--sun);margin:0}
.pledge-text{font-size:18px;line-height:1.45!important;color:#e5f3e9;margin:8px auto 0;max-width:280px}
.pledge-text strong{color:#fff}
/* strip */
.banner-strip{background:#fff}
.banner-strip p{font:800 clamp(22px,2.6vw,34px)/1.15 var(--display);font-stretch:condensed;text-transform:uppercase;text-align:center;margin:0;padding:34px 0 10px;color:var(--ink)}
.banner-strip span{color:var(--green)}
/* pledge steps */
.pledge{padding-block:70px}
.pledge-steps{list-style:none;padding:0;margin:36px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pledge-steps li{background:var(--green-soft);border-top:6px solid var(--green);padding:28px 26px}
.step-num{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--green);color:#fff;font:800 24px/1 var(--display);margin-bottom:16px}
.pledge-steps h3{font:800 24px/1.1 var(--display);font-stretch:condensed;text-transform:uppercase;margin:0 0 10px}
.pledge-steps p{color:var(--muted);font-size:15px;margin:0}
/* services */
.services-block{background:var(--green-dark);color:#fff;padding:80px 0}
.services-block h2{color:#fff}
.services-block h2 span{color:var(--sun)}
.services-block .kicker.dark{color:var(--sun)}
.section-lead{color:var(--muted);font-size:17px;max-width:620px}
.services-block .section-lead{color:#cfe2d5}
.service-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:36px}
.card{background:#fff;color:var(--ink);border-radius:4px;border-top:6px solid var(--sun);padding:24px 22px;display:flex;flex-direction:column;transition:transform .2s}
.card:hover{transform:translateY(-4px)}
.card h3{font:800 23px/1.05 var(--display);font-stretch:condensed;text-transform:uppercase;margin:0 0 10px}
.card p{font-size:15px;line-height:1.5!important;color:var(--muted);margin:0 0 18px}
.choose{margin-top:auto;align-self:flex-start;background:var(--green);color:#fff;border:0;border-radius:3px;font:700 15px/1 system-ui,sans-serif;padding:13px 18px;min-height:46px;cursor:pointer}
.choose:hover{background:var(--green-dark);outline:2px solid var(--sun)}
/* promise */
.promise{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;padding-block:80px;align-items:start}
.promise-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.promise-list li{border-left:5px solid var(--green);background:var(--green-soft);padding:20px 22px;color:var(--muted);font-size:15px;line-height:1.5}
.promise-list strong{display:block;color:var(--ink);font:800 19px/1.15 var(--display);font-stretch:condensed;text-transform:uppercase;margin-bottom:6px}
/* faq + intake (audit.css defaults are dark; restyle for light) */
.forgood-page .service-faq details{border-color:var(--line)}
.forgood-page .service-faq summary{color:var(--ink)}
.forgood-page .service-faq summary span,.forgood-page .saved-label{color:var(--green)}
.forgood-page .service-faq details p,.forgood-page .intake-intro>p:not(.kicker){color:var(--muted)}
.forgood-page .intake{border-color:var(--line)}
.forgood-page .intake-steps li{color:var(--muted)}
.forgood-page .intake-steps span{border-color:#9db8a5}
.forgood-page .intake-steps li[aria-current]{color:var(--green)}
.forgood-page .intake-steps li[aria-current] span{background:var(--green);border-color:var(--green);color:#fff}
.forgood-page .intake-help{border-color:var(--line)}
.forgood-page .intake-help a{color:var(--green)}
.forgood-page .intake-shell{background:#f7faf8;border:2px solid var(--green);border-radius:4px;color:var(--ink)}
.forgood-page .intake-shell .eyebrow{color:var(--green)}
.forgood-page .intake-shell h3{font:800 30px/1.05 var(--display);font-stretch:condensed;text-transform:uppercase}
.forgood-page .intake-shell legend,.forgood-page form label{color:#2f3d34}
.forgood-page .intake-shell input:not([type=checkbox]),.forgood-page .intake-shell select,.forgood-page .intake-shell textarea{background:#fff;color:var(--ink);border-color:#9db8a5}
.forgood-page .intake-shell #audit-finish p{color:var(--muted)}
.forgood-page .button.lime{background:var(--green);color:#fff;font-weight:700}
.forgood-page .button.lime:hover{background:var(--green-dark)}
.forgood-page .intake-actions .outline{color:var(--green);border-color:var(--green)}
.forgood-page .audit-consent input{accent-color:var(--green)}
.forgood-page .audit-consent a,.forgood-page .audit-privacy a,.forgood-page .text-link{color:var(--green)}
.forgood-page .error{color:#a12e17;border-color:#a12e17}
.forgood-page .audit-privacy h2{font-size:24px}
.forgood-page .audit-privacy p{color:var(--muted)}
.forgood-page #gig-select.flash{animation:flash .9s ease-out}
@keyframes flash{0%{box-shadow:0 0 0 0 var(--sun)}30%{box-shadow:0 0 0 7px var(--sun)}100%{box-shadow:0 0 0 0 transparent}}
.forgood-page footer{border-color:var(--line)}
.forgood-page footer>p{color:var(--muted)}
.sticky-good{display:none}
@media(max-width:1100px){.service-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.campaign-grid{grid-template-columns:1fr;gap:40px;padding-block:48px 100px}.pledge-card{max-width:440px}.pledge-steps{grid-template-columns:1fr}.promise{grid-template-columns:1fr;gap:24px}}
@media(max-width:700px){.forgood-page h1{font-size:clamp(46px,13vw,72px)}.campaign-lead{font-size:18px}.action-button{width:100%;justify-content:center}.service-cards,.promise-list{grid-template-columns:1fr}.pledge,.promise{padding-block:50px}.services-block{padding:54px 0}
.sticky-good{display:block;position:fixed;left:0;right:0;bottom:0;z-index:20;text-align:center;background:var(--sun);color:var(--green-dark);font:800 16px/1 system-ui,sans-serif;padding:18px 16px calc(18px + env(safe-area-inset-bottom));border-top:3px solid var(--green-dark);text-decoration:none}
.forgood-page footer{padding-bottom:90px}}
@media(prefers-reduced-motion:reduce){.heart{animation:none}.action-button,.card{transition:none}}
