/* Generated by scripts/extract-page-css.cjs — do not edit.
   Was an inline <style> in features/pulse-surveys/index.html; moved out so the CSP can drop
   'unsafe-inline' from style-src. Its position in <head> is preserved,
   so the cascade is unchanged. */
.step{background:#fff;border:1px solid var(--border);border-radius:20px;padding:32px;position:relative}
.step-num{width:36px;height:36px;background:var(--growth-light);color:var(--growth-text);border-radius:10px;display:grid;place-items:center;font-size:14px;font-weight:700;margin-bottom:18px}
.step h3{font-size:17px;font-weight:700;color:var(--text);margin-bottom:8px;letter-spacing:-0.3px}
.step p{font-size:14px;color:var(--text-2);line-height:1.7}
.features{background:var(--comm);padding:80px 5%}
.features-inner{max-width:1080px;margin:0 auto}
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}
.feat-card{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:18px;padding:28px}
.feat-ico{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;margin-bottom:16px}
.feat-card h3{font-size:16px;font-weight:600;color:#fff;margin-bottom:8px;letter-spacing:-0.3px}
.feat-card p{font-size:13.5px;color:rgba(255,255,255,0.66);line-height:1.7}
.templates{background:var(--surface);padding:80px 5%;color:var(--text)}
.templates-inner{max-width:1000px;margin:0 auto}
.tpl-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:36px}
.tpl{display:flex;align-items:center;gap:12px;padding:14px 18px;background:#fff;border:1px solid var(--border);border-radius:12px}
.tpl-dot{width:8px;height:8px;border-radius:50%;background:var(--growth);flex-shrink:0}
.tpl-name{font-size:14px;font-weight:500;color:var(--text)}
.compliance{background:var(--comm);padding:72px 5%}
.compliance-inner{max-width:900px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:32px}
.comp-card{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.1);border-radius:20px;padding:32px}
.comp-badge{display:inline-flex;padding:4px 12px;border-radius:100px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;margin-bottom:14px}
.badge-osha{background:rgba(177,218,49,0.12);color:var(--growth)}
.badge-nom{background:rgba(106,213,238,0.12);color:var(--trust)}
.comp-card h3{font-size:18px;font-weight:700;letter-spacing:-0.4px;margin-bottom:10px}
.comp-card p{font-size:14px;color:rgba(255,255,255,0.66);line-height:1.7;margin-bottom:16px}
.comp-link{font-size:13.5px;color:var(--growth);font-weight:500;border-bottom:1px solid rgba(177,218,49,0.3)}
.comp-link:hover{color:var(--growth-text)}
.cta-strip{background:var(--growth);padding:72px 5%;text-align:center}
.cta-inner{max-width:540px;margin:0 auto}
.cta-strip h2{font-size:clamp(26px,3.5vw,38px);font-weight:700;letter-spacing:-1.2px;color:var(--comm);margin-bottom:12px}
.cta-strip p{font-size:15px;color:rgba(40,42,43,0.78);font-weight:300;margin-bottom:24px}
.cta-strip a{display:inline-flex;align-items:center;gap:8px;background:var(--comm);color:#fff;padding:14px 32px;border-radius:100px;font-size:15px;font-weight:600;transition:background-color 160ms var(--ease-out),color 160ms var(--ease-out),border-color 160ms var(--ease-out),box-shadow 160ms var(--ease-out),transform 160ms var(--ease-out)}
.cta-strip a:hover{background:var(--comm-mid);transform:translateY(-2px)}
.cta-strip a:active{transform:scale(0.97)}
@media(max-width:768px){.hero-inner{grid-template-columns:1fr;gap:40px}.hero-visual{display:none}.steps{grid-template-columns:1fr}.feat-grid{grid-template-columns:1fr 1fr}.tpl-grid{grid-template-columns:1fr}.compliance-inner{grid-template-columns:1fr}}
@media(max-width:480px){.feat-grid{grid-template-columns:1fr}}
