/* Contractor intake: scoped to the hidden /contractor-intake/ page.
   Component rules below come from the original contractor intake form, re-themed
   to the PrimeRisk 2026 tokens in /brand.css (royal blue and gold). */
:root{
  --pr-blue:var(--royal);--pr-blue-dark:#0F1F8F;--pr-blue-light:#F0F3FF;
  --pr-accent:var(--gold-deep);--pr-accent-dark:#A87420;
  --pr-text:var(--paper-ink);--pr-muted:#111;--paper-mute:#111;
  --pr-border:var(--paper-line);--pr-border-light:#E4E8EF;
  --pr-bg:transparent;--pr-card:#fff;
  --pr-success:#1E7A4F;--pr-error:#B3261E;--pr-warning:#8A5A00;
}
.pr-step{display: none;
    background: var(--pr-card);
    border: 1px solid var(--pr-border-light);
    border-radius: 12px;
    padding: 28px 32px 32px;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);}
.pr-step.active{display: block;}
.pr-step-header{border-bottom: 1px solid var(--pr-border-light);
    padding-bottom: 16px;
    margin-bottom: 22px;}
.pr-step-eyebrow{font-size: 11.5px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--pr-accent-dark);
    font-weight: 700;
    margin-bottom: 4px;}
.pr-step-title{margin: 0; font-size: 21px; color: var(--pr-blue); font-weight: 700;}
.pr-step-desc{margin: 6px 0 0; color: var(--pr-muted); font-size: 13.5px;}
.pr-group{margin-bottom: 24px;}
.pr-group-title{font-size: 14px;
    font-weight: 700;
    color: var(--pr-blue);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin: 0 0 12px;
    padding-left: 10px;
    border-left: 3px solid var(--pr-accent);}
.pr-group-hint{font-size: 12.5px;
    color: var(--pr-muted);
    margin: -6px 0 12px;
    padding-left: 13px;}
.pr-field{margin-bottom: 14px;}
.pr-field-row{display: grid;
    gap: 14px;
    margin-bottom: 14px;}
.pr-field-row.cols-2{grid-template-columns: 1fr 1fr;}
.pr-field-row.cols-3{grid-template-columns: 1fr 1fr 1fr;}
.pr-field-row.cols-4{grid-template-columns: repeat(4, 1fr);}
@media (max-width: 720px){.pr-field-row.cols-2,
    .pr-field-row.cols-3,
    .pr-field-row.cols-4{grid-template-columns: 1fr;}}
.pr-label{display: block;
    font-size: 13.5px;
    font-weight: 600;
    color: var(--pr-text);
    margin-bottom: 6px;}
.pr-label .pr-req{color: var(--pr-error); margin-left: 2px;}
.pr-label-hint{font-weight: 400;
    color: var(--pr-muted);
    font-size: 12.5px;
    margin-left: 6px;}
.pr-input,
  .pr-select,
  .pr-textarea{width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--pr-border);
    border-radius: 8px;
    font-size: 14px;
    font-family: inherit;
    color: var(--pr-text);
    background: white;
    transition: border-color 0.15s, box-shadow 0.15s;}
.pr-input:focus,
  .pr-select:focus,
  .pr-textarea:focus{outline: none;
    border-color: var(--pr-blue);
    box-shadow: 0 0 0 3px rgba(27, 58, 143, 0.12);}
.pr-textarea{resize: vertical; min-height: 70px;}
.pr-input[type="number"]{appearance: textfield;}
.pr-yn-row{display: grid;
    grid-template-columns: 1fr auto;
    gap: 14px;
    align-items: start;
    padding: 12px 14px;
    border: 1px solid var(--pr-border-light);
    border-radius: 8px;
    margin-bottom: 10px;
    background: #FCFDFE;
    transition: border-color 0.15s, background 0.15s;}
