:root{--bg: #FFFFFF;--bg-2: #FAFAFA;--ink: #18181B;--ink-2: #52525B;--ink-3: #71717A;--ink-4: #A1A1AA;--border: #E4E4E7;--border-2: #D4D4D8;--red: #DF2D33;--red-dark: #C22329;--red-pale: rgba(223,45,51,.05);--red-pale-2:rgba(223,45,51,.12);--ring: rgba(223,45,51,.15);--green: #16A34A;--amber: #B45309;--font: "Geist", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "Geist Mono", ui-monospace, "SF Mono", monospace;--r: 10px;--r-sm: 8px;--container: 1080px;--content: 760px;--ease: cubic-bezier(.25, 0, 0, 1);--dur: .15s}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100svh;font-family:var(--font);font-size:16px;line-height:1.6;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100svh}button{font-family:var(--font)}.page{min-height:100svh;display:flex;flex-direction:column}.site-header{position:sticky;top:0;z-index:50;background:#ffffffe6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.form-progress{position:absolute;top:0;left:0;right:0;height:2px;background:transparent}.form-progress__fill{height:100%;background:var(--red);transition:width .5s var(--ease)}.site-header__inner{max-width:var(--container);margin:0 auto;padding:0 clamp(20px,4vw,32px);height:60px;display:flex;align-items:center;justify-content:space-between;gap:12px}.site-logo{display:inline-flex;align-items:center;-webkit-user-select:none;user-select:none}.site-logo img{height:21px;width:auto;display:block}.back-btn{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:500;color:var(--ink-2);background:none;border:none;border-radius:var(--r-sm);cursor:pointer;padding:8px 10px;transition:color var(--dur),background var(--dur)}.back-btn:hover{color:var(--ink);background:var(--bg-2)}.back-btn svg{flex-shrink:0}.page-body{flex:1;width:100%;max-width:var(--container);margin:0 auto;padding:clamp(48px,9vh,104px) clamp(20px,4vw,32px) 80px}.welcome{max-width:var(--content);animation:rise .35s var(--ease) both}.welcome__title{font-size:clamp(34px,5vw,46px);font-weight:650;letter-spacing:-.025em;line-height:1.1;margin:0 0 16px}.welcome__sub{font-size:17px;line-height:1.65;color:var(--ink-2);margin:0 0 32px;max-width:58ch}.welcome__actions{margin:0 0 40px}.welcome__urgent{font-size:15px;color:var(--ink-3);margin:0;padding-top:24px;border-top:1px solid var(--border);max-width:58ch}.welcome__urgent a{color:var(--red-dark);font-weight:600;text-decoration:none}.welcome__urgent a:hover{text-decoration:underline;text-underline-offset:3px}.form-stage{max-width:var(--content)}.card-pad{padding:0}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.q-slide{display:flex;flex-direction:column;gap:20px;animation:rise .25s var(--ease) both}.q-number{font-size:14px;font-weight:500;color:var(--ink-3);font-feature-settings:"tnum"}.q-text{font-size:clamp(26px,3.6vw,34px);font-weight:650;letter-spacing:-.02em;line-height:1.2;margin:-8px 0 0}.q-hint{font-size:15.5px;color:var(--ink-2);line-height:1.55;margin:-10px 0 0;max-width:58ch}.q-input{width:100%;max-width:560px;font-family:var(--font);font-size:16px;color:var(--ink);background:var(--bg);border:1px solid var(--border-2);border-radius:var(--r-sm);padding:13px 15px;outline:none;transition:border-color var(--dur),box-shadow var(--dur);caret-color:var(--red);-webkit-appearance:none}.q-input::placeholder{color:var(--ink-4)}.q-input:focus{border-color:var(--red);box-shadow:0 0 0 3px var(--ring)}.q-textarea{width:100%;max-width:640px;font-family:var(--font);font-size:16px;line-height:1.65;color:var(--ink);background:var(--bg);border:1px solid var(--border-2);border-radius:var(--r-sm);padding:13px 15px;resize:vertical;min-height:150px;outline:none;transition:border-color var(--dur),box-shadow var(--dur);caret-color:var(--red)}.q-textarea::placeholder{color:var(--ink-4)}.q-textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px var(--ring)}.char-count{font-size:13px;color:var(--ink-4);margin-top:6px;display:block;max-width:640px;text-align:right;font-feature-settings:"tnum"}.cat-grid,.area-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.cat-card,.area-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-height:88px;justify-content:center;padding:14px 16px;border:1px solid var(--border);border-radius:var(--r);background:var(--bg);cursor:pointer;transition:border-color var(--dur),background var(--dur);text-align:left;font-size:14px;font-weight:500;color:var(--ink);line-height:1.35;-webkit-tap-highlight-color:transparent}.cat-card:hover,.area-card:hover{border-color:var(--border-2);background:var(--bg-2)}.cat-card.is-selected,.area-card.is-selected{border-color:var(--red);background:var(--red-pale)}.cat-card__icon,.area-card__icon{display:flex;color:var(--ink-3);transition:color var(--dur)}.cat-card.is-selected .cat-card__icon,.area-card.is-selected .area-card__icon{color:var(--red)}.cat-card__label{font-size:14px;font-weight:500}.urgency-group{display:flex;flex-direction:column;gap:10px;max-width:560px}.urgency-card{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid var(--border);border-radius:var(--r);background:var(--bg);cursor:pointer;text-align:left;transition:border-color var(--dur),background var(--dur);-webkit-tap-highlight-color:transparent}.urgency-card:hover{background:var(--bg-2);border-color:var(--border-2)}.urgency-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.urgency-body{display:flex;flex-direction:column;gap:2px}.urgency-body strong{font-size:16px;font-weight:600;line-height:1.3}.urgency-body span{font-size:14px;color:var(--ink-2)}.toggle-row{display:flex;gap:10px;flex-wrap:wrap}.toggle-pill{display:inline-flex;align-items:center;gap:9px;padding:12px 18px;border:1px solid var(--border-2);border-radius:var(--r-sm);background:var(--bg);font-size:15px;font-weight:500;color:var(--ink);cursor:pointer;transition:border-color var(--dur),background var(--dur),color var(--dur);-webkit-tap-highlight-color:transparent}.toggle-pill svg{color:var(--ink-3);flex-shrink:0;transition:color var(--dur)}.toggle-pill:hover{background:var(--bg-2)}.toggle-pill.is-active{background:var(--red);border-color:var(--red);color:#fff}.toggle-pill.is-active svg{color:#fff}.addr-fields{display:flex;flex-direction:column;gap:16px;max-width:560px}.addr-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:480px){.addr-row{grid-template-columns:1fr}}.addr-field{display:flex;flex-direction:column;min-width:0}.addr-field--postcode{position:relative;max-width:240px}.addr-field--postcode .addr-dropdown{right:auto;width:min(360px,78vw)}@media(max-width:480px){.addr-field--postcode{max-width:none}.addr-field--postcode .addr-dropdown{right:0;width:auto}}.addr-field-label{font-size:13.5px;font-weight:500;color:var(--ink-2);margin-bottom:7px}.addr-optional{color:var(--ink-4);font-weight:400}.addr-input-wrap{position:relative}.addr-spinner{position:absolute;right:13px;top:50%;transform:translateY(-50%);color:var(--ink-4);display:flex}.addr-dropdown{position:absolute;top:calc(100% + 5px);left:0;right:0;background:var(--bg);border:1px solid var(--border);border-radius:var(--r-sm);box-shadow:0 4px 20px #00000014;z-index:100;list-style:none;padding:4px;margin:0;animation:fadeIn .12s ease}.addr-option{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:6px;cursor:pointer;transition:background .1s}.addr-option:hover,.addr-option.is-active{background:var(--bg-2)}.addr-option__icon{display:flex;color:var(--ink-3);flex-shrink:0}.addr-option__text{display:flex;flex-direction:column;gap:1px}.addr-option__text strong{font-size:14px;font-weight:600}.addr-option__sub{font-size:13px;color:var(--ink-3)}.addr-combined{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--ink-2);margin:0}.addr-combined svg{color:var(--green);flex-shrink:0}.upload-zone-wrap{display:flex;flex-direction:column;gap:12px;max-width:640px}.upload-zone{border:1px dashed var(--border-2);border-radius:var(--r);padding:34px 24px;cursor:pointer;background:var(--bg-2);transition:border-color var(--dur),background var(--dur);text-align:center;-webkit-tap-highlight-color:transparent}.upload-zone:hover,.upload-zone.is-dragging{border-color:var(--red);background:var(--red-pale)}.upload-zone.is-full{cursor:not-allowed;opacity:.6}.upload-zone__inner{display:flex;flex-direction:column;align-items:center;gap:8px}.upload-zone__icon{color:var(--ink-3)}.upload-zone__text{font-size:15px;color:var(--ink-2);display:flex;flex-direction:column;align-items:center;gap:2px;margin:0}.upload-zone__text strong{color:var(--ink);font-weight:600}.upload-zone__text span{color:var(--ink-3);font-size:14px}.upload-zone__hint{font-size:13px;color:var(--ink-4);margin:0}.upload-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.upload-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg)}.upload-item__thumb{width:40px;height:40px;border-radius:6px;object-fit:cover;background:var(--bg-2);flex-shrink:0}.upload-item__thumb--video{display:flex;align-items:center;justify-content:center;color:var(--ink-3)}.upload-item__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.upload-item__name{font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-item__meta{font-size:13px;color:var(--ink-3)}.upload-item--uploading{opacity:.65}.upload-item--error{border-color:var(--red-pale-2);background:var(--red-pale)}.upload-item--error .upload-item__meta{color:var(--red-dark)}.upload-item__err button{background:none;border:none;padding:0;cursor:pointer;color:var(--red-dark);font-size:13px;font-weight:600;text-decoration:underline;font-family:inherit}.upload-item__remove{width:30px;height:30px;border-radius:6px;border:none;background:none;color:var(--ink-3);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background var(--dur),color var(--dur)}.upload-item__remove:hover{background:var(--bg-2);color:var(--ink)}.q-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-top:4px}.ok-btn{display:inline-flex;align-items:center;gap:8px;background:var(--red);color:#fff;border:none;border-radius:var(--r-sm);padding:12px 22px;font-size:15px;font-weight:600;cursor:pointer;transition:background var(--dur);-webkit-tap-highlight-color:transparent}.ok-btn:hover{background:var(--red-dark)}.ok-btn--lg{padding:13px 26px;font-size:16px}.skip-btn{font-size:14px;font-weight:500;color:var(--ink-3);background:none;border:none;cursor:pointer;padding:8px 4px;transition:color var(--dur)}.skip-btn:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.enter-hint{font-size:13.5px;color:var(--ink-4)}.enter-hint kbd{font-family:var(--font);font-size:12.5px;border:1px solid var(--border-2);border-radius:4px;padding:1px 6px;background:var(--bg)}.q-error{display:flex;align-items:center;gap:7px;font-size:14.5px;color:var(--red-dark);font-weight:500;margin:0;animation:rise .2s ease both}.review-wrap{display:flex;flex-direction:column;gap:24px;max-width:640px}.review-list{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--r);overflow:hidden}.review-row{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:13px 16px;border-bottom:1px solid var(--border);align-items:baseline}.review-row:last-child{border-bottom:none}.review-label{font-size:13px;font-weight:500;color:var(--ink-3);line-height:1.5}.review-value{font-size:15px;line-height:1.55;word-break:break-word;white-space:pre-line}@media(max-width:480px){.review-row{grid-template-columns:1fr;gap:2px;padding:11px 14px}}.consent-label{display:flex;align-items:flex-start;gap:11px;cursor:pointer;font-size:15px;color:var(--ink-2);line-height:1.55}.consent-label input[type=checkbox]{width:18px;height:18px;margin-top:3px;flex-shrink:0;accent-color:var(--red);cursor:pointer}.submit-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;align-self:flex-start;padding:13px 26px;background:var(--red);color:#fff;border:none;border-radius:var(--r-sm);font-size:16px;font-weight:600;cursor:pointer;transition:background var(--dur)}.submit-btn:hover:not(:disabled){background:var(--red-dark)}.submit-btn:disabled{opacity:.55;cursor:not-allowed}.server-error{display:flex;gap:10px;align-items:flex-start;padding:13px 15px;background:var(--red-pale);border:1px solid var(--red-pale-2);border-radius:var(--r-sm);color:var(--red-dark);font-size:14.5px;line-height:1.5}.success-screen{max-width:var(--content);display:flex;flex-direction:column;align-items:flex-start;gap:16px;animation:rise .35s var(--ease) both}.success-icon-wrap{color:var(--green);width:56px;height:56px;margin-bottom:4px}.success-svg{width:100%;height:100%}@keyframes drawCircle{0%{stroke-dashoffset:170}to{stroke-dashoffset:0}}@keyframes drawCheck{0%{stroke-dashoffset:50}to{stroke-dashoffset:0}}.success-circle{stroke-dasharray:170;stroke-dashoffset:170;animation:drawCircle .5s var(--ease) forwards .1s}.success-check{stroke-dasharray:50;stroke-dashoffset:50;animation:drawCheck .35s var(--ease) forwards .6s}.success-screen h2{font-size:clamp(28px,4vw,36px);font-weight:650;letter-spacing:-.02em;margin:0;line-height:1.15}.success-screen p{font-size:16px;color:var(--ink-2);line-height:1.6;max-width:54ch;margin:0}.success-email{color:var(--ink);font-weight:600}.success-ref{border:1px solid var(--border);border-radius:var(--r-sm);padding:9px 16px;font-size:14px;color:var(--ink-3)}.success-ref code{font-family:var(--font-mono);font-size:14px;color:var(--ink);font-weight:600;margin-left:6px}.success-note{font-size:14.5px!important;color:var(--ink-3)!important}.success-warning{border:1px solid rgba(180,83,9,.25);border-radius:var(--r-sm);padding:10px 14px;font-size:14.5px;color:var(--amber);max-width:54ch}.ghost-btn{display:inline-flex;align-items:center;padding:11px 20px;border:1px solid var(--border-2);border-radius:var(--r-sm);background:var(--bg);font-size:15px;font-weight:500;color:var(--ink-2);cursor:pointer;transition:border-color var(--dur),color var(--dur),background var(--dur);margin-top:8px}.ghost-btn:hover{border-color:var(--ink-4);color:var(--ink);background:var(--bg-2)}.site-footer{border-top:1px solid var(--border)}.site-footer__inner{max-width:var(--container);margin:0 auto;padding:20px clamp(20px,4vw,32px) 26px}.site-footer__inner p{margin:0 0 4px;font-size:13px;color:var(--ink-3);line-height:1.6}.site-footer__inner p:last-child{margin-bottom:0}.site-footer__inner a{color:var(--ink-2);font-weight:500;text-decoration:none}.site-footer__inner a:hover{color:var(--red-dark);text-decoration:underline;text-underline-offset:3px}.site-footer__demo{color:var(--ink-4)!important}@keyframes spin{to{transform:rotate(360deg)}}.spinner{animation:spin .75s linear infinite}.cat-card:focus-visible,.area-card:focus-visible,.urgency-card:focus-visible,.toggle-pill:focus-visible,.ok-btn:focus-visible,.skip-btn:focus-visible,.submit-btn:focus-visible,.back-btn:focus-visible,.ghost-btn:focus-visible,.upload-zone:focus-visible,.upload-item__remove:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ring);border-color:var(--red)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
