:root{--color-bg:#f6f7f9;--color-surface:#fff;--color-text:#1b1f24;--color-muted:#5b6470;--color-primary:#2f4f7f;--color-primary-contrast:#fff;--color-border:#c9ced6;--color-input-border:#858d99;--color-danger:#b3261e;--color-success:#1e7a46;--color-focus:#1a73e8;--font-body:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-heading:var(--font-body);--font-size-base:100%;--radius:8px;--space:8px;--content-width:44rem;--bg-image:none;--color-backdrop:var(--color-bg)}*,:before,:after{box-sizing:border-box}html{font-size:var(--font-size-base);-webkit-text-size-adjust:100%}body{min-height:100vh;font-family:var(--font-body);color:var(--color-text);background-color:var(--color-backdrop);margin:0;line-height:1.5}body:before{content:"";z-index:-1;background:var(--color-backdrop) var(--bg-image) center / cover no-repeat;position:fixed;inset:0}h1,h2,h3{font-family:var(--font-heading);line-height:1.25}.page,.journey{width:min(100% - 2 * var(--space) * 2, var(--content-width));margin:calc(var(--space) * 4) auto;padding:calc(var(--space) * 3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius)}.journey .page{border:0;width:auto;margin:0;padding:0}.site-header,.site-footer{width:min(100% - 2 * var(--space) * 2, var(--content-width));margin:calc(var(--space) * 3) auto 0}.site-header{align-items:center;min-height:3rem;display:flex}.site-logo{width:auto;max-width:100%;height:auto;max-height:3rem;display:block}.site-name{font-family:var(--font-heading);font-size:1.25rem;font-weight:700}.site-footer{gap:var(--space) calc(var(--space) * 2);margin-bottom:calc(var(--space) * 4);color:var(--color-muted);flex-wrap:wrap;font-size:.875rem;display:flex}.site-footer a{color:inherit}a{color:var(--color-primary)}.lead{color:var(--color-muted)}.notice{border:1px solid var(--color-success);border-radius:var(--radius);padding:var(--space) calc(var(--space) * 2);margin:0 0 calc(var(--space) * 3)}.actions{gap:calc(var(--space) * 2);margin-top:calc(var(--space) * 3);flex-wrap:wrap;align-items:center;display:flex}.field{margin:0 0 calc(var(--space) * 3);border:0;padding:0}.field-label{margin-bottom:var(--space);font-weight:600;display:block}.field-required,.field-help{color:var(--color-muted);font-weight:400}.field-help{margin:0 0 var(--space);font-size:.9em}.input{width:100%;min-height:2.75rem;padding:var(--space) calc(var(--space) * 1.5);font:inherit;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-input-border);border-radius:var(--radius);display:block}.field[data-invalid] .input{border-color:var(--color-danger)}.field-errors,.form-errors{color:var(--color-danger);margin:var(--space) 0 0}.field-errors ul,.form-errors ul{padding-left:calc(var(--space) * 2.5);margin:0}.form-errors{border:1px solid var(--color-danger);border-radius:var(--radius);padding:var(--space) calc(var(--space) * 2);margin-bottom:calc(var(--space) * 3)}.choices{gap:var(--space);display:grid}.choice{gap:var(--space);align-items:flex-start;display:flex}.choice input{margin-top:.3em}.uploaded-files{margin:0 0 var(--space);color:var(--color-muted);overflow-wrap:anywhere}.button{min-height:2.75rem;padding:var(--space) calc(var(--space) * 3);font:inherit;border-radius:var(--radius);border:1px solid var(--color-primary);cursor:pointer;font-weight:600;display:inline-block}a.button{text-decoration:none}.button-primary{color:var(--color-primary-contrast);background:var(--color-primary)}.button-secondary{color:var(--color-primary);background:0 0}.button[disabled]{opacity:.6;cursor:progress}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.step-form>.button-primary{margin-top:var(--space)}.field-group{min-width:0}.field-checkbox .choice{font-weight:400}.subsection{margin:0 0 calc(var(--space) * 3);padding:calc(var(--space) * 2);border:1px solid var(--color-border);border-radius:var(--radius);min-width:0}.subsection>legend,.list-item>legend{padding:0 var(--space);font-family:var(--font-heading);font-weight:700}.list-item{margin:0 0 calc(var(--space) * 2);padding:calc(var(--space) * 2);border:1px solid var(--color-border);border-radius:var(--radius);min-width:0}div.list-item{gap:var(--space) calc(var(--space) * 2);flex-wrap:wrap;align-items:flex-end;display:flex}div.list-item>.field{flex:14rem;margin-bottom:0}.list-item+.button,.field-group>.button{margin-bottom:var(--space)}.review-section{margin:0 0 calc(var(--space) * 4);padding-bottom:calc(var(--space) * 2);border-bottom:1px solid var(--color-border)}.review-list{margin:0}.review-row{gap:var(--space) calc(var(--space) * 2);padding:var(--space) 0;border-top:1px solid var(--color-border);grid-template-columns:minmax(0,2fr) minmax(0,3fr);display:grid}.review-row dt{color:var(--color-muted)}.review-row dd{overflow-wrap:anywhere;margin:0}.review-group h3{margin:calc(var(--space) * 2) 0 var(--space);font-size:1rem}.review-consents li+li,.review-missing li+li{margin-top:var(--space)}@media (max-width:30rem){.review-row{grid-template-columns:minmax(0,1fr);gap:0}}.hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.progress ol{gap:var(--space) calc(var(--space) * 2);margin:0 0 calc(var(--space) * 3);color:var(--color-muted);flex-wrap:wrap;padding:0;list-style:none;display:flex}.progress [aria-current=step]{color:var(--color-text);font-weight:600}.progress-number{border:1px solid;border-radius:50%;place-items:center;width:1.75em;height:1.75em;display:inline-grid}.progress a{color:inherit}.progress [data-done] .progress-number{border-width:2px;border-color:var(--color-success);color:var(--color-success);font-weight:700}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.error-summary-title{margin:0 0 var(--space);font-size:1.125rem}.error-summary a{color:inherit;font-weight:600}.error-summary li+li{margin-top:calc(var(--space) / 2)}.back-to-review{margin:0 0 calc(var(--space) * 3)}.upload-budget{margin-bottom:calc(var(--space) * 3)}.leave-form{margin-top:calc(var(--space) * 5);padding-top:calc(var(--space) * 2);border-top:1px solid var(--color-border)}.leave-heading{margin:0 0 var(--space);font-size:1rem}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
