/* Private intake pages intentionally load no external analytics or fonts. */
[hidden]{display:none!important}
.triage-shell{max-width:980px;margin:0 auto;padding:64px 28px 80px;min-height:65vh}
.triage-shell.narrow{max-width:780px}
.triage h1{font-family:var(--serif);font-weight:500;font-size:clamp(34px,5vw,54px);line-height:1.1;max-width:24ch;margin:24px 0}
.triage h2{font-family:var(--serif);font-size:28px;line-height:1.2;margin-bottom:18px}
.triage h3{font-family:var(--serif);font-size:22px;margin:26px 0 12px}
.triage-lead{max-width:70ch;color:var(--ink-soft);font-size:17px}
.back-site{font-size:13px;color:var(--ink);text-underline-offset:4px}
.triage-steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:32px 0}
.triage-steps li{border-top:1px solid var(--line);padding-top:14px;font-size:14px}
.triage-steps b{display:block;font-family:var(--mono);color:var(--carmim);font-size:12px;margin-bottom:8px}
.notice{border-left:2px solid var(--carmim);background:var(--mist);padding:18px 20px;font-size:14px;margin:22px 0}
.triage-form{max-width:780px}
.triage fieldset{border:0;border-top:1px solid var(--line);padding:24px 0 30px;margin-top:30px;min-width:0}
.triage legend{font-family:var(--serif);font-size:25px;padding-right:20px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.field-row>div{min-width:0}
.triage input[type=file]{font-size:14px;white-space:normal}
.triage input[type=checkbox]{width:18px;height:18px;min-width:18px;margin-top:3px;appearance:auto;accent-color:var(--carmim)}
.triage .form-block .btn{width:auto;white-space:normal}
.triage button:disabled{opacity:.5;cursor:wait}
.error{color:var(--carmim-deep);font-size:14px;margin:16px 0;white-space:pre-wrap}
.file-list{padding-left:22px;font-size:14px;overflow-wrap:anywhere}
.receipt{padding:32px;border:1px solid var(--line);margin-top:30px}
.receipt p{margin:20px 0}
.client-response{white-space:pre-wrap;padding:24px;background:#fff;border:1px solid var(--line);margin:24px 0;overflow-wrap:anywhere}
.triage footer{padding:32px 0;font-size:13px}
.triage footer a{color:#fff}
.triage footer p{margin-bottom:12px}
.review-shell{max-width:1240px}
.review-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:24px}
.review-toolbar .notice{flex:1;min-width:220px}
.review-grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:32px;align-items:start}
.case-list{display:grid;gap:12px}
.case-list button{font:inherit;text-align:left;cursor:pointer;border:1px solid var(--line);background:#fff;padding:16px;width:100%;overflow-wrap:anywhere}
.case-list button:hover,.case-list button:focus{border-color:var(--carmim)}
.case-list small{display:block;color:var(--grafite);margin-top:8px}
.case-detail{padding:28px;border:1px solid var(--line);background:#fff;overflow-wrap:anywhere}
.case-detail section{padding:0}
.case-detail p,.case-detail li{font-size:14px;margin-bottom:12px;white-space:pre-wrap}
.case-detail ul{padding-left:20px}
.case-detail details{padding:14px 0;border-bottom:1px solid var(--line)}
.case-detail summary{cursor:pointer;font-weight:500}
.case-detail details p{margin-top:14px}
.case-detail a{color:var(--carmim);text-underline-offset:3px}
.review-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:20px}
.case-detail .review-actions .btn{margin-top:0}
.login-form{max-width:480px}
@media(max-width:760px){
 .triage-shell{padding:40px 22px 56px}
 .triage header .wrap{gap:12px}
 .triage .brand .bt .n{font-size:16px}
 .triage .brand .bt .s{font-size:8px;letter-spacing:.2em}
 .triage .brand{gap:8px}
 .back-site{max-width:55px;font-size:12px}
 .field-row,.review-grid{grid-template-columns:1fr;gap:0}
 .triage-steps{gap:12px}
 .triage-steps li{font-size:12px}
 .case-detail{padding:22px;margin-top:24px}
 .receipt{padding:24px}
 .triage .btn{max-width:100%}
}

/* App flow: one task at a time, readable labels and a distinct primary action. */
.triage{background:#F3F5F6}
.triage h1,.triage h2,.triage h3{font-family:var(--sans);font-weight:600;letter-spacing:-.025em}
.triage h1{font-size:clamp(26px,3.8vw,36px);line-height:1.2}
.triage h2{font-size:24px;line-height:1.3}
.triage .form-block label{font-family:var(--sans);font-size:15px;letter-spacing:0;text-transform:none;font-weight:500;color:var(--ink);margin:22px 0 8px}
.triage .form-block input,.triage .form-block select,.triage .form-block textarea{font-size:16px;border-radius:9px;line-height:1.4;padding:13px 14px;min-height:48px}
.triage .form-block textarea{min-height:104px;resize:vertical}
.triage .form-block .consent{font-size:14px;font-weight:400;line-height:1.5;margin-top:24px}
.triage .form-block .consent input{min-height:18px;width:18px;height:18px;margin:2px 0 0;padding:0;flex:none}
.triage .btn{border-radius:9px;min-height:46px;font-size:14px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:10px}
.app-shell{max-width:740px;padding:36px 24px 48px}
.app-intro{margin-bottom:24px}
.app-intro h1{max-width:none;margin:14px 0 10px}
.app-intro p{font-size:15px;color:#526069;line-height:1.5}
.app-badge{display:inline-block;border-radius:24px;padding:5px 11px;background:#E5F2EC;color:#07513E;font-size:12px;font-weight:600}
.app-form,.app-card{background:#fff;border:1px solid #DEE4E7;border-radius:18px;box-shadow:0 8px 28px rgba(23,25,27,.04);padding:28px}
.flow-header{margin-bottom:26px}
.step-status{font-size:12px;color:#526069;margin-bottom:14px}
.flow-steps{list-style:none;display:flex;justify-content:space-between;gap:10px;margin-bottom:16px}
.flow-steps li{font-size:13px;color:#637079;display:flex;gap:7px;align-items:center}
.flow-steps li>span{border-radius:50%;border:1px solid #CBD4D9;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;flex:none}
.flow-steps li[aria-current=step]{color:#075E49;font-weight:600}
.flow-steps li[aria-current=step]>span{border-color:#08745B;background:#08745B;color:#fff}
.flow-steps li.complete>span{border-color:#A9CBBF;background:#E5F2EC;color:#07513E}
#flow-progress{display:block;width:100%;height:4px;border:0;border-radius:8px;background:#E7ECEF;accent-color:#08745B;overflow:hidden}
#flow-progress::-webkit-progress-bar{background:#E7ECEF;border-radius:8px}
#flow-progress::-webkit-progress-value{background:#08745B;border-radius:8px}
#flow-progress::-moz-progress-bar{background:#08745B;border-radius:8px}
.app-form{scroll-margin-top:96px;max-width:none}
.app-step h2{margin:0 0 20px;outline-offset:4px}
.app-step h2:focus:not(:focus-visible){outline:none}
.step-help{font-size:15px;color:#526069;margin:-8px 0 22px}
.triage .city-field{margin:0;padding:0;border:0}
.triage .city-field legend{font-family:var(--sans);font-size:15px;padding:0;margin-bottom:10px;font-weight:500}
.city-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.triage .city-options label{display:flex;align-items:center;gap:8px;position:relative;padding:14px 12px;margin:0;border:1px solid #CBD4D9;border-radius:9px;cursor:pointer;font-size:15px;min-height:52px}
.triage .city-options input{accent-color:#08745B;width:17px;height:17px;min-height:17px;padding:0;flex:none}
.city-options label:has(input:checked){background:#ECF7F2;border-color:#08745B}
.optional-fields,.upload-tips{margin-top:20px;font-size:14px;line-height:1.55;color:#526069}
.optional-fields summary,.upload-tips summary{cursor:pointer;padding:8px 0;text-underline-offset:3px}
.optional-fields summary:hover,.upload-tips summary:hover{text-decoration:underline}
.upload-tips p{margin-top:12px}
.upload-tips ul{padding-left:20px;margin-top:10px}
.app-actions{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #E7ECEF;margin-top:26px;padding-top:20px;background:#fff}
.triage .app-actions .btn{margin:0;white-space:normal}
.app-actions .btn:not(.ghost){margin-left:auto;flex:1;max-width:340px}
.triage .app-actions .btn:not(.ghost),#receipt .btn,#complement-form>button{background:#08745B;border-color:#08745B;color:#fff}
.triage .app-actions .btn:not(.ghost):hover,#receipt .btn:hover,#complement-form>button:hover{background:#075C48;border-color:#075C48}
.triage .app-actions .btn:focus-visible,#receipt .btn:focus-visible,#complement-form>button:focus-visible{outline:3px solid #064C3B;outline-offset:3px}
.triage .app-actions .btn:disabled,#complement-form>button:disabled{background:#D2E5DD;border-color:#D2E5DD;color:#355D50;opacity:1;cursor:wait}
.document-picker{margin-top:16px}
.triage .picker-input{position:absolute;width:1px;height:1px;min-height:0;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.drop-area{border:1.5px dashed #AFBFC6;border-radius:12px;padding:24px 16px;text-align:center;background:#FAFCFC;transition:background .15s,border-color .15s}
.drop-area.dragging{background:#E5F2EC;border-color:#08745B}
.upload-symbol{width:30px;height:30px;color:#08745B;margin:0 auto 12px;display:block}
.upload-title{font-size:16px;font-weight:600;color:var(--ink);margin-bottom:6px}
.upload-subtitle{font-size:14px;color:#526069}
.picker-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:20px}
.triage .picker-actions .btn{margin:0;background:#fff;color:var(--ink);border-color:#BCC9CE;font-weight:500;padding:11px 16px}
.triage .picker-actions .btn:hover{border-color:#08745B;background:#ECF7F2;color:#07513E}
.drop-hint,.upload-limits{font-size:12px;color:#526069;margin-top:14px}
.upload-count{font-size:13px;color:#355D50;margin:16px 0 10px}
.selected-files{list-style:none;padding:0;display:grid;gap:10px}
.selected-file{display:flex;align-items:center;gap:12px;border:1px solid #DCE4E7;border-radius:10px;padding:10px;min-width:0}
.selected-file>img,.file-icon{width:42px;height:48px;border-radius:5px;object-fit:cover;flex:none}
.file-icon{display:flex;align-items:center;justify-content:center;background:#E8EDF1;font-size:11px;font-weight:600;color:#3D515C}
.file-info{flex:1;min-width:0}
.file-info>span{display:block;overflow-wrap:anywhere;font-size:14px;color:var(--ink);font-weight:500}
.file-info small{display:block;font-size:12px;color:#526069;margin-top:4px}
.remove-file{width:44px;height:44px;border:0;border-radius:8px;background:transparent;color:#526069;cursor:pointer;font-size:25px;flex:none}
.remove-file:hover{background:#FAEEEE;color:#8A130E}
.success-mark{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:#E5F2EC;color:#07513E;font-size:26px;margin-bottom:20px}
#receipt{padding:28px;scroll-margin-top:100px}
#receipt .code{font-size:12px;letter-spacing:0;color:#526069}
.triage[data-page=intake] footer{background:transparent;color:#526069;font-size:12px;padding:0 0 28px;text-align:center}
.triage[data-page=intake] footer a{color:#526069}
.triage[data-page=intake] footer p{margin-bottom:6px}
@media(max-width:600px){
 .app-shell{padding:24px 16px 32px}
 .app-form,.app-card,#receipt{padding:20px;border-radius:14px}
 .app-intro{margin:0 4px 20px}
 .app-intro h1{font-size:27px}
 .flow-steps{gap:6px}
 .flow-steps li{font-size:12px;gap:5px}
 .flow-steps li>span{width:22px;height:22px;font-size:11px}
 .app-step h2{font-size:22px;margin-bottom:20px}
 .city-options{gap:8px}
 .triage .city-options label{font-size:14px;padding:13px 10px}
 .drop-area{padding:22px 12px}
 .drop-hint{display:none}
 .app-actions{padding-bottom:4px}
 .app-actions .btn:not(.ghost){max-width:none}
 .triage .app-actions .btn{font-size:14px;padding:12px 16px}
 .picker-actions{gap:8px}
 .triage .picker-actions .btn{font-size:14px;padding:11px 13px}
 #complement-form .document-picker{margin-top:22px}
}
@media(prefers-reduced-motion:reduce){.drop-area{transition:none}}

#form-error:empty,[data-upload-error]:empty,.upload-count:empty{display:none}
.triage .form-block :is(input,select,textarea):focus-visible{outline:2px solid #08745B;outline-offset:2px}

.unavailable-card h2{margin-top:0}
.unavailable-card p{font-size:15px;color:#526069;line-height:1.6;margin-bottom:22px}
.unavailable-card>.btn{background:#08745B;border-color:#08745B;color:#fff}
.unavailable-card>.btn:hover{background:#075C48;border-color:#075C48}
.unavailable-card>.btn:focus-visible{outline:3px solid #064C3B;outline-offset:3px}
.unavailable-card .form-note{font-size:13px;margin:20px 0 0}
.unavailable-card .form-note a{color:#526069;text-underline-offset:3px}

.email-instructions{margin-top:22px;font-size:14px;line-height:1.55;color:#526069}
.email-alternative{padding:26px 4px 0}
.email-alternative h2{font-size:18px;margin:0 0 10px}
.email-alternative p{font-size:14px;color:#526069;margin-bottom:12px}
.email-address{font-size:16px;font-weight:600;color:#075C48;overflow-wrap:anywhere;text-underline-offset:4px}
.copy-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.copy-actions .btn{font-size:13px;padding:10px 14px}
.email-note{font-size:12px;color:#526069;margin-top:28px}
#email-status:empty,#copy-status:empty{display:none}
#manual-copy label{display:block;font-size:14px;margin:16px 0 8px}
#copy-text{width:100%;padding:12px;border:1px solid #CBD4D9;border-radius:9px;background:#fff;font:14px/1.5 var(--sans)}
.triage[data-page=email-analysis] footer{background:transparent;color:#526069;font-size:12px;padding:0 0 28px;text-align:center}
.triage[data-page=email-analysis] footer a{color:#526069}
.triage[data-page=email-analysis] footer p{margin-bottom:6px}
