/* ─── Postcode Autocomplete ─── */
    .pc-wrap{position:relative}
    .pc-dropdown{
      display:none;
      position:absolute;
      top:calc(100% + 4px);
      left:0;right:0;
      background:var(--card);
      border:1px solid var(--border);
      border-radius:var(--r);
      box-shadow:0 6px 24px rgba(0,0,0,.12);
      max-height:220px;
      overflow-y:auto;
      z-index:200;
      list-style:none;
      padding:4px 0;
    }
    .pc-dropdown.open{display:block}
    .pc-dropdown li{
      padding:10px 14px;
      font-size:.875rem;
      cursor:pointer;
      transition:background .12s;
    }
    .pc-dropdown li:hover,.pc-dropdown li.active{
      background:var(--muted);
    }

    /* ─── Variables ─── */
    :root {
      --bg:         hsl(210,17%,98%);
      --fg:         hsl(0,0%,10%);
      --card:       hsl(0,0%,100%);
      --primary:    hsl(204,98%,43%);
      --primary-fg: hsl(0,0%,100%);
      --secondary:  hsl(170,95%,38%);
      --secondary-fg: hsl(0,0%,100%);
      --muted:      hsl(210,17%,95%);
      --muted-fg:   hsl(210,10%,40%);
      --border:     hsl(210,20%,90%);
      --input:      hsl(210,20%,90%);
      --ring:       hsl(204,98%,43%);
      --orange:     hsl(24,95%,50%);
      --orange-h:   hsl(24,95%,44%);
      --green:      hsl(142,71%,35%);
      --green-h:    hsl(142,71%,28%);
      --r:          0.5rem;
      --fh:         'Montserrat',sans-serif;
      --fb:         'Open Sans',sans-serif;
    }

    /* ─── Reset ─── */
    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
    body{font-family:var(--fb);background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased}
    a{text-decoration:none;color:inherit}
    button,input,textarea,select{font-family:var(--fb)}
    h1,h2,h3,h4,h5,h6{font-family:var(--fh)}
    ul{list-style:none}

    /* ─── Announcement Bar ─── */
    .ann-bar{background:var(--fg);color:rgba(255,255,255,.9);text-align:center;font-size:.8rem;font-weight:500;padding:7px 1rem;letter-spacing:.02em}

    /* ─── Top Bar ─── */
    .top-bar{background:var(--primary);color:var(--primary-fg)}
    .top-bar-inner{max-width:1400px;margin:0 auto;padding:8px 2rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:.84rem;font-weight:500}
    .tbl{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
    .tbr{display:flex;align-items:center;gap:10px}
    .top-bar a{display:flex;align-items:center;gap:5px;color:var(--primary-fg);opacity:.92;transition:opacity .2s}
    .top-bar a:hover{opacity:1}
    .tb-badge{background:var(--secondary);color:#fff;padding:3px 10px;border-radius:4px;font-size:.7rem;font-family:var(--fh);font-weight:700;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
    .tb-outline{background:rgba(255,255,255,.15);color:#fff;padding:3px 10px;border-radius:4px;font-size:.7rem;font-family:var(--fh);font-weight:700;text-transform:uppercase;letter-spacing:.06em;display:flex;align-items:center;gap:4px;white-space:nowrap}
    .tb-sep{opacity:.4}    

    /* ─── Hero Banner ─── */
    .hero{background:var(--primary);color:var(--primary-fg);padding:56px 1.5rem;text-align:center}
    .hero h1{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:800;margin-bottom:10px}
    .hero p{font-size:1rem;opacity:.82; color: #FFF;}

    /* ─── Body Section ─── */
    .body-sec{background:var(--muted);padding:2rem 1.5rem 4rem}
    .body-inner{max-width:768px;margin:0 auto}

    /* ─── Step Indicator ─── */
    .step-ind{display:flex;align-items:center;justify-content:center;padding:2rem 0}
    .step-line{height:2px;width:5rem;transition:background .3s}
    .step-line.done{background:var(--primary)}
    .step-line.pending{background:var(--border)}
    .step-col{display:flex;flex-direction:column;align-items:center;gap:6px}
    .step-circle{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:700;font-family:var(--fh);transition:background .3s,color .3s}
    .step-circle.done,.step-circle.active{background:var(--primary);color:#fff}
    .step-circle.pending{background:var(--muted-fg);color:#fff;opacity:.45}
    .step-label-txt{font-size:.75rem;font-weight:600;color:var(--muted-fg)}
    .step-label-txt.active{color:var(--primary)}
    @media(max-width:480px){
        .step-line{width:2.5rem}.step-label-txt{display:none}
        .body-sec {padding: 2rem 1rem 4rem;}
        .card {padding: 1.15rem;}
    }

    /* ─── Card ─── */
    .card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:1.75rem;box-shadow:0 1px 6px rgba(0,0,0,.06);animation:fadeUp .35s ease both}
    @keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
    .card+.card{margin-top:1.25rem}

    /* ─── Form elements ─── */
    .fgroup{margin-bottom:1.25rem}
    label.flabel{display:block;font-size:.875rem;font-weight:600;margin-bottom:6px}
    .finput,.ftextarea{width:100%;padding:10px 13px;border:1px solid var(--input);border-radius:var(--r);background:var(--bg);font-size:.875rem;color:var(--fg);outline:none;transition:border-color .2s,box-shadow .2s;font-family:var(--fb)}
    .finput::placeholder,.ftextarea::placeholder{color:var(--muted-fg)}
    .finput:focus,.ftextarea:focus{border-color:var(--ring);box-shadow:0 0 0 3px rgba(2,132,199,.12)}
    .finput.err{border-color:hsl(0,72%,51%);box-shadow:0 0 0 3px rgba(220,38,38,.1)}
    .ferr{display:none;font-size:.75rem;color:hsl(0,72%,51%);margin-top:4px;align-items:center;gap:4px}
    .ferr.show{display:flex}
    .ftextarea{resize:vertical;min-height:120px}

    /* ─── Counter ─── */
    .counter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-bottom:1.25rem}
    @media(max-width:480px){.counter-grid{grid-template-columns:repeat(2,1fr)}}
    .counter-wrap label.flabel{margin-bottom:8px}
    .counter-row{display:flex;align-items:center;gap:0}
    .cnt-btn{width:40px;height:40px;border:1px solid var(--border);background:var(--card);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.1rem;transition:background .15s;flex-shrink:0}
    .cnt-btn:first-child{border-radius:var(--r) 0 0 var(--r)}
    .cnt-btn:last-child{border-radius:0 var(--r) var(--r) 0}
    .cnt-btn:hover{background:var(--muted)}
    .cnt-val{
      width:52px;
      height:40px;
      text-align:center;
      font-size:1rem;
      font-weight:700;
      border:1px solid var(--border);
      border-left:none;
      border-right:none;
      background:var(--bg);
      font-family:var(--fb);
      color:var(--fg);
      outline:none;
      padding:0;
      -moz-appearance:textfield;
    }
    .cnt-val:focus{border-color:var(--ring);background:hsl(204,98%,99%)}
    /* hide spin arrows in webkit */
    .cnt-val::-webkit-outer-spin-button,
    .cnt-val::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

    /* ─── Yes/No Toggle (Radio style) ─── */
    .yn-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:1.1rem}
    .yn-label{font-size:.875rem;font-weight:600;margin-bottom:.75rem}
    .yn-row{display:flex;gap:.75rem}
    .yn-btn{
      flex:1;
      display:flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      padding:10px 14px;
      border-radius:var(--r);
      border:1.5px solid var(--border);
      background:var(--bg);
      font-size:.875rem;
      font-weight:600;
      cursor:pointer;
      transition:all .2s;
      font-family:var(--fb);
      color:var(--fg);
      position:relative;
    }
	.yn-btn input {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
}
    .yn-btn:hover{border-color:var(--primary)}
    .yn-btn.sel {
  border-color: var(--primary);
  background: hsl(204, 98.2%, 42.9%);
  color: hsl(0, 0%, 100%);
}
    .yn-btn.sel::before{
      border-color:var(--primary);
      background:var(--primary);
      box-shadow:inset 0 0 0 3px #fff;
    }

    /* ─── Trust badges ─── */
    .trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:1.5rem}
    @media(max-width:600px){.trust-grid{grid-template-columns:repeat(2,1fr)}}
    .trust-item{display:flex;flex-direction:column;align-items:center;gap:6px;border:1px solid var(--border);border-radius:12px;background:rgba(210,217,227,.15);padding:.875rem .5rem;text-align:center}
    .trust-icon{width:20px;height:20px}
    .trust-icon.green{color:hsl(142,71%,35%)}
    .trust-icon.yellow{color:hsl(45,93%,47%)}
    .trust-icon.blue{color:var(--primary)}
    .trust-icon.purple{color:hsl(271,81%,56%)}
    .trust-text{font-size:.7rem;font-weight:600;line-height:1.3}

    /* ─── Included list ─── */
    .included-box{background:var(--muted);border-radius:12px;padding:1.1rem;margin-bottom:1.5rem}
    .included-box h4{font-size:.875rem;font-weight:700;margin-bottom:.75rem}
    .inc-item{display:flex;align-items:flex-start;gap:8px;font-size:.875rem;margin-bottom:8px;line-height:1.5}
    .inc-icon{flex-shrink:0;margin-top:2px;color:var(--secondary)}

    /* ─── Toggles grid ─── */
    .yn-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.75rem}
    @media(max-width:540px){.yn-grid{grid-template-columns:1fr}}

    /* ─── File Upload ─── */
    .file-zone{
      display:flex;align-items:center;gap:8px;
      border:1px solid var(--input);
      border-radius:var(--r);
      background:var(--bg);
      padding:11px 13px;
      cursor:pointer;
      transition:border-color .2s,box-shadow .2s;
      font-size:.875rem;
      color:var(--muted-fg);
    }
    .file-zone:hover{border-color:var(--primary);box-shadow:0 0 0 3px rgba(2,132,199,.08)}
    .file-list{margin-top:.75rem;display:flex;flex-direction:column;gap:6px}
    .file-item{display:flex;align-items:center;justify-content:space-between;background:var(--muted);border-radius:var(--r);padding:7px 12px;font-size:.8rem}
    .file-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:80%}
    .file-rm{background:none;border:none;cursor:pointer;color:var(--muted-fg);display:flex;align-items:center;padding:2px;border-radius:4px;transition:color .15s}
    .file-rm:hover{color:hsl(0,72%,51%)}

    /* ─── Buttons ─── */
    .btn{display:inline-flex;align-items:center;gap:6px;padding:11px 22px;border-radius:var(--r);font-size:.9rem;font-weight:700;font-family:var(--fh);border:none;cursor:pointer;transition:all .2s}
    .btn-primary{background:var(--primary);color:#fff}
    .btn-primary:hover:not(:disabled){background:hsl(204,98%,36%)}
    .btn-primary:disabled{opacity:.5;cursor:not-allowed}
    .btn-outline{background:transparent;color:var(--fg);border:1px solid var(--border)}
    .btn-outline:hover{background:var(--muted)}
    .btn-orange{background:var(--orange);color:#fff;flex:1;justify-content:center}
    .btn-orange:hover{background:var(--orange-h)}
    .btn-row{display:flex;gap:.75rem;margin-top:1.5rem;flex-wrap:wrap}

    /* ─── Summary card (step 3) ─── */
    .summary-cols{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:1.5rem}
    @media(max-width:540px){.summary-cols{grid-template-columns:1fr}}
    .sum-group p.sum-head{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted-fg);margin-bottom:.5rem}
    .sum-group p{font-size:.875rem;margin-bottom:3px}
    .sum-group p span{font-weight:700}
    .quote-ready{background:var(--muted);border-radius:12px;padding:1.5rem;text-align:center;margin-bottom:1.5rem}
    .quote-ready-icon{width:40px;height:40px;margin:0 auto 12px;color:var(--secondary)}
    .quote-ready h3{font-size:1.125rem;font-weight:700;margin-bottom:6px}
    .quote-ready p{font-size:.875rem;color:var(--muted-fg);max-width:420px;margin:0 auto}
    .or-sep{display:flex;align-items:center;gap:.75rem;color:var(--muted-fg);font-size:.75rem;font-weight:600;text-transform:uppercase;margin:.75rem 0}
    .or-line{flex:1;height:1px;background:var(--border)}
    .btn-wa{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:1rem;border-radius:var(--r);background:var(--green);color:#fff;font-size:1rem;font-weight:700;font-family:var(--fh);border:none;cursor:pointer;transition:background .2s}
    .btn-wa:hover{background:var(--green-h)}
    .btn-call{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:.875rem;border-radius:var(--r);border:2px solid var(--primary);color:var(--primary);background:transparent;font-size:.9rem;font-weight:700;font-family:var(--fh);cursor:pointer;transition:all .2s}
    .btn-call:hover{background:var(--primary);color:#fff}
    .btn-callback{display:block;text-align:center;font-size:.875rem;font-weight:500;color:var(--primary);text-decoration:underline;text-underline-offset:2px;background:none;border:none;cursor:pointer;margin:.75rem auto 0}
    .custom-req{border-radius:8px;border-left:4px solid var(--primary);background:hsl(220,14%,96%);padding:.75rem 1rem;font-size:.875rem;white-space:pre-wrap;word-break:break-word}

    /* ─── Selection summary (step 2 top) ─── */
    .sel-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:1.1rem 1.4rem;box-shadow:0 1px 4px rgba(0,0,0,.06)}
    .sel-head{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted-fg);margin-bottom:.6rem}
    .sel-list li{font-size:.875rem;margin-bottom:3px}
    .sel-list li span{font-weight:700}

    /* ─── CTA / Footer same as careers page ─── */
    .cta-sec{background:var(--secondary);color:#fff;padding:3rem 1.5rem;text-align:center}
    .cta-sec h2{font-size:clamp(1.5rem,3vw,2rem);font-weight:700;margin-bottom:10px}
    .cta-sec p{opacity:.82;margin-bottom:1.5rem;font-size:.9375rem}
    .cta-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
    .cta-btn-p{display:inline-flex;align-items:center;gap:8px;background:var(--primary);color:#fff;padding:12px 24px;border-radius:var(--r);font-weight:700;font-family:var(--fh);font-size:.9rem;transition:opacity .2s}
    .cta-btn-p:hover{opacity:.9}
    .cta-btn-o{display:inline-flex;align-items:center;gap:8px;border:2px solid rgba(255,255,255,.85);color:#fff;padding:12px 24px;border-radius:var(--r);font-weight:700;font-family:var(--fh);font-size:.9rem;transition:background .2s}
    .cta-btn-o:hover{background:rgba(255,255,255,.12)}