:root{--brand-primary: #1a1a1a;--brand-accent: #ff6b35;--bg: #fafaf7;--bg-card: #ffffff;--text: #1a1a1a;--text-muted: #6b6b6b;--border: #e5e5e0;--border-strong: #c8c8c0;--required: #d63838;--saved: #2d8c4a;--saving: #c08a3a;--shadow-sm: 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 12px rgba(0,0,0,.06);--radius: 6px;--space: 1rem}*{box-sizing:border-box}html{font-size:16px}body{margin:0;font-family:system-ui,-apple-system,SF Pro Text,Segoe UI,Roboto,sans-serif;font-size:1rem;line-height:1.5;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}a{color:var(--brand-accent)}a:hover{text-decoration:underline}h1{font-size:1.75rem;margin:0 0 .5rem}h2{font-size:1.25rem;margin:2rem 0 .5rem;color:var(--brand-primary)}h3{font-size:1.05rem;margin:1.5rem 0 .25rem}p{margin:.5rem 0}.container{max-width:720px;margin:0 auto;padding:1.25rem 1rem 6rem}header.page-header{border-bottom:1px solid var(--border);padding:1rem;background:var(--bg-card);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:10}header.page-header .header-inner{max-width:720px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem}header.page-header .brand-name{font-weight:600;color:var(--brand-primary)}header.page-header .save-status{font-size:.85rem;color:var(--text-muted);display:flex;align-items:center;gap:.4rem}header.page-header .save-status.saved{color:var(--saved)}header.page-header .save-status.saving{color:var(--saving)}.intro{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin:1.5rem 0;box-shadow:var(--shadow-sm)}.intro .ambient-honesty{font-size:.9rem;color:var(--text-muted);margin:.75rem 0 0}.magic-link{display:flex;gap:.5rem;flex-wrap:wrap;margin:.75rem 0}.magic-link input{flex:1 1 220px;min-width:200px}.progress{position:sticky;top:60px;background:var(--bg);padding:.6rem 0;z-index:5;border-bottom:1px solid var(--border)}.progress .bar{height:6px;background:var(--border);border-radius:3px;overflow:hidden}.progress .bar>div{height:100%;background:var(--brand-accent);width:0%;transition:width .2s ease}.progress .label{font-size:.85rem;color:var(--text-muted);margin-top:.3rem;display:flex;justify-content:space-between}section.survey-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin:1.25rem 0;box-shadow:var(--shadow-sm)}section.survey-section .section-desc{font-size:.95rem;color:var(--text-muted);margin:0 0 .5rem}.question{margin:1.25rem 0;padding-top:1rem;border-top:1px solid var(--border)}.question:first-of-type{border-top:none;padding-top:0}.question label.field-label{display:block;font-weight:500;margin-bottom:.4rem}.question .req{color:var(--required);margin-left:.2rem;font-weight:700}.question .opt{display:inline-block;font-size:.75rem;color:var(--text-muted);margin-left:.4rem;font-weight:400;font-style:italic}.question .help{display:block;font-size:.85rem;color:var(--text-muted);margin-bottom:.4rem}.question .examples{font-size:.85rem;color:var(--text-muted);margin:0 0 .5rem}.question .examples ul{margin:.25rem 0;padding-left:1.25rem}.question .help-toggle{background:none;border:1px solid var(--border-strong);border-radius:50%;width:1.5rem;height:1.5rem;cursor:pointer;font-size:.85rem;color:var(--text-muted);margin-left:.4rem;vertical-align:middle}.question .help-toggle:hover{background:var(--bg)}.question .ask-btn{background:none;border:none;color:var(--brand-accent);cursor:pointer;font-size:.85rem;margin-top:.4rem;padding:.25rem 0}.question .ask-btn:hover{text-decoration:underline}input[type=text],input[type=email],textarea,select{width:100%;font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius);padding:.6rem .75rem;transition:border-color .12s ease,box-shadow .12s ease}input[type=text]:focus,input[type=email]:focus,textarea:focus,select:focus{outline:none;border-color:var(--brand-accent);box-shadow:0 0 0 3px #ff6b3526}textarea{min-height:5rem;resize:vertical}input[type=checkbox]{width:1.1rem;height:1.1rem;margin-right:.5rem;vertical-align:middle}.checkbox-row{display:flex;align-items:flex-start;gap:.6rem}.checkbox-row label.field-label{margin-bottom:0;font-weight:400;flex:1}button.primary,button.secondary{font:inherit;font-weight:500;padding:.6rem 1.2rem;border-radius:var(--radius);cursor:pointer;transition:opacity .12s ease}button.primary{background:var(--brand-accent);color:#fff;border:1px solid var(--brand-accent)}button.primary:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:var(--bg-card);color:var(--text);border:1px solid var(--border-strong)}button.primary:hover:not(:disabled){opacity:.9}button.secondary:hover{background:var(--bg)}.upload-zone{border:2px dashed var(--border-strong);border-radius:var(--radius);padding:2rem 1rem;text-align:center;background:var(--bg-card);cursor:pointer;transition:background .12s ease,border-color .12s ease}.upload-zone.dragover{background:#ff6b350d;border-color:var(--brand-accent)}.upload-zone input[type=file]{display:none}.upload-list{margin-top:1rem;list-style:none;padding:0}.upload-list li{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:var(--bg);border-radius:var(--radius);margin:.4rem 0;font-size:.9rem}.upload-list li .progress-bar{flex:0 0 100px;height:4px;background:var(--border);border-radius:2px;overflow:hidden;margin:0 .5rem}.upload-list li .progress-bar>div{height:100%;background:var(--brand-accent);width:0%;transition:width .1s ease}.upload-list li .status{font-size:.8rem;color:var(--text-muted)}.upload-list li .status.uploaded{color:var(--saved)}.upload-list li .status.failed{color:var(--required)}.submit-row{margin:2rem 0 0;display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.submit-row .submit-note{font-size:.85rem;color:var(--text-muted)}.thanks-banner{background:#2d8c4a1a;border:1px solid var(--saved);color:var(--saved);padding:1rem 1.25rem;border-radius:var(--radius);margin:1.25rem 0}footer.page-footer{text-align:center;font-size:.8rem;color:var(--text-muted);padding:2rem 1rem}@media(max-width:640px){.container{padding:.75rem .75rem 6rem}h1{font-size:1.4rem}section.survey-section{padding:1rem}}
