.cover { position: relative; overflow: hidden; }
.cover-art { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; object-fit: cover; object-position: var(--cover-position); }
.cover-tint { position: absolute; inset: 0; z-index: 0; background: var(--cover-tint); }
.cover > div { position: relative; z-index: 1; }
.cover-logo { width: auto; height: auto; max-width: 460px; max-height: 220px; object-fit: contain; }
.cover, .cover h1 { color: var(--cover-text, #fff); }
.cover .year { color: var(--cover-text, #fff); opacity: .72; }
.cover-with-art { text-shadow: 0 2px 14px #0008; }
.cover-with-art .logo-safe { display: inline-flex; max-width: 510px; min-height: 140px; align-items: center; padding: 22px 26px; border-radius: 8px; background: #ffffffed; box-shadow: 0 6px 25px #0002; text-shadow: none; }
.contrast-warning { color: #a33232 !important; font-weight: 700; }
.contrast-ok { color: #34714e !important; }
.privacy-card { display: grid; gap: 3px; padding: 13px 15px; margin-bottom: 18px; border: 1px solid #b9dfc9; border-left: 4px solid #34714e; border-radius: 8px; background: #f1faf5; color: #294b38; }
.privacy-card span { font-size: 13px; }
.proposal-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 35px; }
.proposal-meta div { padding: 14px 0; border-bottom: 1px solid var(--line); }
.proposal-meta small, .proposal-meta b, .investment small, .investment b { display: block; }
.package-copy { white-space: normal; line-height: 1.8; padding: 22px; background: #f4f6fa; border-left: 5px solid var(--kit-color); }
.investment { display: inline-block; min-width: 280px; max-width: 420px; margin-top: 28px; padding: 18px 22px; border: 1px solid #d9b24c; border-left: 7px solid #d2a23a; border-radius: 5px; background: #fff7df; color: var(--navy); }
.investment small { color: #765913; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.investment b { margin-top: 4px; color: var(--navy); font-size: 28px; }
.acceptance { margin-top: 55px; }
.signature-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 34px 22px; margin-top: 55px; }
.signature-grid span { display: block; height: 40px; border-bottom: 1px solid #344054; }
.signature-grid b { display: block; margin-top: 7px; font-size: 13px; }
.choice-cards { display: grid; gap: 12px; }
.choice-card { display: flex !important; gap: 13px; padding: 16px; border: 2px solid var(--line); border-radius: 10px; cursor: pointer; transition: .15s; }
.choice-card:hover { border-color: #8da6da; }
.choice-card.selected { border-color: var(--blue); background: #f0f4fd; }
.choice-card input { width: 19px; height: 19px; margin-top: 2px; }
.choice-card span, .choice-card b, .choice-card small { display: block; }
.choice-card small { margin-top: 3px; font-weight: 400; color: var(--muted); }
.proposal-cover h1 { max-width: 650px; }
.editor { max-height: calc(100vh - 129px); overflow-y: auto; }
.proposal-graphic { width: 100%; max-height: 285px; margin: 0 0 28px; padding: 14px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--line); background: #f7f8fb; }
.proposal-graphic img { display: block; max-width: 100%; max-height: 255px; object-fit: contain; }
@media (max-width: 900px) { .editor { max-height: none; overflow: visible; } }
.mode-badge { display: inline-flex; margin: 0 0 10px; padding: 5px 10px; border-radius: 999px; background: var(--navy); color: white; font-size: 12px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.profile-editor { border: 1px solid var(--line); border-radius: 10px; padding: 16px; margin: 0 0 16px; background: #f8f9fc; }
.profile-title { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; }
.remove-profile { border: 0; background: transparent; color: #a33232; cursor: pointer; font-size: 13px; }
.add-profile { width: 100%; padding: 12px; border: 1px dashed #8996ad; background: white; border-radius: 9px; color: var(--navy); font-weight: 700; cursor: pointer; }
.profile-page-head { display: flex; align-items: center; gap: 28px; margin-bottom: 34px; }
.profile-page-head img { width: 230px; height: 150px; object-fit: contain; border: 1px solid var(--line); padding: 12px; }
.profile-page-head h2 { font-size: 28px; margin: 4px 0; }
.eyebrow { color: var(--kit-color); text-transform: uppercase; letter-spacing: .12em; font-weight: 700; }
.stat.single { max-width: 390px; margin: 25px 0; }
.source-note { margin-top: 35px; color: var(--muted); font-size: 13px; }
@media (max-width: 600px) { .profile-page-head { align-items: flex-start; flex-direction: column; } }
.help-button { margin-right: 0; }
.feedback-button { display: inline-flex; align-items: center; margin-right: auto; text-decoration: none; white-space: nowrap; }
.toolbar { gap: 7px; }
.toolbar .ghost, .toolbar .primary { min-height: 36px; padding: 7px 10px; font-size: 13px; line-height: 1.2; white-space: nowrap; }
.help-dialog { width: min(680px, calc(100% - 32px)); max-height: calc(100vh - 40px); padding: 0; border: 0; border-radius: 12px; color: var(--ink); box-shadow: 0 24px 80px #10182855; }
.help-dialog::backdrop { background: #101828aa; backdrop-filter: blur(2px); }
.help-dialog-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 24px 26px 19px; background: var(--navy); color: white; }
.help-dialog-head h2 { margin: 3px 0 0; font-size: 24px; line-height: 1.25; }
.help-label { color: #cbd7f5; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.dialog-close { width: 38px; height: 38px; flex: 0 0 38px; border: 1px solid #ffffff55; border-radius: 8px; background: transparent; color: white; font-size: 26px; line-height: 1; cursor: pointer; }
.dialog-close:hover, .dialog-close:focus-visible { background: #ffffff1c; }
.help-dialog-body { max-height: calc(100vh - 210px); overflow-y: auto; padding: 24px 26px; }
.help-private { padding: 16px 18px; border: 1px solid #b9dfc9; border-left: 5px solid #34714e; border-radius: 8px; background: #f1faf5; color: #294b38; }
.help-private p { margin: 4px 0 0; }
.help-steps { margin: 22px 0; padding-left: 26px; }
.help-steps li { padding: 0 0 17px 7px; }
.help-steps li:last-child { padding-bottom: 0; }
.help-steps b, .help-steps span { display: block; }
.help-steps span { margin-top: 3px; color: var(--muted); }
.help-steps code { padding: 1px 5px; border-radius: 4px; background: #eef2f7; color: var(--navy); font: 700 14px/1.4 Roboto,Arial,Helvetica,sans-serif; }
.help-security { padding: 14px 16px; border-radius: 8px; background: #fff7e6; color: #634b12; }
.help-dialog-actions { display: flex; justify-content: flex-end; padding: 16px 26px; border-top: 1px solid var(--line); background: white; }
@media (max-width: 900px) { .help-button { margin-right: 0; } }
@media (max-width: 520px) { .help-dialog-head, .help-dialog-body, .help-dialog-actions { padding-left: 18px; padding-right: 18px; } .help-dialog-head h2 { font-size: 21px; } }
.topbar { display: grid; grid-template-columns: minmax(290px,1fr) auto minmax(290px,1fr); gap: 26px; min-height: 104px; height: auto; padding: 15px 30px; background: white; color: var(--ink); border-bottom: 4px solid var(--navy); }
.brand { min-width: 0; display: flex; align-items: center; }
.brand img { display: block; width: min(285px, 100%); height: auto; }
.builder-identity { display: flex; align-items: center; justify-content: center; gap: 13px; text-align: left; }
.mjr-mark { display: inline-flex; width: 52px; height: 52px; align-items: center; justify-content: center; flex: 0 0 52px; border-radius: 7px; background: var(--navy); color: white; font-size: 17px; font-weight: 900; letter-spacing: .04em; }
.builder-title { color: var(--navy); font-size: 23px; font-weight: 900; line-height: 1.15; white-space: nowrap; }
.builder-byline { margin-top: 3px; color: var(--muted); font-size: 13px; font-weight: 500; }
.privacy { justify-self: end; text-align: right; }
.fieldset-reset { min-width: 0; padding: 0; border: 0; }
.fieldset-reset > legend { width: 100%; padding: 0; font-size: 14px; font-weight: 700; margin-bottom: 7px; }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
body, button, input, textarea, select { font-family: Roboto, Arial, Helvetica, sans-serif; }
.workspace { min-height: calc(100vh - 175px); }
.editor { max-height: calc(100vh - 175px); }
.preview-wrap { display: flex; flex-direction: column; align-items: center; }
.preview-head { width: min(620px, 100%); }
.kit { margin: 0 auto; zoom: .76; }
.ghost, .primary, .add-profile { border-color: var(--navy); background: var(--navy); color: white; }
.ghost:hover, .primary:hover, .add-profile:hover { border-color: #101a36; background: #101a36; }
.ghost:focus-visible, .primary:focus-visible, .add-profile:focus-visible { outline: 3px solid #89a8ef; outline-offset: 2px; }
.ghost:disabled, .primary:disabled { border-color: #aab3c4; background: #aab3c4; color: white; cursor: not-allowed; }
.remove-profile { padding: 6px 10px; border: 1px solid var(--navy); border-radius: 6px; background: var(--navy); color: white; font-weight: 700; }
.remove-profile:hover { background: #101a36; }
#steps button { background: var(--navy); color: white; opacity: .48; }
#steps button:hover, #steps button:focus-visible, #steps button.active { background: var(--navy); color: white; opacity: 1; }
@media (max-width: 1040px) { .topbar { grid-template-columns: minmax(230px,1fr) auto; } .privacy { grid-column: 1 / -1; justify-self: center; text-align: center; } .brand img { width: min(255px,100%); } .workspace { min-height: calc(100vh - 205px); } .editor { max-height: calc(100vh - 205px); } }
@media (max-width: 680px) { .topbar { grid-template-columns: 1fr; justify-items: center; gap: 12px; padding: 16px 18px; } .brand { justify-content: center; } .brand img { width: min(270px,82vw); } .builder-identity { text-align: left; } .builder-title { font-size: 20px; white-space: normal; } .mjr-mark { width: 46px; height: 46px; flex-basis: 46px; font-size: 15px; } .privacy { display: block; grid-column: auto; font-size: 13px; } }
@media (max-width: 900px) { .editor { max-height: none; } .kit { zoom: .7; } }
@page { size: Letter; margin: 0; }
@media print {
  *, *::before, *::after { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; }
  .kit { zoom: 1; }
  html, body { margin: 0 !important; padding: 0 !important; }
  .cover-art, .cover-tint { display: block !important; }
}
.editor { max-height: none; overflow: visible; }
.pdf-export-host { position: absolute; left: -12000px; top: 0; width: 816px; pointer-events: none; background: #fff; }
.pdf-export-host .kit { width: 816px; min-height: 1056px; margin: 0; zoom: 1 !important; box-shadow: none; overflow: visible; }
.pdf-export-host .cover, .pdf-export-host .page { width: 816px; min-height: 1056px; margin: 0; box-shadow: none; }
#downloadPdfBtn[disabled] { cursor: wait; opacity: .72; }
