@import "https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Instrument+Sans:wght@400;500;600;700&display=swap";*,:before,:after{box-sizing:border-box;margin:0}:root{--navy:#000151;--klein:#002fa7;--cream:#faf7f1;--cream-deep:#f1ece1;--ink:#000151e0;--ink-soft:#00015194;--ink-faint:#0001511f;--ink-hair:#0001510f;--sans:"Instrument Sans", system-ui, sans-serif;--serif:"Instrument Serif", serif;--ease:cubic-bezier(.2,.7,.2,1);--radius:10px;--error:#a00f2b}html{height:100%}body,#root{background:var(--cream);min-height:100%;font-family:var(--sans);color:var(--navy);-webkit-font-smoothing:antialiased}::selection{background:var(--klein);color:var(--cream)}:focus-visible{outline:2px solid var(--klein);outline-offset:3px}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes sweep{0%{transform:translate(-100%)}to{transform:translate(100%)}}.app{flex-direction:column;min-height:100vh;display:flex}.progress-bar{background:var(--ink-hair);z-index:100;height:3px;position:fixed;top:0;left:0;right:0}.progress-fill{background:var(--klein);height:100%;transition:width .5s var(--ease)}.header{border-bottom:1px solid var(--ink-hair);justify-content:space-between;align-items:center;margin-top:3px;padding:16px 20px;display:flex}.header-logo{width:auto;height:clamp(26px,4.5vw,34px)}.header-meta{text-align:right}.header-name{font-size:14px;font-weight:600}.header-project{font-family:var(--serif);color:var(--ink-soft);font-size:12px;font-style:italic}@media (width>=768px){.header{padding:18px clamp(24px,4vw,48px)}}.step-indicator{justify-content:center;align-items:center;gap:0;padding:20px 20px 16px;display:flex}.step-dot{background:var(--ink-faint);width:10px;height:10px;transition:all .3s var(--ease);cursor:default;border:none;border-radius:50%;padding:0}.step-dot[data-active=true]{background:var(--klein);width:12px;height:12px}.step-dot[data-complete=true]{background:var(--navy);cursor:pointer}.step-connector{background:var(--ink-faint);width:clamp(24px,6vw,48px);height:1.5px;transition:background .3s}.step-connector[data-filled=true]{background:var(--navy)}.step-label{font-family:var(--serif);color:var(--ink-soft);text-align:center;padding:8px 0 0;font-size:13px;font-style:italic}.wizard{flex-direction:column;flex:1;display:flex}.wizard-body{width:100%;max-width:760px;animation:rise .4s var(--ease) both;flex:1;margin:0 auto;padding:clamp(20px,5vw,48px) clamp(20px,5vw,48px) 0}.wizard-footer{background:linear-gradient(to top, var(--cream) 60%, transparent);justify-content:center;gap:12px;width:100%;max-width:760px;margin:0 auto;padding:clamp(16px,3vw,24px) clamp(20px,5vw,48px);display:flex;position:sticky;bottom:0}.btn-continue{max-width:400px;font-family:var(--sans);letter-spacing:.03em;text-transform:uppercase;cursor:pointer;border:none;border-radius:8px;flex:1;padding:18px 32px;font-size:15px;font-weight:700;transition:transform .12s,background .18s,opacity .18s}.btn-continue:not(:disabled){background:var(--klein);color:var(--cream)}.btn-continue:disabled{background:var(--ink-faint);color:var(--ink-soft);cursor:not-allowed}.btn-continue:not(:disabled):active{transform:translateY(1px)}.btn-skip{border:1.5px solid var(--ink-faint);font-family:var(--sans);color:var(--ink-soft);cursor:pointer;white-space:nowrap;background:0 0;border-radius:8px;padding:18px 24px;font-size:15px;font-weight:600;transition:border-color .18s,color .18s}.btn-skip:hover{border-color:var(--ink-soft);color:var(--navy)}.btn-back{font-family:var(--sans);color:var(--ink-soft);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin-bottom:8px;padding:8px 0;font-size:14px;font-weight:600;transition:color .15s;display:inline-flex}.btn-back:hover{color:var(--navy)}.btn-submit{max-width:400px;font-family:var(--sans);letter-spacing:.03em;text-transform:uppercase;cursor:pointer;background:var(--navy);color:var(--cream);border:none;border-radius:8px;flex:1;padding:18px 32px;font-size:15px;font-weight:700;transition:transform .12s,background .18s;position:relative;overflow:hidden}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.btn-submit:not(:disabled):active{transform:translateY(1px)}.sweep:after{content:"";background:linear-gradient(90deg,#0000,#ffffff40,#0000);animation:1.6s ease-in-out infinite sweep;position:absolute;inset:0}.section-eyebrow{font-family:var(--serif);color:var(--ink-soft);letter-spacing:.02em;margin-bottom:6px;font-size:clamp(13px,2vw,14px);font-style:italic}.section-title{letter-spacing:-.025em;margin-bottom:10px;font-size:clamp(28px,6vw,42px);font-weight:700;line-height:1}.section-sub{color:var(--ink);opacity:.65;max-width:540px;margin-bottom:clamp(24px,5vw,40px);font-size:clamp(14px,2vw,16px);line-height:1.6}.section-counter{font-family:var(--serif);color:var(--ink-soft);margin-bottom:clamp(20px,4vw,32px);font-size:14px;font-style:italic;display:inline-block}.tile{border-radius:var(--radius);text-align:left;cursor:pointer;width:100%;color:var(--navy);font-family:var(--sans);border:none;flex-direction:column;transition:border-color .18s,background .18s,transform .18s;display:flex;position:relative;overflow:hidden}.tile--sm{min-height:120px;padding:14px}.tile--md{min-height:clamp(120px,24vw,200px);padding:clamp(12px,2.5vw,20px)}.tile--lg{min-height:clamp(200px,35vw,360px);padding:clamp(16px,3vw,28px)}.tile-hint{font-family:var(--serif);color:var(--ink-soft);font-size:13px;font-style:italic}.tile-label{letter-spacing:-.01em;margin-top:4px;font-size:clamp(16px,2.5vw,20px);font-weight:700}.tile-sub{color:var(--ink-soft);margin-top:4px;font-size:12px;line-height:1.4}.tile-overlay{z-index:1;background:linear-gradient(#0000 30%,#0001510d 55%,#000151b8 100%);position:absolute;inset:0}.tile-img{object-fit:cover;z-index:0;width:100%;height:100%;position:absolute;inset:0}.tile-meta{z-index:2;color:var(--cream);justify-content:space-between;align-items:flex-end;gap:10px;display:flex;position:relative}.tile-file-label{font-family:var(--serif);opacity:.85;font-size:12px;font-style:italic}.tile-file-name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;overflow:hidden}.tile-file-size{opacity:.78;font-size:11px}.tile-replace{font-size:11px;font-family:var(--sans);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;color:inherit;white-space:nowrap;background:#ffffff26;border:1px solid #ffffff4d;border-radius:999px;padding:8px 16px}.rise{animation:rise .4s var(--ease) both}.upload-list{flex-direction:column;gap:6px;display:flex}.upload-row{border:1.5px solid var(--ink-faint);border-radius:var(--radius);background:var(--cream);cursor:pointer;grid-template-columns:48px 1fr auto;align-items:center;gap:12px;padding:10px 14px;transition:border-color .18s;display:grid}.upload-row:hover{border-color:#00015138}.upload-row[data-filled=true]{border-color:var(--klein);cursor:default}.upload-row-thumb{background:var(--ink-hair);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex;overflow:hidden}.upload-row[data-filled=true] .upload-row-thumb{cursor:pointer}.upload-row-thumb img{object-fit:cover;width:100%;height:100%}.upload-row-icon{color:var(--ink-faint);font-size:20px;font-weight:300}.upload-row-info{min-width:0}.upload-row-title{font-size:14px;font-weight:600}.upload-row-sub{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;margin-top:1px;font-size:12px;line-height:1.3;overflow:hidden}.upload-row-action{font-family:var(--sans);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:8px;transition:background .15s,color .15s}.upload-row-btn{color:var(--klein);font-size:13px;font-weight:600}.upload-row-btn:hover{background:#002fa714}.upload-row-remove{color:var(--ink-soft);font-size:18px;line-height:1}.upload-row-remove:hover{color:var(--navy);background:#0001510f}.input{background:var(--cream);width:100%;color:var(--navy);border:1.5px solid var(--ink-faint);border-radius:var(--radius);font-family:var(--sans);outline:none;padding:16px 18px;font-size:18px;line-height:1.4;transition:border-color .18s,box-shadow .18s}.input:focus{border-color:var(--klein);box-shadow:0 0 0 3px #002fa71a}.textarea{resize:vertical;background:var(--cream);width:100%;min-height:clamp(140px,22vw,220px);color:var(--navy);border:1.5px solid var(--ink-faint);border-radius:var(--radius);font-family:var(--sans);outline:none;padding:16px;font-size:16px;line-height:1.6;transition:border-color .18s,box-shadow .18s}.textarea:focus{border-color:var(--klein);box-shadow:0 0 0 3px #002fa71a}.clothing-grid{gap:clamp(24px,4vw,36px);display:grid}.form-label{font-family:var(--serif);color:var(--ink-soft);margin-bottom:8px;font-size:13px;font-style:italic;display:block}.form-meta{color:var(--ink-soft);justify-content:space-between;margin-top:8px;font-size:12px;display:flex}.dropzone{cursor:pointer;border-radius:var(--radius);border:1.5px dashed var(--ink-faint);background:var(--cream);min-height:90px;color:var(--navy);justify-content:space-between;align-items:center;padding:clamp(16px,3vw,24px);transition:all .18s;display:flex}.dropzone[data-drag=true]{border-style:solid;border-color:var(--klein);background:var(--klein);color:var(--cream)}.dropzone-hint{font-family:var(--serif);color:var(--ink-soft);font-size:13px;font-style:italic}.dropzone[data-drag=true] .dropzone-hint{color:#fffc}.dropzone-title{margin-top:2px;font-size:16px;font-weight:700}.dropzone-plus{font-family:var(--serif);color:var(--klein);font-size:24px;font-style:italic}.dropzone[data-drag=true] .dropzone-plus{color:var(--cream)}.file-list{flex-direction:column;gap:6px;margin:14px 0 0;padding:0;list-style:none;display:flex}.review-card{border:1px solid var(--ink-faint);border-radius:var(--radius);background:var(--cream);margin-bottom:16px;padding:clamp(16px,3vw,24px)}.review-card-header{justify-content:space-between;align-items:baseline;margin-bottom:12px;display:flex}.review-card-title{font-size:15px;font-weight:700}.review-card-edit{font-family:var(--serif);color:var(--klein);cursor:pointer;background:0 0;border:none;padding:4px 0;font-size:13px;font-style:italic}.review-card-edit:hover{text-decoration:underline}.review-card-value{color:var(--ink);font-size:16px}.review-thumbs{flex-wrap:wrap;gap:8px;display:flex}.review-thumb{background:var(--ink-hair);border-radius:8px;width:clamp(56px,12vw,72px);height:clamp(56px,12vw,72px);overflow:hidden}.review-thumb img{object-fit:cover;width:100%;height:100%}.review-desc{color:var(--ink-soft);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:14px;line-height:1.5;display:-webkit-box;overflow:hidden}.review-empty{font-family:var(--serif);color:var(--ink-faint);font-size:14px;font-style:italic}.submit-error{text-align:center;color:var(--error);margin-bottom:12px;font-size:14px}.thankyou{text-align:center;flex:1;justify-content:center;align-items:center;padding:clamp(24px,6vw,48px);animation:.5s both fade;display:flex}.thankyou-eyebrow{font-family:var(--serif);color:var(--ink-soft);letter-spacing:.02em;font-size:15px;font-style:italic}.thankyou-heading{letter-spacing:-.04em;margin-top:clamp(10px,2vw,16px);font-size:clamp(52px,14vw,96px);font-weight:700;line-height:.9}.thankyou-body{opacity:.7;max-width:480px;margin:clamp(16px,3vw,28px) auto 0;font-size:clamp(15px,2.2vw,17px);line-height:1.6}.thankyou-manifest{border:1px solid var(--ink-faint);border-radius:var(--radius);background:var(--cream-deep);text-align:left;max-width:480px;margin:clamp(28px,5vw,44px) auto 0;padding:clamp(16px,3vw,22px)}.thankyou-manifest-title{font-family:var(--serif);color:var(--ink-soft);margin-bottom:10px;font-size:13px;font-style:italic}.thankyou-manifest-row{justify-content:space-between;padding:8px 0;font-size:14px;display:flex}.thankyou-manifest-row+.thankyou-manifest-row{border-top:1px solid var(--ink-hair)}.thankyou-manifest-value{color:var(--ink-soft)}.thankyou-restart{border:1.5px solid var(--navy);color:var(--navy);font-family:var(--sans);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:6px;margin-top:clamp(24px,4vw,36px);padding:14px 28px;font-size:13px;font-weight:700;transition:background .15s,color .15s}.thankyou-restart:hover{background:var(--navy);color:var(--cream)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse-opacity{0%,to{opacity:.4}50%{opacity:1}}.uploading{flex:1;justify-content:center;align-items:center;padding:48px 24px;animation:.3s both fade;display:flex}.uploading-inner{text-align:center;max-width:360px}.uploading-spinner{border:3px solid var(--ink-hair);border-top-color:var(--klein);border-radius:50%;width:48px;height:48px;margin:0 auto 28px;animation:.8s linear infinite spin}.uploading-status{margin-bottom:12px;font-size:clamp(18px,3vw,22px);font-weight:700;animation:2s ease-in-out infinite pulse-opacity}.uploading-hint{color:var(--ink-soft);font-size:14px;line-height:1.5}.footer{color:var(--ink-soft);text-align:center;border-top:1px solid var(--ink-hair);letter-spacing:.06em;text-transform:uppercase;padding:clamp(16px,3vw,24px) 20px clamp(20px,4vw,32px);font-size:11px;font-weight:600}
