:root{--bg: #ffffff;--bg-soft: #f7f9fc;--accent: #4A90D9;--accent-hover: #357ABD;--accent-tint: #EBF3FB;--text: #333333;--muted: #888888;--border: #e0e0e0;--border-strong: #cfd5dc;--error: #D94A4A;--error-bg: #fdecec;--warn: #c08a2a;--warn-bg: #fbf3df;--ok: #4A8C5C;--ok-bg: #e8f3eb}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:DM Sans,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh;display:flex;flex-direction:column}.imprint-logo{display:block;width:280px;height:auto;margin-bottom:1rem;filter:brightness(0) saturate(100%) invert(45%) sepia(96%) saturate(383%) hue-rotate(184deg) brightness(91%) contrast(91%);image-rendering:-webkit-optimize-contrast}.imprint-wordmark{height:56px;display:flex;align-items:center;font-family:Newsreader,Georgia,serif;font-size:1.7rem;font-weight:500;letter-spacing:-.005em;color:var(--accent);margin-bottom:1rem}.shell{flex:1;width:100%;max-width:720px;margin:0 auto;padding:2.5rem 1.5rem 4rem}@media (min-width: 720px){.shell{padding:3.5rem 2rem 5rem}}.brand-header.center{align-items:center;text-align:center}.brand-header.center .imprint-logo,.brand-header.center .imprint-wordmark{margin-left:auto;margin-right:auto}.brand-header{display:flex;flex-direction:column;gap:.5rem;padding-bottom:1.75rem;border-bottom:1px solid var(--border);margin-bottom:2.5rem}.brand-header .pre{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:500}.brand-header .company-name{font-family:Newsreader,Georgia,serif;font-size:1.5rem;font-weight:600;line-height:1.2;color:var(--accent)}.brand-header h1{font-family:Newsreader,Georgia,serif;font-size:clamp(1.6rem,3.6vw,2.1rem);font-weight:500;margin:0;letter-spacing:-.005em;line-height:1.18;color:var(--text)}.brand-header .imprint-line{margin-top:.25rem;font-size:.95rem;color:var(--muted)}.reference-line{margin-top:.5rem;margin-bottom:0;font-size:.95rem;color:var(--muted)}.person-accordion{margin-bottom:1rem}.person-accordion-head{display:flex;width:100%;align-items:stretch;box-sizing:border-box;background:var(--accent);border:1px solid var(--accent);border-radius:6px;overflow:hidden;color:#fff}.person-accordion-toggle{flex:1 1 auto;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.7rem 1rem;background:transparent;border:none;cursor:pointer;font:inherit;text-align:left;color:#fff}.person-accordion-head .person-accordion-summary{font-weight:600;color:#fff}.person-accordion-head .person-accordion-chevron{margin-left:.75rem;color:#fff;opacity:.9;font-size:.9rem}.person-accordion-remove{flex:0 0 auto;padding:0 1rem;background:transparent;border:none;color:#fff;opacity:.85;cursor:pointer;font:inherit}.person-accordion-remove:hover{opacity:1;text-decoration:underline;color:#fff}.person-accordion.is-open .person-accordion-head{border-bottom-left-radius:0;border-bottom-right-radius:0}.person-accordion .person-card{margin-top:0}.person-accordion.is-open .person-card{border-top-left-radius:0;border-top-right-radius:0;border-top:none}.welcome-message{margin:.75rem 0 .5rem;font-size:.95rem;color:var(--text);line-height:1.55;max-width:720px}.field-rationale{margin:.5rem 0 1rem;font-size:.92rem;color:var(--muted);line-height:1.5}.field-rationale a{color:var(--text);text-decoration:underline}h2{font-family:Newsreader,Georgia,serif;font-size:1.4rem;font-weight:500;margin:0 0 .25rem;letter-spacing:-.005em;color:var(--text)}h3{font-family:Newsreader,Georgia,serif;font-size:1.05rem;font-weight:500;margin:0 0 .5rem;color:var(--text)}p{margin:0 0 .75rem;color:var(--text)}p.muted{color:var(--muted)}a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--accent-hover)}.section{margin-bottom:2.5rem}.section-head{display:flex;flex-direction:column;gap:.25rem;padding-bottom:.75rem;margin-bottom:1.25rem;border-bottom:1px solid var(--border)}.section-head .label{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:500}.section-head .description{font-size:.95rem;color:var(--muted);margin:.25rem 0 0}.field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.1rem}.field-row{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width: 600px){.field-row.cols-2{grid-template-columns:1fr 1fr}.field-row.cols-3{grid-template-columns:1fr 1fr 1fr}.field-row.cols-4{grid-template-columns:.5fr 1fr .5fr .5fr}.field-row.name-row{grid-template-columns:minmax(0,2fr) minmax(0,.8fr) minmax(0,2fr) minmax(0,.5fr)}.field-row.name-row>.field{min-width:0}}label{font-size:.92rem;font-weight:500;color:var(--text)}label .req{color:var(--error);font-weight:700;margin-left:.2rem}label .info-tip{display:inline-flex;align-items:center;justify-content:center;width:1rem;height:1rem;margin-left:.35rem;border-radius:50%;background:var(--muted);color:#fff;font-size:.7rem;font-style:italic;font-weight:700;line-height:1;cursor:help;vertical-align:middle;user-select:none}label .info-tip:hover,label .info-tip:focus{background:var(--accent, #2563eb);outline:none}.help{font-size:.85rem;color:var(--muted);line-height:1.45}.subsection-label{display:block;font-weight:600;margin-bottom:.25rem}.emergency-contact{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border, #e5e7eb)}.emergency-contact h3{margin:0 0 .5rem}.no-pobox-note{margin-top:.75rem}.submit-processing{padding-top:4rem;text-align:center}.processing-spinner{width:48px;height:48px;margin:0 auto 1.5rem;border:4px solid var(--border, #e5e7eb);border-top-color:var(--accent, #2563eb);border-radius:50%;animation:portal-spin .9s linear infinite}@keyframes portal-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.processing-spinner{animation-duration:2.5s}}.third-party-block,.billing-block{margin:.5rem 0 1rem;padding-left:.75rem;border-left:2px solid var(--border, #e5e7eb)}.recipient-list{display:flex;flex-direction:column;gap:.25rem}.recipient-row{display:flex;align-items:center;gap:.6rem;padding:.5rem .6rem;border:1px solid var(--border, #e5e7eb);border-radius:6px;cursor:pointer}.recipient-row.checked{border-color:var(--accent, #2563eb);background:#2563eb0a}.recipient-row input[disabled]{cursor:not-allowed}.recipient-name{flex:1 1 auto}.recipient-share{font-variant-numeric:tabular-nums;font-weight:600;color:var(--accent, #2563eb)}.contact-group{margin-bottom:1rem}.contact-group .btn-sm,.btn-sm{font-size:.85rem;padding:.3rem .6rem}.repeat-row-inputs{display:flex;gap:.5rem;align-items:center}.repeat-row-inputs input{flex:1 1 auto;min-width:0}.field-row.phone-row{display:grid;grid-template-columns:1fr 6rem;gap:.75rem;align-items:start}.field-row.phone-row-cc{display:grid;grid-template-columns:6rem 1fr 6rem;gap:.75rem;align-items:start}@media (max-width: 560px){.field-row.phone-row-cc{grid-template-columns:5rem 1fr}}.field-row.phone-row.repeat-row{grid-template-columns:1fr 6rem auto}.field-row.phone-row .phone-remove{align-self:center;margin-top:1.5rem;white-space:nowrap}input[type=text],input[type=email],input[type=date],input[type=number],input[type=url],input[type=tel],select,textarea{width:100%;padding:.65rem .8rem;font-family:inherit;font-size:.97rem;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:4px;transition:border-color .12s,box-shadow .12s,background .12s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);background:var(--bg);box-shadow:0 0 0 3px #4a90d92e}textarea{min-height:90px;resize:vertical}input.error,select.error,textarea.error{border-color:var(--error);background:var(--error-bg)}.field-error{font-size:.85rem;color:var(--error);margin-top:.1rem}.checkbox,.radio{display:flex;align-items:flex-start;gap:.6rem;cursor:pointer;font-size:.95rem;font-weight:400;line-height:1.45}.checkbox input,.radio input{margin:.18rem 0 0;flex-shrink:0;accent-color:var(--accent)}.radio-group{display:flex;gap:1.5rem;flex-wrap:wrap;padding-top:.2rem}.person-card,.contributor-row{border:1px solid var(--border);border-radius:6px;padding:1.25rem 1.25rem .5rem;margin-bottom:1rem;background:var(--bg-soft)}.person-card .person-head,.contributor-row .contributor-head{display:flex;align-items:center;justify-content:space-between;margin:0 0 1rem;padding:.5rem .85rem;background:#2f3a4a;border-radius:5px}.person-card .person-head h3,.contributor-row .contributor-head h3{margin:0;font-size:1rem;color:#fff;font-weight:700}.person-card .person-head .btn-danger-link,.contributor-row .contributor-head .btn-danger-link{color:#fff;opacity:.8}.person-card .person-head .btn-danger-link:hover:not(:disabled),.contributor-row .contributor-head .btn-danger-link:hover:not(:disabled){color:#fff;opacity:1;text-decoration:underline}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.7rem 1.2rem;font-family:inherit;font-size:.97rem;font-weight:500;border-radius:4px;border:1px solid transparent;cursor:pointer;transition:background .12s,border-color .12s,color .12s;text-decoration:none}.btn:disabled{cursor:not-allowed;opacity:.55}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px #4a90d952}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-ghost{background:var(--bg-soft);color:var(--text);border-color:var(--border-strong);box-shadow:0 1px 1px #0f172a0a}.btn-ghost:hover:not(:disabled){background:var(--accent-tint);border-color:var(--accent);color:var(--accent)}.btn-link{background:transparent;color:var(--accent);border-color:transparent;padding:.4rem .6rem;font-size:.88rem;text-decoration:underline;text-underline-offset:3px}.btn-link:hover:not(:disabled){color:var(--accent-hover)}.btn-danger-link{background:transparent;color:var(--error);border-color:transparent;padding:.4rem .6rem;font-size:.85rem}.btn-danger-link:hover:not(:disabled){text-decoration:underline}.actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.5rem}.proposal-prefill-banner{margin:0 0 1.5rem;padding:1rem 1.2rem;border:1px solid var(--accent);background:var(--accent-tint);border-radius:6px;color:var(--text);font-size:.92rem;line-height:1.55}.proposal-prefill-banner strong{color:var(--accent)}.callout-box{padding:1rem 1.2rem;border:1px solid var(--accent);background:var(--accent-tint);border-radius:6px}.callout-box>.field:last-child,.callout-box>*:last-child{margin-bottom:0}.pen-name-block{margin:.25rem 0 .5rem}.docx-prefill{margin:0 0 1.5rem;padding:1rem 1.1rem;border:1px dashed var(--border);border-radius:6px;background:var(--bg-soft)}.docx-prefill-label{font-weight:600;font-size:.95rem;color:var(--text);margin-bottom:.3rem}.docx-prefill-help{font-size:.85rem;color:var(--muted);line-height:1.5;margin-bottom:.7rem}.docx-prefill-btn{display:inline-block;padding:.5rem 1rem;border:1px solid var(--accent);border-radius:4px;background:#fff;color:var(--accent);font-size:.9rem;font-weight:500;cursor:pointer;user-select:none}.docx-prefill-btn:hover{background:var(--accent);color:#fff}.docx-prefill-btn input[type=file]{display:none}.docx-prefill-error{margin-top:.6rem;color:var(--error);font-size:.85rem}.docx-prefill-success{color:var(--ok);font-size:.92rem;line-height:1.5}.notice{padding:.9rem 1rem;border-radius:4px;border:1px solid var(--border);background:var(--bg-soft);font-size:.92rem;line-height:1.5;margin-bottom:1.5rem}.notice.error{border-color:var(--error);background:var(--error-bg);color:var(--error)}.notice.warn{border-color:var(--warn);background:var(--warn-bg);color:var(--warn)}.notice.success{border-color:var(--ok);background:var(--ok-bg);color:var(--ok)}.autosave-line{font-size:.8rem;color:var(--muted);text-align:right;margin-top:.25rem;height:1rem;font-style:italic}.summary-card{border:1px solid var(--border);border-radius:6px;padding:1.5rem;background:var(--bg-soft);margin-bottom:1.25rem}.summary-card dl{display:grid;grid-template-columns:1fr;gap:.75rem 1.25rem;margin:0}@media (min-width: 600px){.summary-card dl{grid-template-columns:max-content 1fr}}.summary-card dt{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:500}.summary-card dd{margin:0;font-size:.97rem;color:var(--text)}.summary-card dd em{color:var(--muted);font-style:italic}footer.foot{border-top:1px solid var(--border);margin-top:3rem;padding-top:1.5rem;font-size:.82rem;color:var(--muted);text-align:center}.gate{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem 1.5rem}.gate-card{max-width:520px;text-align:center}.gate-card h1{font-family:Newsreader,Georgia,serif;font-size:1.8rem;font-weight:500;margin:0 0 1rem;letter-spacing:-.005em;color:var(--text)}.gate-card p{color:var(--muted);font-size:1rem;line-height:1.6}.completion{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1.5rem;text-align:center}.completion .check-rule{width:3rem;height:1px;background:var(--accent);opacity:.55;margin:0 auto 1.75rem}.completion h1{font-family:Newsreader,Georgia,serif;font-size:1.8rem;font-weight:500;margin:0 0 1rem;color:var(--text)}.completion .summary-card{text-align:left;margin-top:2rem;max-width:560px;width:100%}.choice-card{text-align:left;padding:1.1rem 1.25rem;background:var(--bg);border:1.5px solid var(--border);border-radius:6px;cursor:pointer;font-family:inherit;color:var(--text);transition:border-color .12s,background .12s}.choice-card:hover{border-color:var(--accent)}.choice-card.selected{background:var(--accent-tint);border-color:var(--accent)}.upload-zone{display:block;width:100%;border:2px dashed var(--border-strong);border-radius:6px;padding:1.5rem 1.25rem;background:var(--bg-soft);text-align:center;transition:border-color .12s,background .12s;cursor:pointer;margin-bottom:1rem}.upload-zone:hover,.upload-zone.dragging{border-color:var(--accent);background:var(--accent-tint)}.upload-zone.uploaded{border-style:solid;border-color:var(--ok);background:var(--ok-bg);cursor:default}.upload-zone input[type=file]{display:none}.upload-zone .label{font-weight:500;margin-bottom:.3rem;color:var(--text)}.upload-zone .hint{font-size:.85rem;color:var(--muted)}.upload-zone .filename{font-size:.9rem;color:var(--ok);font-weight:500}.locked-value{display:flex;align-items:center;padding:.65rem .8rem;border:1px solid var(--border);border-radius:4px;background:var(--bg-soft);color:var(--text);font-size:.97rem;font-weight:500}.locked-value.unset{color:var(--muted);font-weight:400;font-style:italic}.confirmable.view{display:flex;align-items:center;gap:.6rem}.confirmable.view .locked-value{flex:1}.confirmable-edit-btn{flex:0 0 auto}.confirmable-saved{flex:0 0 auto;font-size:.85rem;font-weight:500;color:var(--success, #4A8C5C)}.confirmable-row{display:flex;align-items:center;gap:.5rem}.confirmable-row input{flex:1}.btn-small{flex:0 0 auto;padding:.45rem .9rem;font-size:.9rem}.submit-row{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap;margin-top:1.5rem}.submit-row .btn{margin:0}.submit-row .errors-pill{font-size:.88rem;color:var(--error);background:var(--error-bg);padding:.35rem .7rem;border-radius:999px;border:1px solid var(--error);cursor:pointer;font-weight:500}.submit-row .errors-pill:hover{background:var(--error);color:#fff}.completion-shell{max-width:560px;width:100%}.completion-text{color:var(--muted);max-width:480px;margin:0 auto 1rem}.completion-text:last-of-type{margin-bottom:0}.completion-foot{color:var(--muted);font-size:.9rem;margin-top:2rem;text-align:center}.uploads-banner{border:1px solid var(--accent);background:var(--accent-tint);color:var(--text);padding:.75rem 1rem;border-radius:4px;margin:1.5rem auto 0;max-width:560px;font-size:.92rem;text-align:center}.uploads-wrap{margin-top:2rem;text-align:left;max-width:560px;width:100%}.uploads-wrap h3{text-align:center;margin-bottom:.4rem}.uploads-wrap .uploads-hint{text-align:center;font-size:.92rem;margin-bottom:1.25rem;color:var(--muted)}.choice-grid{display:grid;grid-template-columns:1fr;gap:.8rem}@media (min-width: 600px){.choice-grid.cols-2{grid-template-columns:1fr 1fr}}.choice-card .choice-title{font-weight:600;font-size:1rem;margin-bottom:.4rem}.choice-card .choice-body{font-size:.9rem;color:var(--muted);line-height:1.45}.step-nav-label{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:500;margin-bottom:.55rem}.required-legend{letter-spacing:normal;text-transform:none;font-weight:400;white-space:nowrap}.required-legend .req{color:var(--error);font-weight:700;margin-right:.15rem}.required-legend-row{display:flex;justify-content:flex-end;margin-bottom:1rem;font-size:.78rem;color:var(--muted)}.sticky-nav{position:sticky;bottom:0;z-index:20;margin-top:2rem;padding:.7rem 0 .85rem;background:#fff;border-top:1px solid var(--border);box-shadow:0 -3px 10px #0f172a0d}.sticky-nav-track{display:flex;gap:8px;margin:0 0 .7rem;padding:0}.sticky-seg{flex:1;min-width:0;padding:0;border:none;background:none;cursor:pointer;display:flex;flex-direction:column;align-items:stretch;gap:5px}.sticky-seg .seg-bar{height:6px;border-radius:3px;background:var(--border-strong);transition:background .15s,box-shadow .15s}.sticky-seg.is-visited .seg-bar{background:var(--accent)}.sticky-seg.is-current .seg-bar{background:var(--accent);box-shadow:0 0 0 2px var(--accent-tint)}.sticky-seg.has-errors .seg-bar{background:var(--error)}.sticky-seg .seg-label{font-size:.68rem;line-height:1.25;text-align:center;color:var(--muted)}.sticky-seg.is-current .seg-label{color:var(--accent);font-weight:600}.sticky-seg.has-errors .seg-label{color:var(--error)}.sticky-seg:hover:not(.is-current) .seg-bar{opacity:.75}.sticky-nav-row{display:flex;align-items:center;gap:.75rem}.sticky-nav-spacer{display:inline-block;min-width:1px}.sticky-nav-center{flex:1;display:flex;flex-direction:column;align-items:center;gap:.2rem;min-width:0}.sticky-nav-step{font-size:.9rem;font-weight:600;color:var(--text);text-align:center}.sticky-nav-meta{display:flex;align-items:center;gap:.6rem;font-size:.78rem;color:var(--muted)}.sticky-nav-notice{margin:0 0 .6rem;padding:.45rem .7rem;font-size:.85rem}.step-nav{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 2rem;padding:0}.step-pill{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .8rem;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--muted);font:inherit;font-size:.84rem;cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.step-pill:hover{border-color:var(--border-strong);color:var(--text)}.step-pill .step-num{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;border-radius:999px;background:#f1f3f5;color:var(--muted);font-size:.75rem;font-weight:600;flex:0 0 auto}.step-pill.is-visited{color:var(--text)}.step-pill.is-visited .step-num{background:var(--accent-tint);color:var(--accent)}.step-pill.is-current{background:var(--accent);border-color:var(--accent);color:#fff}.step-pill.is-current .step-num{background:#ffffff38;color:#fff}.step-pill.has-errors:not(.is-current){border-color:var(--error);color:var(--error)}.step-pill.has-errors .step-errcount{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .35rem;border-radius:999px;background:var(--error);color:#fff;font-size:.72rem;font-weight:600;margin-left:.15rem}.step-pill.is-current.has-errors .step-errcount{background:#fff;color:var(--error)}.step-pill:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.step-controls{display:flex;align-items:center;gap:1rem;margin-top:2rem;padding-top:1.25rem;border-top:1px solid var(--border)}.step-controls .autosave-line{flex:1;font-size:.82rem;color:var(--muted);text-align:center}.clear-draft-btn{margin-top:1.5rem}
