body { margin: 0; padding: 0; background-color: #f4f4f4; font-family: 'Nunito', sans-serif; -webkit-font-smoothing: antialiased; }
html { scroll-behavior: smooth; }
* { box-sizing: border-box; }
:focus-visible { outline: 2px solid #FCB017; outline-offset: 2px; }
body::before { content:""; position:absolute; top:0; left:0; width: 100%; height:10px; background: linear-gradient(90deg, #FFC956 0%, #FCB017 40%, #F4A90C 100%); z-index:9999; }
.esp { font-family: 'Nunito', sans-serif; color:#424a57; }
.esp .wrap, .esp .container { max-width: 1100px; margin: 0 auto; }
.esp .eyebrow, .esp .eyebrow-pill, .esp .sub, .wm-chip {
    display:inline-flex; align-items:center; gap:8px; padding:6px 14px; border:1px solid rgba(0,0,0,.1);
    border-radius:999px; font-weight:700; font-size:12px; letter-spacing:.05em; text-transform:uppercase;
    color:#ff8c00c7; background:#fff; margin:0 0 12px;
}
.esp h1, .esp h2, .esp h3 { color:#111; }
.esp h1 { margin:10px 0 6px; font-weight:700; font-size:clamp(28px, 5vw, 42px); line-height:1.1; }
.esp h2 { font-size:clamp(28px, 4vw, 38px); font-weight:700; margin:0 0 10px; line-height:1.15; }
.esp h3 { font-size:20px; margin:0 0 10px; font-weight:700; line-height:1.3; }
.esp p { font-size:15.5px; line-height:1.65; color:#424a57; }
.esp .btn, .wm-btn {
    display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:14px 28px; border-radius:999px;
    background:#FCB017; color:#111; font-weight:700; text-decoration:none; border:2px solid #FCB017;
    box-shadow:0 4px 10px rgba(0,0,0,.08); transition:all .25s ease; cursor:pointer;
}
.esp .btn:hover, .wm-btn:hover { background:#fff; color:#FCB017; transform:translateY(-2px); box-shadow:0 8px 16px rgba(0,0,0,.12); }
.esp .motto, .esp .quote, .esp .motto-style, .wm-motto {
    font-size:18px; font-style:italic; color:#424a57; border-left:5px solid #FCB017; margin:0 0 24px;
    font-weight:600; background:#fff; padding:16px 24px; border-radius:0 12px 12px 0;
    box-shadow:0 4px 12px rgba(0,0,0,.04); display:inline-block; line-height:1.4; text-align:left;
}
.esp .card, .esp .item, .esp .step-card, .esp .kb-card, .esp details {
    background:#fff; border:1px solid #eee; border-radius:16px; transition:all .25s ease;
}
.esp .card:hover, .esp .item:hover, .esp .step-card:hover, .esp .kb-card:hover, .esp details:hover, .esp details[open] {
    border-color:#FCB017; box-shadow:0 12px 24px rgba(0,0,0,.08); transform:translateY(-3px);
}
@media (max-width: 900px) {
    .esp { text-align:center !important; }
    .esp .motto, .esp .quote, .esp .motto-style, .wm-motto { margin-left:auto !important; margin-right:auto !important; font-size:16px !important; }
}

.esp.hero-guarding-wm { background:#fff; border-bottom:1px solid rgba(0,0,0,.05); }
.esp.hero-guarding-wm .container { padding:70px 16px 60px; text-align:center; }
.esp.hero-guarding-wm .hero-underline { width:100px; height:5px; border-radius:5px; background:#FCB017; margin:12px auto 14px; }
.esp.hero-guarding-wm .subhead { margin:0 auto 14px; font-weight:700; color:#424a57; font-size:clamp(16px, 3vw, 20px); max-width:850px; }
.esp.hero-guarding-wm .lead { max-width:920px; margin:0 auto 24px; font-size:clamp(15px, 2.6vw, 17px); line-height:1.65; }
.esp.hero-guarding-wm .cta-row { display:flex; justify-content:center; gap:12px; flex-wrap:wrap; }
.esp.hero-guarding-wm .accred-strip { margin-top:32px; display:flex; flex-wrap:wrap; justify-content:center; gap:15px; opacity:.78; }
.esp.hero-guarding-wm .accred-text { font-size:13px; font-weight:700; color:#424a57; text-transform:uppercase; letter-spacing:.5px; }
.esp.hero-guarding-wm .sep-dot { color:#FCB017; }

.esp.why-matters { background:#fff; padding:70px 16px 60px; }
.esp.why-matters .wrap { display:grid; gap:30px; align-items:center; }
@media(min-width:900px){ .esp.why-matters .wrap { grid-template-columns:1fr 1fr; } }
.esp.why-matters .content-side { padding-right:20px; }
.esp.why-matters .desc { margin-bottom:24px; }
.esp.why-matters .list-side { display:grid; gap:14px; grid-auto-rows:1fr; }
.esp.why-matters .card { padding:18px; display:flex; gap:16px; align-items:center; min-height:110px; height:100%; }
.esp.why-matters .icon { background:rgba(252,176,23,.15); width:44px; height:44px; border-radius:50%; display:grid; place-items:center; color:#FCB017; flex-shrink:0; font-weight:900; }
.esp.why-matters .card p { margin:0; font-size:14.5px; }
@media(max-width:900px){ .esp.why-matters .content-side{padding-right:0!important;} .esp.why-matters .card{flex-direction:column!important;text-align:center!important;justify-content:center!important;padding:24px!important;} }

.esp.core-duties { background:#fafafa; padding:70px 16px 60px; }
.esp.core-duties .header { text-align:left; max-width:880px; margin:0 0 40px; }
.esp.core-duties .points-strip { display:flex; flex-wrap:wrap; align-items:center; gap:12px; font-size:13px; font-weight:700; color:#424a57; text-transform:uppercase; letter-spacing:1px; }
.esp.core-duties .points-strip span { color:#FCB017; }
.esp.core-duties .grid { display:grid; grid-template-columns:1fr; gap:20px; margin-bottom:40px; }
@media(min-width:768px){ .esp.core-duties .grid { grid-template-columns:repeat(2,1fr); } }
.esp.core-duties .card { padding:22px; position:relative; overflow:hidden; }
.esp.core-duties .card .tag { display:block; color:#FCB017; font-weight:800; font-size:12px; text-transform:uppercase; letter-spacing:.08em; margin-bottom:8px; }
.esp.core-duties .card p { margin:0 0 12px; }
.esp.core-duties .card p:last-child { margin-bottom:0; }
.esp.core-duties .emergency-merged { background:#fff; border-radius:20px; padding:22px; border:2px solid #eee; border-left:6px solid #FCB017; text-align:left; }
@media(max-width:900px){ .esp.core-duties .header,.esp.core-duties .emergency-merged{text-align:center!important;margin-left:auto!important;margin-right:auto!important;} .esp.core-duties .points-strip{justify-content:center!important;} }

.esp.process-wm { background:#fff; padding:70px 16px 60px; }
.esp.process-wm .head-box { text-align:center; margin-bottom:40px; }
.esp.process-wm .sub-h { font-size:18px; color:#424a57; margin-bottom:20px; }
.esp.process-wm .process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:40px; }
.esp.process-wm .step-card { padding:30px 20px 24px; position:relative; text-align:left; }
.esp.process-wm .step-num { position:absolute; top:-15px; left:20px; background:#FCB017; color:#111; font-weight:800; font-size:14px; padding:6px 12px; border-radius:8px; box-shadow:0 4px 10px rgba(0,0,0,.1); }
@media(max-width:900px){ .esp.process-wm .process-grid{grid-template-columns:1fr;gap:30px;} .esp.process-wm .step-card{text-align:center;} }

.esp.pricing-wm { background:#fafafa; padding:70px 16px 60px; }
.esp.pricing-wm .top-flex { display:flex; flex-wrap:wrap; justify-content:center; text-align:center; margin-bottom:40px; gap:20px; }
.esp.pricing-wm .card-grid { display:flex; justify-content:center; max-width:800px; margin:0 auto; }
.esp.pricing-wm .card { width:100%; max-width:650px; padding:30px; border-left:6px solid #FCB017; }
.esp.pricing-wm .rate-row { display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid #f0f0f0; padding-bottom:16px; margin-bottom:16px; gap:18px; }
.esp.pricing-wm .rate-row:last-of-type { border-bottom:none; margin-bottom:0; }
.esp.pricing-wm .rate-lbl { font-weight:700; color:#333; font-size:16px; text-align:left; }
.esp.pricing-wm .rate-val { font-weight:800; color:#111; font-size:24px; text-align:right; }
.esp.pricing-wm .unit { font-size:14px; font-weight:500; color:#777; margin-left:2px; }
.esp.pricing-wm .note { font-size:13px; color:#777; margin-top:24px; line-height:1.6; }
@media(max-width:700px){ .esp.pricing-wm .rate-row{display:block;text-align:center;} .esp.pricing-wm .rate-lbl,.esp.pricing-wm .rate-val{text-align:center;} }

.esp.calc-budget { background:#fff; padding:70px 16px 60px; }
.esp.calc-budget .wrap { max-width:800px; border:2px solid #e6e6e6; border-radius:20px; padding:30px; background:#fff; }
.esp.calc-budget h2 { text-align:center; margin:0 0 16px; }
.esp.calc-budget .center-motto { text-align:center; }
.esp.calc-budget .c-grid { display:grid; gap:20px; grid-template-columns:1fr; margin-bottom:30px; }
@media(min-width:600px){ .esp.calc-budget .c-grid { grid-template-columns:1fr 1fr; } }
.esp.calc-budget label { display:block; font-weight:700; margin-bottom:8px; font-size:14px; }
.esp.calc-budget select { width:100%; padding:13px 14px; border:1px solid #ddd; border-radius:8px; background:#fff; color:#111; font-size:16px; font-family:'Nunito', sans-serif; }
.esp.calc-budget .results-wrapper { display:flex; justify-content:center; width:100%; }
.esp.calc-budget .res-card { background:#fff; padding:24px; border-radius:12px; text-align:center; border:1px solid #eee; box-shadow:0 2px 8px rgba(0,0,0,.03); width:100%; max-width:400px; }
.esp.calc-budget .res-lbl { font-size:14px; color:#666; font-weight:700; text-transform:uppercase; letter-spacing:.5px; margin-bottom:8px; }
.esp.calc-budget .res-val { font-size:30px; font-weight:700; color:#111; }
.esp.calc-budget .disclaimer { font-size:12px; color:#999; margin-top:24px; text-align:center; }

.esp.knowledge-base { background:#fafafa; padding:70px 16px 60px; }
.esp.knowledge-base .head-box { text-align:center; margin-bottom:40px; }
.esp.knowledge-base .kb-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.esp.knowledge-base .kb-card { padding:30px; display:flex; flex-direction:column; height:100%; text-decoration:none; color:inherit; }
.esp.knowledge-base .read-link { font-size:14px; font-weight:800; color:#FCB017; text-decoration:none; text-transform:uppercase; letter-spacing:.5px; margin-top:auto; }
@media(max-width:900px){ .esp.knowledge-base .kb-grid{grid-template-columns:1fr;} }

.esp.why-eagle { background:#fff; padding:70px 16px 60px; }
.esp.why-eagle .wrap { text-align:center; }
.esp.why-eagle .grid { display:grid; gap:20px; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); }
.esp.why-eagle .item { padding:30px 24px; text-align:left; }
.esp.why-eagle .check { color:#FCB017; flex-shrink:0; display:inline-flex; align-items:center; justify-content:center; font-weight:900; }
@media(max-width:900px){ .esp.why-eagle .item{text-align:center;} }

.esp.mg-cs-wm { background:#fafafa; padding:70px 16px 60px; }
.esp.mg-cs-wm .wrap { text-align:center; }
.esp.mg-cs-wm .head { margin-bottom:30px; }
.esp.mg-cs-wm .phases-grid { display:grid; gap:20px; grid-template-columns:1fr; }
@media(min-width:768px){ .esp.mg-cs-wm .phases-grid{grid-template-columns:1fr 1fr 1fr;} }
.esp.mg-cs-wm .phase-box { background:#fff; padding:20px; border-radius:16px; border:1px solid rgba(0,0,0,.05); border-left:4px solid #FCB017; text-align:left; transition:all .25s ease; }
.esp.mg-cs-wm .phase-box:hover { transform:translateY(-3px); box-shadow:0 12px 24px rgba(0,0,0,.08); }
.esp.mg-cs-wm .phase-title { font-size:17px; font-weight:700; text-transform:uppercase; letter-spacing:1px; margin-bottom:8px; display:block; color:#FCB017; }
@media(max-width:900px){ .esp.mg-cs-wm .phase-box{text-align:center;} }

.esp.coverage-wm { background:#fff; padding:70px 16px 60px; }
.esp.coverage-wm .wrap { text-align:center; }
.esp.coverage-wm .pill-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:14px; margin-top:30px; text-align:left; }
.esp.coverage-wm .pill { display:block; padding:18px; border-radius:16px; font-size:15px; font-weight:700; text-decoration:none; transition:all .2s ease; background:#fff; color:#111; border:1px solid #eee; box-shadow:0 4px 10px rgba(0,0,0,.04); }
.esp.coverage-wm .pill strong { color:#FCB017; display:block; margin-bottom:6px; }
.esp.coverage-wm .pill:hover { border-color:#FCB017; transform:translateY(-2px); box-shadow:0 8px 16px rgba(0,0,0,.1); }

.esp.related-links-strip .links-grid { display: grid; gap: 20px; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.esp.related-links-strip h4 { font-size:15px; font-weight:800; text-transform:uppercase; letter-spacing:1px; color:#111; margin:0 0 12px; }
.esp.related-links-strip ul { list-style:none; padding:0; margin:0; }
.esp.related-links-strip li { margin-bottom:8px; font-size:14px; }
.esp.related-links-strip a { color:#424a57; text-decoration:none; transition:color .2s; }
.esp.related-links-strip a:hover { color:#FCB017; }

.esp.mg-faqs-wm.v2 { --brand:#FCB017; --ink:#111; --line:rgba(0,0,0,.10); background:#fafafa; padding:70px 16px 60px; scroll-margin-top:100px; }
.esp.mg-faqs-wm.v2 .head { text-align:center; margin-bottom:30px; }
.esp.mg-faqs-wm.v2 .list { display:grid; gap:12px; }
.esp.mg-faqs-wm.v2 details { overflow:hidden; }
.esp.mg-faqs-wm.v2 summary { list-style:none; cursor:pointer; display:grid; grid-template-columns:1fr auto; gap:12px; align-items:center; padding:16px 17px; font-weight:700; color:#111; font-size:17px; }
.esp.mg-faqs-wm.v2 summary::-webkit-details-marker { display:none; }
.esp.mg-faqs-wm.v2 .chev { width:24px; height:24px; display:grid; place-items:center; border-radius:999px; border:1px solid var(--line); color:var(--brand); }
.esp.mg-faqs-wm.v2 .chev::after { content:""; display:inline-block; width:8px; height:8px; border-right:2.5px solid var(--brand); border-bottom:2.5px solid var(--brand); transform:rotate(45deg); transition:transform .2s ease; margin-bottom:4px; }
.esp.mg-faqs-wm.v2 details[open] .chev::after { transform:rotate(-135deg); margin-bottom:-2px; }
.esp.mg-faqs-wm.v2 .answer { padding:0 16px 16px; border-top:1px solid var(--line); font-size:16px; line-height:1.7; color:#424a57; }
.esp.mg-faqs-wm.v2 .answer p { margin:16px 0 0; }

@keyframes wm-spin { to { transform: rotate(360deg); } }
.wm-loading-icon { display:inline-block; width:16px; height:16px; border:2px solid #111; border-radius:50%; border-top-color:transparent; animation:wm-spin .8s linear infinite; margin-right:8px; }
.wm-btn.is-loading { opacity:.8; cursor:not-allowed; pointer-events:none; background-color:#e5a015; }
.wm-status.error { display:block; color:#dc2626; margin-bottom:10px; font-weight:700; }
.wm-lead { background:#fafafa; padding:clamp(50px,8vw,70px) 0; font-family:'Nunito', sans-serif; }
.wm-lead__in { width:min(100% - 32px, 1100px); margin:0 auto; }
.wm-h2 { font:700 clamp(22px,4vw,38px)/1.15 Nunito, system-ui; color:#111; margin:12px 0 0; }
.wm-sub { font:16px/1.6 Nunito, system-ui; color:rgba(62,61,61,.92); max-width:109ch; margin-bottom:20px; }
.wm-form { margin-top:12px; border:1px solid rgba(0,0,0,.10); border-radius:16px; background:#fff; padding:20px; display:grid; gap:16px; }
.wm-row { display:grid; gap:12px; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); }
.wm-row--2 { grid-template-columns:1fr; }
@media(min-width:880px){ .wm-row--2 { grid-template-columns:1fr 1fr; } }
.wm-field { display:grid; gap:6px; }
.wm-field.floating { position:relative; margin-bottom:0; }
.wm-form input, .wm-form textarea, .wm-form select { font:700 14px/1.3 'Nunito', sans-serif !important; color:#111; background:#fff; border:1px solid rgba(0,0,0,.10); border-radius:12px; padding:16px 16px 12px; outline:none; width:100%; transition:all .2s ease; }
.wm-form textarea { min-height:110px; resize:vertical; }
.wm-field.floating label { position:absolute; top:16px; left:14px; font-size:14px; color:#424a57; font-weight:700; pointer-events:none; transition:all .2s ease-out; padding:0 4px; }
.wm-field.floating input:focus ~ label, .wm-field.floating input:not(:placeholder-shown) ~ label, .wm-field.floating textarea:focus ~ label, .wm-field.floating textarea:not(:placeholder-shown) ~ label { top:-9px; font-size:12px; color:#FCB017; background-color:#fff; left:12px; }
.wm-form input:focus, .wm-form textarea:focus, .wm-form select:focus { border-color:#FCB017; box-shadow:0 0 0 4px rgba(252,176,23,.25); transform:translateY(-1px); }
.wm-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:6px; }
.wm-status { display:none; color:#b91c1c; font:700 13px/1.4 Nunito, system-ui; margin:6px 0 2px; }
.wm-fine { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-top:8px; font:700 12px/1.4 Nunito, system-ui; color:rgba(62,61,61,.9); }
.wm-contact a, .wm-link, .wm-fine a { color:#fcb017; text-decoration:none; border-bottom:1px dashed rgba(252,176,23,.6); }
.wm-vh { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
@media(max-width:900px){ .wm-lead,.wm-lead__in{text-align:center!important;} .wm-row,.wm-row--2{display:flex!important;flex-direction:column!important;gap:20px!important;} .wm-actions{justify-content:center!important;} .wm-form{text-align:left!important;} }

/* Inline styles for keyholding-services-gloucester.html */
.st-906489d4 { text-align:center !important; margin-top:32px !important; }

/* === FAQ ACCORDION ? FAQS.HTML REFERENCE === */
:is(.esp.mg-faqs-wm.v2,.esp.mg-faqs-birmingham.v2) .list{display:grid;gap:12px}
:is(.esp.mg-faqs-wm.v2,.esp.mg-faqs-birmingham.v2) details{margin:0;border:1px solid #d9d9d9;border-radius:14px;background:#fff;overflow:hidden;transition:border-color .15s,box-shadow .15s,transform .15s}
:is(.esp.mg-faqs-wm.v2,.esp.mg-faqs-birmingham.v2) details[open],:is(.esp.mg-faqs-wm.v2,.esp.mg-faqs-birmingham.v2) details:hover{border-color:#fcb017;box-shadow:0 10px 22px rgba(0,0,0,.06);transform:translateY(-1px)}
:is(.esp.mg-faqs-wm.v2,.esp.mg-faqs-birmingham.v2) summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;margin:0;padding:14px 16px;border:0;border-radius:0;outline:0;list-style:none;background:#fff;color:#111;font:700 16px/1.45 Nunito,system-ui,sans-serif;text-align:left;cursor:pointer;box-shadow:none;appearance:none}
:is(.esp.mg-faqs-wm.v2,.esp.mg-faqs-birmingham.v2) summary::-webkit-details-marker{display:none}
:is(.esp.mg-faqs-wm.v2,.esp.mg-faqs-birmingham.v2) .chev{display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;margin:0;border:1px solid #d9d9d9;border-radius:999px;background:#fff;color:transparent;font-size:0;line-height:1}
:is(.esp.mg-faqs-wm.v2,.esp.mg-faqs-birmingham.v2) .chev::after{content:"";display:inline-block;width:8px;height:8px;margin-bottom:4px;border-right:2.5px solid #fcb017;border-bottom:2.5px solid #fcb017;transform:rotate(45deg);transition:transform .2s ease,margin .2s ease}
:is(.esp.mg-faqs-wm.v2,.esp.mg-faqs-birmingham.v2) details[open] .chev::after{margin-bottom:-2px;transform:rotate(-135deg)}
:is(.esp.mg-faqs-wm.v2,.esp.mg-faqs-birmingham.v2) .answer{max-height:0;opacity:0;overflow:hidden;padding:0 16px;border-top:1px solid transparent;background:#fff;color:#333;font-size:14.5px;line-height:1.7;transition:max-height .3s ease-out,opacity .3s ease-out,padding .3s ease}
:is(.esp.mg-faqs-wm.v2,.esp.mg-faqs-birmingham.v2) details[open] .answer{max-height:none;opacity:1;padding-bottom:16px;border-top-color:#d9d9d9}
:is(.esp.mg-faqs-wm.v2,.esp.mg-faqs-birmingham.v2) .answer p{margin:12px 0 14px;padding:0;color:#333}

/* === GLOBAL FOOTER ACCESSIBLE CONTRAST === */
.esp-global-footer,.esp-global-footer p,.esp-global-footer span,.esp-global-footer strong{color:#f3f4f6!important}
.esp-global-footer a{color:#fff!important;text-decoration-color:#fcb017!important}
.esp-global-footer a:hover,.esp-global-footer a:focus{color:#fcb017!important}


/* === GLOBAL HONEYPOT VISIBILITY FIX === */
input[name="company_site"] {
  position: fixed !important;
  left: -10000px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}