/* Page CSS for /workplace-climate-survey/ and its Spanish pair /es/clima-laboral/.
   Written straight to a file rather than extracted from an inline <style>, so
   style-src keeps its 'self'-only policy. Shares the class vocabulary of
   nom-035-software.css on purpose — the two pages sit next to each other in the
   compliance funnel and a reader moving between them should not feel a seam. */
body{font-family:'DM Sans',sans-serif;background:var(--comm);color:var(--white);overflow-x:hidden;line-height:1.6}
h1,h2,h3,h4,h5,h6,.nav-logo-name{font-family:var(--font-display)}
a{text-decoration:none;color:inherit}

/* ---------- hero ---------- */
.hero{display:flex;align-items:center;padding:150px 5% 90px;text-align:center;position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(106,213,238,0.09),transparent 70%);top:-280px;left:50%;transform:translateX(-50%);z-index:0}
.hero-inner{max-width:880px;margin:0 auto;position:relative;z-index:1}
.hero-badge{display:inline-flex;align-items:center;gap:7px;background:var(--trust-dim);border:1px solid rgba(106,213,238,0.22);padding:5px 14px;border-radius:100px;font-size:11px;font-weight:600;color:var(--trust);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:20px}
.hero h1{font-size:clamp(34px,5vw,54px);font-weight:700;letter-spacing:-1.8px;line-height:1.1;margin-bottom:18px;color:#fff}
.hero h1 em{font-style:normal;color:var(--growth)}
.hero-sub{font-size:17px;font-weight:300;color:rgba(255,255,255,0.68);line-height:1.75;max-width:640px;margin:0 auto 28px}
.hero-sub a{color:var(--growth);border-bottom:1px solid rgba(177,218,49,0.35)}
.hero-stat-pills{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:16px}
.hero-stat-pill{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12);padding:8px 16px;border-radius:100px;font-size:13px;color:rgba(255,255,255,0.8);display:inline-flex;align-items:center;gap:8px}
.hero-stat-pill .dot{width:7px;height:7px;border-radius:50%;background:var(--growth)}
.hero-stat-pill .dot.t{background:var(--trust)}
.hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:28px}
.btn-primary{background:var(--growth);color:var(--comm);padding:13px 26px;border-radius:100px;font-size:15px;font-weight:600;display:inline-flex;align-items:center;gap:8px;transition:background-color 160ms var(--ease-out),transform 160ms var(--ease-out)}
.btn-primary:hover{background:var(--growth-dark);transform:translateY(-2px)}
.btn-ghost{color:rgba(255,255,255,0.7);padding:13px 26px;border-radius:100px;font-size:15px;border:1px solid rgba(255,255,255,0.18);display:inline-flex;align-items:center;gap:8px;transition:color 160ms var(--ease-out),border-color 160ms var(--ease-out)}
.btn-ghost:hover{color:#fff;border-color:rgba(255,255,255,0.4)}

/* ---------- section shell ---------- */
.sec{padding:80px 5%}
.sec.light{background:var(--surface);color:var(--text)}
.sec-inner{max-width:1060px;margin:0 auto}
.sec-tag{display:inline-block;font-size:11px;font-weight:600;padding:5px 13px;border-radius:100px;letter-spacing:0.8px;text-transform:uppercase;margin-bottom:14px}
.sec-tag.g{background:var(--growth-dim);color:var(--growth)}
.sec-tag.t{background:var(--trust-dim);color:var(--trust)}
.sec.light .sec-tag.g{background:var(--growth-light);color:var(--growth-text)}
.sec.light .sec-tag.t{background:var(--trust-light);color:var(--trust-dark)}
h2{font-size:clamp(26px,3vw,38px);font-weight:700;letter-spacing:-0.8px;line-height:1.2;margin-bottom:14px;color:#fff}
h2 em{font-style:normal;color:var(--growth)}
.sec.light h2{color:var(--text)}
.sec.light h2 em{color:var(--growth-text)}
.sec-sub{font-size:16px;color:rgba(255,255,255,0.68);font-weight:300;line-height:1.75;max-width:660px;margin-bottom:32px}
.sec.light .sec-sub{color:var(--text-2)}
.sec p a,.sec li a{color:var(--growth);border-bottom:1px solid rgba(177,218,49,0.3)}
.sec.light p a,.sec.light li a{color:var(--growth-text);border-bottom-color:rgba(94,117,20,0.3)}
.sec h3{color:#fff}
.sec.light h3{color:var(--text)}

/* ---------- two columns of prose ---------- */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;margin-top:28px}
.two-col h3{font-size:20px;font-weight:700;margin-bottom:12px;letter-spacing:-0.4px}
.two-col p{font-size:15px;line-height:1.75;margin-bottom:14px}
.two-col ul{list-style:none;display:grid;gap:10px;margin-top:12px}
.two-col ul li{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;line-height:1.6}
.two-col ul li::before{content:'✓';color:var(--growth-text);font-weight:700;flex-shrink:0}
.sec .two-col ul li::before{color:var(--growth)}
.callout-box{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.1);border-radius:16px;padding:28px}
.sec.light .callout-box{background:#fff;border:1px solid var(--border)}
.callout-box .ref{font-size:12px;margin-top:14px;border-top:1px solid rgba(255,255,255,0.08);padding-top:12px;line-height:1.55;color:rgba(255,255,255,0.66)}
.sec.light .callout-box .ref{color:var(--text-3);border-top-color:var(--border)}

/* ---------- the six dimensions ---------- */
.dim-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}
/* The cards are white islands inside a dark section, so they reset `color`
   themselves — inheriting the dark section's white would put white text on a
   white card for anything not covered by the rules below. */
.dim-card{background:#fff;color:var(--text);border:1px solid var(--border);border-radius:18px;padding:26px;transition:transform 200ms var(--ease-out),box-shadow 200ms var(--ease-out),border-color 150ms}
.dim-card:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(40,42,43,0.08);border-color:var(--growth)}
.dim-n{font-size:11px;font-weight:700;letter-spacing:1px;color:var(--growth-text);margin-bottom:10px;display:block}
.dim-card h3{font-size:16.5px;font-weight:700;color:var(--text);margin-bottom:8px;letter-spacing:-0.3px}
.dim-card p{font-size:14px;color:var(--text-2);line-height:1.65;margin-bottom:10px}
.dim-card .ask{font-size:13.5px;color:var(--text);line-height:1.6;border-left:2px solid var(--growth);padding-left:12px;font-style:italic}

/* ---------- climate vs engagement vs pulse ---------- */
.tbl-wrap{overflow-x:auto;margin-top:30px;border:1px solid var(--border);border-radius:16px;background:#fff}
table.cmp{border-collapse:collapse;width:100%;min-width:640px;font-size:14px}
table.cmp th{text-align:left;font-size:11px;letter-spacing:0.8px;text-transform:uppercase;color:var(--text-3);font-weight:600;padding:14px 18px;border-bottom:1px solid var(--border)}
table.cmp td{padding:14px 18px;border-bottom:1px solid var(--border);color:var(--text-2);line-height:1.6;vertical-align:top}
table.cmp tr:last-child td{border-bottom:none}
table.cmp td:first-child{color:var(--text);font-weight:600}

/* ---------- how to run it ---------- */
.steps-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:36px}
.step-card{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.1);border-radius:16px;padding:22px 18px}
.sec.light .step-card{background:#fff;border-color:var(--border)}
.step-n{width:28px;height:28px;border-radius:50%;background:var(--growth);color:var(--comm);font-size:12.5px;font-weight:700;display:grid;place-items:center;margin-bottom:14px}
.step-card h3{font-size:14px;font-weight:700;margin-bottom:6px;letter-spacing:-0.2px}
.step-card p{font-size:12.5px;line-height:1.6;color:rgba(255,255,255,0.68)}
.sec.light .step-card p{color:var(--text-2)}

/* ---------- mistakes ---------- */
.miss-list{display:grid;gap:14px;margin-top:30px}
.miss{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.1);border-left:3px solid var(--danger);border-radius:0 14px 14px 0;padding:20px 24px}
.sec.light .miss{background:#fff;border-color:var(--border);border-left-color:var(--danger-text)}
.miss h3{font-size:16px;font-weight:700;margin-bottom:6px;letter-spacing:-0.3px}
.miss p{font-size:14.5px;line-height:1.7;color:rgba(255,255,255,0.68)}
.sec.light .miss p{color:var(--text-2)}

/* ---------- faq ---------- */
.faq-list{display:grid;gap:12px;margin-top:30px}
.faq-item{background:#fff;border:1px solid var(--border);border-radius:14px;padding:22px 26px}
.faq-item h3{font-size:16px;font-weight:700;color:var(--text);margin-bottom:8px;letter-spacing:-0.3px}
.faq-item p{font-size:14.5px;color:var(--text-2);line-height:1.7}

/* ---------- cta ---------- */
.cta-strip{background:var(--growth);padding:70px 5%;text-align:center;position:relative;overflow:hidden}
.cta-strip::before{content:'';position:absolute;width:500px;height:500px;border-radius:50%;background:rgba(255,255,255,0.08);top:-200px;right:-100px}
.cta-inner{max-width:580px;margin:0 auto;position:relative;z-index:1}
.cta-strip h2{font-size:clamp(28px,3.6vw,38px);font-weight:700;letter-spacing:-1.2px;color:var(--comm);margin-bottom:14px}
.cta-strip p{font-size:15.5px;color:rgba(40,42,43,0.78);font-weight:300;margin-bottom:24px}
.cta-strip a.cta-btn{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),transform 160ms var(--ease-out)}
.cta-strip a.cta-btn:hover{background:var(--comm-mid);transform:translateY(-2px)}
.cta-strip .btn-demo{background:transparent;color:var(--comm);padding:14px 30px;border-radius:100px;font-size:15px;font-weight:600;border:1.5px solid rgba(40,42,43,0.4);display:inline-flex;align-items:center;gap:8px;transition:background-color 160ms var(--ease-out),border-color 160ms var(--ease-out)}
.cta-strip .btn-demo:hover{background:rgba(40,42,43,0.08);border-color:rgba(40,42,43,0.7)}
.cta-note{font-size:12px;color:rgba(40,42,43,0.78);margin-top:14px}
.cta-note a{color:var(--comm);border-bottom:1px solid rgba(40,42,43,0.4)}

footer{background:var(--comm);padding:56px 5% 28px;border-top:1px solid rgba(255,255,255,0.05)}

@media(max-width:900px){.two-col{grid-template-columns:1fr;gap:26px}.dim-grid{grid-template-columns:repeat(2,1fr)}.steps-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.dim-grid,.steps-grid{grid-template-columns:1fr}.hero{padding-top:120px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media(max-width:768px){.nav-right{display:none!important}}
