/* CRP Intake Portal */
.crp-portal{
  --crp-navy:#0A2B59;--crp-navy-2:#071F42;--crp-gold:#C09750;--crp-gold-d:#9C7A3A;--crp-gold-bg:#FBF6EC;
  --crp-cream:#FAF7F0;--crp-ink:#1B2433;--crp-muted:#5E6878;--crp-line:#E6DFCF;--crp-white:#fff;
  --crp-green:#1F7A4D;--crp-green-bg:#EEF7F1;--crp-red:#B3261E;--crp-red-bg:#FCEEEC;
  --crp-serif:'Cormorant Garamond',Georgia,serif;--crp-sans:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  font-family:var(--crp-sans);color:var(--crp-ink);font-size:16px;line-height:1.55;text-align:left;
}
.crp-portal *,.crp-portal *::before,.crp-portal *::after{box-sizing:border-box}
.crp-portal [hidden]{display:none!important}
.crp-portal h2,.crp-portal h3,.crp-portal h4{margin:0;letter-spacing:0;text-transform:none}
.crp-portal p{margin:0}
.crp-gold{color:var(--crp-gold-d)}

/* banner */
.crp-banner{display:flex;gap:14px;align-items:flex-start;background:var(--crp-gold-bg);border:1px solid #EADBB9;border-left:4px solid var(--crp-gold);padding:16px 20px;margin-bottom:28px;border-radius:4px}
.crp-banner__icon{color:var(--crp-gold-d);flex-shrink:0;margin-top:1px}
.crp-banner p{font-size:14.5px;color:#5b4a26}
.crp-banner strong{color:var(--crp-navy)}

/* layout */
.crp-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:32px;align-items:start}
.crp-form{background:var(--crp-white);border:1px solid var(--crp-line);border-radius:6px;padding:40px 44px;box-shadow:0 10px 40px -24px rgba(10,43,89,.25)}

/* tabs */
.crp-tabs{list-style:none;margin:0 0 36px;padding:0;display:flex;border-bottom:1px solid var(--crp-line)}
.crp-tab{flex:1;display:flex;align-items:center;gap:10px;padding:0 6px 14px;margin:0 0 -1px;border-bottom:2px solid transparent;color:var(--crp-muted);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.crp-tab__num{width:26px;height:26px;border-radius:50%;border:1px solid currentColor;display:inline-flex;align-items:center;justify-content:center;font-size:12px;letter-spacing:0;flex-shrink:0}
.crp-tab.is-active{color:var(--crp-navy);border-bottom-color:var(--crp-gold)}
.crp-tab.is-active .crp-tab__num{background:var(--crp-navy);border-color:var(--crp-navy);color:#fff}
.crp-tab.is-done{color:var(--crp-green);border-bottom-color:#9fd1b5}
.crp-tab.is-done .crp-tab__num{background:var(--crp-green);border-color:var(--crp-green);color:#fff}

.crp-step__head{margin-bottom:26px}
.crp-step__head h2{font-family:var(--crp-serif);font-size:34px;font-weight:600;color:var(--crp-navy);line-height:1.15;margin-bottom:6px}
.crp-step__head p{color:var(--crp-muted);font-size:15px}

/* gates */
.crp-gates{display:flex;flex-direction:column;gap:12px}
.crp-gate{display:flex;gap:18px;padding:20px 22px;border:1px solid var(--crp-line);border-left:4px solid var(--crp-line);background:var(--crp-white);border-radius:4px;transition:border-color .2s,background .2s}
.crp-gate:hover{border-color:#d7ccb3}
.crp-gate.is-yes{border-color:#b9dcc7;border-left-color:var(--crp-green);background:var(--crp-green-bg)}
.crp-gate.is-no{border-color:#efc4bf;border-left-color:var(--crp-red);background:var(--crp-red-bg)}
.crp-gate__icon{width:46px;height:46px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:1px solid var(--crp-line);border-radius:50%;color:var(--crp-navy);background:var(--crp-cream)}
.crp-gate.is-yes .crp-gate__icon{color:var(--crp-green);border-color:#9fd1b5;background:#fff}
.crp-gate.is-no .crp-gate__icon{color:var(--crp-red);border-color:#efc4bf;background:#fff}
.crp-gate__body{flex:1;min-width:0}
.crp-gate__label{font-family:var(--crp-sans)!important;font-size:16.5px!important;font-weight:600!important;color:var(--crp-navy)!important;line-height:1.35!important;margin-bottom:4px!important}
.crp-gate__desc{font-size:14px;color:var(--crp-muted);line-height:1.55}
.crp-gate__toggle{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.crp-tog{flex:1;min-width:150px;position:relative;cursor:pointer;margin:0}
.crp-tog input,.crp-pill input,.crp-check input[type=radio]{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.crp-tog span{display:block;text-align:center;padding:10px 12px;border:1px solid #d5ccb8;background:#fff;color:var(--crp-ink);font-size:13px;font-weight:600;letter-spacing:.04em;border-radius:3px;transition:all .15s}
.crp-tog:hover span{border-color:var(--crp-navy)}
.crp-tog input:focus-visible+span,.crp-pill input:focus-visible+span{outline:2px solid var(--crp-gold);outline-offset:2px}
.crp-tog--yes input:checked+span{background:var(--crp-green);border-color:var(--crp-green);color:#fff}
.crp-tog--no input:checked+span{background:var(--crp-red);border-color:var(--crp-red);color:#fff}
.crp-gate__blocked{margin-top:14px;padding:12px 14px;background:#fff;border:1px solid #efc4bf;color:#8d2a22;font-size:13.5px;line-height:1.55;border-radius:3px}
.crp-gate__blocked strong{color:var(--crp-red)}

.crp-progress{display:flex;align-items:center;gap:14px;margin-top:22px}
.crp-progress__bar{flex:1;height:6px;background:#efe9db;border-radius:6px;overflow:hidden}
.crp-progress__bar span{display:block;height:100%;background:linear-gradient(90deg,var(--crp-gold),var(--crp-green));transition:width .3s}
.crp-progress__txt{font-size:12.5px;color:var(--crp-muted);font-weight:600;white-space:nowrap}

/* fields */
.crp-field{display:flex;flex-direction:column;gap:7px;margin-bottom:20px}
.crp-label{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#46505f}
.crp-label em{color:var(--crp-gold-d);font-style:normal}
.crp-portal input[type=text],.crp-portal input[type=email],.crp-portal input[type=tel],.crp-portal input[type=number],.crp-portal select,.crp-portal textarea{
  width:100%;background:#fff;border:1px solid #d9d1bf;border-radius:3px;color:var(--crp-ink);padding:12px 14px;font:inherit;font-size:15px;line-height:1.4;box-shadow:none;outline:none;transition:border-color .15s,box-shadow .15s;margin:0;height:auto}
.crp-portal select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%230A2B59' stroke-width='1.6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px}
.crp-portal textarea{min-height:140px;resize:vertical;line-height:1.6}
.crp-portal input:focus,.crp-portal select:focus,.crp-portal textarea:focus{border-color:var(--crp-navy);box-shadow:0 0 0 3px rgba(192,151,80,.22)}
.crp-portal ::placeholder{color:#a3a9b3}
.crp-err{display:none;color:var(--crp-red);font-size:12.5px;font-weight:500}
.crp-field.is-err .crp-err,.crp-disb.is-err .crp-err{display:block}
.crp-field.is-err input,.crp-field.is-err select,.crp-field.is-err textarea{border-color:var(--crp-red)}
.crp-field.is-err .crp-pills .crp-pill span{border-color:#e3a39c}

.crp-grid{display:grid;gap:0 20px}
.crp-grid--2{grid-template-columns:1fr 1fr}
.crp-grid--3{grid-template-columns:1fr 1fr 1fr}
.crp-field--full{grid-column:1/-1}

.crp-pills{display:flex;flex-wrap:wrap;gap:10px}
.crp-pill{position:relative;cursor:pointer;margin:0}
.crp-pill span{display:inline-block;padding:10px 18px;border:1px solid #d9d1bf;background:#fff;border-radius:40px;font-size:14px;font-weight:500;color:var(--crp-ink);transition:all .15s}
.crp-pill:hover span{border-color:var(--crp-navy)}
.crp-pill input:checked+span{background:var(--crp-navy);border-color:var(--crp-navy);color:#fff}
.crp-pill--crit input:checked+span{background:var(--crp-red);border-color:var(--crp-red)}

.crp-reveal{animation:crpFade .25s ease}
@keyframes crpFade{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}

.crp-notice{display:flex;gap:14px;background:var(--crp-gold-bg);border:1px solid #EADBB9;padding:16px 18px;margin-bottom:26px;border-radius:4px}
.crp-notice__icon{color:var(--crp-gold-d);flex-shrink:0}
.crp-notice__title{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--crp-gold-d);margin-bottom:4px}
.crp-notice p{font-size:14px;color:#4b4f57}

.crp-divider{height:1px;background:var(--crp-line);margin:10px 0 26px}
.crp-subhead{margin-bottom:16px}
.crp-subhead h3{font-family:var(--crp-serif)!important;font-size:24px!important;font-weight:600!important;color:var(--crp-navy)!important;margin-bottom:4px!important}
.crp-subhead h3 span{font-family:var(--crp-sans);font-size:13px;color:var(--crp-muted);font-weight:500}
.crp-subhead p{font-size:13.5px;color:var(--crp-muted)}

/* dropzone */
.crp-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:28px 20px;border:2px dashed #d5c7a5;border-radius:6px;background:var(--crp-cream);color:var(--crp-muted);cursor:pointer;text-align:center;transition:all .15s}
.crp-drop:hover,.crp-drop.is-over,.crp-drop:focus-visible{border-color:var(--crp-gold);background:var(--crp-gold-bg);outline:none}
.crp-drop__icon{color:var(--crp-gold-d)}
.crp-drop__txt{font-size:14.5px}
.crp-drop__txt strong{color:var(--crp-navy)}
.crp-file-err{margin-top:10px;color:var(--crp-red);font-size:13px}
.crp-files{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.crp-files li{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--crp-line);border-radius:4px;background:#fff;font-size:14px;margin:0}
.crp-files li svg{color:var(--crp-navy);flex-shrink:0}
.crp-files .crp-fname{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.crp-files .crp-fsize{color:var(--crp-muted);font-size:12.5px}
.crp-files button{background:none;border:0;color:var(--crp-red);cursor:pointer;font-size:13px;padding:4px 6px;font-weight:600}

/* specialist / disbursement */
.crp-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.crp-disb{background:var(--crp-cream);border:1px solid var(--crp-line);border-left:4px solid var(--crp-gold);padding:18px 20px;margin:8px 0 6px;border-radius:4px}
.crp-disb__title{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--crp-gold-d);margin-bottom:8px}
.crp-disb p{font-size:14px;color:#4b4f57;margin-bottom:14px}
.crp-disb p strong{color:var(--crp-navy)}
.crp-check{display:flex;gap:12px;align-items:flex-start;cursor:pointer;font-size:14.5px;color:var(--crp-ink);font-weight:500;margin:0}
.crp-check input{width:18px;height:18px;margin-top:2px;accent-color:var(--crp-navy);flex-shrink:0}
.crp-disb .crp-err{margin-top:8px}
.crp-form-msg{margin-top:18px;padding:12px 16px;background:var(--crp-red-bg);border:1px solid #efc4bf;color:#8d2a22;font-size:14px;border-radius:4px}

/* buttons */
.crp-portal .crp-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:32px;padding-top:24px;border-top:1px solid var(--crp-line)}
.crp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--crp-sans);font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:14px 26px;border-radius:3px;border:1px solid transparent;cursor:pointer;transition:all .2s;line-height:1.2;text-decoration:none}
.crp-btn--primary{background:var(--crp-navy);color:#fff;border-color:var(--crp-navy)}
.crp-btn--primary:hover:not([disabled]){background:var(--crp-navy-2);color:#fff}
.crp-btn--primary[disabled]{opacity:.4;cursor:not-allowed}
.crp-btn--ready{background:var(--crp-green)!important;border-color:var(--crp-green)!important}
.crp-btn--ghost{background:transparent;color:var(--crp-navy);border-color:#cfc6b2}
.crp-btn--ghost:hover{border-color:var(--crp-navy);background:transparent;color:var(--crp-navy)}
.crp-btn--gold{background:var(--crp-gold);color:var(--crp-navy-2);border-color:var(--crp-gold)}
.crp-btn--gold:hover{background:#d1ac69;color:var(--crp-navy-2)}
.crp-btn.is-loading{opacity:.7;pointer-events:none}
.crp-btn.is-loading::after{content:'';width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:crpSpin .7s linear infinite}
@keyframes crpSpin{to{transform:rotate(360deg)}}

/* sidebar */
.crp-side{position:sticky;top:110px;display:flex;flex-direction:column;gap:16px}
.crp-card{background:#fff;border:1px solid var(--crp-line);border-radius:6px;padding:20px}
.crp-card h4{font-family:var(--crp-sans)!important;font-size:11.5px!important;font-weight:700!important;letter-spacing:.16em!important;text-transform:uppercase!important;color:var(--crp-gold-d)!important;margin:0 0 14px!important}
.crp-card p{font-size:14px;color:var(--crp-muted);line-height:1.65}
.crp-card--navy{background:var(--crp-navy);border-color:var(--crp-navy)}
.crp-card--navy h4{color:var(--crp-gold)!important}
.crp-card--navy p{color:#d4dbe7}
.crp-card--navy strong{color:#fff}
.crp-card--gold{background:var(--crp-gold-bg);border-color:#EADBB9}
.crp-card--gold strong{color:var(--crp-navy)}
.crp-tracker{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.crp-tracker li{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--crp-muted);padding:8px 10px;border-radius:4px;background:var(--crp-cream);margin:0;transition:all .2s}
.crp-dot{width:18px;height:18px;border-radius:50%;border:1px solid #c9c0ab;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0}
.crp-tracker li.is-yes{background:var(--crp-green-bg);color:var(--crp-ink)}
.crp-tracker li.is-yes .crp-dot{background:var(--crp-green);border-color:var(--crp-green);color:#fff}
.crp-tracker li.is-no{background:var(--crp-red-bg);color:#8d2a22}
.crp-tracker li.is-no .crp-dot{background:var(--crp-red);border-color:var(--crp-red);color:#fff}
.crp-sum{margin:0}
.crp-sum>div{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #f0ebe0}
.crp-sum>div:last-child{border-bottom:0}
.crp-sum dt{font-size:12px;color:var(--crp-muted);font-weight:500;margin:0}
.crp-sum dd{font-size:13.5px;color:var(--crp-ink);font-weight:600;text-align:right;margin:0}
.crp-sum dd.is-empty{color:#b6bcc6;font-weight:400}
.crp-sum dd.is-gold{color:var(--crp-gold-d);font-size:12.5px}
.crp-sum dd.is-green{color:var(--crp-green)}

/* success */
.crp-success{max-width:720px;margin:0 auto;text-align:center;background:#fff;border:1px solid var(--crp-line);border-radius:6px;padding:56px 40px;box-shadow:0 10px 40px -24px rgba(10,43,89,.25);outline:none}
.crp-success__ring{width:84px;height:84px;margin:0 auto 26px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--crp-green-bg);color:var(--crp-green);border:1px solid #9fd1b5;animation:crpPop .5s cubic-bezier(.34,1.56,.64,1)}
.crp-success__ring svg{width:38px;height:38px}
@keyframes crpPop{from{transform:scale(0)}to{transform:scale(1)}}
.crp-success h2{font-family:var(--crp-serif)!important;font-size:42px!important;font-weight:600!important;color:var(--crp-navy)!important;margin-bottom:12px!important;line-height:1.1!important}
.crp-success h2 em{color:var(--crp-gold-d)}
.crp-success>p{color:var(--crp-muted);max-width:540px;margin:0 auto 24px}
.crp-case{display:inline-block;padding:12px 26px;border:1px solid var(--crp-gold);background:var(--crp-gold-bg);color:var(--crp-navy);font-weight:700;letter-spacing:.12em;font-size:15px;margin-bottom:28px;border-radius:3px}
.crp-next{list-style:none;counter-reset:n;margin:0 auto 20px;padding:0;max-width:540px;text-align:left;display:flex;flex-direction:column;gap:10px}
.crp-next li{counter-increment:n;display:block;position:relative;padding:14px 16px 14px 56px;line-height:1.55;border:1px solid var(--crp-line);border-radius:4px;font-size:14px;color:var(--crp-muted);margin:0}
.crp-next li::before{content:counter(n);position:absolute;left:16px;top:14px;width:26px;height:26px;border-radius:50%;background:var(--crp-navy);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.crp-next strong{color:var(--crp-navy)}
.crp-success__mail{font-size:13px!important;color:var(--crp-muted)}

/* responsive */
@media (max-width:1024px){
  .crp-layout{grid-template-columns:1fr}
  .crp-side{position:static;display:grid;grid-template-columns:1fr 1fr}
}
@media (max-width:767px){
  .crp-form{padding:26px 18px}
  .crp-tabs{margin-bottom:26px}
  .crp-tab{flex-direction:column;align-items:flex-start;gap:6px;font-size:10.5px;letter-spacing:.08em}
  .crp-step__head h2{font-size:28px}
  .crp-gate{padding:16px;gap:12px}
  .crp-gate__icon{width:38px;height:38px}
  .crp-tog{min-width:0}
  .crp-grid--2,.crp-grid--3{grid-template-columns:1fr}
  .crp-side{grid-template-columns:1fr}
  .crp-portal .crp-nav{flex-wrap:wrap}
  .crp-portal .crp-nav .crp-btn{flex:1;padding:14px 16px}
  .crp-success{padding:40px 20px}
  .crp-success h2{font-size:32px!important}
  .crp-banner{padding:14px 16px}
}
