{"id":8,"date":"2026-06-11T17:59:33","date_gmt":"2026-06-11T17:59:33","guid":{"rendered":"https:\/\/securicoguards.co.uk\/?page_id=8"},"modified":"2026-06-12T01:31:41","modified_gmt":"2026-06-12T01:31:41","slug":"home","status":"publish","type":"page","link":"https:\/\/securicoguards.co.uk\/","title":{"rendered":"Home"},"content":{"rendered":"\n<script>\n(function () {\n  var root = document.getElementById('sec-quote');\n  if (!root) return;\n\n  \/* =================================================================\n     BACKEND PRICING ENGINE \u2014 NEVER shown to the customer.\n     The visitor only ever sees the final bill rate.\n     >>> RETUNE EVERY APRIL when wage rates change. <\n     UK floor (Apr 2026): NLW \u00a312.71 | Real LW \u00a313.45 | London LW \u00a314.80\n     ================================================================= *\/\n  var SEC = {\n    \/\/ 1) Guard PAY by region (\u00a3\/hr) \u2014 what the officer actually earns\n    guardPay: {\n      london_central: 15.50,\n      london_outer:   14.20,\n      major_city:     13.20,   \/\/ Manchester, Birmingham, Leeds, Bristol, Glasgow\u2026\n      other:          12.71    \/\/ rest of UK \u2014 statutory NLW floor\n    },\n    \/\/ 2) Bill multiplier = on-costs (employer NI, holiday, pension, training,\n    \/\/    uniform, insurance) + your gross margin. ~1.43 \u2248 28% on-cost \u00d7 12% margin.\n    \/\/    Deliberately thinner than the US model.\n    billMultiplier: 1.43,\n    \/\/ 3) Service-type adjustment on the bill rate\n    serviceFactor: {\n      manned: 1.00, mobile: 1.06, retail: 1.03,\n      construction: 1.05, event: 1.20, corporate: 1.12\n    },\n    \/\/ 4) Never quote below this (\u00a3\/hr)\n    minBill: 18.00\n  };\n\n  var serviceNames = {\n    manned:'Manned Guarding', mobile:'Mobile Patrol', retail:'Retail Security',\n    construction:'Construction Site', event:'Event Security', corporate:'Corporate \/ Concierge'\n  };\n  var regionNames = {\n    london_central:'Central London', london_outer:'Greater London',\n    major_city:'Major UK city', other:'UK'\n  };\n\n  var state = {\n    step: 1, service: null, region: null, postcode: '',\n    activeDays: [], hoursPerDay: 8, guards: 1,\n    contact: { name:'', company:'', email:'', phone:'', message:'' }\n  };\n\n  \/* ---------- pricing ---------- *\/\n  function weeklyHours(){ return state.activeDays.length * (state.hoursPerDay || 0); }\n  function billRate(){\n    if(!state.service || !state.region) return 0;\n    var base = SEC.guardPay[state.region] * SEC.billMultiplier * (SEC.serviceFactor[state.service]||1);\n    return Math.max(base, SEC.minBill);\n  }\n  function quote(){\n    var W = weeklyHours(), G = state.guards, R = billRate();\n    var daily = (W\/7) * R;\n    return { hourly:R, weekly:daily*7*G, semi:daily*15*G, monthly:daily*30*G, annual:daily*365*G };\n  }\n  function gbp(n, dp){\n    dp = dp || 0;\n    return '\u00a3' + Number(n).toLocaleString('en-GB',{minimumFractionDigits:dp,maximumFractionDigits:dp});\n  }\n\n  \/* ---------- helpers ---------- *\/\n  var $ = function(sel){ return root.querySelector(sel); };\n  var $$ = function(sel){ return Array.prototype.slice.call(root.querySelectorAll(sel)); };\n  function steps(){ return $$('.sec-step'); }\n\n  \/* ---------- navigation ---------- *\/\n  function show(n){\n    state.step = n;\n    steps().forEach(function(s){ s.classList.toggle('is-active', +s.dataset.step === n); });\n    $$('[data-sec-dots] span').forEach(function(d,i){ d.classList.toggle('is-on', i < n); });\n    $('[data-back]').hidden = (n === 1);\n    var next = $('[data-next]'), foot = $('[data-foot]');\n    if (n === 5){ foot.style.display='none'; renderQuote(); }\n    else { foot.style.display='flex'; next.textContent = (n === 4) ? 'See my estimate' : 'Continue'; }\n  }\n\n  function valid(n){\n    if (n === 1) return !!state.service;\n    if (n === 2) return !!state.region;\n    if (n === 3) return weeklyHours() > 0 && state.guards >= 1;\n    if (n === 4){\n      state.contact.name = $('[data-name]').value.trim();\n      state.contact.company = $('[data-company]').value.trim();\n      state.contact.email = $('[data-email]').value.trim();\n      state.contact.phone = $('[data-phone]').value.trim();\n      state.contact.message = $('[data-message]').value.trim();\n      var okEmail = \/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/.test(state.contact.email);\n      if (!state.contact.name || !okEmail || !state.contact.phone){\n        alert('Please add your name, a valid email and a phone number.');\n        return false;\n      }\n    }\n    return true;\n  }\n\n  \/* ---------- step 1: service ---------- *\/\n  $$('.sec-card').forEach(function(card){\n    card.addEventListener('click', function(){\n      $$('.sec-card').forEach(function(c){ c.classList.remove('is-on'); });\n      card.classList.add('is-on');\n      state.service = card.dataset.service;\n      setTimeout(function(){ show(2); }, 180);\n    });\n  });\n\n  \/* ---------- step 2: region ---------- *\/\n  $$('.sec-pill').forEach(function(p){\n    p.addEventListener('click', function(){\n      $$('.sec-pill').forEach(function(x){ x.classList.remove('is-on'); });\n      p.classList.add('is-on');\n      state.region = p.dataset.region;\n    });\n  });\n  $('[data-postcode]').addEventListener('input', function(e){ state.postcode = e.target.value; });\n\n  \/* ---------- step 3: schedule ---------- *\/\n  function syncDays(){\n    state.activeDays = $$('.sec-day.is-on').map(function(d){ return d.dataset.day; });\n    $('[data-weekly]').textContent = weeklyHours() + ' hrs';\n  }\n  $$('.sec-day').forEach(function(d){\n    d.addEventListener('click', function(){ d.classList.toggle('is-on'); syncDays(); });\n  });\n  $('[data-hours]').addEventListener('input', function(e){\n    state.hoursPerDay = Math.max(0, Math.min(24, parseInt(e.target.value || '0', 10)));\n    $('[data-weekly]').textContent = weeklyHours() + ' hrs';\n  });\n  root.querySelector('[data-guard=\"-\"]').addEventListener('click', function(){\n    state.guards = Math.max(1, state.guards - 1); $('[data-guard-val]').textContent = state.guards;\n  });\n  root.querySelector('[data-guard=\"+\"]').addEventListener('click', function(){\n    state.guards = Math.min(20, state.guards + 1); $('[data-guard-val]').textContent = state.guards;\n  });\n  var presets = {\n    '247':    { days:['mon','tue','wed','thu','fri','sat','sun'], hours:24 },\n    'weekday':{ days:['mon','tue','wed','thu','fri'], hours:9 },\n    'nights': { days:['mon','tue','wed','thu','fri','sat','sun'], hours:12 },\n    'weekend':{ days:['sat','sun'], hours:12 }\n  };\n  $$('.sec-preset').forEach(function(btn){\n    btn.addEventListener('click', function(){\n      $$('.sec-preset').forEach(function(b){ b.classList.remove('is-on'); });\n      btn.classList.add('is-on');\n      var p = presets[btn.dataset.preset];\n      $$('.sec-day').forEach(function(d){ d.classList.toggle('is-on', p.days.indexOf(d.dataset.day) > -1); });\n      $('[data-hours]').value = p.hours; state.hoursPerDay = p.hours;\n      syncDays();\n    });\n  });\n  $('[data-ai]').addEventListener('click', function(e){\n    e.preventDefault();\n    alert('AI scheduler is coming soon \u2014 for now, pick your days and hours below.');\n  });\n\n  \/* ---------- step 5: quote render ---------- *\/\n  function renderQuote(){\n    var q = quote();\n    $('[data-r-hourly]').textContent  = gbp(q.hourly, 2);\n    $('[data-r-weekly]').textContent  = gbp(q.weekly);\n    $('[data-r-semi]').textContent    = gbp(q.semi);\n    $('[data-r-monthly]').textContent = gbp(q.monthly);\n    $('[data-r-annual]').textContent  = gbp(q.annual);\n    $('[data-result-summary]').textContent =\n      serviceNames[state.service] + ' in ' + regionNames[state.region] +\n      ' \u2014 ' + weeklyHours() + ' hrs\/week, ' + state.guards +\n      ' officer' + (state.guards>1?'s':'') + ' per shift.';\n  }\n\n  \/* ---------- submit ---------- *\/\n  $('[data-submit]').addEventListener('click', function(){\n    var payload = {\n      service: state.service, region: state.region, postcode: state.postcode,\n      weeklyHours: weeklyHours(), guards: state.guards,\n      contact: state.contact, estimate: quote()\n    };\n    \/\/ TODO: wire to email\/CRM (WP Mail SMTP + form handler) in a later step.\n    console.log('SECURICO quote request:', payload);\n    $('[data-result]').hidden = true;\n    $('[data-done]').hidden = false;\n  });\n  $('[data-restart]').addEventListener('click', function(){ location.reload(); });\n\n  \/* ---------- footer buttons ---------- *\/\n  $('[data-next]').addEventListener('click', function(){\n    if (valid(state.step)) show(Math.min(5, state.step + 1));\n  });\n  $('[data-back]').addEventListener('click', function(){ show(Math.max(1, state.step - 1)); });\n\n  show(1);\n})();\n<\/script>\n\n\n\n<script>\n(function () {\n  var root = document.getElementById('sec-quote');\n  if (!root) return;\n\n  \/* =================================================================\n     BACKEND PRICING ENGINE \u2014 NEVER shown to the customer.\n     The visitor only ever sees the final bill rate.\n     >>> RETUNE EVERY APRIL when wage rates change. <\n     UK floor (Apr 2026): NLW \u00a312.71 | Real LW \u00a313.45 | London LW \u00a314.80\n     ================================================================= *\/\n  var SEC = {\n    \/\/ 1) Guard PAY by region (\u00a3\/hr) \u2014 what the officer actually earns\n    guardPay: {\n      london_central: 15.50,\n      london_outer:   14.20,\n      major_city:     13.20,   \/\/ Manchester, Birmingham, Leeds, Bristol, Glasgow\u2026\n      other:          12.71    \/\/ rest of UK \u2014 statutory NLW floor\n    },\n    \/\/ 2) Bill multiplier = on-costs (employer NI, holiday, pension, training,\n    \/\/    uniform, insurance) + your gross margin. ~1.43 \u2248 28% on-cost \u00d7 12% margin.\n    \/\/    Deliberately thinner than the US model.\n    billMultiplier: 1.43,\n    \/\/ 3) Service-type adjustment on the bill rate\n    serviceFactor: {\n      manned: 1.00, mobile: 1.06, retail: 1.03,\n      construction: 1.05, event: 1.20, corporate: 1.12\n    },\n    \/\/ 4) Never quote below this (\u00a3\/hr)\n    minBill: 18.00\n  };\n\n  var serviceNames = {\n    manned:'Manned Guarding', mobile:'Mobile Patrol', retail:'Retail Security',\n    construction:'Construction Site', event:'Event Security', corporate:'Corporate \/ Concierge'\n  };\n  var regionNames = {\n    london_central:'Central London', london_outer:'Greater London',\n    major_city:'Major UK city', other:'UK'\n  };\n\n  var state = {\n    step: 1, service: null, region: null, postcode: '',\n    activeDays: [], hoursPerDay: 8, guards: 1,\n    contact: { name:'', company:'', email:'', phone:'', message:'' }\n  };\n\n  \/* ---------- pricing ---------- *\/\n  function weeklyHours(){ return state.activeDays.length * (state.hoursPerDay || 0); }\n  function billRate(){\n    if(!state.service || !state.region) return 0;\n    var base = SEC.guardPay[state.region] * SEC.billMultiplier * (SEC.serviceFactor[state.service]||1);\n    return Math.max(base, SEC.minBill);\n  }\n  function quote(){\n    var W = weeklyHours(), G = state.guards, R = billRate();\n    var daily = (W\/7) * R;\n    return { hourly:R, weekly:daily*7*G, semi:daily*15*G, monthly:daily*30*G, annual:daily*365*G };\n  }\n  function gbp(n, dp){\n    dp = dp || 0;\n    return '\u00a3' + Number(n).toLocaleString('en-GB',{minimumFractionDigits:dp,maximumFractionDigits:dp});\n  }\n\n  \/* ---------- helpers ---------- *\/\n  var $ = function(sel){ return root.querySelector(sel); };\n  var $$ = function(sel){ return Array.prototype.slice.call(root.querySelectorAll(sel)); };\n  function steps(){ return $$('.sec-step'); }\n\n  \/* ---------- navigation ---------- *\/\n  function show(n){\n    state.step = n;\n    steps().forEach(function(s){ s.classList.toggle('is-active', +s.dataset.step === n); });\n    $$('[data-sec-dots] span').forEach(function(d,i){ d.classList.toggle('is-on', i < n); });\n    $('[data-back]').hidden = (n === 1);\n    var next = $('[data-next]'), foot = $('[data-foot]');\n    if (n === 5){ foot.style.display='none'; renderQuote(); }\n    else { foot.style.display='flex'; next.textContent = (n === 4) ? 'See my estimate' : 'Continue'; }\n  }\n\n  function valid(n){\n    if (n === 1) return !!state.service;\n    if (n === 2) return !!state.region;\n    if (n === 3) return weeklyHours() > 0 && state.guards >= 1;\n    if (n === 4){\n      state.contact.name = $('[data-name]').value.trim();\n      state.contact.company = $('[data-company]').value.trim();\n      state.contact.email = $('[data-email]').value.trim();\n      state.contact.phone = $('[data-phone]').value.trim();\n      state.contact.message = $('[data-message]').value.trim();\n      var okEmail = \/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/.test(state.contact.email);\n      if (!state.contact.name || !okEmail || !state.contact.phone){\n        alert('Please add your name, a valid email and a phone number.');\n        return false;\n      }\n    }\n    return true;\n  }\n\n  \/* ---------- step 1: service ---------- *\/\n  $$('.sec-card').forEach(function(card){\n    card.addEventListener('click', function(){\n      $$('.sec-card').forEach(function(c){ c.classList.remove('is-on'); });\n      card.classList.add('is-on');\n      state.service = card.dataset.service;\n      setTimeout(function(){ show(2); }, 180);\n    });\n  });\n\n  \/* ---------- step 2: region ---------- *\/\n  $$('.sec-pill').forEach(function(p){\n    p.addEventListener('click', function(){\n      $$('.sec-pill').forEach(function(x){ x.classList.remove('is-on'); });\n      p.classList.add('is-on');\n      state.region = p.dataset.region;\n    });\n  });\n  $('[data-postcode]').addEventListener('input', function(e){ state.postcode = e.target.value; });\n\n  \/* ---------- step 3: schedule ---------- *\/\n  function syncDays(){\n    state.activeDays = $$('.sec-day.is-on').map(function(d){ return d.dataset.day; });\n    $('[data-weekly]').textContent = weeklyHours() + ' hrs';\n  }\n  $$('.sec-day').forEach(function(d){\n    d.addEventListener('click', function(){ d.classList.toggle('is-on'); syncDays(); });\n  });\n  $('[data-hours]').addEventListener('input', function(e){\n    state.hoursPerDay = Math.max(0, Math.min(24, parseInt(e.target.value || '0', 10)));\n    $('[data-weekly]').textContent = weeklyHours() + ' hrs';\n  });\n  root.querySelector('[data-guard=\"-\"]').addEventListener('click', function(){\n    state.guards = Math.max(1, state.guards - 1); $('[data-guard-val]').textContent = state.guards;\n  });\n  root.querySelector('[data-guard=\"+\"]').addEventListener('click', function(){\n    state.guards = Math.min(20, state.guards + 1); $('[data-guard-val]').textContent = state.guards;\n  });\n  var presets = {\n    '247':    { days:['mon','tue','wed','thu','fri','sat','sun'], hours:24 },\n    'weekday':{ days:['mon','tue','wed','thu','fri'], hours:9 },\n    'nights': { days:['mon','tue','wed','thu','fri','sat','sun'], hours:12 },\n    'weekend':{ days:['sat','sun'], hours:12 }\n  };\n  $$('.sec-preset').forEach(function(btn){\n    btn.addEventListener('click', function(){\n      $$('.sec-preset').forEach(function(b){ b.classList.remove('is-on'); });\n      btn.classList.add('is-on');\n      var p = presets[btn.dataset.preset];\n      $$('.sec-day').forEach(function(d){ d.classList.toggle('is-on', p.days.indexOf(d.dataset.day) > -1); });\n      $('[data-hours]').value = p.hours; state.hoursPerDay = p.hours;\n      syncDays();\n    });\n  });\n  $('[data-ai]').addEventListener('click', function(e){\n    e.preventDefault();\n    alert('AI scheduler is coming soon \u2014 for now, pick your days and hours below.');\n  });\n\n  \/* ---------- step 5: quote render ---------- *\/\n  function renderQuote(){\n    var q = quote();\n    $('[data-r-hourly]').textContent  = gbp(q.hourly, 2);\n    $('[data-r-weekly]').textContent  = gbp(q.weekly);\n    $('[data-r-semi]').textContent    = gbp(q.semi);\n    $('[data-r-monthly]').textContent = gbp(q.monthly);\n    $('[data-r-annual]').textContent  = gbp(q.annual);\n    $('[data-result-summary]').textContent =\n      serviceNames[state.service] + ' in ' + regionNames[state.region] +\n      ' \u2014 ' + weeklyHours() + ' hrs\/week, ' + state.guards +\n      ' officer' + (state.guards>1?'s':'') + ' per shift.';\n  }\n\n  \/* ---------- submit ---------- *\/\n  $('[data-submit]').addEventListener('click', function(){\n    var payload = {\n      service: state.service, region: state.region, postcode: state.postcode,\n      weeklyHours: weeklyHours(), guards: state.guards,\n      contact: state.contact, estimate: quote()\n    };\n    \/\/ TODO: wire to email\/CRM (WP Mail SMTP + form handler) in a later step.\n    console.log('SECURICO quote request:', payload);\n    $('[data-result]').hidden = true;\n    $('[data-done]').hidden = false;\n  });\n  $('[data-restart]').addEventListener('click', function(){ location.reload(); });\n\n  \/* ---------- footer buttons ---------- *\/\n  $('[data-next]').addEventListener('click', function(){\n    if (valid(state.step)) show(Math.min(5, state.step + 1));\n  });\n  $('[data-back]').addEventListener('click', function(){ show(Math.max(1, state.step - 1)); });\n\n  show(1);\n})();\n<\/script>\n\n\n\n<script>\n(function () {\n  var root = document.getElementById('sec-quote');\n  if (!root) return;\n\n  \/* =================================================================\n     BACKEND PRICING ENGINE \u2014 NEVER shown to the customer.\n     The visitor only ever sees the final bill rate.\n     >>> RETUNE EVERY APRIL when wage rates change. <\n     UK floor (Apr 2026): NLW \u00a312.71 | Real LW \u00a313.45 | London LW \u00a314.80\n     ================================================================= *\/\n  var SEC = {\n    \/\/ 1) Guard PAY by region (\u00a3\/hr) \u2014 what the officer actually earns\n    guardPay: {\n      london_central: 15.50,\n      london_outer:   14.20,\n      major_city:     13.20,   \/\/ Manchester, Birmingham, Leeds, Bristol, Glasgow\u2026\n      other:          12.71    \/\/ rest of UK \u2014 statutory NLW floor\n    },\n    \/\/ 2) Bill multiplier = on-costs (employer NI, holiday, pension, training,\n    \/\/    uniform, insurance) + your gross margin. ~1.43 \u2248 28% on-cost \u00d7 12% margin.\n    \/\/    Deliberately thinner than the US model.\n    billMultiplier: 1.43,\n    \/\/ 3) Service-type adjustment on the bill rate\n    serviceFactor: {\n      manned: 1.00, mobile: 1.06, retail: 1.03,\n      construction: 1.05, event: 1.20, corporate: 1.12\n    },\n    \/\/ 4) Never quote below this (\u00a3\/hr)\n    minBill: 18.00\n  };\n\n  var serviceNames = {\n    manned:'Manned Guarding', mobile:'Mobile Patrol', retail:'Retail Security',\n    construction:'Construction Site', event:'Event Security', corporate:'Corporate \/ Concierge'\n  };\n  var regionNames = {\n    london_central:'Central London', london_outer:'Greater London',\n    major_city:'Major UK city', other:'UK'\n  };\n\n  var state = {\n    step: 1, service: null, region: null, postcode: '',\n    activeDays: [], hoursPerDay: 8, guards: 1,\n    contact: { name:'', company:'', email:'', phone:'', message:'' }\n  };\n\n  \/* ---------- pricing ---------- *\/\n  function weeklyHours(){ return state.activeDays.length * (state.hoursPerDay || 0); }\n  function billRate(){\n    if(!state.service || !state.region) return 0;\n    var base = SEC.guardPay[state.region] * SEC.billMultiplier * (SEC.serviceFactor[state.service]||1);\n    return Math.max(base, SEC.minBill);\n  }\n  function quote(){\n    var W = weeklyHours(), G = state.guards, R = billRate();\n    var daily = (W\/7) * R;\n    return { hourly:R, weekly:daily*7*G, semi:daily*15*G, monthly:daily*30*G, annual:daily*365*G };\n  }\n  function gbp(n, dp){\n    dp = dp || 0;\n    return '\u00a3' + Number(n).toLocaleString('en-GB',{minimumFractionDigits:dp,maximumFractionDigits:dp});\n  }\n\n  \/* ---------- helpers ---------- *\/\n  var $ = function(sel){ return root.querySelector(sel); };\n  var $$ = function(sel){ return Array.prototype.slice.call(root.querySelectorAll(sel)); };\n  function steps(){ return $$('.sec-step'); }\n\n  \/* ---------- navigation ---------- *\/\n  function show(n){\n    state.step = n;\n    steps().forEach(function(s){ s.classList.toggle('is-active', +s.dataset.step === n); });\n    $$('[data-sec-dots] span').forEach(function(d,i){ d.classList.toggle('is-on', i < n); });\n    $('[data-back]').hidden = (n === 1);\n    var next = $('[data-next]'), foot = $('[data-foot]');\n    if (n === 5){ foot.style.display='none'; renderQuote(); }\n    else { foot.style.display='flex'; next.textContent = (n === 4) ? 'See my estimate' : 'Continue'; }\n  }\n\n  function valid(n){\n    if (n === 1) return !!state.service;\n    if (n === 2) return !!state.region;\n    if (n === 3) return weeklyHours() > 0 && state.guards >= 1;\n    if (n === 4){\n      state.contact.name = $('[data-name]').value.trim();\n      state.contact.company = $('[data-company]').value.trim();\n      state.contact.email = $('[data-email]').value.trim();\n      state.contact.phone = $('[data-phone]').value.trim();\n      state.contact.message = $('[data-message]').value.trim();\n      var okEmail = \/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/.test(state.contact.email);\n      if (!state.contact.name || !okEmail || !state.contact.phone){\n        alert('Please add your name, a valid email and a phone number.');\n        return false;\n      }\n    }\n    return true;\n  }\n\n  \/* ---------- step 1: service ---------- *\/\n  $$('.sec-card').forEach(function(card){\n    card.addEventListener('click', function(){\n      $$('.sec-card').forEach(function(c){ c.classList.remove('is-on'); });\n      card.classList.add('is-on');\n      state.service = card.dataset.service;\n      setTimeout(function(){ show(2); }, 180);\n    });\n  });\n\n  \/* ---------- step 2: region ---------- *\/\n  $$('.sec-pill').forEach(function(p){\n    p.addEventListener('click', function(){\n      $$('.sec-pill').forEach(function(x){ x.classList.remove('is-on'); });\n      p.classList.add('is-on');\n      state.region = p.dataset.region;\n    });\n  });\n  $('[data-postcode]').addEventListener('input', function(e){ state.postcode = e.target.value; });\n\n  \/* ---------- step 3: schedule ---------- *\/\n  function syncDays(){\n    state.activeDays = $$('.sec-day.is-on').map(function(d){ return d.dataset.day; });\n    $('[data-weekly]').textContent = weeklyHours() + ' hrs';\n  }\n  $$('.sec-day').forEach(function(d){\n    d.addEventListener('click', function(){ d.classList.toggle('is-on'); syncDays(); });\n  });\n  $('[data-hours]').addEventListener('input', function(e){\n    state.hoursPerDay = Math.max(0, Math.min(24, parseInt(e.target.value || '0', 10)));\n    $('[data-weekly]').textContent = weeklyHours() + ' hrs';\n  });\n  root.querySelector('[data-guard=\"-\"]').addEventListener('click', function(){\n    state.guards = Math.max(1, state.guards - 1); $('[data-guard-val]').textContent = state.guards;\n  });\n  root.querySelector('[data-guard=\"+\"]').addEventListener('click', function(){\n    state.guards = Math.min(20, state.guards + 1); $('[data-guard-val]').textContent = state.guards;\n  });\n  var presets = {\n    '247':    { days:['mon','tue','wed','thu','fri','sat','sun'], hours:24 },\n    'weekday':{ days:['mon','tue','wed','thu','fri'], hours:9 },\n    'nights': { days:['mon','tue','wed','thu','fri','sat','sun'], hours:12 },\n    'weekend':{ days:['sat','sun'], hours:12 }\n  };\n  $$('.sec-preset').forEach(function(btn){\n    btn.addEventListener('click', function(){\n      $$('.sec-preset').forEach(function(b){ b.classList.remove('is-on'); });\n      btn.classList.add('is-on');\n      var p = presets[btn.dataset.preset];\n      $$('.sec-day').forEach(function(d){ d.classList.toggle('is-on', p.days.indexOf(d.dataset.day) > -1); });\n      $('[data-hours]').value = p.hours; state.hoursPerDay = p.hours;\n      syncDays();\n    });\n  });\n  $('[data-ai]').addEventListener('click', function(e){\n    e.preventDefault();\n    alert('AI scheduler is coming soon \u2014 for now, pick your days and hours below.');\n  });\n\n  \/* ---------- step 5: quote render ---------- *\/\n  function renderQuote(){\n    var q = quote();\n    $('[data-r-hourly]').textContent  = gbp(q.hourly, 2);\n    $('[data-r-weekly]').textContent  = gbp(q.weekly);\n    $('[data-r-semi]').textContent    = gbp(q.semi);\n    $('[data-r-monthly]').textContent = gbp(q.monthly);\n    $('[data-r-annual]').textContent  = gbp(q.annual);\n    $('[data-result-summary]').textContent =\n      serviceNames[state.service] + ' in ' + regionNames[state.region] +\n      ' \u2014 ' + weeklyHours() + ' hrs\/week, ' + state.guards +\n      ' officer' + (state.guards>1?'s':'') + ' per shift.';\n  }\n\n  \/* ---------- submit ---------- *\/\n  $('[data-submit]').addEventListener('click', function(){\n    var payload = {\n      service: state.service, region: state.region, postcode: state.postcode,\n      weeklyHours: weeklyHours(), guards: state.guards,\n      contact: state.contact, estimate: quote()\n    };\n    \/\/ TODO: wire to email\/CRM (WP Mail SMTP + form handler) in a later step.\n    console.log('SECURICO quote request:', payload);\n    $('[data-result]').hidden = true;\n    $('[data-done]').hidden = false;\n  });\n  $('[data-restart]').addEventListener('click', function(){ location.reload(); });\n\n  \/* ---------- footer buttons ---------- *\/\n  $('[data-next]').addEventListener('click', function(){\n    if (valid(state.step)) show(Math.min(5, state.step + 1));\n  });\n  $('[data-back]').addEventListener('click', function(){ show(Math.max(1, state.step - 1)); });\n\n  show(1);\n})();\n<\/script>\n\n\n\n<section class=\"sec-hero\" id=\"sec-hero\">\n  <div class=\"sec-hero-glow\"><\/div>\n  <div class=\"sec-wrap sec-hero-grid\">\n\n    <div class=\"sec-hero-copy\">\n      <span class=\"sec-eyebrow\">SIA Licensed <i class=\"sec-sep\">\u00b7<\/i> Nationwide UK Coverage<\/span>\n      <h1>Professional security guarding,<br><em>built around your site.<\/em><\/h1>\n      <p class=\"sec-lead\">SECURICO supplies SIA-licensed manned guarding across London and the whole of the UK \u2014 short-term or long-term, backed by a 24\/7 operations centre.<\/p>\n      <div class=\"sec-hero-stats\">\n        <div><strong>SIA<\/strong><span>Licensed officers<\/span><\/div>\n        <div><strong>24\/7<\/strong><span>Operations centre<\/span><\/div>\n        <div><strong>UK-wide<\/strong><span>Coverage<\/span><\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"sec-quote\" id=\"sec-quote\">\n      <div class=\"sec-quote-head\">\n        <div>\n          <div class=\"sec-quote-kicker\" data-quote-kicker>Get started<\/div>\n          <div class=\"sec-quote-title\" data-quote-title>Get a guarding quote<\/div>\n        <\/div>\n        <div class=\"sec-progpct\" data-progpct style=\"display:none;\">20%<\/div>\n      <\/div>\n      <div class=\"sec-prog\" style=\"display:none;\"><div class=\"sec-prog-fill\" data-progfill><\/div><\/div>\n\n      <div class=\"sec-quote-body\">\n\n        <div class=\"sec-mode\" data-mode>\n          <div class=\"sec-q\">How would you like to start?<\/div>\n          <div class=\"sec-cards sec-cards-2\">\n            <button class=\"sec-card sec-card-lg\" data-mode-pick=\"quote\">\n              <svg viewBox=\"0 0 24 24\"><path d=\"M13 2 4 14h6l-1 8 9-12h-6l1-8z\"\/><\/svg>\n              <span class=\"sec-card-txt\"><span class=\"sec-card-t\">Get an instant quote<\/span><span class=\"sec-card-d\">Indicative pricing in under a minute<\/span><\/span>\n            <\/button>\n            <button class=\"sec-card sec-card-lg\" data-mode-pick=\"tender\">\n              <svg viewBox=\"0 0 24 24\"><path d=\"M6 2h8l4 4v16H6V2zm8 1.5V6h2.5L14 3.5zM8 11h8v2H8v-2zm0 4h8v2H8v-2z\"\/><\/svg>\n              <span class=\"sec-card-txt\"><span class=\"sec-card-t\">Submit a tender<\/span><span class=\"sec-card-d\">Send your RFP, ITT or spec \u2014 we&#8217;ll respond formally<\/span><\/span>\n            <\/button>\n          <\/div>\n        <\/div>\n\n        <div class=\"sec-wizard\" data-wizard hidden>\n\n          <div class=\"sec-step is-active\" data-step=\"1\">\n            <div class=\"sec-q\">What kind of cover do you need?<\/div>\n            <div class=\"sec-cards sec-cards-2\">\n              <button class=\"sec-card sec-card-lg\" data-term=\"long\">\n                <svg viewBox=\"0 0 24 24\"><path d=\"M7 2v2H5a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-2V2h-2v2H9V2H7zm12 8H5v9h14v-9z\"\/><\/svg>\n                <span class=\"sec-card-txt\"><span class=\"sec-card-t\">Long-term contract<\/span><span class=\"sec-card-d\">Continuous manned guarding \u2014 from two months and up<\/span><\/span>\n              <\/button>\n              <button class=\"sec-card sec-card-lg\" data-term=\"short\">\n                <svg viewBox=\"0 0 24 24\"><path d=\"M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm1 10V6h-2v7h6v-2h-4z\"\/><\/svg>\n                <span class=\"sec-card-txt\"><span class=\"sec-card-t\">Short-term \/ temporary<\/span><span class=\"sec-card-d\">One-off or brief cover \u2014 events, holiday gaps, surges<\/span><\/span>\n              <\/button>\n            <\/div>\n          <\/div>\n\n          <div class=\"sec-step\" data-step=\"2\">\n            <div class=\"sec-q\">Where do you need security?<\/div>\n            <label class=\"sec-label\">Site address or postcode<\/label>\n            <div class=\"sec-ac\">\n              <input class=\"sec-input\" type=\"text\" data-address placeholder=\"Start typing the site address\u2026\" autocomplete=\"off\">\n              <div class=\"sec-ac-list\" data-ac-list hidden><\/div>\n            <\/div>\n            <p class=\"sec-hint\">SIA-licensed officers across England, Scotland, Wales &amp; Northern Ireland.<\/p>\n          <\/div>\n\n          <div class=\"sec-step\" data-step=\"3\">\n            <div class=\"sec-q\" data-step3q>When do you need cover?<\/div>\n\n            <div data-longsched>\n              <button class=\"sec-ai\" data-ai type=\"button\">\u2728 Build my schedule with AI<\/button>\n              <div data-schedgrid>\n                <div class=\"sec-presets\">\n                  <button class=\"sec-preset\" data-preset=\"247\">24\/7 Cover<\/button>\n                  <button class=\"sec-preset\" data-preset=\"weekday\">Weekdays 9\u20135<\/button>\n                  <button class=\"sec-preset\" data-preset=\"nights\">Nights<\/button>\n                  <button class=\"sec-preset\" data-preset=\"weekend\">Weekends<\/button>\n                <\/div>\n                <div class=\"sec-sched\" data-sched>\n                  <div class=\"sec-sched-row is-on\" data-srow=\"mon\"><button class=\"sec-stog\" data-stog type=\"button\">Mon<\/button><div class=\"sec-times\"><input type=\"time\" class=\"sec-time\" data-start value=\"09:00\"><span class=\"sec-dash\">\u2013<\/span><input type=\"time\" class=\"sec-time\" data-end value=\"17:00\"><\/div><span class=\"sec-shrs\" data-shrs>8h<\/span><\/div>\n                  <div class=\"sec-sched-row is-on\" data-srow=\"tue\"><button class=\"sec-stog\" data-stog type=\"button\">Tue<\/button><div class=\"sec-times\"><input type=\"time\" class=\"sec-time\" data-start value=\"09:00\"><span class=\"sec-dash\">\u2013<\/span><input type=\"time\" class=\"sec-time\" data-end value=\"17:00\"><\/div><span class=\"sec-shrs\" data-shrs>8h<\/span><\/div>\n                  <div class=\"sec-sched-row is-on\" data-srow=\"wed\"><button class=\"sec-stog\" data-stog type=\"button\">Wed<\/button><div class=\"sec-times\"><input type=\"time\" class=\"sec-time\" data-start value=\"09:00\"><span class=\"sec-dash\">\u2013<\/span><input type=\"time\" class=\"sec-time\" data-end value=\"17:00\"><\/div><span class=\"sec-shrs\" data-shrs>8h<\/span><\/div>\n                  <div class=\"sec-sched-row is-on\" data-srow=\"thu\"><button class=\"sec-stog\" data-stog type=\"button\">Thu<\/button><div class=\"sec-times\"><input type=\"time\" class=\"sec-time\" data-start value=\"09:00\"><span class=\"sec-dash\">\u2013<\/span><input type=\"time\" class=\"sec-time\" data-end value=\"17:00\"><\/div><span class=\"sec-shrs\" data-shrs>8h<\/span><\/div>\n                  <div class=\"sec-sched-row is-on\" data-srow=\"fri\"><button class=\"sec-stog\" data-stog type=\"button\">Fri<\/button><div class=\"sec-times\"><input type=\"time\" class=\"sec-time\" data-start value=\"09:00\"><span class=\"sec-dash\">\u2013<\/span><input type=\"time\" class=\"sec-time\" data-end value=\"17:00\"><\/div><span class=\"sec-shrs\" data-shrs>8h<\/span><\/div>\n                  <div class=\"sec-sched-row\" data-srow=\"sat\"><button class=\"sec-stog\" data-stog type=\"button\">Sat<\/button><div class=\"sec-times\"><input type=\"time\" class=\"sec-time\" data-start value=\"09:00\" disabled><span class=\"sec-dash\">\u2013<\/span><input type=\"time\" class=\"sec-time\" data-end value=\"17:00\" disabled><\/div><span class=\"sec-shrs\" data-shrs>\u2014<\/span><\/div>\n                  <div class=\"sec-sched-row\" data-srow=\"sun\"><button class=\"sec-stog\" data-stog type=\"button\">Sun<\/button><div class=\"sec-times\"><input type=\"time\" class=\"sec-time\" data-start value=\"09:00\" disabled><span class=\"sec-dash\">\u2013<\/span><input type=\"time\" class=\"sec-time\" data-end value=\"17:00\" disabled><\/div><span class=\"sec-shrs\" data-shrs>\u2014<\/span><\/div>\n                <\/div>\n                <button class=\"sec-skip\" data-skip type=\"button\">Not sure of exact hours? Skip &amp; get a range \u2192<\/button>\n              <\/div>\n              <div class=\"sec-sched-msg\" data-schedmsg hidden>\n                <label class=\"sec-label\">Tell us what you need<\/label>\n                <textarea class=\"sec-input\" rows=\"4\" data-msg placeholder=\"e.g. Overnight cover for a site in Leeds, roughly 6 nights a week, starting next month\u2026\"><\/textarea>\n                <button class=\"sec-link\" data-unskip type=\"button\">\u2190 Back to the schedule grid<\/button>\n              <\/div>\n            <\/div>\n\n            <div data-shortsched hidden>\n              <label class=\"sec-label\">Roughly how many hours in total?<\/label>\n              <div class=\"sec-shorthrs\">\n                <input type=\"number\" class=\"sec-input\" data-shorthours min=\"1\" step=\"1\" placeholder=\"e.g. 48\">\n                <button class=\"sec-notsure\" data-notsure type=\"button\">Not sure yet<\/button>\n              <\/div>\n              <label class=\"sec-check\"><input type=\"checkbox\" data-alcohol><span>I confirm this event won&#8217;t involve the sale or supply of alcohol.<\/span><\/label>\n              <p class=\"sec-hint\">Licensed events need SIA door supervisors \u2014 we&#8217;ll quote those separately.<\/p>\n            <\/div>\n\n            <div class=\"sec-sched-foot\" data-schedfoot>\n              <div class=\"sec-weekly\" data-weekly-wrap><span>Weekly coverage<\/span><strong data-weekly>40 hrs<\/strong><\/div>\n              <div class=\"sec-officers\"><span>Officers<\/span>\n                <div class=\"sec-step-num\"><button data-guard=\"-\" type=\"button\">\u2212<\/button><span data-guard-val>1<\/span><button data-guard=\"+\" type=\"button\">+<\/button><\/div>\n              <\/div>\n            <\/div>\n          <\/div>\n\n          <div class=\"sec-step\" data-step=\"4\">\n            <div class=\"sec-q\">Last step \u2014 then your quote<\/div>\n            <p class=\"sec-substep\" data-substep>Your estimate is <span class=\"sec-ready\">\u2713 ready<\/span>. Add your details and it appears on the very next screen.<\/p>\n            <div class=\"sec-cgrid\">\n              <div><label class=\"sec-label\">Full name<\/label><input class=\"sec-input\" type=\"text\" data-name placeholder=\"Jane Smith\"><\/div>\n              <div><label class=\"sec-label\">Company<\/label><input class=\"sec-input\" type=\"text\" data-company placeholder=\"Organisation\"><\/div>\n              <div><label class=\"sec-label\">Work email<\/label><input class=\"sec-input\" type=\"email\" data-email placeholder=\"jane@company.co.uk\"><\/div>\n              <div><label class=\"sec-label\">Phone<\/label><input class=\"sec-input\" type=\"tel\" data-phone placeholder=\"+44 7700 900000\"><\/div>\n            <\/div>\n            <p class=\"sec-reassure\">\ud83d\udd12 Used only to prepare your quote. No spam, ever.<\/p>\n          <\/div>\n\n          <div class=\"sec-step\" data-step=\"5\">\n            <div class=\"sec-quote-result\" data-result>\n              <div class=\"sec-result-kicker\" data-result-summary><\/div>\n              <div class=\"sec-result-feature\"><span>From<\/span><strong data-r-hourly>\u00a30<\/strong><small>per officer \/ hour \u00b7 plus VAT<\/small><\/div>\n              <div class=\"sec-result-grid\">\n                <div><span>Weekly<\/span><strong data-r-weekly>\u00a30<\/strong><\/div>\n                <div><span>Semi-Monthly<\/span><strong data-r-semi>\u00a30<\/strong><\/div>\n                <div><span>Monthly<\/span><strong data-r-monthly>\u00a30<\/strong><\/div>\n                <div><span>Annual<\/span><strong data-r-annual>\u00a30<\/strong><\/div>\n              <\/div>\n              <p class=\"sec-result-note\">All figures exclude VAT (20%). A tailored proposal follows from our team.<\/p>\n              <button class=\"sec-btn sec-btn-full\" data-submit type=\"button\">Book a site survey \u2192<\/button>\n            <\/div>\n\n            <div class=\"sec-quote-short\" data-result-short hidden>\n              <div class=\"sec-result-kicker\" data-short-summary><\/div>\n              <div class=\"sec-result-feature\"><span>From<\/span><strong data-short-hourly>\u00a30<\/strong><small>per officer \/ hour \u00b7 plus VAT<\/small><\/div>\n              <div class=\"sec-result-grid sec-grid-1\">\n                <div><span>Estimated total for the job<\/span><strong data-short-total>\u00a30<\/strong><\/div>\n              <\/div>\n              <p class=\"sec-result-note\">Estimate excludes VAT (20%). A tailored proposal follows from our team.<\/p>\n              <button class=\"sec-btn sec-btn-full\" data-submit type=\"button\">Book a site survey \u2192<\/button>\n              <a class=\"sec-btn-ghost sec-btn-call\" href=\"tel:+442920027527\">Call 029 2002 7527<\/a>\n            <\/div>\n\n            <div class=\"sec-quote-custom\" data-result-custom hidden>\n              <div class=\"sec-result-kicker\" data-custom-summary><\/div>\n              <div class=\"sec-result-feature\"><span>Estimated range<\/span><strong data-custom-range>\u00a30<\/strong><small>per officer \/ hour \u00b7 plus VAT<\/small><\/div>\n              <p class=\"sec-custom-copy\">Give us your exact hours any time and we&#8217;ll pin this to the penny \u2014 or send it through and our team builds a tailored quote around your requirements.<\/p>\n              <button class=\"sec-btn sec-btn-full\" data-submit type=\"button\">Book a site survey \u2192<\/button>\n            <\/div>\n\n            <div class=\"sec-quote-done\" data-done hidden>\n              <div class=\"sec-done-tick\">\u2713<\/div>\n              <h3>Request received \u2014 let&#8217;s book your site survey.<\/h3>\n              <p>A member of the SECURICO team will be in touch shortly to arrange a free site survey and prepare your formal proposal.<\/p>\n              <button class=\"sec-btn-ghost\" data-restart type=\"button\">Start a new quote<\/button>\n            <\/div>\n          <\/div>\n\n        <\/div>\n\n        <div class=\"sec-tender\" data-tender hidden>\n          <div data-tender-form>\n            <p class=\"sec-substep\">Send us your RFP, ITT or spec and our team will respond with a formal proposal.<\/p>\n            <div class=\"sec-tcols\">\n              <div class=\"sec-tcol\">\n                <div><label class=\"sec-label\">Full name<\/label><input class=\"sec-input\" type=\"text\" data-t-name placeholder=\"Jane Smith\"><\/div>\n                <div><label class=\"sec-label\">Company<\/label><input class=\"sec-input\" type=\"text\" data-t-company placeholder=\"Organisation\"><\/div>\n                <div><label class=\"sec-label\">Work email<\/label><input class=\"sec-input\" type=\"email\" data-t-email placeholder=\"jane@company.co.uk\"><\/div>\n                <div><label class=\"sec-label\">Phone<\/label><input class=\"sec-input\" type=\"tel\" data-t-phone placeholder=\"+44 7700 900000\"><\/div>\n              <\/div>\n              <div class=\"sec-tcol\">\n                <div><label class=\"sec-label\">Tell us about the requirement<\/label><textarea class=\"sec-input sec-tmsg\" data-t-msg placeholder=\"Scope, sites, timelines, response deadline\u2026\"><\/textarea><\/div>\n                <button class=\"sec-ai sec-ai-inline\" data-t-ai type=\"button\">\u2728 Help me write this with AI<\/button>\n                <div class=\"sec-ai-status\" data-t-ai-status hidden><\/div>\n                <div><label class=\"sec-label\">Attach documents <span style=\"font-weight:400;color:#9AA7B6;\">(optional \u2014 multiple allowed)<\/span><\/label>\n                <input class=\"sec-file\" type=\"file\" multiple data-t-files>\n                <div class=\"sec-filelist\" data-t-filelist><\/div><\/div>\n              <\/div>\n            <\/div>\n            <button class=\"sec-btn sec-btn-full\" data-tender-submit type=\"button\" style=\"margin-top:18px;\">Submit tender<\/button>\n            <button class=\"sec-link\" data-tender-back type=\"button\">\u2190 Back<\/button>\n          <\/div>\n          <div class=\"sec-quote-done\" data-tender-done hidden>\n            <div class=\"sec-done-tick\">\u2713<\/div>\n            <h3>Tender received.<\/h3>\n            <p>Our team will review your documents and respond with a formal proposal shortly.<\/p>\n            <button class=\"sec-btn-ghost\" data-restart type=\"button\">Start again<\/button>\n          <\/div>\n        <\/div>\n\n      <\/div>\n\n      <div class=\"sec-quote-foot\" data-foot style=\"display:none;\">\n        <button class=\"sec-btn-ghost\" data-back type=\"button\">Back<\/button>\n        <button class=\"sec-btn\" data-next type=\"button\">Continue<\/button>\n      <\/div>\n\n      <div class=\"sec-trust\">\n        <div class=\"sec-trust-item\">\n          <img decoding=\"async\" src=\"https:\/\/securicoguards.co.uk\/wp-content\/uploads\/2026\/06\/8715838.webp\" alt=\"Trustpilot\">\n          <span class=\"sec-trust-stars tp\">\u2605\u2605\u2605\u2605\u2605<\/span><span>5.0<\/span>\n        <\/div>\n        <span class=\"sec-trust-div\"><\/span>\n        <div class=\"sec-trust-item\">\n          <img decoding=\"async\" src=\"https:\/\/securicoguards.co.uk\/wp-content\/uploads\/2026\/06\/Google__G__logo.svg_-scaled.png\" alt=\"Google\">\n          <span class=\"sec-trust-stars gg\">\u2605\u2605\u2605\u2605\u2605<\/span><span>5.0<\/span>\n        <\/div>\n      <\/div>\n\n    <\/div>\n\n  <\/div>\n\n<style>\n\/* ===================== HERO ===================== *\/\n.sec-hero{position:relative;overflow:hidden;color:#fff;padding:96px 0 104px;\n  background-color:var(--sec-navy-deep);\n  background-image:linear-gradient(105deg,rgba(10,25,41,.94) 0%,rgba(10,25,41,.72) 45%,rgba(15,39,66,.40) 100%),\n    url('https:\/\/securicoguards.co.uk\/wp-content\/uploads\/2026\/06\/hello-var-3.png');\n  background-size:cover;background-position:center right;background-repeat:no-repeat;}\n.sec-hero-glow{position:absolute;top:-20%;right:-10%;width:55%;height:120%;\n  background:radial-gradient(closest-side,rgba(59,130,196,.30),transparent 70%);filter:blur(20px);pointer-events:none;}\n.sec-hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;\n  transition:grid-template-columns .4s ease;}\n.sec-hero-grid.is-full{grid-template-columns:1fr;}\n.sec-hero-grid.is-full .sec-hero-copy{display:none;}\n.sec-hero-copy .sec-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;\n  letter-spacing:.04em;text-transform:uppercase;color:#8FB4DA;background:rgba(143,180,218,.12);\n  border:1px solid rgba(143,180,218,.25);padding:7px 14px;border-radius:100px;margin-bottom:22px;}\n.sec-sep{font-style:normal;opacity:.6;}\n.sec-hero-copy h1{font-size:clamp(34px,4.4vw,56px);font-weight:800;margin:0 0 18px;color:#fff;}\n.sec-hero-copy h1 em{font-style:normal;background:var(--sec-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}\n.sec-lead{font-size:18px;line-height:1.6;color:#C4D1E0;max-width:520px;margin:0 0 32px;}\n.sec-hero-stats{display:flex;gap:36px;}\n.sec-hero-stats div{display:flex;flex-direction:column;}\n.sec-hero-stats strong{font-family:'Inter Tight';font-size:26px;color:#fff;}\n.sec-hero-stats span{font-size:13px;color:#93A5BB;margin-top:2px;}\n\n\/* ===================== QUOTE CARD ===================== *\/\n.sec-quote{background:#fff;border-radius:20px;box-shadow:0 30px 70px rgba(4,12,24,.45);\n  color:var(--sec-ink);overflow:hidden;display:flex;flex-direction:column;min-height:480px;}\n.sec-quote-head{display:flex;justify-content:space-between;align-items:center;padding:22px 26px 16px;}\n.sec-quote-kicker{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sec-blue);}\n.sec-quote-title{font-family:'Inter Tight';font-size:20px;font-weight:700;margin-top:2px;}\n.sec-progpct{font-family:'Inter Tight';font-size:15px;font-weight:700;color:#2E9E5B;}\n\n\/* progress bar *\/\n.sec-prog{height:6px;margin:0 26px;background:rgba(15,31,51,.07);border-radius:100px;overflow:hidden;}\n.sec-prog-fill{height:100%;width:20%;border-radius:100px;background:#2E9E5B;\n  transition:width .55s cubic-bezier(.4,0,.2,1);animation:secPulse var(--pulse,3s) ease-in-out infinite;}\n@keyframes secPulse{0%,100%{opacity:.85;}50%{opacity:1;}}\n.sec-prog-fill.is-complete{animation:none;opacity:1;}\n\n.sec-quote-body{flex:1;padding:24px 26px;position:relative;}\n.sec-step{display:none;animation:secFade .35s ease;}\n.sec-step.is-active{display:block;}\n@keyframes secFade{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}\n.sec-q{font-family:'Inter Tight';font-size:19px;font-weight:600;margin-bottom:16px;}\n\n\/* cards *\/\n.sec-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;}\n.sec-cards-2{grid-template-columns:1fr;}\n.sec-card{display:flex;flex-direction:column;gap:8px;align-items:flex-start;padding:14px;\n  border:1.5px solid var(--sec-line);border-radius:12px;background:#fff;cursor:pointer;text-align:left;\n  font-family:inherit;font-size:14px;font-weight:600;color:var(--sec-ink);transition:.18s;}\n.sec-card:hover{border-color:var(--sec-blue);background:#F7FBFE;transform:translateY(-2px);box-shadow:var(--sec-shadow);}\n.sec-card.is-on{border-color:var(--sec-blue);background:#EFF6FC;}\n.sec-card svg{width:24px;height:24px;fill:var(--sec-blue);}\n.sec-card-lg{flex-direction:row;align-items:center;gap:14px;padding:16px 18px;}\n.sec-card-lg svg{width:30px;height:30px;flex:none;}\n.sec-card-txt{display:flex;flex-direction:column;gap:3px;}\n.sec-card-t{font-size:15px;font-weight:700;color:var(--sec-ink);}\n.sec-card-d{font-size:12.5px;font-weight:500;color:var(--sec-grey);line-height:1.35;}\n\n\/* labels \/ inputs *\/\n.sec-label{display:block;font-size:13px;font-weight:600;color:var(--sec-grey);margin:14px 0 7px;}\n.sec-label:first-of-type{margin-top:0;}\n.sec-input{width:100%;padding:12px 14px;border:1.5px solid var(--sec-line);border-radius:10px;\n  font-family:inherit;font-size:15px;color:var(--sec-ink);background:#fff;transition:.15s;}\n.sec-input:focus{outline:none;border-color:var(--sec-blue);box-shadow:0 0 0 3px rgba(59,130,196,.15);}\n.sec-hint{font-size:12px;color:#9AA7B6;margin:10px 0 0;}\n.sec-file{width:100%;padding:11px;border:1.5px dashed var(--sec-line);border-radius:10px;font-family:inherit;font-size:13px;color:var(--sec-grey);background:#FAFBFD;cursor:pointer;}\n.sec-filelist{margin-top:8px;display:flex;flex-direction:column;gap:5px;}\n.sec-fileitem{font-size:12.5px;color:var(--sec-grey);background:var(--sec-bg-soft);padding:7px 11px;border-radius:8px;}\n.sec-check{display:flex;gap:9px;align-items:flex-start;margin-top:14px;font-size:13px;color:var(--sec-ink);line-height:1.4;cursor:pointer;}\n.sec-check input{margin-top:2px;width:16px;height:16px;flex:none;accent-color:var(--sec-blue);}\n\n\/* address autocomplete *\/\n.sec-ac{position:relative;}\n.sec-ac-list{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:40;background:#fff;\n  border:1.5px solid var(--sec-line);border-radius:12px;box-shadow:0 18px 44px rgba(15,31,51,.16);\n  overflow:hidden;max-height:264px;overflow-y:auto;}\n.sec-ac-item{display:flex;gap:10px;align-items:center;padding:12px 15px;cursor:pointer;font-size:14px;line-height:1.3;color:var(--sec-ink);}\n.sec-ac-item:hover,.sec-ac-item.is-active{background:#F2F8FD;}\n.sec-ac-item svg{width:16px;height:16px;fill:var(--sec-blue);flex:none;}\n\n\/* presets *\/\n.sec-presets{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:12px;}\n.sec-preset{padding:11px 12px;border:1.5px solid var(--sec-line);border-radius:10px;background:#fff;\n  font-family:inherit;font-size:14px;font-weight:600;color:var(--sec-ink);cursor:pointer;transition:.15s;}\n.sec-preset:hover{border-color:var(--sec-blue);background:#F7FBFE;}\n.sec-preset.is-on{border-color:var(--sec-blue);background:#EFF6FC;color:var(--sec-blue-deep);}\n\n\/* AI button *\/\n.sec-ai{width:100%;padding:11px;border:1.5px dashed var(--sec-blue);border-radius:10px;\n  background:linear-gradient(135deg,#F2F8FD,#fff);color:var(--sec-blue-deep);font-family:inherit;\n  font-size:13px;font-weight:600;cursor:pointer;margin-bottom:14px;opacity:.85;}\n.sec-ai-inline{margin:0;}\n\n\/* schedule grid \u2014 overflow-safe *\/\n.sec-sched{display:flex;flex-direction:column;gap:8px;}\n.sec-quote.is-expanded .sec-sched{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:8px 16px;}\n.sec-sched-row{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:8px;align-items:center;min-width:0;\n  padding:7px 9px;border:1.5px solid var(--sec-line);border-radius:10px;transition:.15s;}\n.sec-sched-row.is-on{border-color:#BBD7EF;background:#F7FBFE;}\n.sec-stog{padding:8px 0;border:1.5px solid var(--sec-line);border-radius:8px;background:#fff;\n  font-family:inherit;font-size:13px;font-weight:700;color:var(--sec-grey);cursor:pointer;transition:.15s;}\n.sec-sched-row.is-on .sec-stog{background:var(--sec-blue);border-color:var(--sec-blue);color:#fff;}\n.sec-times{display:flex;align-items:center;gap:6px;min-width:0;}\n.sec-time{flex:1 1 0;min-width:0;width:100%;padding:8px 6px;border:1.5px solid var(--sec-line);border-radius:8px;\n  font-family:inherit;font-size:13px;color:var(--sec-ink);background:#fff;}\n.sec-time:disabled{opacity:.4;}\n.sec-dash{color:var(--sec-grey);flex:none;}\n.sec-shrs{font-family:'Inter Tight';font-size:14px;font-weight:700;color:var(--sec-ink);min-width:30px;text-align:right;}\n.sec-sched-row:not(.is-on) .sec-shrs{color:#C2CBD6;}\n.sec-skip{display:block;width:100%;margin-top:16px;padding:11px;border:0;border-radius:10px;background:transparent;\n  color:var(--sec-blue);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;text-align:center;}\n.sec-skip:hover{text-decoration:underline;}\n.sec-link{background:0;border:0;color:var(--sec-blue);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;margin-top:12px;padding:0;display:block;}\n\n\/* short-term *\/\n.sec-shorthrs{display:flex;gap:8px;}\n.sec-shorthrs .sec-input{margin:0;}\n.sec-notsure{flex:none;padding:0 16px;border:1.5px solid var(--sec-line);border-radius:10px;background:#fff;\n  font-family:inherit;font-weight:600;font-size:14px;color:var(--sec-grey);cursor:pointer;white-space:nowrap;}\n.sec-notsure.is-on{border-color:var(--sec-blue);background:#EFF6FC;color:var(--sec-blue-deep);}\n\n\/* shared foot *\/\n.sec-sched-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;flex-wrap:wrap;}\n.sec-weekly{display:flex;align-items:center;gap:10px;padding:11px 14px;background:var(--sec-bg-soft);border-radius:10px;font-size:13px;color:var(--sec-grey);}\n.sec-weekly strong{font-family:'Inter Tight';font-size:17px;color:var(--sec-ink);}\n.sec-officers{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--sec-grey);}\n.sec-step-num{display:flex;align-items:center;border:1.5px solid var(--sec-line);border-radius:10px;overflow:hidden;width:118px;}\n.sec-step-num button{width:40px;padding:9px 0;border:0;background:#F6F8FB;font-size:18px;cursor:pointer;color:var(--sec-ink);}\n.sec-step-num span{flex:1;text-align:center;font-weight:700;}\n\n\/* contact grid *\/\n.sec-cgrid{display:grid;grid-template-columns:1fr;gap:14px 18px;}\n.sec-cgrid .sec-label{margin-top:0;}\n.sec-substep{font-size:14px;color:var(--sec-grey);line-height:1.55;margin:-4px 0 18px;}\n.sec-ready{color:#1F9D55;font-weight:700;background:#E7F7EE;padding:2px 9px;border-radius:100px;font-size:12px;white-space:nowrap;}\n.sec-reassure{font-size:12px;color:#9AA7B6;margin-top:14px;}\n\n\/* tender 2-column *\/\n.sec-tcols{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;align-items:start;}\n.sec-tcol{display:flex;flex-direction:column;gap:14px;}\n.sec-tcol .sec-label{margin-top:0;}\n.sec-tmsg{min-height:206px;resize:vertical;}\n\n\/* FULL-MODE fills *\/\n.sec-hero-grid.is-full .sec-presets{grid-template-columns:repeat(4,1fr);}\n.sec-hero-grid.is-full .sec-cgrid{grid-template-columns:1fr 1fr;}\n.sec-hero-grid.is-full .sec-result-grid{grid-template-columns:repeat(4,1fr);}\n.sec-hero-grid.is-full .sec-sched-foot{justify-content:flex-start;gap:24px;}\n\n\/* result *\/\n.sec-result-kicker{font-size:13px;color:var(--sec-grey);margin-bottom:14px;line-height:1.5;}\n.sec-result-feature{text-align:center;padding:22px;border-radius:14px;background:var(--sec-gradient);color:#fff;margin-bottom:14px;}\n.sec-result-feature span{display:block;font-size:13px;opacity:.85;}\n.sec-result-feature strong{font-family:'Inter Tight';font-size:44px;font-weight:800;display:block;line-height:1.1;}\n.sec-result-feature small{font-size:12.5px;opacity:.9;}\n.sec-result-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}\n.sec-grid-1{grid-template-columns:1fr;}\n.sec-result-grid div{padding:13px 15px;border:1.5px solid var(--sec-line);border-radius:11px;}\n.sec-result-grid span{font-size:12px;color:var(--sec-grey);display:block;}\n.sec-result-grid strong{font-family:'Inter Tight';font-size:21px;}\n.sec-result-note{font-size:11.5px;color:#9AA7B6;text-align:center;margin:14px 0;}\n.sec-custom-copy{font-size:13.5px;color:var(--sec-grey);line-height:1.6;margin:0 0 18px;text-align:center;}\n.sec-btn-call{display:block;width:100%;text-align:center;text-decoration:none;margin-top:10px;box-sizing:border-box;}\n\n\/* done *\/\n.sec-quote-done{text-align:center;padding:20px 10px;}\n.sec-done-tick{width:54px;height:54px;border-radius:50%;background:var(--sec-gradient);color:#fff;font-size:26px;\n  display:flex;align-items:center;justify-content:center;margin:0 auto 16px;}\n.sec-quote-done h3{font-family:'Inter Tight';margin:0 0 8px;}\n.sec-quote-done p{color:var(--sec-grey);font-size:14px;margin:0 0 20px;}\n\n\/* footer + buttons *\/\n.sec-quote-foot{display:flex;gap:12px;padding:18px 26px;border-top:1px solid var(--sec-line);}\n.sec-btn{margin-left:auto;padding:13px 26px;border:0;border-radius:10px;background:var(--sec-gradient);color:#fff;\n  font-family:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:.18s;box-shadow:0 8px 20px rgba(30,91,156,.25);}\n.sec-btn:hover{transform:translateY(-1px);box-shadow:0 10px 26px rgba(30,91,156,.35);}\n.sec-btn-full{width:100%;margin:0;}\n.sec-btn-ghost{padding:13px 22px;border:1.5px solid var(--sec-line);border-radius:10px;background:#fff;\n  font-family:inherit;font-size:15px;font-weight:600;color:var(--sec-grey);cursor:pointer;}\n.sec-btn-ghost:hover{border-color:var(--sec-grey);color:var(--sec-ink);}\n\n\/* trust bar *\/\n.sec-trust{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;\n  padding:14px 26px;border-top:1px solid var(--sec-line);background:#FCFDFE;}\n.sec-trust-item{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:var(--sec-ink);}\n.sec-trust-item img{height:17px;width:auto;display:block;}\n.sec-trust-stars{letter-spacing:1px;font-size:13px;}\n.sec-trust-stars.tp{color:#00B67A;}\n.sec-trust-stars.gg{color:#F4B400;}\n.sec-trust-div{width:1px;height:18px;background:var(--sec-line);}\n\n\/* responsive *\/\n@media(max-width:980px){\n  .sec-hero{padding:64px 0 72px;}\n  .sec-hero-grid,.sec-hero-grid.is-full{grid-template-columns:1fr;gap:40px;}\n  .sec-lead{max-width:none;}\n  .sec-tcols{grid-template-columns:1fr;}\n  .sec-hero-grid.is-full .sec-presets{grid-template-columns:1fr 1fr;}\n  .sec-hero-grid.is-full .sec-cgrid{grid-template-columns:1fr;}\n  .sec-hero-grid.is-full .sec-result-grid{grid-template-columns:1fr 1fr;}\n}\n@media(max-width:560px){\n  .sec-cards,.sec-presets,.sec-result-grid,.sec-cgrid,.sec-quote.is-expanded .sec-sched,\n  .sec-hero-grid.is-full .sec-presets,.sec-hero-grid.is-full .sec-result-grid{grid-template-columns:1fr;}\n  .sec-hero-stats{gap:22px;}\n  .sec-sched-row{grid-template-columns:50px minmax(0,1fr) auto;}\n}\n<\/style>\n<\/section>\n","protected":false},"excerpt":{"rendered":"<p>SIA Licensed \u00b7 Nationwide UK Coverage Professional security guarding,built around your site. SECURICO supplies SIA-licensed manned guarding across London and the whole of the UK \u2014 short-term or long-term, backed by a 24\/7 operations centre. SIALicensed officers 24\/7Operations centre UK-wideCoverage Get started Get a guarding quote 20% How would you like to start? Get an &#8230; <a title=\"Home\" class=\"read-more\" href=\"https:\/\/securicoguards.co.uk\/\" aria-label=\"Read more about Home\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-8","page","type-page","status-publish"],"_links":{"self":[{"href":"https:\/\/securicoguards.co.uk\/index.php?rest_route=\/wp\/v2\/pages\/8","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/securicoguards.co.uk\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/securicoguards.co.uk\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/securicoguards.co.uk\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/securicoguards.co.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=8"}],"version-history":[{"count":12,"href":"https:\/\/securicoguards.co.uk\/index.php?rest_route=\/wp\/v2\/pages\/8\/revisions"}],"predecessor-version":[{"id":34,"href":"https:\/\/securicoguards.co.uk\/index.php?rest_route=\/wp\/v2\/pages\/8\/revisions\/34"}],"wp:attachment":[{"href":"https:\/\/securicoguards.co.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=8"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}