.pr-yn-row:hover{border-color: var(--pr-border);}
.pr-yn-row.has-yes:not([data-explain-on="no"]){border-color: var(--pr-accent); background: #FBF7EC;}
.pr-yn-row[data-explain-on="no"].has-no{border-color: var(--pr-accent); background: #FBF7EC;}
.pr-yn-question{font-size: 13.5px;
    color: var(--pr-text);
    line-height: 1.45;
    padding-top: 4px;}
.pr-yn-question .pr-acord-ref{display: inline-block;
    margin-left: 6px;
    padding: 1px 6px;
    background: var(--pr-blue-light);
    color: var(--pr-blue);
    font-size: 10.5px;
    font-weight: 600;
    border-radius: 4px;
    vertical-align: 1px;
    letter-spacing: 0.02em;}
.pr-yn-toggle{display: inline-flex;
    border: 1px solid var(--pr-border);
    border-radius: 999px;
    overflow: hidden;
    background: white;}
.pr-yn-toggle label{padding: 6px 16px;
    font-size: 13px;
    font-weight: 600;
    color: var(--pr-muted);
    cursor: pointer;
    user-select: none;
    transition: background 0.12s, color 0.12s;}
.pr-yn-toggle input[type="radio"]{position: absolute;
    opacity: 0;
    width: 0;
    height: 0;}
.pr-yn-toggle input[type="radio"]:checked + label.yes{background: var(--pr-accent);
    color: white;}
.pr-yn-toggle input[type="radio"]:checked + label.no{background: var(--pr-blue);
    color: white;}
.pr-yn-explain{grid-column: 1 / -1;
    margin-top: 10px;
    display: none;}
.pr-yn-explain textarea{width: 100%;
    min-height: 60px;
    padding: 9px 11px;
    border: 1px solid var(--pr-border);
    border-radius: 6px;
    font-size: 13.5px;
    font-family: inherit;
    background: white;}
.pr-yn-row.has-yes:not([data-explain-on="no"]) .pr-yn-explain{display: block;}
.pr-yn-row[data-explain-on="no"].has-no .pr-yn-explain{display: block;}
.pr-yn-explain-label{font-size: 11.5px;
    color: var(--pr-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 600;
    margin-bottom: 5px;}
.pr-yn-explain-label .opt{color: var(--pr-muted); font-weight: 400; text-transform: none; letter-spacing: 0;}
.pr-checks{display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 8px 14px;}
.pr-check{display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13.5px;
    cursor: pointer;
    user-select: none;}
.pr-check input[type="checkbox"]{accent-color: var(--pr-blue); width: 16px; height: 16px;}
.pr-radios{display: flex;
    flex-wrap: wrap;
    gap: 10px;}
.pr-radios label{display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    border: 1px solid var(--pr-border);
    border-radius: 8px;
    background: white;
    font-size: 13px;
    cursor: pointer;
    user-select: none;
    transition: border-color 0.12s, background 0.12s;}
.pr-radios label:hover{border-color: var(--pr-blue);}
.pr-radios input[type="radio"]{accent-color: var(--pr-blue);}
.pr-table-wrap{overflow-x: auto; margin-bottom: 16px; border: 1px solid var(--pr-border-light); border-radius: 10px;}
.pr-table{width: 100%;
    border-collapse: collapse;
    font-size: 13.5px;}
.pr-table th{background: var(--pr-blue-light);
    color: var(--pr-blue);
    padding: 10px 12px;
    text-align: left;
    font-weight: 700;
    font-size: 12.5px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    border-bottom: 1px solid var(--pr-border-light);}
.pr-table td{padding: 6px 8px;
    border-bottom: 1px solid var(--pr-border-light);
    vertical-align: top;}
.pr-table tr:last-child td{border-bottom: none;}
.pr-table input,
  .pr-table select{width: 100%;
    padding: 7px 9px;
    border: 1px solid var(--pr-border);
    border-radius: 6px;
    font-size: 13px;
    font-family: inherit;}
.pr-table input:focus,
  .pr-table select:focus{outline: none;
    border-color: var(--pr-blue);
    box-shadow: 0 0 0 2px rgba(27, 58, 143, 0.1);}
.pr-table .num-col{width: 36px; text-align: center; color: var(--pr-muted); font-weight: 600;}
.pr-subcard{background: var(--pr-bg);
    border: 1px solid var(--pr-border-light);
    border-radius: 10px;
    padding: 18px 20px;
    margin-bottom: 14px;}
.pr-subcard-title{font-weight: 600;
    color: var(--pr-blue);
    font-size: 14px;
    margin: 0 0 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;}
.pr-subcard-remove{background: transparent;
    border: 1px solid var(--pr-border);
    color: var(--pr-muted);
    padding: 4px 10px;
    font-size: 12px;
    border-radius: 6px;
    cursor: pointer;}
.pr-subcard-remove:hover{color: var(--pr-error); border-color: var(--pr-error);}
.pr-add-btn{background: white;
    border: 1px dashed var(--pr-blue);
    color: var(--pr-blue);
    padding: 9px 14px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.12s;}
.pr-add-btn:hover{background: var(--pr-blue-light);}
.pr-btn{padding: 10px 18px;
    border-radius: 8px;
    border: 1px solid transparent;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.12s, border-color 0.12s, color 0.12s;
    font-family: inherit;}
.pr-btn-primary{background: var(--pr-blue);
    color: white;}
.pr-btn-primary:hover{background: var(--pr-blue-dark);}
.pr-btn-primary:disabled{opacity: 0.5; cursor: not-allowed;}
.pr-btn-submit{background: var(--pr-accent);
    color: white;}
.pr-btn-submit:hover{background: var(--pr-accent-dark);}
.pr-btn-secondary{background: white;
    color: var(--pr-blue);
    border-color: var(--pr-border);}
.pr-btn-secondary:hover{border-color: var(--pr-blue);}
.pr-btn-ghost{background: transparent;
    color: var(--pr-muted);}
.pr-btn-ghost:hover{color: var(--pr-blue);}
.pr-toast{position: fixed;
    top: 24px;
    right: 24px;
    padding: 14px 18px;
    border-radius: 10px;
    background: var(--pr-blue);
    color: white;
    font-size: 14px;
    font-weight: 500;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.15);
    z-index: 100;
    display: none;
    max-width: 340px;
    line-height: 1.45;}
.pr-toast.show{display: block;}
.pr-toast.success{background: var(--pr-success);}
.pr-toast.error{background: var(--pr-error);}
.pr-toast.warning{background: var(--pr-warning);}
.pr-fraud-notice{background: #FBF7EC;
    border: 1px solid #E8D6A8;
    border-radius: 8px;
    padding: 14px 16px;
    margin-bottom: 18px;
    font-size: 12.5px;
    color: #5C4510;
    line-height: 1.55;}
.pr-fraud-notice strong{color: #5C4510;}
.pr-signature-pad{border: 2px dashed var(--pr-blue);
    border-radius: 10px;
    padding: 20px;
    background: #F7F8FC;
    text-align: center;
    margin-bottom: 14px;}
.pr-signature-pad input{width: 100%;
    max-width: 420px;
    margin: 0 auto;
    padding: 12px 16px;
    border: 1px solid var(--pr-border);
    border-radius: 8px;
    font-size: 22px;
    font-family: "Brush Script MT", "Lucida Handwriting", cursive;
    color: var(--pr-blue);
    text-align: center;
    background: white;}
.pr-signature-pad .pr-signature-hint{font-size: 12px; color: var(--pr-muted); margin-top: 6px;}
.pr-input.pr-error,
  .pr-select.pr-error,
  .pr-textarea.pr-error{border-color: var(--pr-error); background: #FEF2F2;}
.pr-error-msg{color: var(--pr-error); font-size: 12px; margin-top: 4px; display: none;}
.pr-error-msg.show{display: block;}
.pr-loading{position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 200;}
.pr-loading.show{display: flex;}
.pr-loading-card{background: white;
    border-radius: 12px;
    padding: 28px 36px;
    text-align: center;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.2);}
.pr-spinner{width: 38px;
    height: 38px;
    border: 3px solid var(--pr-border-light);
    border-top-color: var(--pr-blue);
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
    margin: 0 auto 14px;}
@keyframes spin{ to { transform: rotate(360deg); } }
@media print{.pr-step{display: block !important; page-break-after: always;}}
.pr-lob-grid{display: grid; grid-template-columns: repeat(auto-fit, minmax(224px, 1fr)); gap: 12px;}
.pr-lob-card{position: relative; display: block; border: 1.5px solid var(--pr-border); border-radius: 10px; padding: 14px 16px 14px 44px; cursor: pointer; background: #fff; transition: border-color .15s, background .15s;}
.pr-lob-card:hover{border-color: var(--pr-blue);}
.pr-lob-card input{position: absolute; left: 16px; top: 17px; width: 16px; height: 16px; cursor: pointer; accent-color: var(--pr-blue);}
.pr-lob-card .lob-name{font-weight: 700; font-size: 14px; color: var(--pr-blue); display: block;}
.pr-lob-card .lob-desc{font-size: 12px; color: var(--pr-muted); line-height: 1.45; margin-top: 3px; display: block;}
.pr-lob-card.is-on{border-color: var(--pr-blue); background: var(--pr-blue-light);}
.pr-lob-card .lob-tag{position: absolute; right: 12px; top: 12px; font-size: 10px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; background: var(--pr-accent); color: #fff; padding: 2px 7px; border-radius: 4px;}
.pr-lob-summary{display: flex; flex-wrap: wrap; gap: 6px;}
.pr-lob-pill{background: var(--pr-blue-light); color: var(--pr-blue); border: 1px solid var(--pr-blue); font-size: 12px; font-weight: 600; padding: 3px 10px; border-radius: 20px;}
.pr-lob-pill.none{background: #FBF4E1; color: #6B5120; border-color: var(--pr-accent);}
.pr-trade-grid{display: grid; grid-template-columns: repeat(auto-fit, minmax(168px, 1fr)); gap: 8px;}
.pr-trade-chip{display: block; border: 1.5px solid var(--pr-border); border-radius: 8px; padding: 10px 12px 10px 34px; position: relative; cursor: pointer; font-size: 13.5px; font-weight: 600; color: #333; background: #fff; transition: border-color .15s, background .15s;}
.pr-trade-chip:hover{border-color: var(--pr-blue);}
.pr-trade-chip input{position: absolute; left: 12px; top: 12px; accent-color: var(--pr-blue);}
.pr-trade-chip.is-on{border-color: var(--pr-blue); background: var(--pr-blue-light); color: var(--pr-blue);}
.pr-cc{position: relative;}
.pr-cc-input{width: 100%;}
.pr-cc-menu{position: absolute; z-index: 60; left: 0; right: 0; top: calc(100% + 3px); background: #fff; border: 1.5px solid var(--pr-blue); border-radius: 8px; box-shadow: 0 8px 24px rgba(0,0,0,.13); max-height: 268px; overflow-y: auto; display: none;}
.pr-cc-menu.show{display: block;}
.pr-cc-item{padding: 9px 12px; cursor: pointer; border-bottom: 1px solid #f0f0f0;}
.pr-cc-item:last-child{border-bottom: none;}
.pr-cc-item:hover, .pr-cc-item.active{background: var(--pr-blue-light);}
.pr-cc-item .cc-code{font-weight: 700; color: var(--pr-blue); font-size: 13px; font-family: ui-monospace, Menlo, Consolas, monospace;}
.pr-cc-item .cc-desc{font-size: 12.5px; color: #444; line-height: 1.4;}
.pr-cc-item .cc-why{font-size: 11px; color: var(--pr-muted); font-style: italic; margin-top: 2px;}
.pr-cc-item.cc-none{color: var(--pr-muted); font-size: 12.5px; font-style: italic; cursor: default;}
.pr-cc-item.cc-manual{background: #fffaf0;}
.pr-cc-group-label{padding: 6px 12px; font-size: 10.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--pr-muted); background: #fafafa; border-bottom: 1px solid #f0f0f0; position: sticky; top: 0;}
.pr-cc-chosen{display: flex; align-items: flex-start; gap: 8px; margin-top: 6px; padding: 8px 10px; background: var(--pr-blue-light); border-radius: 6px; border-left: 3px solid var(--pr-blue);}
.pr-cc-chosen .ck{font-family: ui-monospace, Menlo, Consolas, monospace; font-weight: 700; color: var(--pr-blue); font-size: 13px; white-space: nowrap;}
.pr-cc-chosen .cd{font-size: 12.5px; color: #333; line-height: 1.4;}
.pr-cc-chosen.unassigned{background: #FBF4E1; border-left-color: var(--pr-accent);}
.pr-advisory{display: inline-block; background: #FBF4E1; color: #6B5120; border: 1px solid var(--pr-accent); font-size: 10.5px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; padding: 2px 7px; border-radius: 4px; margin-left: 6px; vertical-align: middle;}
.pr-advisory-note{background: #FBF7EC; border: 1px solid #E8D6A8; border-radius: 8px; padding: 11px 14px; font-size: 12.5px; color: #5C4510; line-height: 1.55; margin-bottom: 14px;}
.pr-suggest-box{border: 1.5px dashed var(--pr-blue); border-radius: 8px; padding: 12px 14px; background: var(--pr-blue-light); margin-bottom: 14px;}
.pr-suggest-box h4{margin: 0 0 8px; font-size: 12.5px; text-transform: uppercase; letter-spacing: .05em; color: var(--pr-blue);}
.pr-suggest-list{display: flex; flex-direction: column; gap: 6px;}
.pr-suggest-item{display: flex; align-items: flex-start; gap: 10px; background: #fff; border: 1px solid var(--pr-border); border-radius: 6px; padding: 8px 10px;}
.pr-suggest-item .sc{font-family: ui-monospace, Menlo, Consolas, monospace; font-weight: 700; color: var(--pr-blue); font-size: 13px; white-space: nowrap; min-width: 52px;}
.pr-suggest-item .sd{font-size: 12.5px; color: #333; line-height: 1.4; flex: 1;}
.pr-suggest-item .sb{font-size: 11px; color: var(--pr-muted);}
.pr-suggest-add{background: var(--pr-blue); color: #fff; border: none; border-radius: 5px; font-size: 11.5px; font-weight: 700; padding: 5px 10px; cursor: pointer; white-space: nowrap;}
.pr-suggest-add:hover{background: #16307a;}
.pr-suggest-add[disabled]{background: #b8c4d8; cursor: default;}
.pr-review-line{border: 1.5px solid var(--pr-border); border-radius: 10px; padding: 14px 16px; margin-bottom: 10px;}
.pr-review-line.ok{border-color: #1e874b; background: #f2fbf5;}
.pr-review-line.warn{border-color: var(--pr-accent); background: #FBF7EC;}
.pr-review-head{display: flex; align-items: center; gap: 10px; flex-wrap: wrap;}
.pr-review-head .rl-name{font-weight: 700; color: var(--pr-blue); font-size: 15px;}
.pr-review-status{font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; padding: 2px 8px; border-radius: 4px;}
.pr-review-status.ok{background: #1e874b; color: #fff;}
.pr-review-status.warn{background: var(--pr-accent); color: #fff;}
.pr-review-missing{margin: 8px 0 0; padding-left: 18px; font-size: 12.5px; color: #5C4510; line-height: 1.7;}
.pr-review-missing a{color: var(--pr-blue); font-weight: 600; cursor: pointer; text-decoration: underline;}
.pr-review-jump{background: none; border: 1px solid var(--pr-blue); color: var(--pr-blue); font-size: 11.5px; font-weight: 700; padding: 3px 10px; border-radius: 5px; cursor: pointer; margin-left: auto;}
.pr-review-jump:hover{background: var(--pr-blue); color: #fff;}
.pr-pkg-grid{display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 12px; margin-bottom: 4px;}
.pr-pkg-card{position: relative; display: block; border: 1.5px solid var(--pr-border); border-radius: 10px; padding: 14px 16px 14px 42px; cursor: pointer; background: #fff; transition: border-color .15s, background .15s;}
.pr-pkg-card:hover{border-color: var(--pr-blue);}
.pr-pkg-card input{position: absolute; left: 15px; top: 16px; accent-color: var(--pr-blue);}
.pr-pkg-card .pkg-name{font-weight: 700; font-size: 14px; color: var(--pr-blue); display: block; line-height: 1.35;}
.pr-pkg-card .pkg-desc{font-size: 12px; color: var(--pr-muted); line-height: 1.45; margin-top: 3px; display: block;}
.pr-pkg-card.is-on{border-color: var(--pr-blue); background: var(--pr-blue-light);}
.pr-pkg-card .pkg-tag{display: inline-block; font-size: 9px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; background: var(--pr-accent); color: #fff; padding: 1px 5px; border-radius: 3px; margin-left: 6px; vertical-align: 1px; white-space: nowrap;}
.pr-pkg-summary{border: 1px solid var(--pr-border); border-radius: 10px; overflow: hidden; margin-top: 12px;}
.pr-pkg-summary table{width: 100%; border-collapse: collapse;}
.pr-pkg-summary td{padding: 8px 14px; font-size: 13px; border-bottom: 1px solid var(--pr-border-light);}
.pr-pkg-summary tr:last-child td{border-bottom: none;}
.pr-pkg-summary td:first-child{color: #444;}
.pr-pkg-summary td:last-child{text-align: right; font-weight: 700; color: var(--pr-blue); white-space: nowrap; font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 12.5px;}
.pr-pkg-summary tr:nth-child(odd) td{background: #fafbfd;}
.pr-pkg-note{font-size: 12px; color: var(--pr-muted); margin-top: 8px; line-height: 1.55;}
.pr-locked-note{display: inline-block; font-size: 11.5px; color: #6B5120; background: #FBF7EC; border: 1px solid #E8D6A8; border-radius: 5px; padding: 3px 9px; margin-left: 8px; font-weight: 600;}
.pr-upload{border: 2px dashed var(--pr-blue); border-radius: 10px; background: var(--pr-blue-light); padding: 18px 20px; margin-bottom: 14px; transition: background .15s, border-color .15s;}
.pr-upload.dragover{background: #E3E8FA; border-color: var(--pr-accent);}
.pr-upload-head{display: flex; align-items: flex-start; gap: 12px;}
.pr-upload-icon{font-size: 26px; line-height: 1; color: var(--pr-blue); flex-shrink: 0; margin-top: 1px;}
.pr-upload-copy{flex: 1;}
.pr-upload-title{font-weight: 700; font-size: 14.5px; color: var(--pr-blue); margin: 0 0 3px;}
.pr-upload-desc{font-size: 12.5px; color: #4a5568; line-height: 1.55; margin: 0;}
.pr-upload-btn{display: inline-block; margin-top: 10px; background: var(--pr-blue); color: #fff; border: none; border-radius: 6px; font-size: 13px; font-weight: 700; padding: 9px 16px; cursor: pointer;}
.pr-upload-btn:hover{background: #16307a;}
.pr-upload input[type="file"]{display: none;}
.pr-upload-hint{font-size: 11.5px; color: var(--pr-muted); margin-top: 8px;}
.pr-upload-files{margin-top: 12px; display: flex; flex-direction: column; gap: 6px;}
.pr-upload-file{display: flex; align-items: center; gap: 10px; background: #fff; border: 1px solid var(--pr-border); border-radius: 6px; padding: 8px 12px; font-size: 12.5px;}
.pr-upload-file .uf-name{flex: 1; color: #222; word-break: break-all; font-weight: 600;}
.pr-upload-file .uf-size{color: var(--pr-muted); font-size: 11.5px; white-space: nowrap;}
.pr-upload-file .uf-remove{background: none; border: none; color: #b3261e; font-size: 12px; font-weight: 700; cursor: pointer; padding: 2px 6px;}
.pr-upload-file .uf-remove:hover{text-decoration: underline;}
.pr-upload-file .uf-check{color: #1e874b; font-weight: 700;}
.pr-upload-error{font-size: 12.5px; color: #b3261e; background: #fdeceb; border: 1px solid #f5c3c0; border-radius: 6px; padding: 8px 11px; margin-top: 10px;}
.pr-alt-toggle{background: none; border: none; color: var(--pr-blue); font-size: 13px; font-weight: 700; cursor: pointer; padding: 6px 0; text-decoration: underline;}
.pr-alt-toggle:hover{color: var(--pr-accent);}
.pr-alt-divider{display: flex; align-items: center; gap: 12px; margin: 14px 0 10px;}
.pr-alt-divider::before, .pr-alt-divider::after{content: ''; flex: 1; height: 1px; background: var(--pr-border);}
.pr-alt-divider span{font-size: 11.5px; text-transform: uppercase; letter-spacing: .06em; color: var(--pr-muted); font-weight: 700;}
.pr-collapsed-note{background: #f2fbf5; border: 1px solid #b9e3c8; border-radius: 8px; padding: 11px 14px; font-size: 12.5px; color: #1d5f38; line-height: 1.55; margin-bottom: 12px;}
.pr-na-btn{background: none; border: 1px solid var(--pr-border); color: var(--pr-muted); font-size: 11.5px; font-weight: 700; padding: 5px 11px; border-radius: 5px; cursor: pointer; margin-left: 8px;}
.pr-na-btn:hover{border-color: var(--pr-blue); color: var(--pr-blue);}

/* ---- English / Spanish switch ---- */
.lang-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:0 0 18px}
.lang-switch{display:inline-flex;border:1.5px solid var(--paper-line);border-radius:999px;padding:3px;background:#fff}
.lang-switch button{font:700 .84rem/1 var(--body);border:0;background:transparent;color:var(--paper-ink);padding:9px 16px;border-radius:999px;cursor:pointer;min-height:40px}
.lang-switch button[aria-pressed="true"]{background:var(--royal);color:#fff}
.lang-switch button:focus-visible{outline:2px solid var(--royal);outline-offset:2px}
.lang-note{margin:0;flex:1 1 260px}
.i18n-courtesy{margin:-6px 0 16px 34px;color:var(--paper-mute)}
/* ---- quote-form look ---------------------------------------------------- */
.pr-step{display:none;background:none;border:0;box-shadow:none;padding:0;border-radius:0}
.pr-step.active{display:block}
.pr-step-header{border-bottom:1px solid var(--paper-line);padding-bottom:18px;margin-bottom:24px}
.pr-step-eyebrow{color:var(--royal);font:700 .74rem/1.3 var(--body);letter-spacing:.18em;text-transform:uppercase;margin-bottom:8px}
.pr-step-title{font-family:var(--display);font-size:clamp(1.5rem,3.2vw,2rem);line-height:1.1;color:var(--paper-ink);margin:0}
.pr-step-desc{color:var(--paper-mute);font-size:.95rem;margin:10px 0 0}
.pr-group{margin:0 0 30px}
.pr-group-title{font:700 .82rem/1.4 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--paper-ink);border-left:3px solid var(--gold);padding-left:10px;margin:0 0 14px}
.pr-group-hint{color:var(--paper-mute);font-size:.88rem;margin:-6px 0 14px 13px}
.pr-field-row{display:grid;gap:18px;margin-bottom:18px}
.pr-field{display:flex;flex-direction:column;gap:7px;min-width:0}
.pr-label{font-size:.88rem;font-weight:600;line-height:1.4;color:var(--paper-ink)}
.pr-label .pr-req,.pr-req{color:#C9352F}
.pr-label-hint,.opt{color:var(--paper-mute);font-weight:500}
.pr-input,.pr-select,.pr-textarea,.pr-field input:not([type=checkbox]):not([type=radio]),.pr-field select,.pr-field textarea{width:100%;min-height:50px;padding:12px 14px;border-radius:12px;border:1.5px solid var(--paper-line);background:#fff;color:var(--paper-ink);font:400 1rem/1.4 var(--body)}
.pr-textarea,.pr-field textarea{min-height:110px;resize:vertical}
.pr-input:focus,.pr-select:focus,.pr-textarea:focus,.pr-field input:focus,.pr-field select:focus,.pr-field textarea:focus,.pr-table input:focus,.pr-table select:focus{outline:none;border-color:var(--royal);box-shadow:0 0 0 3px rgba(20,38,171,.14)}
.pr-input.pr-error,.pr-select.pr-error,.pr-textarea.pr-error{border-color:#C9352F;background:#FFF8F7}
.pr-check input[type=checkbox],.pr-radios input[type=radio]{accent-color:var(--royal)}
.pr-check,.pr-radios label{border-radius:12px;border:1.5px solid var(--paper-line);background:#fff;font-size:.93rem;font-weight:600}
.pr-subcard,.pr-yn-row,.pr-table-wrap,.pr-lob-card,.pr-pkg-card{border-radius:14px}
.pr-add-btn{border-radius:12px;border:1.5px dashed var(--royal);color:var(--royal);background:#fff;font-weight:700;min-height:46px;padding:10px 18px;cursor:pointer}
.pr-add-btn:hover{background:#F0F3FF}
.pr-signature-pad{border:1.5px dashed var(--royal);background:#fff;border-radius:14px}
.pr-signature-pad input{border-radius:12px;border:1.5px solid var(--paper-line)}
.pr-fraud-notice{border-radius:12px}
.pr-table input,.pr-table select{border-radius:8px}

/* ---- page chrome -------------------------------------------------------- */
.intake-layout .intake-card{overflow:visible}
.intake-aside{max-height:calc(100vh - 130px);overflow:auto}
#pr-step-list li{padding:7px 0;font-size:.88rem;line-height:1.3}
#pr-step-list li[hidden]{display:none}
.form-top #pr-step-name{color:var(--paper-ink)}
.form-actions .actions-right{display:flex;gap:12px;flex-wrap:wrap}
.form-actions .button[hidden]{display:none}
.hp-privacy{margin:0 0 6px}
#pr-verification{margin-top:14px}
.docs-note{border:1.5px solid var(--paper-line);background:#fff;border-radius:14px;padding:16px 18px;margin:0 0 14px;font-size:.92rem;line-height:1.55;color:var(--paper-ink)}
.docs-note strong{display:block;margin-bottom:4px}
.docs-note a{color:#0F1F8F}
.pr-toast{position:fixed;top:18px;right:18px;left:auto;max-width:min(360px,calc(100vw - 36px));z-index:1000;border-radius:12px;font:600 .92rem/1.45 var(--body)}
.pr-loading{position:fixed;inset:0;background:rgba(2,4,11,.55);display:none;align-items:center;justify-content:center;z-index:999}
.pr-loading.show{display:flex}
.pr-loading-card{background:#fff;color:var(--paper-ink);border-radius:16px;padding:22px 28px;display:flex;gap:14px;align-items:center;font-weight:600}
#quote-success[hidden]{display:none}
#quote-success{padding:8px 0}
#quote-success h2{color:var(--paper-ink)}
@media (max-width:900px){
  .intake-aside{max-height:none;overflow:visible}
  #pr-step-list{display:none}
  .pr-toast{top:auto;bottom:84px}
}
@media (max-width:640px){
  .pr-field-row.cols-2,.pr-field-row.cols-3,.pr-field-row.cols-4{grid-template-columns:1fr}
}
@media print{
  header,.top,footer,.mobile-contact-actions,.intake-aside,.form-actions,.quote-hero{display:none!important}
  .intake-card{box-shadow:none;padding:0}
}

::placeholder{color:#333!important;opacity:1}
html:root{--paper-mute:#111;--pr-muted:#111}
form{color:#111}
form .smallprint,form .smallprint a,.intake-card .smallprint,.intake-card .smallprint a,.pr-yn-toggle label,.pr-check,.pr-check span,.pr-radios label{color:#111}
.pr-btn-submit,.pr-btn-submit:disabled{color:#111}
.lob-tag,.pkg-tag{color:#111}
.pr-lob-card .lob-tag,.pr-pkg-card .pkg-tag{color:#111}
