:root{--paper:#f9f9fa;--white:#fff;--brand:#042d66;--ink:#222222;--muted:#666666;--border:#dddddd;--soft:#f4f4f4;--accent:#042d66;--error:#a9352d;font-family:'Raleway',Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;color-scheme:light}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a,input,label,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--brand);outline-offset:4px}h2:focus{outline:none}svg{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.icon{width:22px;height:22px;flex-shrink:0}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}[hidden]{display:none!important}.header{height:108px;max-width:1280px;margin:auto;border-bottom:1px solid #dddddd;display:flex;align-items:center;justify-content:space-between;padding:0 12px;gap:24px}.brand{display:flex;align-items:center;gap:15px}.brand-mark{font-family:'Raleway',Arial,sans-serif;font-size:47px;letter-spacing:-3px;position:relative;line-height:1}.brand-mark>span{font-size:33px}.brand-mark>svg{position:absolute;width:15px;height:15px;top:-9px;right:-11px;stroke-width:1.4}.brand-name{border-left:1px solid #dddddd;padding-left:14px;font-weight:650;font-size:12px;letter-spacing:2.4px;line-height:1.4}.brand-line{display:block;font-size:7px;letter-spacing:1px;font-weight:500;margin-top:4px}.header-label{font-size:10px;letter-spacing:1.7px;color:#666666;margin-left:35px}.prototype{font-size:11px;border:1px solid #dddddd;border-radius:100px;padding:9px 13px;display:flex;align-items:center;gap:7px;color:#042d66}.prototype>span{width:6px;height:6px;border-radius:50%;background:#666666}.layout{max-width:1120px;margin:56px auto 64px;display:grid;grid-template-columns:360px minmax(0,650px);gap:94px;align-items:start}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:650;display:flex;align-items:center;gap:9px}.eyebrow>span{height:6px;width:6px;background:#666666;border-radius:50%}h1{font-family:'Raleway',Arial,sans-serif;font-weight:700;letter-spacing:-1.7px;font-size:47px;line-height:1.13;margin:22px 0 19px}h1 em{font-style:normal;font-weight:700;color:var(--ink)}.intro-copy{color:var(--muted);font-size:14px;line-height:1.8;max-width:325px;margin:0}.time{display:flex;align-items:center;gap:7px;color:#666666;font-size:11px;margin-top:21px}.time .icon{width:15px;height:15px}.time>span{margin:0 3px;color:#666666}.step-nav{margin-top:34px}.step-nav ol{list-style:none;padding:0;margin:0}.step-nav li{position:relative}.step-nav li:not(:last-child):after{content:'';position:absolute;width:1px;height:17px;background:#dddddd;left:21px;bottom:0}.step-nav button{width:100%;border:0;background:transparent;text-align:left;display:flex;align-items:center;gap:15px;padding:0 13px 17px 0;color:#666666}.step-number{width:43px;height:43px;border:1px solid #dddddd;border-radius:50%;font-size:11px;letter-spacing:.3px;display:grid;place-items:center;background:var(--paper);flex-shrink:0;transition:background .2s}.step-nav strong{display:block;font-size:13px;font-weight:550;margin-bottom:4px}.step-nav small{font-size:11px;color:#666666}.step-nav [aria-current]{color:var(--brand)}.step-nav [aria-current] .step-number{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 0 0 4px #f4f4f4}.step-dot{height:5px;width:5px;border-radius:50%;margin-left:auto}.step-nav [aria-current] .step-dot{background:var(--brand)}.step-nav .complete .step-number{border-color:#aaaaaa;background:#f4f4f4;color:var(--brand)}.step-nav button:not(:disabled):hover strong{text-decoration:underline;text-underline-offset:3px}.next-note{border-top:1px solid #dddddd;padding-top:22px;margin-top:9px;display:flex;align-items:flex-start;gap:12px}.next-note>.icon{width:20px;height:20px;color:#666666;margin-top:2px}.next-note strong{font-size:11px;font-weight:600}.next-note p{font-size:11px;line-height:1.7;color:var(--muted);margin:7px 0 0;max-width:275px}.survey-card{background:var(--white);border:1px solid #dddddd;border-radius:6px;box-shadow:0 10px 30px #00000004;overflow:hidden}.card-top{display:flex;justify-content:space-between;align-items:center;padding:23px 32px 19px;font-size:9px;font-weight:600;letter-spacing:1.5px}.card-top>span:last-child{color:#666666;font-size:9px;letter-spacing:1px}.progress{height:3px;background:#f4f4f4}.progress>span{display:block;height:100%;width:20%;background:var(--brand);transition:width .3s}#survey{padding:29px 32px 0}.panel{min-height:440px}.section-heading{display:flex;align-items:center;gap:13px;margin-bottom:29px}.section-icon{width:42px;height:46px;display:grid;place-items:center;border-radius:9px;background:var(--soft);color:var(--brand);flex-shrink:0}.section-icon .icon{width:21px;height:21px}h2{font-size:24px;font-weight:700;letter-spacing:-.7px;margin:0 0 7px;line-height:1.25}.section-heading p{font-size:12px;color:var(--muted);margin:0;line-height:1.5}.field{display:flex;flex-direction:column;gap:9px;margin-bottom:25px}label,legend{font-size:12px;font-weight:550}.required{font-size:13px;color:#666666;margin-left:3px}.optional{font-size:10px;font-weight:400;color:#666666;margin-left:7px}.field input,.field textarea{width:100%;border:1px solid #dddddd;background:#ffffff;border-radius:4px;color:var(--ink);padding:14px;font-size:12px;min-width:0}.field input{height:47px}.field textarea{line-height:1.7;resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#666666}.field input:hover,.field textarea:hover{border-color:#666666}.hint{font-size:10px;line-height:1.6;color:#666666}.field .hint{margin-top:-1px}fieldset{padding:0;margin:0 0 24px;border:0;min-width:0}legend{margin-bottom:12px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.project-option{border:1px solid #dddddd;min-height:79px;padding:14px 12px;border-radius:4px;display:flex;align-items:center;gap:10px;position:relative;cursor:pointer;transition:background .15s,border-color .15s}.project-option input{position:absolute;opacity:0;width:1px;height:1px}.project-option>.icon{width:22px;height:22px;color:#666666}.project-option strong{display:block;font-size:11px;font-weight:550}.project-option small{display:block;font-size:9px;font-weight:400;color:#666666;margin-top:5px}.radio-mark{width:13px;height:13px;border-radius:50%;border:1px solid #dddddd;position:absolute;right:10px;top:10px}.project-option:has(input:checked){border-color:#042d66;background:#f4f4f4}.project-option:has(input:checked)>.icon{color:#042d66}.project-option:has(input:checked) .radio-mark{border:4px solid #042d66;background:#fff}.project-option:has(input:focus-visible),.area:has(input:focus-visible){outline:3px solid var(--brand);outline-offset:3px}.project-option:hover{border-color:#666666;background:#f4f4f4}.other-option{display:flex;align-items:center;gap:8px;margin-top:13px;font-size:10px;font-weight:400;color:#666666;cursor:pointer}.other-option input{margin:0;accent-color:var(--brand);width:13px;height:13px}.form-actions{border-top:1px solid var(--border);display:flex;align-items:center;gap:15px;padding:22px 0}.action-note{font-size:10px;color:#666666}.primary{background:var(--brand);border:1px solid var(--brand);border-radius:4px;color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:13px 19px;font-size:12px;font-weight:500;margin-left:auto;min-height:45px}.primary .icon{width:18px;height:18px}.primary:hover{background:#011c40}.back{border:0;background:none;display:flex;align-items:center;gap:8px;color:#666666;padding:12px 0;font-size:12px}.back .icon{width:16px;height:16px;transform:rotate(180deg)}.card-footer{margin:0 -32px;padding:14px 16px;text-align:center;border-top:1px solid #f4f4f4;background:#ffffff;color:#666666;font-size:9px;display:flex;align-items:center;justify-content:center;gap:6px}.card-footer .icon{height:12px;width:12px}.footer{border-top:1px solid #dddddd;margin:0 auto;max-width:1280px;padding:22px 12px 27px;display:flex;justify-content:space-between;align-items:center;gap:15px;color:#666666;font-size:9px}.footer-center{font-family:'Raleway',Arial,sans-serif;font-size:17px;font-style:italic;color:#666666}.footer strong{font-weight:500;color:#666666}.area-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.area{display:flex;align-items:center;gap:10px;padding:20px 14px;border:1px solid var(--border);border-radius:4px;cursor:pointer;font-weight:400;font-size:12px}.area:has(input:checked){background:var(--soft);border-color:#042d66}.area input{accent-color:var(--brand);width:17px;height:17px;margin:0;flex-shrink:0}.area:last-child{grid-column:1/-1}.info-note{display:flex;align-items:flex-start;gap:10px;padding:15px 17px;background:var(--soft);font-size:11px;color:#042d66;line-height:1.7;border-radius:4px;margin:20px 0}.info-note>.icon{width:18px;height:18px;margin-top:2px}.upload{border:1px dashed #aaaaaa;border-radius:9px;background:#f4f4f4;padding:39px 20px 30px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}.upload.dragging{background:#f4f4f4;border-color:var(--brand)}.upload-icon{height:54px;width:54px;border:1px solid #dddddd;border-radius:14px;display:grid;place-items:center;background:#f4f4f4;color:#666666}.upload-icon .icon{width:27px;height:27px}.upload h3{font-size:15px;font-weight:500;margin:7px 0 0}.upload p{font-size:12px;color:var(--muted);margin:0}.upload .hint{margin-top:10px}.secondary{background:white;border:1px solid #dddddd;color:var(--brand);border-radius:6px;padding:11px 20px;font-size:12px}.secondary:hover{background:var(--soft)}.photo-list{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:14px}.photo{position:relative}.photo img{height:80px;width:100%;object-fit:cover;border-radius:5px}.photo span{display:block;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;color:var(--muted)}.photo button{position:absolute;right:4px;top:4px;background:#fff;border:0;width:24px;height:24px;border-radius:50%;color:var(--brand);font-size:18px;box-shadow:0 1px 6px #0002}.photos-hint{text-align:center}.field-error{font-size:11px;color:var(--error);line-height:1.6}.field input[aria-invalid=true]{border-color:var(--error);background:#fffafa}.summary-group{padding:16px 0;border-top:1px solid var(--border)}.summary-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.summary-heading strong{font-size:12px;font-weight:600}.summary-heading button{border:0;background:none;color:var(--brand);text-decoration:underline;text-underline-offset:3px;font-size:11px;padding:4px}.summary-group p{margin:3px 0;font-size:12px;color:var(--muted);line-height:1.7;overflow-wrap:anywhere;white-space:pre-line}.success{padding:45px 35px;text-align:center}.success-mark{width:68px;height:68px;border-radius:50%;background:#f4f4f4;display:grid;place-items:center;margin:10px auto 27px}.success-mark .icon{width:31px;height:31px;color:#042d66}.success .eyebrow{justify-content:center;font-size:9px}.success h2{font:42px 'Raleway',Arial,sans-serif;letter-spacing:-1px;margin:18px 0}.success>p{font-size:13px;line-height:1.8;color:var(--muted)}.success .primary{margin:14px auto}.success .info-note{text-align:left}.intro{padding-top:8px}
@media(min-width:1440px){.layout{margin-top:70px;margin-bottom:75px}.header,.footer{max-width:1330px}}
@media(max-width:1200px){.header,.footer{margin-left:32px;margin-right:32px}.layout{margin:42px 40px 50px;grid-template-columns:310px minmax(0,650px);gap:50px}h1{font-size:44px}.header-label{font-size:9px;margin:0}}
@media(max-width:980px){.layout{grid-template-columns:260px minmax(0,1fr);gap:30px;margin-left:30px;margin-right:30px}.header-label{display:none}h1{font-size:39px}.intro-copy{font-size:13px}#survey{padding-left:24px;padding-right:24px}.card-footer{margin-left:-24px;margin-right:-24px}.card-top{padding-left:24px;padding-right:24px}.project-grid{grid-template-columns:1fr}.project-option{min-height:66px}.panel{min-height:440px}.time{font-size:10px;gap:5px}.project-option strong{font-size:12px}.project-option small{font-size:10px}.action-note{display:none}}
@media(max-width:720px){.header{height:88px;margin:0 22px;padding:0}.brand-mark{font-size:38px}.brand-mark>span{font-size:27px}.brand-name{font-size:10px;letter-spacing:1.7px}.brand-line{font-size:6px}.prototype{font-size:9px;padding:8px 10px}.layout{display:block;margin:30px 20px}.intro{padding:0 4px}h1{font-size:40px;margin:16px 0 13px}h1 br{display:none}h1 em{display:block}.eyebrow{font-size:9px}.intro-copy{max-width:430px;line-height:1.7;font-size:13px}.time{font-size:10px;margin-top:14px}.step-nav{margin:25px 0 21px}.step-nav ol{display:flex;gap:10px}.step-nav li{flex:1;min-width:0}.step-nav li:not(:last-child):after{height:1px;width:calc(100% - 32px);left:37px;top:16px;bottom:auto}.step-nav button{padding:0;display:block}.step-number{width:32px;height:32px;font-size:10px;margin-bottom:10px}.step-nav strong{font-size:9px;line-height:1.4}.step-nav small,.step-dot{display:none}.step-nav button>span:nth-child(2){display:block}.next-note{display:none}.survey-card{border-radius:6px}.card-top{padding:20px 22px 17px;font-size:8px}#survey{padding:25px 22px 0}.section-heading{gap:11px;margin-bottom:25px}h2{font-size:22px}.section-heading p{font-size:11px}.section-icon{width:38px;height:42px}.panel{min-height:0}.project-grid{grid-template-columns:1fr 1fr;gap:9px}.project-option{display:block;padding:14px 11px;min-height:112px}.project-option>.icon{margin-bottom:10px}.project-option strong{font-size:10px}.project-option small{font-size:9px}.field{margin-bottom:23px}.card-footer{margin-left:-22px;margin-right:-22px;font-size:8px}.form-actions{padding:18px 0;margin-top:26px}.primary{font-size:12px}.area-grid{gap:9px}.area{padding:18px 10px;font-size:11px}.footer{margin:0 24px;padding:20px 0 25px;flex-wrap:wrap;font-size:8px}.footer-center{display:none}.photo-list{grid-template-columns:repeat(3,1fr)}.success{padding:35px 25px}.success h2{font-size:36px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}

/* Brand styling sampled from dmlondoncleaning.co.uk. */
.header{max-width:none;margin:0;height:112px;background:#fff;border-top:5px solid #f4f4f4;border-bottom:1px solid var(--border);padding:0 max(32px,calc((100vw - 1280px)/2));}
.brand img{display:block;width:169px;height:auto}.header-label{font-size:12px;letter-spacing:0;font-weight:600;color:var(--muted);margin:0}.header-label:hover{text-decoration:underline}.prototype{border-radius:4px;color:var(--brand);background:var(--soft);border-color:#f4f4f4}.prototype>span{background:var(--brand)}.eyebrow{color:var(--brand)}.eyebrow>span{border-radius:0;width:20px;height:3px;background:var(--brand)}.progress>span{background:var(--brand)}.step-nav strong{font-weight:700}.step-nav [aria-current] .step-number{box-shadow:none}.step-nav [aria-current] .step-dot{background:var(--brand)}.primary{font-weight:700;border-radius:4px}.section-heading p{line-height:1.7}.section-icon{border-radius:4px;background:#f4f4f4}fieldset legend,.field>label{font-weight:700}.project-option strong{font-weight:700}.project-option:has(input:checked){background:#f4f4f4;border-color:var(--brand)}.project-option:has(input:checked) .radio-mark{border-color:var(--brand)}.project-option:has(input:checked)>.icon{color:var(--brand)}.next-note strong{font-weight:700}.footer-center{font:600 12px 'Raleway',Arial,sans-serif;font-style:normal;letter-spacing:0;color:var(--brand)}.footer{border-top:2px solid var(--brand)}.success h2{font:700 34px 'Raleway',Arial,sans-serif}.time{font-weight:500}.brand-mark,.brand-name{display:none}
@media(max-width:1200px){.header{margin:0;padding-left:32px;padding-right:32px}.header-label{display:block}}
@media(max-width:980px){.header-label{display:none}}
@media(max-width:720px){.header{margin:0;padding:0 22px;height:95px}.brand img{width:135px}.prototype{font-size:8px;padding:8px}.intro h1{font-size:38px;letter-spacing:-1.3px;line-height:1.14}.section-heading h2{font-size:21px}.eyebrow{font-size:9px}.footer-center{display:none}}

/* Keep mobile fields readable without triggering iOS input zoom. */
@media(max-width:720px){.field input,.field textarea{font-size:16px}.photo button{width:36px;height:36px;font-size:24px}}
.primary:disabled{opacity:.6;cursor:wait}

/* Give the survey more colour using the established D&M navy. */
:root{--brand-soft:#eaf1fa;--brand-border:#c9d9ed;--brand-light-ink:#dce7f7}
.header{border-top-color:var(--brand)}
h1 em{color:var(--brand)}
.card-top{background:var(--brand);color:#fff}
.card-top>span:last-child{color:var(--brand-light-ink)}
.progress{background:var(--brand-soft)}
.section-icon{background:var(--brand);color:#fff}
.project-option:has(input:checked){background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 3px 8px #042d6614}
.project-option:has(input:checked)>.icon{color:#fff}
.project-option:has(input:checked) small{color:var(--brand-light-ink)}
.project-option:has(input:checked) .radio-mark{border-color:#fff;background:var(--brand)}
.project-option:hover:not(:has(input:checked)){background:var(--brand-soft);border-color:var(--brand-border)}
.step-nav [aria-current] .step-number{box-shadow:0 0 0 5px var(--brand-soft)}
.step-nav .complete .step-number{background:var(--brand-soft);border-color:var(--brand-border)}
.next-note{background:var(--brand-soft);border:0;border-left:3px solid var(--brand);padding:18px 16px;border-radius:0 5px 5px 0}
.next-note>.icon{color:var(--brand)}
.card-footer{background:var(--brand-soft);border-color:var(--brand-border);color:var(--brand)}
.info-note{background:var(--brand-soft);border-left:3px solid var(--brand);color:var(--brand)}
.area:has(input:checked){background:var(--brand-soft);border-color:var(--brand)}
.upload{background:#f5f8fd;border-color:var(--brand-border)}
.upload-icon{background:var(--brand-soft);border-color:var(--brand-border);color:var(--brand)}
.upload.dragging{background:var(--brand-soft);border-color:var(--brand)}
.success-mark{background:var(--brand);color:#fff}
.success-mark .icon{color:#fff}

/* Separate progress from the navy header and the unfilled track. */
.progress{height:5px;background:var(--brand-soft)}
.progress>span{background:#4386cf}

/* Show the blue bevel only on the selected cleaning choice. */
.project-grid{gap:14px 12px}
.project-option{border:2px solid var(--border);box-shadow:none}
.project-option:has(input:checked){border:2px solid #bddcf5;border-top-color:#dceeff;border-left-color:#d1e8fc;border-right-color:#9fc8e9;border-bottom-color:#8dbbdf;box-shadow:inset 0 1px 0 #ffffff80,0 3px 0 #d5e7f6,0 0 0 2px #8dc9ff30,0 0 14px #6db6f76b,0 0 24px #8dc9ff24}
.project-option:hover:not(:has(input:checked)){background:#f4f4f4;border-color:#aaaaaa;box-shadow:none}

/* Make the primary form action respond clearly to mouse and keyboard. */
#continue{transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}
#continue .icon{transition:transform .18s ease}
#continue:focus-visible:not(:disabled){background:#0b4b94;border-color:#397ec4;box-shadow:0 5px 14px #042d6630,0 0 0 3px #9ac9f54d}
@media(hover:hover) and (pointer:fine){
  #continue:hover:not(:disabled){background:#0b4b94;border-color:#397ec4;transform:translateY(-2px);box-shadow:0 6px 16px #042d6638,0 0 0 2px #9ac9f533}
  #continue:hover:not(:disabled) .icon{transform:translateX(4px)}
  #continue:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px #042d6626}
}
#continue:disabled{background:var(--brand);border-color:var(--brand);transform:none;box-shadow:none}
#continue:disabled .icon{transform:none}
@media(prefers-reduced-motion:reduce){#continue,#continue .icon{transition:none;transform:none!important}}
