.wizard-page{background:#f6f8f4;color:#20332d;min-height:100vh}
.wizard-page [hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.wizard-header{height:92px;padding:0 clamp(20px,4vw,70px);display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #dce8df}
.wizard-exit{font-size:12px;font-weight:800;border-bottom:1px solid #64816c;padding-bottom:5px}
.wizard-exit span{margin-left:12px;color:#348f38}
.wizard-layout{display:grid;grid-template-columns:minmax(350px,42%) minmax(0,1fr);min-height:calc(100svh - 92px)}
.wizard-scene{position:sticky;top:0;height:calc(100svh - 92px);min-height:680px;overflow:hidden;background:#e1eee4}
.wizard-scene picture,.wizard-scene img{position:absolute;inset:0;width:100%;height:100%}
.wizard-scene img{object-fit:cover;object-position:66% center}
.wizard-scene:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(22,44,32,.77),transparent 60%)}
.wizard-scene-copy{position:absolute;left:clamp(28px,5vw,78px);right:40px;bottom:54px;z-index:1;color:white;display:grid;gap:13px}
.wizard-scene-copy span{font-size:13px;font-weight:700}
.wizard-scene-copy strong{font:600 clamp(49px,5vw,82px)/.9 var(--display);max-width:510px}
.wizard-scene-copy small{font-size:10px;margin-top:8px}
.wizard-main{width:min(100%,900px);margin:auto;padding:25px clamp(25px,5vw,86px) 32px}
.wizard-topline{display:flex;justify-content:space-between;gap:15px;font-size:11px;font-weight:800;color:#536e5c}
.wizard-progress{height:5px;background:#d9e8dc;margin:10px 0 26px;overflow:hidden}
.wizard-progress span{display:block;width:100%;height:100%;background:#348f38;transition:transform .22s ease-out;transform-origin:left}
.wizard-kicker{font-size:12px;font-weight:800;margin:0 0 14px}
.wizard-step h1,.wizard-step h2{font:600 clamp(54px,4.5vw,76px)/.92 var(--display);letter-spacing:-.02em;margin:0 0 16px;max-width:820px;text-wrap:balance}
.wizard-step h1:focus,.wizard-step h2:focus{outline:none}
.wizard-intro{font-size:14px;color:#53665a;line-height:1.6;max-width:630px;margin:0 0 21px}
fieldset{padding:0;margin:0;border:0}
.image-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.image-option{display:block;position:relative;cursor:pointer}
.image-option input,.choice-options input,.timing-options input{position:absolute;width:1px;height:1px;opacity:0}
.image-option-inner{display:flex;flex-direction:column;height:168px;border:2px solid #d3e2d6;background:white;overflow:hidden;transition:border-color .18s ease-out,transform .18s ease-out,box-shadow .18s ease-out}
.image-option-inner img{height:84px;object-fit:cover;object-position:center}
.image-option-inner>span{font:600 25px/1 var(--display);padding:10px 14px 0}
.image-option-inner small{font-size:10px;color:#56695c;padding:6px 14px 11px;line-height:1.3}
.image-option input:checked+.image-option-inner{border-color:#348f38;box-shadow:inset 0 0 0 1px #348f38,0 7px 22px rgba(30,70,37,.11)}
.image-option input:focus-visible+.image-option-inner,.choice-options input:focus-visible+span,.timing-options input:focus-visible+span{outline:3px solid #348f38;outline-offset:4px}
.image-option:hover .image-option-inner{transform:translateY(-2px)}
.choice-options{display:grid;gap:12px}
.choice-options label{position:relative;cursor:pointer}
.choice-options label>span{display:flex;flex-direction:column;gap:5px;background:white;border:2px solid #d4e3d7;padding:19px 22px;transition:border-color .18s ease-out,transform .18s ease-out}
.choice-options strong{font:600 31px/1 var(--display)}
.choice-options small{font-size:12px;color:#597061}
.choice-options input:checked+span,.timing-options input:checked+span{border-color:#348f38;background:#eaf5e9}
.choice-options label:hover>span{transform:translateX(3px)}
.range-box{background:white;border:1px solid #d4e3d7;padding:26px;margin-bottom:16px}
.range-heading,.range-limits{display:flex;justify-content:space-between;align-items:center;gap:14px}
.range-heading label{font-weight:800;font-size:14px}
.range-heading output{font:600 31px/1 var(--display);color:#267f2d;white-space:nowrap}
.range-box input[type=range]{display:block;width:100%;margin:25px 0 14px;accent-color:#348f38;cursor:pointer}
.range-limits{font-size:10px;color:#647c69}
.check-line{display:flex;align-items:center;gap:9px;margin-top:22px;font-size:12px;font-weight:700;cursor:pointer}
.check-line input{accent-color:#348f38;width:18px;height:18px}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.text-field{display:flex;flex-direction:column;font-weight:800;font-size:12px;gap:9px;margin:0 0 20px}
.text-field span{font-weight:500;color:#688070}
.text-field input,.text-field textarea{font:500 15px/1.4 var(--body);width:100%;border:1px solid #b9cfbd;background:white;color:#20332d;padding:15px 17px;border-radius:0;outline:none;resize:vertical}
.text-field input:focus,.text-field textarea:focus{border-color:#348f38;box-shadow:0 0 0 2px #a9d7ad}
.timing-options{margin:13px 0 23px}
.timing-options legend{font-size:13px;font-weight:800;margin-bottom:13px}
.timing-options{display:flex;flex-wrap:wrap;gap:9px}
.timing-options legend{width:100%}
.timing-options label{position:relative;cursor:pointer}
.timing-options label span{display:block;border:1px solid #b9cfbd;background:white;padding:12px 14px;font-size:12px;font-weight:700}
.note-field{margin-top:10px}
.request-summary{background:#e8f2e8;padding:19px 22px;margin:6px 0 22px}
.request-summary>strong{font-size:13px}
.request-summary dl{display:grid;grid-template-columns:125px 1fr;gap:7px 13px;font-size:12px;line-height:1.5;margin:12px 0 0}
.request-summary dt{color:#587160}.request-summary dd{margin:0;font-weight:700;overflow-wrap:anywhere}
.wizard-privacy{font-size:11px;line-height:1.6;color:#5b715f;max-width:650px;margin-bottom:20px}
.wizard-error{background:#fff0ed;color:#8d322b;padding:13px 16px;font-size:13px;font-weight:700;margin:12px 0}
.wizard-actions{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:27px}
.wizard-back{background:transparent;border:0;padding:12px 0;color:#365542;font-size:13px;font-weight:800;cursor:pointer;text-decoration:underline;text-underline-offset:5px}
.wizard-next,.wizard-submit{margin-left:auto;border:0;cursor:pointer;min-width:190px}
.wizard-help{font-size:11px;color:#57705d;margin:18px 0 0}
.wizard-help a{font-weight:800;text-decoration:underline;text-underline-offset:4px}
.wizard-noscript{max-width:700px;margin:30px auto;padding:20px;background:white}
@media(max-width:1100px){.wizard-layout{grid-template-columns:minmax(285px,38%) minmax(0,1fr)}.wizard-main{padding-inline:30px}.wizard-scene-copy{left:28px;right:25px}.wizard-scene-copy strong{font-size:59px}.image-option-inner{height:168px}.image-option-inner img{height:84px}}
@media(max-width:700px){
  .wizard-header{height:70px;padding:0 20px}.wizard-header .brand-name{font-size:28px}.wizard-exit{font-size:0;border:0}.wizard-exit span{font-size:20px;margin:0}
  .wizard-layout{display:block;min-height:calc(100svh - 70px)}
  .wizard-scene{position:relative;height:185px;min-height:0}
  .wizard-scene img{object-position:center 35%}
  .wizard-scene:after{background:linear-gradient(0deg,rgba(22,44,32,.65),transparent 75%)}
  .wizard-scene-copy{left:21px;bottom:15px;gap:0}.wizard-scene-copy span,.wizard-scene-copy small{display:none}.wizard-scene-copy strong{font-size:34px;max-width:300px}
  .wizard-main{padding:24px 20px 45px}
  .wizard-progress{margin:11px 0 30px}
  .wizard-step h1,.wizard-step h2{font-size:clamp(54px,13vw,72px);margin-bottom:16px}
  .wizard-intro{font-size:13px;margin-bottom:22px}
  .image-options{gap:9px}.image-option-inner{height:176px}.image-option-inner img{height:90px}.image-option-inner>span{font-size:22px;padding:10px 9px 0}.image-option-inner small{font-size:9px;padding:5px 9px 9px}
  .field-grid{grid-template-columns:1fr;gap:0}.range-box{padding:20px}.request-summary dl{grid-template-columns:100px 1fr}
  .wizard-actions{position:sticky;bottom:0;z-index:4;margin-top:18px;padding:12px 0;background:rgba(246,248,244,.97);border-top:1px solid #d9e8dc}.wizard-next,.wizard-submit{min-width:0;padding:16px 19px}.wizard-help{margin-top:20px}
}
@media(max-width:370px){.image-option-inner>span{font-size:20px}.image-option-inner small{font-size:8px}.wizard-scene{height:150px}}
@media(prefers-reduced-motion:reduce){.wizard-progress span,.image-option-inner,.choice-options label>span{transition:none}.image-option:hover .image-option-inner,.choice-options label:hover>span{transform:none}}

/* Readable support text throughout the guided enquiry. */
.wizard-exit,.wizard-scene-copy span,.wizard-scene-copy small,
.wizard-topline,.wizard-kicker{font-size:14px}
.wizard-intro{font-size:16px}
.image-options{align-items:stretch}
.image-option{height:100%}
.image-option-inner{height:100%;min-height:220px}
.image-option-inner img{height:125px;flex:none}
.image-option-inner small{font-size:14px;line-height:1.4}
.choice-options small,.range-limits,.check-line,.text-field,
.timing-options legend,.timing-options label span,
.request-summary>strong,.request-summary dl,
.wizard-privacy,.wizard-error,.wizard-back,.wizard-help{font-size:14px}
.text-field input,.text-field textarea{font-size:16px}
@media(max-width:700px){
  .wizard-intro{font-size:15px}
  .image-option-inner{min-height:225px}
  .image-option-inner img{height:96px}
  .image-option-inner small{font-size:14px;padding:7px 9px 12px}
  .wizard-exit{font-size:0}
}
@media(max-width:370px){.image-option-inner{min-height:245px}.image-option-inner small{font-size:14px}}

/* Keep the approved visual language; make conditional steps just as readable. */
.range-help{font-size:14px;line-height:1.5;color:#53665a;margin:15px 0 0}
.range-heading output{font-size:clamp(22px,2.3vw,31px);white-space:normal;text-align:right}
.quantity-confirm{background:#eaf5e9;color:#267f2d;border:1px solid #8cbe90;padding:12px 16px;margin-top:16px;font:700 14px/1.3 var(--body);cursor:pointer}
.quantity-confirm:hover{background:#dcefdc}
.quantity-confirm:focus-visible{outline:3px solid #348f38;outline-offset:3px}
.problem-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.problem-options strong{font:600 23px/1.12 var(--display)}
.problem-options label>span{height:100%;min-height:86px;justify-content:center;padding:15px 17px}
.wizard-privacy a{text-decoration:underline;text-underline-offset:3px}
.wizard-step:not([hidden]){animation:wizard-step-in .28s cubic-bezier(.2,.7,.3,1) both}
@keyframes wizard-step-in{from{opacity:.55;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:700px){.range-heading{align-items:flex-start}.range-heading label{max-width:53%}.range-heading output{font-size:24px;max-width:47%}.problem-options strong{font-size:22px}}
@media(prefers-reduced-motion:reduce){.wizard-step:not([hidden]){animation:none}}
