.ef *,.ef *::before,.ef *::after{box-sizing:border-box;margin:0;padding:0}
.ef{
  --brand:#111821;--brand-field:#eef0f2;--brand-field-border:rgba(166,189,206,0.35);
  --green:#1a5632;--green-light:#2e7d4f;--green-bg:#e8f5e9;--green-border:#c8e6c9;
  --text:#111821;--text-light:#555;--text-muted:#888;--text-faint:#aaa;
  --bg:#ffffff;--border:#d5d9dd;
  --radius:4px;--font:'Lato',sans-serif;--heading:'Comfortaa',sans-serif;
  font-family:var(--font);color:var(--text);font-size:14px;
  width:100%;max-width:600px;margin:0 auto;padding:40px 20px 60px;
}
.ef .logo-wrap{text-align:center;margin-bottom:12px}
.ef .logo-wrap svg{width:140px;height:auto}
.ef .header{text-align:center;margin-bottom:24px}
.ef .header h1{font-family:var(--heading);font-size:1.6rem;font-weight:700;color:var(--text);margin:0 0 6px;line-height:1.3}
.ef .header p{color:var(--text-muted);font-size:.9rem;margin:0}
.ef .progress{display:flex;gap:4px;margin-bottom:28px}
.ef .progress-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px}
.ef .progress-bar{height:4px;width:100%;border-radius:2px;background:var(--border);transition:background .3s}
.ef .progress-bar.active{background:var(--green)}
.ef .progress-label{font-size:.6875rem;color:var(--text-faint);font-weight:400;transition:color .3s}
.ef .progress-label.active{color:var(--green);font-weight:700}
.ef .step{display:none;flex-direction:column;gap:20px}
.ef .step.visible{display:flex}
.ef label.field-label{display:block;font-size:.75rem;font-weight:700;color:var(--green);margin-bottom:6px;padding-left:10px;letter-spacing:.03em;text-transform:uppercase;font-family:var(--font)}
.ef .chip-grid{display:flex;flex-wrap:wrap;gap:8px}
.ef .chip-grid.cols-2 .chip{flex:1 1 45%}
.ef .chip-grid.cols-3 .chip{flex:1 1 30%}
.ef .chip-grid.cols-4 .chip{flex:1 1 22%}
.ef .chip-grid.cols-5 .chip{flex:1 1 17%}
.ef .chip-grid.stack .chip{width:100%}
.ef .chip{padding:10px 16px;border-radius:var(--radius);border:1.5px solid var(--border);background:#fff;color:var(--text);font-weight:400;font-size:.9rem;cursor:pointer;transition:all .15s;text-align:left;font-family:var(--font);line-height:1.4;-webkit-appearance:none;appearance:none}
.ef .chip:hover{border-color:#a6bdce}
.ef .chip.selected{border-color:var(--green);background:var(--green-bg);color:var(--green);font-weight:700}
.ef .chip.large{padding:18px 20px}
.ef .chip-icon{display:flex;align-items:center;gap:14px}
.ef .chip-icon .icon{font-size:1.75rem;flex-shrink:0}
.ef .chip-icon .label{font-weight:700;font-size:1rem;margin-bottom:2px}
.ef .chip-icon .desc{font-size:.8125rem;opacity:.7;font-weight:400}
.ef select.field-select{width:100%;padding:12px 16px;border-radius:var(--radius);border:1px solid var(--brand-field-border);font-size:.95rem;font-family:var(--font);background:var(--brand-field);color:var(--text);cursor:pointer;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
.ef select.field-select:focus{border-color:var(--green);outline:none}
.ef input.field-input,.ef textarea.field-textarea{width:100%;padding:12px 16px;border-radius:var(--radius);border:1px solid var(--brand-field-border);font-size:.95rem;font-family:var(--font);background:var(--brand-field);color:var(--text);transition:border .2s;outline:none}
.ef input.field-input:focus,.ef textarea.field-textarea:focus{border-color:var(--green)}
.ef textarea.field-textarea{resize:vertical;min-height:80px}
.ef .info-card{border-radius:var(--radius);padding:16px;border:1px dashed}
.ef .info-card.green{background:#f0f7f1;border-color:#a5d6a7}
.ef .info-card.blue{background:#f0f4f8;border-color:#90a4ae}
.ef .info-card-title{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:.8125rem;font-weight:700;color:var(--green);text-transform:uppercase;letter-spacing:.04em}
.ef .info-card-title .icon{font-size:1.25rem}
.ef .info-check{display:flex;align-items:flex-start;gap:8px;margin-bottom:4px;font-size:.8125rem;color:#444;line-height:1.7}
.ef .info-check .mark{color:var(--green-light);flex-shrink:0}
.ef .reco{border-radius:var(--radius);padding:16px;margin-top:16px;border:1px solid var(--green-border)}
.ef .reco.green{background:linear-gradient(135deg,#e8f5e9,#f1f8e9)}
.ef .reco.blue{background:linear-gradient(135deg,#e8f0f8,#eef3fa);border-color:#b0c4de}
.ef .reco-title{font-size:.75rem;font-weight:700;color:var(--green);text-transform:uppercase;margin-bottom:6px}
.ef .reco-body{font-size:.9rem;color:#333;line-height:1.6}
.ef .summary{background:#f5f7f8;border-radius:var(--radius);padding:16px;border:1px solid var(--brand-field-border);margin-top:4px}
.ef .summary-title{font-size:.75rem;font-weight:700;color:var(--green);text-transform:uppercase;margin-bottom:8px;letter-spacing:.05em}
.ef .summary-body{font-size:.8125rem;color:var(--text-light);line-height:1.8}
.ef .consent-row{display:flex;gap:10px;align-items:flex-start;cursor:pointer;font-size:.8125rem;color:#666;line-height:1.5}
.ef .consent-row input{margin-top:3px;accent-color:var(--green);width:18px;height:18px;flex-shrink:0}
.ef .consent-row a{color:var(--green);text-decoration:underline}
.ef .nav{display:flex;gap:12px;margin-top:28px;padding-bottom:8px}
.ef .btn{padding:0.78em 2.6em;border-radius:var(--radius);font-size:1.1em;font-weight:700;cursor:pointer;font-family:var(--font);border:none;transition:all 100ms ease}
.ef .btn-back{flex:0 0 auto;border:1.5px solid var(--border);background:white;color:var(--text-light)}
.ef .btn-back:hover{transform:translate(3px,3px)}
.ef .btn-next{flex:1;background:var(--brand);color:white}
.ef .btn-next:hover{transform:translate(5px,5px)}
.ef .btn-next:disabled{background:#ccc;cursor:not-allowed;transform:none}
.ef .btn-next.loading{pointer-events:none;opacity:.8}
.ef .trust{display:flex;justify-content:center;gap:20px;padding:12px 0;opacity:.5;font-size:.6875rem;color:var(--text-muted);text-align:center}
.ef .error-msg{background:#fef2f2;border:1px solid #fca5a5;color:#991b1b;border-radius:var(--radius);padding:12px;font-size:.8125rem;margin-top:8px;display:none}
.ef .validation-hint{font-size:.75rem;color:#c62828;margin-top:4px}
.ef .success{text-align:center;padding:60px 24px;display:none;flex-direction:column;align-items:center}
.ef .success.visible{display:flex}
.ef .success-check{width:80px;height:80px;border-radius:50%;background:var(--green-bg);display:flex;align-items:center;justify-content:center;margin:0 auto 24px;font-size:2.25rem;color:var(--green)}
.ef .success h2{font-family:var(--heading);font-size:1.75rem;font-weight:700;color:var(--green);margin:0 0 12px}
.ef .success p{color:#666;font-size:1rem;line-height:1.6;margin:0 0 24px}
.ef .success-cta{display:flex;gap:12px;margin-top:28px;width:100%}
.ef .success-cta .btn{text-decoration:none;text-align:center;flex:1;display:inline-block}
.ef .success-steps{background:#f5f7f8;border-radius:var(--radius);padding:20px;text-align:left;font-size:.9rem;color:var(--text-light);line-height:1.8}
@media(max-width:478px){
  .ef .chip-grid.cols-3 .chip,.ef .chip-grid.cols-4 .chip,.ef .chip-grid.cols-5 .chip{flex:1 1 45%}
  .ef .header h1{font-size:1.3rem}
  .ef .btn{padding:0.78em 2em;font-size:1em}
}
