/* ========================= 1. BASE SITE STYLES (HEADER/FOOTER) ========================= */
    :root{
      --esp-brand:#FCB017;
      --esp-ink:#111111;
      --esp-text:#222222;
      --esp-line:rgba(0,0,0,.08);
      --esp-dark:#000000;
      --esp-contact-radius:18px;
    }
    html, body {
      height: 100%;
      margin: 0;
      padding: 0;
      font-family:Nunito,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
      background:#fff;
      color:#111827;
      line-height: 1.6;
    }
    img{max-width:100%; height:auto; display:block}
    
    /* Wrapper to handle sticky footer logic */
    .esp-page-wrap {
      display: flex;
      flex-direction: column;
      min-height: 100vh; 
      padding-top: 100px; /* Space for absolute header */
      box-sizing: border-box;
    }

 
    /* ========================= LANDING PAGE CONTENT STYLES ========================= */
    /* Tokens for LP */
    :root{
      --brand:#FCB017; --ink:#111827; --text:#374151; --line:rgba(0,0,0,.12); --mx:1100px;
      --subtle:#fafafa; --focus:rgba(252,176,23,.30);
    }
    
    /* Reusable Content Styles */
    .chip{display:inline-flex;align-items:center;gap:10px;padding:10px 18px;border-radius:999px;background:#fff;border:1px solid #e5e7eb;box-shadow:0 1px 0 rgba(0,0,0,.03) inset, 0 2px 10px rgba(0,0,0,.04);font:700 13px/1 Nunito;letter-spacing:.08em;text-transform:uppercase;color:#b45309}
    .chip--icon{ gap:8px; }
    .u-underline{width:120px;height:6px;border-radius:4px;background:var(--brand);margin:12px 0}
    .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:999px;border:2px solid var(--brand);font:700 15px/1 Nunito;text-decoration:none;background:var(--brand);color:#111;transition:background .2s,color .2s,transform .2s,box-shadow .2s}
    .btn:focus-visible{outline:0; box-shadow:0 0 0 3px var(--focus)}
    .btn:hover{background:#fff;color:var(--brand);transform:translateY(-1px);box-shadow:0 12px 26px rgba(252,176,23,.18)}
    
    /* --- UPDATED SPACING SECTION --- */
    /* Enforced Spacing: 60px/50px (Mobile), 70px/60px (Desktop) */
    .section {
        padding: 60px 16px 50px;
    }
    @media (min-width: 960px) {
        .section {
            padding: 70px 16px 60px;
        }
    }
    /* ------------------------------ */

    .wrap{max-width:var(--mx);margin:0 auto;  
}

    /* Ninja Background Class */
    .ninja{
         background: radial-gradient(1200px 400px at 50% -10%, #FFF7E3 0%, rgba(255,247,227,0) 60%), #fff;
    }
    
    /* Hero */
    .hero-min{position:relative;text-align:center; padding-top: 40px;}
    /* Override top padding specifically for hero if needed, or stick to section rhythm */
    .hero-min::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 10px;
  background: linear-gradient(
    90deg,
    #FFC956 0%,
    #FCB017 40%,
    #F4A90C 100%
  );
}
    .hero-title{font:700 clamp(28px,5.2vw,46px)/1.08 Nunito;color:#1f2937;margin:18px 0 0;letter-spacing:-.015em}
    .hero-min p.lead{font:600 clamp(15px,2.8vw,18px)/1.65 Nunito;color:rgba(31,41,55,.9);margin:14px auto 0;max-width:72ch}
    .cta-row{margin-top:clamp(18px,3vw,26px);display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
    .divider{height:1px;width:min(560px,90%);margin:clamp(16px,3vw,24px) auto 0;background:linear-gradient(90deg,transparent,rgba(0,0,0,.1),transparent)}
    .hero-underline{width:150px;height:6px;border-radius:4px;background:var(--brand);display:block;margin:14px auto 0 !important}
    
    /* Problem */
    .problem-v2{
      position:relative;
      /* Updated to match Enforced Spacing */
      padding: 60px 16px 50px;
    }
    @media (min-width: 960px) {
        .problem-v2 {
            padding: 70px 16px 60px;
        }
    }

    .problem-v2__in{ max-width:var(--mx); margin:0 auto; }
    .problem-v2__chip{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border:1.5px solid var(--line);border-radius:999px;background:#fff;font:700 12.5px/1 Nunito;letter-spacing:.06em;text-transform:uppercase;color:#b45309;box-shadow:0 2px 10px rgba(0,0,0,.04)}
    .problem-v2__h2{margin:12px 0 0;font:700 clamp(26px,4.6vw,42px)/1.12 Nunito;color:#111;letter-spacing:-.01em}
    .problem-v2__underline{width:160px;height:6px;border-radius:999px;background:var(--brand);margin:14px 0 0}
    .problem-v2__lead{margin:14px 0 0;max-width:100%;font:600 clamp(15px,2.6vw,18px)/1.7 Nunito;color:var(--text)}
    .problem-v2__grid{display:grid;gap:18px;margin-top:clamp(20px,3vw,28px);grid-template-columns:1fr}
    @media (min-width:960px){.problem-v2__grid{ grid-template-columns:1fr; }}
    
    .issues-v2{display:grid;gap:14px; grid-template-columns:1fr}
    @media (min-width:720px){.issues-v2{ grid-template-columns:repeat(2,minmax(0,1fr)); }}
    
    .issue-v2{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:16px;border:1.5px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 6px 18px rgba(0,0,0,.04);transition:border-color .2s, transform .18s, box-shadow .2s}
    .issue-v2:hover{ border-color:var(--brand); transform:translateY(-2px); box-shadow:0 14px 28px rgba(252,176,23,.16) }
    .issue-v2__dot{width:18px;height:18px;border-radius:999px;margin-top:3px;background:var(--brand);box-shadow:0 0 0 4px rgba(252,176,23,.20)}
    .issue-v2 h3{margin:0 0 6px;font:700 16px/1.25 Nunito;color:#111}
    .issue-v2 p{margin:0;font:600 14.5px/1.6 Nunito;color:#475569}
    
    /* Solution */
    .sol h2{font:700 clamp(24px,4.4vw,36px)/1.15 Nunito;color:#111;margin:14px 0 0}
    .cards{margin-top:clamp(18px,3.2vw,26px);display:grid;gap:16px;grid-template-columns:1fr}
    @media(min-width:880px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
    .card{border:2px solid rgba(0,0,0,.08);border-radius:16px;background:#fff;padding:18px;display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:flex-start;transition:border-color .2s, box-shadow .2s, transform .2s}
    .card:hover{border-color:var(--brand);box-shadow:0 10px 24px rgba(252,176,23,.15);transform:translateY(-2px)}
    .glyph{font-size:22px;line-height:1;display:grid;place-items:center}
    .card h3{margin:0;font:700 18px/1.2 Nunito;color:#111}
    .card p{margin:6px 0 0;font:600 14px/1.6 Nunito;color:#374151}

    /* 4-step */
    /* Removed specific background here to use .ninja class */
    .steps-v3__title{font:700 clamp(24px,4.4vw,36px)/1.15 Nunito;color:#111;margin:14px 0 0}
    .steps-v3__grid{position:relative;display:grid;gap:16px;margin-top:clamp(18px,3vw,26px);list-style:none;padding:0;grid-template-columns:1fr}
    @media (min-width:960px){.steps-v3__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
    .stepv3{position:relative;display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;padding:18px;border:1.5px solid rgba(0,0,0,.10);border-radius:18px;background:#fff;box-shadow:0 6px 18px rgba(0,0,0,.04);transition:transform .2s, box-shadow .2s, border-color .2s}
    .stepv3:hover{transform:translateY(-2px);box-shadow:0 16px 30px rgba(252,176,23,.16);border-color:var(--brand)}
    .stepv3__num{inline-size:42px;block-size:42px;display:grid;place-items:center;border-radius:999px;background:var(--brand);color:#111;font:700 16px/1 Nunito;box-shadow:0 0 0 6px rgba(252,176,23,.20)}
    .stepv3__h{margin:0 0 6px;font:700 18px/1.2 Nunito;color:#111}
    .stepv3__p{margin:0;font:600 14.5px/1.65 Nunito;color:#374151}

    /* Expert */
    .avatar{width:84px;height:84px;border-radius:999px;object-fit:cover;border:2px solid #eee}
    .quote{border:1px solid #eee;border-radius:16px;background:#fafafa;margin: auto;padding:16px}
    
    /* Expert Section Responsive Layout */
    .expert-container {
      display: grid;
      grid-template-columns: 1fr;
      gap: 16px;
    }
    
    .expert-bio {
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
      gap: 16px;
    }
    
    .expert-bio__text h3 {
      margin: 0;
    }
    
    /* Desktop Override for Expert */
    @media (min-width: 700px) {
      .expert-bio {
        display: grid;
        grid-template-columns: 84px 1fr;
        align-items: center;
        text-align: left;
      }
      .expert-bio__text h3 {
        text-align: left;
      }
    }

    /* FAQ - OLD STYLES REMOVED TO AVOID CONFLICT */
    
    /* Trust strip */
    .esp-trust-logo {
      display: block; margin: 0 auto; max-height: 140px; width: auto; max-width: 100%; object-fit: contain;
    }
    .esp-trust{
      --tc-yellow:#FCB017; --tc-ink:#0f172a; --tc-line:rgba(0,0,0,.06);
      /* Updated to match Enforced Spacing (Horizontal 0 as per original design for full width content) */
      padding: 60px 0 50px;
    }
    @media (min-width: 960px) {
        .esp-trust {
            padding: 70px 0 60px;
        }
    }

    @media (max-width: 480px) {
      .esp-trust{
        padding: 40px 0; /* Keeping original mobile safeguard or update to match 60/50? Let's assume safeguard override is fine or remove it to enforce 60/50 strictly. I will respect the 'enforce' request. */
        padding: 60px 0 50px;
      }
    }


    .esp-trust .esp-trust-in{ max-width:1100px; margin:0 auto; padding:0 16px; }
    .tc-eyebrow{
      display:inline-flex;align-items:center;gap:8px; padding:8px 14px;border:2px solid var(--line);border-radius:999px;
      font:700 12px/1 Nunito;letter-spacing:.06em;text-transform:uppercase; color:var(--tc-yellow);background:#fff;margin:0 0 10px;
    }
    .esp-trust h2{ margin:0 0 8px; text-align:center; color:#000; font: 700 clamp(28px, 4vw, 40px)/1.2 Nunito, system-ui, sans-serif; }
    .esp-trust p{ margin:0 0 40px; text-align:center; color:#475569; font:600 14.5px/1.55 Nunito,system-ui; }
    .esp-trust-grid{ display:grid; gap:18px; grid-template-columns:repeat(2,1fr); max-width:1100px; margin:0 auto; padding-inline:16px; }
    @media (min-width:960px){ .esp-trust-grid{ grid-template-columns:repeat(4,1fr); } }
    .esp-trust-card{
      display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px;
      min-height:150px; padding:16px; border:2px solid var(--tc-yellow); border-radius:16px; background:#fff;
      box-shadow:0 8px 20px rgba(0,0,0,.06); transition:all .25s ease; text-decoration:none; color:inherit;
    }

    /* Lead form (ORIGINAL LAYOUT + FLOATING LABELS) */
 :root{ --wm-brand:#FCB017; --wm-ink:#2A2A2A; --wm-text:#3E3D3D; --wm-line:rgba(0,0,0,.10); --wm-max:1100px; }
    .wm-chip{ display:inline-flex;align-items:center;gap:8px; padding:6px 14px;border:1px solid var(--wm-line);border-radius:999px; background:#fff;font:700 12px/1 Nunito,system-ui; text-transform:uppercase;letter-spacing:.5px;color: #ff8c00c7; }
    .wm-h2{ font:700 clamp(22px,4vw,34px)/1.15 Nunito,system-ui; color:var(--wm-ink);margin:12px 0 0; }
    .wm-underline{ width:120px;height:6px;border-radius:4px; background:var(--wm-brand);margin:12px 0; }
    .wm-sub{ font: 16px/1.6 Nunito,system-ui;color:rgba(62,61,61,.92); max-width:109ch; }
    .wm-btn{ display:inline-flex;align-items:center;justify-content:center;gap:8px; padding:12px 22px;border-radius:999px;text-decoration:none; font:700 14px/1 Nunito,system-ui;border:2px solid var(--wm-brand); background:var(--wm-brand);color:#111; box-shadow:0 12px 26px rgba(0,0,0,.08); transition:background-color .18s,color .18s,transform .18s,border-color .18s,box-shadow .18s; }
    .wm-btn:hover{ background:#fff; color:var(--wm-brand); border-color:var(--wm-brand); box-shadow:0 12px 26px rgba(252,176,23,.18); transform:translateY(-1px); }
    
    /* --- MODIFIED SECTION: FORM BACKGROUND & SHADOW --- */
    .wm-lead{ 
        /* Used same gradient as .ninja class */
        background: #fff;
        /* Updated to match Enforced Spacing */
        padding: 60px 16px 50px;
    }
    @media (min-width: 960px) {
        .wm-lead {
            padding: 70px 16px 60px;
        }
    }

    .wm-lead__in{ max-width:var(--wm-max);margin:0 auto; }
    
    .wm-form{ 
        margin-top:12px;
        border:1px solid var(--wm-line);
        border-radius:16px; 
        background:#fff;
        padding:20px;
        display:grid;
        gap:16px; 
        /* Added Shadow here */
        box-shadow: 0 12px 32px rgba(0,0,0,0.08);
    }
    /* -------------------------------------------------- */

    .wm-row{display:grid;gap:12px}
    .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}

    /* --- Floating Label Styles --- */
    .wm-field.floating {
      position: relative;
      margin-bottom: 0;
    }
    .wm-form input, .wm-form textarea{ 
        font:700 14px/1.3 'Nunito', sans-serif !important; /* FORCED NUNITO */
        color:var(--wm-ink); 
        background:#fff; border:1px solid var(--wm-line); 
        border-radius:12px; padding:16px 16px 12px; /* Increased padding for float */
        outline:none; width: auto;
        transition: all 0.2s ease;
        box-sizing: border-box; /* Ensure padding doesn't break width */
        width: 100%;
    }
    .wm-form textarea{min-height:110px;resize:vertical}

    /* Floating Label Logic */
    .wm-field.floating label {
      position: absolute;
      top: 16px;
      left: 14px;
      font-size: 14px;
      font-family: 'Nunito', sans-serif !important; /* FORCED NUNITO */
      color: #666;
      font-weight: 700;
      pointer-events: none;
      transition: all 0.2s ease-out;
      background-color: transparent;
      padding: 0 4px;
    }

    /* Input Focus or Value Present State */
    .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: var(--wm-brand);
      background-color: #fff; /* Mask line behind label */
      font-weight: 700;
      left: 12px;
    }

    /* Filter-like Focus Glow */
    .wm-form input:focus, .wm-form textarea:focus{ 
        border-color:var(--wm-brand); 
        box-shadow: 0 0 0 4px rgba(252, 176, 23, 0.25);
        background-color: #fff;
        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; }
    
    /* UPDATED: Flex container to force inline display without wrapping */
    .wm-fine{ 
        display:flex;
        flex-wrap:nowrap; /* Prevent wrapping */
        gap:10px;
        align-items:center; 
        margin-top:8px;
        font:700 12px/1.4 Nunito,system-ui; 
        color:rgba(62,61,61,.9); 
        white-space: nowrap; /* Keep text on one line if space permits, or handle overflow */
    }
    
    /* Responsive adjustment for very small screens if needed */
    @media (max-width: 600px) {
        .wm-fine {
            flex-wrap: wrap; /* Allow wrapping only on mobile if absolutely necessary */
            white-space: normal;
            justify-content: center;
            text-align: center;
        }
    }

    .wm-contact a,.wm-link{ color:#fcb017;text-decoration:none;border-bottom:1px dashed rgba(252,176,23,.6); }
    .wm-contact a:hover,.wm-link:hover{border-bottom-color:#fcb017}
    .wm-vh{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
    @media (max-width: 480px) { .wm-actions{ justify-content: center; } }


  
    /* ========================= UPDATED BLOG LAYOUT - FULL WIDTH ========================= */
    .esp-container { flex: 1; display: flex; flex-direction: column; width: 100%; }
    
    /* Layout Wrapper */
    .esp-blog-layout {
      width: 100%; 
      margin: 0; 
      padding: 0;
    }
    
    /* Main Content Column */
    .wrap-blog {
      width: 100%;
      min-width: 0;
      margin: 0;
      padding: 0;
      background: #fff;
      border: none;
      border-radius: 0;
      box-shadow: none;
      overflow: hidden;
    }
    /* Updated wrap-blog section spacing to match enforced rules */
    .wrap-blog .section { 
        padding: 60px 16px 50px;
    }
    @media (min-width: 960px) {
        .wrap-blog .section {
            padding: 70px 16px 60px;
        }
    }

    .wrap-blog .wrap { max-width: 1200px; padding: 0; margin: 0 auto; }
    .wrap-blog .hero-min { padding-top: 90px; }
    
    @media (prefers-reduced-motion: reduce){
      *{transition:none!important;animation:none!important;scroll-behavior:auto!important}
    }

/* ===== LOCKED SCOPE ===== */
            .esp.mg-faqs-birmingham.v2{
              all: revert;
              --brand:#FCB017; --ink:#111; --line:#d9d9d9;
              font-family: Nunito, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
              color:#222; 
              /* UPDATED: Reverted to Gradient Background */
              background: radial-gradient(1200px 400px at 50% -10%, #FFF7E3 0%, rgba(255,247,227,0) 60%), #fff;
              
              /* Updated to match Enforced Spacing: 60/50 Mobile, 70/60 Desktop */
              padding: 60px 16px 50px;
              
              border: none;
              scroll-margin-top:100px;
            }
            @media (min-width: 960px) {
                .esp.mg-faqs-birmingham.v2 {
                    padding: 70px 16px 60px;
                }
            }

            .esp.mg-faqs-birmingham.v2 *{ box-sizing:border-box; font-family:inherit; }
            .esp.mg-faqs-birmingham.v2 .wrap{ max-width:1100px; margin:0 auto; }

            .esp.mg-faqs-birmingham.v2 .head{ position:relative; padding-left:18px; margin-bottom:8px; }
            .esp.mg-faqs-birmingham.v2 .head::before{
              content:""; position:absolute; left:0; top:6px; bottom:6px; width:4px; border-radius:4px;
              background:linear-gradient(180deg,var(--brand),#ffd06a);
            }

            .esp.mg-faqs-birmingham.v2 .eyebrow{
              display:inline-flex; align-items:center; gap:8px;
              padding:6px 14px; border:1px solid var(--line); border-radius:999px;
              font-weight:700; font-size:12px; letter-spacing:.06em; text-transform:uppercase;
              color:var(--brand); background:#fff; margin:0 0 10px;
            }

            #mg-faqs-bham-title{
              margin:0 0 10px; font-weight:700; color:var(--ink);
              font-size:clamp(22px,4.4vw,30px); line-height:1.15; letter-spacing:-.01em;
            }

            .esp.mg-faqs-birmingham.v2 .list{ display:grid; gap:12px; }
            .esp.mg-faqs-birmingham.v2 details{
              border:1px solid var(--line); border-radius:14px; background:#fff; overflow:hidden;
              transition:border-color .15s, box-shadow .15s, transform .15s;
            }
            .esp.mg-faqs-birmingham.v2 details[open],
            .esp.mg-faqs-birmingham.v2 details:hover{ border-color:var(--brand); box-shadow:0 10px 22px rgba(0,0,0,.06); transform:translateY(-1px); }

            .esp.mg-faqs-birmingham.v2 summary{
              list-style:none; cursor:pointer; outline:none;
              display:grid; grid-template-columns:1fr auto; gap:12px; align-items:center;
              padding:14px 16px; font-weight:700; color:#111; font-size:16px;
            }
            .esp.mg-faqs-birmingham.v2 summary::-webkit-details-marker{ display:none; }

            /* REMOVED NUM CLASS as per request */

            /* ARROW STYLE */
            .esp.mg-faqs-birmingham.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-birmingham.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 0.2s ease;
                margin-bottom: 4px; /* Visual centering */
            }
            .esp.mg-faqs-birmingham.v2 details[open] .chev::after{ 
                transform: rotate(-135deg); 
                margin-bottom: -2px;
            }

            /* SMOOTH ANIMATION STYLES */
            .esp.mg-faqs-birmingham.v2 .answer{
              max-height: 0;
              opacity: 0;
              overflow: hidden;
              transition: max-height 0.3s ease-out, opacity 0.3s ease-out, padding 0.3s ease;
              padding: 0 16px; /* Collapsed padding */
              border-top: 1px solid transparent;
              font-size: 14.5px; line-height: 1.7; color: #333;
            }
            /* UPDATED: RESTORED OPACITY & MAX-HEIGHT to ensure it stays visible */
            .esp.mg-faqs-birmingham.v2 details[open] .answer {
              border-top: 1px solid var(--line);
              padding-bottom: 16px;
              opacity: 1; /* Essential */
              max-height: none; /* Essential */
            }
            .esp.mg-faqs-birmingham.v2 .answer p{ margin:12px 0 14px; }

/* Inline styles for acs-approved-contractor-service.html */
.st-946c6b80 { margin:10px 0 0 !important; font:700 13px/1.4 Nunito !important; color:#374151 !important; }
.st-539b047e { text-align:center !important; }
.st-7d712e65 { font:700 clamp(24px,4.4vw,36px)/1.15 Nunito !important; color:#111 !important; margin:14px 0 0 !important; }
.st-1cd906bc { margin:12px auto !important; }
.st-7b8a0882 { margin-top:24px !important; max-width:500px !important; margin-left:auto !important; margin-right:auto !important; background:#fff !important; padding:30px !important; border-radius:16px !important; border:2px solid var(--brand) !important; box-shadow:0 10px 30px rgba(252,176,23,0.15) !important; }
.st-1a5b8288 { margin:0 !important; font:700 22px/1.2 Nunito !important; color:#111 !important; }
.st-6ddc0463 { margin:10px 0 0 !important; font:600 15px Nunito !important; color:#555 !important; }
.st-6c1bb122 { margin:20px 0 !important; font:700 42px/1 Nunito !important; color:var(--brand) !important; }
.st-3d5eeb87 { font-size:16px !important; color:#777 !important; font-weight:600 !important; }
.st-9288f766 { width:100% !important; box-sizing:border-box !important; }
.st-6cbeca4e { margin:.25rem 0 0 !important; color:#6b7280 !important; }
.st-1386d503 { margin:0 !important; }
.st-e5be108d { margin-top:8px !important; color:#6b7280 !important; }
.st-13076d95 { text-align:center !important; }
.st-ca8ced99 { font:700 clamp(22px,4vw,32px)/1.2 Nunito !important; color:#111 !important; margin:0 0 8px !important; }
.st-4c40f894 { margin:0 auto 16px !important; max-width:70ch !important; }
.st-0ca50382 { white-space: nowrap !important; }
body { margin: 0; 
            padding: 0; 
              
            /* --- FIXED BACKGROUND TILING START --- */
            background-color: #f4f4f4; 
            /* --- FIXED BACKGROUND TILING END --- */

            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; }
.btn-core { display: inline-flex; align-items: center; justify-content: center; gap: 8px;
            padding: 12px 24px; border-radius: 999px; text-decoration: none;
            font-weight: 700; font-size: 15px; line-height: 1;
            transition: all 0.25s ease; cursor: pointer; }
.esp.hero-guarding-wm { background:#fff; border-bottom:1px solid rgba(0,0,0,0.05); }
.esp.hero-guarding-wm .container { max-width:1100px; margin:0 auto; padding:70px 16px 60px; text-align:center; color:#3E3D3D; }
.esp.hero-guarding-wm .eyebrow-pill { display:inline-block; padding:6px 14px; border:2px solid #e6e6e6; border-radius:999px;
      font-weight:700; font-size:12px; letter-spacing:.05em; text-transform:uppercase;
      color: #ff8c00c7; background:#fff; margin:0 0 12px; }
.esp.hero-guarding-wm h1 { margin:10px 0 6px; color:#111111; font-weight:700; font-size:clamp(28px,5vw,42px); line-height:1.1; }
.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:800px; }
.esp.hero-guarding-wm .lead { max-width:860px; margin:0 auto 24px; font-size:clamp(15px,2.6vw,17px); line-height:1.65; color:#424a57; }
.esp.hero-guarding-wm .cta-row { display:flex; justify-content:center; gap:12px; flex-wrap:wrap; }
.esp.hero-guarding-wm .btn { border-radius:999px; border:2px solid #FCB017; background:#FCB017;
      color:#111; font-weight:700; box-shadow:0 4px 10px rgba(0,0,0,.08);
      padding: 14px 28px; text-decoration: none; transition: 0.2s; }
.esp.hero-guarding-wm .btn:hover { background: #fff;  color:#FCB017; transform: translateY(-2px); }
.esp.hero-guarding-wm .accred-strip { margin-top: 32px; display: flex; flex-wrap: wrap; justify-content: center; gap: 15px; opacity: 0.7; }
.esp.hero-guarding-wm .accred-text { font-size: 13px; font-weight: 700; color: #424a57; text-transform: uppercase; letter-spacing: 0.5px; }
.esp.hero-guarding-wm .sep-dot { color: #FCB017; /* Orange Color */ }
.esp.calc-budget .c-trigger, .esp.calc-budget .c-opt, .esp.calc-budget .custom-input { font-family: 'Nunito', sans-serif !important; }
.esp.why-matters { background: #fff; padding: 70px 16px 60px;
      font-family: 'Nunito', sans-serif; color: #424a57; }
.esp.why-matters .wrap { max-width: 1100px; margin: 0 auto;
      display: grid; gap: 30px; align-items: center; }
.esp.why-matters .wrap { grid-template-columns: 1fr 1fr; }
.esp.why-matters .content-side { padding-right: 20px; }
.esp.why-matters .eyebrow { 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: #FCB017; background: #fff; margin: 0 0 12px; }
.esp.why-matters h2 { font-size: clamp(28px, 4vw, 38px); font-weight: 700; color: #111; margin: 0 0 10px; line-height: 1.15; }
.esp.why-matters .motto { font-size: 18px; font-style: italic; 
        color: #424a57; 
        border-left: 5px solid #FCB017; 
        margin: 0 0 20px; font-weight: 600;
        
        background: #fff; 
        padding: 16px 24px;
        border-radius: 0 12px 12px 0;
        box-shadow: 0 4px 12px rgba(0,0,0,0.04);
        display: inline-block;
        line-height: 1.4; }
.esp.why-matters .desc { font-size: 16px; line-height: 1.6; color: #424a57; margin-bottom: 24px; }
.esp.why-matters .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;
        box-shadow: 0 4px 10px rgba(0,0,0,.08); border: 2px solid #FCB017;
        transition: all 0.25s ease; }
.esp.why-matters .btn:hover { background: #fff; color: #FCB017; transform: translateY(-2px);
        box-shadow: 0 8px 16px rgba(0,0,0,.12); }
.esp.why-matters .list-side { display: grid; gap: 14px;
        grid-auto-rows: 1fr; }
.esp.why-matters .card { background: #fff; padding: 18px; border-radius: 12px; border: 1px solid rgba(0,0,0,0.08);
        box-shadow: 0 4px 12px rgba(0,0,0,0.03); transition: 0.2s; 
        display: flex; gap: 16px; 
        align-items: center; 
        min-height: 110px; 
        height: 100%; }
.esp.why-matters .card:hover { transform: translateY(-3px); border-color: #FCB017; box-shadow: 0 10px 20px rgba(0,0,0,0.06); }
.esp.why-matters .icon { background: rgba(252, 176, 23, 0.15); width: 44px; height: 44px; border-radius: 50%;
        display: grid; place-items: center; font-size: 20px; color: #FCB017; flex-shrink: 0; }
.esp.why-matters h3 { margin: 0 0 4px; font-size: 17px; font-weight: 700; color: #111; }
.esp.why-matters p { margin: 0; font-size: 14.5px; line-height: 1.5; color: #424a57; }
.esp.why-matters { text-align: center !important; }
.esp.why-matters .content-side { padding-right: 0 !important; }
.esp.why-matters .motto { margin: 0 auto 20px !important;
            display: inline-block !important; }
.esp.why-matters .btn { margin: 0 auto !important; }
.esp.why-matters .card { flex-direction: column !important; /* Stack icon on top */
            text-align: center !important;
            justify-content: center !important;
            padding: 24px !important; }
.esp.why-matters .icon { margin-bottom: 10px !important; }
.esp.core-duties { background: #fafafa; 
        padding: 70px 16px 60px; 
        font-family: 'Nunito', sans-serif; }
.esp.core-duties .wrap { max-width: 1100px; margin: 0 auto; }
.esp.core-duties .header { text-align: left; 
        max-width: 800px; 
        margin: 0 0 40px; }
.esp.core-duties .sub { 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: #FCB017; background: #fff; margin: 0 0 12px; }
.esp.core-duties h2 { font-size: clamp(28px, 4vw, 38px); font-weight: 700; margin: 0 0 8px; color: #111; line-height: 1.1; }
.esp.core-duties .quote { font-style: italic; 
        color: #424a57; 
        margin: 0 0 20px; 
        font-size: 18px; 
        border-left: 5px solid #FCB017; 
        
        background: #ffffff;
        padding: 16px 24px;
        border-radius: 0 12px 12px 0; 
        box-shadow: 0 4px 12px rgba(0,0,0,0.04);
        display: inline-block;
        
        line-height: 1.4; }
.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; margin: 0; font-size: 14px; }
.esp.core-duties .grid { display: grid; grid-template-columns: 1fr; gap: 20px; margin-bottom: 40px; }
.esp.core-duties .grid { grid-template-columns: repeat(2, 1fr); }
.esp.core-duties .card { background: #fff; border: 1px solid #eee; border-radius: 16px; padding: 20px;
        transition: 0.25s; position: relative; overflow: hidden; }
.esp.core-duties .card:hover { border-color: #FCB017; box-shadow: 0 12px 24px rgba(0,0,0,0.06); transform: translateY(-4px); }
.esp.core-duties h3 { font-size: 20px; margin: 0 0 10px; color: #111; font-weight: 700; display: flex; align-items: center; gap: 10px; }
.esp.core-duties p { font-size: 15px; line-height: 1.6; color: #424a57; margin: 0; }
.esp.core-duties .emergency-merged { background: #fff; 
        border-radius: 20px;
        padding: 20px;
        border: 2px solid #eee;
        border-left: 6px solid #FCB017; 
        text-align: left; }
.esp.core-duties .emergency-merged h3 { font-size: 22px; margin-bottom: 8px; color: #111; }
.esp.core-duties .emergency-merged p { font-size: 16px; color: #424a57; margin: 0; }
.esp.core-duties .emergency-merged .sub-tag { font-size: 11px; font-weight: 700; color: #FCB017; text-transform: uppercase; margin-bottom: 5px; display: block; }
.esp.core-duties .emergency-merged .sub-heading-bold { font-weight: 700; color: #111; margin-bottom: 8px; display: block; font-size: 16px; }
.esp.core-duties .emergency-merged .quote-small { font-style: italic; color: #424a57; margin-bottom: 16px; display: block; font-size: 15px; }
.esp.core-duties .btn-emergency { 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 0.2s ease;
        white-space: nowrap;
        margin-top: 24px; }
.esp.core-duties .btn-emergency:hover { background: #fff; color: #FCB017; transform: translateY(-2px); 
        box-shadow: 0 8px 16px rgba(0,0,0,.12); }
.esp.core-duties { text-align: center !important; }
.esp.core-duties .header, .esp.core-duties .emergency-merged { text-align: center !important;
            margin-left: auto !important;
            margin-right: auto !important; }
.esp.core-duties h3, .esp.core-duties .points-strip { justify-content: center !important; }
.esp.core-duties .grid { display: flex !important;
            flex-direction: column !important; }
.esp.core-duties .card { text-align: center !important;
            display: flex !important;
            flex-direction: column !important;
            align-items: center !important; }
.esp.process-wm { background: #fff; /* Light Grey background to separate from white sections */
        padding: 70px 16px 60px; 
        font-family: 'Nunito', sans-serif; }
.esp.process-wm .wrap { max-width: 1100px; margin: 0 auto; }
.esp.process-wm .head-box { text-align: center; margin-bottom: 40px; }
.esp.process-wm .eyebrow { 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: #FCB017; background: #fff; margin: 0 0 12px; }
.esp.process-wm h2 { font-size: 38px; font-weight: 700; color: #111; margin: 0 0 10px; line-height: 1.2; }
.esp.process-wm .sub-h { font-size: 18px; color: #424a57; margin-bottom: 20px; }
.esp.process-wm .motto { font-size: 18px; font-style: italic; color: #424a57; 
        border-left: 5px solid #FCB017; 
        margin: 0 auto; font-weight: 600;
        background: #fff; 
        padding: 16px 24px;
        border-radius: 0 12px 12px 0;
        box-shadow: 0 4px 12px rgba(0,0,0,0.04);
        display: inline-block;
        line-height: 1.4;
        text-align: left; }
.esp.process-wm .process-grid { display: grid; 
        grid-template-columns: repeat(4, 1fr); 
        gap: 20px;
        margin-top: 40px; }
.esp.process-wm .step-card { background: #fff; 
        padding: 30px 20px 24px; 
        border-radius: 16px; 
        border: 1px solid #eee;
        position: relative;
        transition: all 0.3s ease;
        text-align: left; }
.esp.process-wm .step-card:hover { border-color: #FCB017; 
        transform: translateY(-5px);
        box-shadow: 0 12px 24px rgba(0,0,0,0.08); }
.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,0.1); }
.esp.process-wm h3 { font-size: 18px; font-weight: 700; color: #111; margin: 10px 0 10px; }
.esp.process-wm p { font-size: 14.5px; line-height: 1.6; color: #424a57; margin: 0; }
.esp.process-wm { padding-left: 20px !important; padding-right: 20px !important; }
.esp.process-wm h2 { font-size: 28px !important; }
.esp.process-wm .process-grid { grid-template-columns: 1fr; gap: 30px; }
.esp.process-wm p { font-size: 15.5px !important; }
.esp.process-wm .motto { font-size: 16px !important; }
.esp.process-wm .step-card { padding-top: 24px; }
.esp.pricing-wm { background: #fafafa; 
        padding: 70px 16px 60px; 
        font-family: 'Nunito', sans-serif; }
.esp.pricing-wm .wrap { max-width: 1100px; margin: 0 auto; text-align: center; }
.esp.pricing-wm .top-flex { display: flex; flex-wrap: wrap; justify-content: center; text-align: center; 
        margin-bottom: 40px; gap: 20px; }
.esp.pricing-wm .eyebrow { 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: #FCB017; background: #fff; margin: 0 0 12px; }
.esp.pricing-wm h2 { font-size: clamp(28px, 4vw, 38px); font-weight: 700; margin: 0 0 8px; color: #111; line-height: 1.2; }
.esp.pricing-wm .motto { font-size: 18px; font-style: italic; color: #424a57; 
        border-left: 5px solid #FCB017; 
        margin: 0 0 20px; font-weight: 500;
        background: #fff; 
        padding: 16px 24px;
        border-radius: 0 12px 12px 0;
        box-shadow: 0 4px 12px rgba(0,0,0,0.04);
        display: inline-block;
        line-height: 1.4;
        text-align: left; }
.esp.pricing-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;
        box-shadow: 0 4px 10px rgba(0,0,0,.08); border: 2px solid #FCB017;
        transition: all 0.25s ease;
        margin-top: 32px; }
.esp.pricing-wm .btn:hover { background: #fff; color: #FCB017; transform: translateY(-2px);
        box-shadow: 0 8px 16px rgba(0,0,0,.12); }
.esp.pricing-wm .card-grid { display: block; max-width: 800px; margin: 0 auto; }
.esp.pricing-wm .card { background: #fff; padding: 30px; border-radius: 20px; 
        box-shadow: 0 4px 20px rgba(0,0,0,0.03); border: 1px solid rgba(0,0,0,0.05);
        transition: transform 0.2s; }
.esp.pricing-wm .card:hover { transform: translateY(-3px); box-shadow: 0 10px 25px rgba(0,0,0,0.06); border-color: #FCB017; }
.esp.pricing-wm .main-card { 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; }
.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: 18px; text-align: left; }
.esp.pricing-wm .rate-val { font-weight: 700; color: #111; font-size: 26px; }
.esp.pricing-wm .unit { font-size: 14px; font-weight: 500; color: #777; margin-left: 2px; }
.esp.pricing-wm h3 { margin: 0 0 20px; font-size: 20px; font-weight: 700; color: #111; display: flex; align-items: center; gap: 10px; }
.esp.pricing-wm .note { font-size: 13px; color: #424a57; margin-top: 20px; line-height: 1.5; text-align: left; }
.esp.pricing-wm { text-align: center !important; }
.esp.pricing-wm .top-flex { justify-content: center !important; text-align: center !important; }
.esp.pricing-wm .eyebrow { margin: 0 auto 12px !important; }
.esp.pricing-wm .motto { margin: 0 auto 20px !important; display: inline-block !important; }
.esp.pricing-wm .card-grid { width: 100% !important; }
.esp.pricing-wm h3 { justify-content: center !important; }
.esp.pricing-wm .rate-row { gap: 15px !important; }
.esp.calc-budget { background: #fff; padding: 70px 16px 60px; font-family:'Nunito',sans-serif; }
.esp.calc-budget .wrap { max-width: 800px; margin: 0 auto; border: 2px solid #e6e6e6; border-radius: 20px; padding: 30px; background:#fff; }
.esp.calc-budget h2 { text-align: center; margin: 0 0 16px; font-weight: 700; font-size: 38px; color: #111; }
.esp.calc-budget .motto-style { font-size: 18px; font-style: italic; color: #555; 
        border-left: 5px solid #FCB017; 
        background: #fff; 
        padding: 12px 24px;
        border-radius: 0 12px 12px 0;
        box-shadow: 0 4px 12px rgba(0,0,0,0.04);
        display: inline-block;
        line-height: 1.4;
        font-weight: 600;
        margin-bottom: 32px; }
.esp.calc-budget .center-motto { text-align: center; }
.esp.calc-budget .c-grid { display: grid; gap: 20px; grid-template-columns: 1fr; margin-bottom: 30px; }
.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 .c-select { position: relative; width: 100%; }
.esp.calc-budget .c-trigger { width:100%; padding:12px 12px 12px 16px; 
      border:1px solid #ddd; border-radius:8px;
      background:#fff; color:#111; font-size:16px; text-align:left; cursor:pointer;
      line-height:1.2; box-shadow: 0 1px 0 rgba(0,0,0,.02);
      display: flex; justify-content: space-between; align-items: center; }
.esp.calc-budget .c-trigger:focus-visible { outline:0; box-shadow:0 0 0 3px rgba(252,176,23,.30); border-color:#FCB017; }
.esp.calc-budget .chev { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 999px;
      border: 1px solid rgba(0,0,0,.10); flex-shrink: 0; }
.esp.calc-budget .chev::after { content: ""; display: inline-block; width: 8px; height: 8px; 
      border-right: 2.5px solid #FCB017;
      border-bottom: 2.5px solid #FCB017; 
      transform: rotate(45deg); transition: transform .2s ease; margin-bottom: 4px; }
.esp.calc-budget .c-select[data-open="true"] .chev::after { transform: rotate(-135deg); margin-bottom: -2px; }
.esp.calc-budget .c-menu { position:absolute; left:0; right:0; margin-top:8px; border:1px solid #e6e6e6; border-radius:12px;
      background:#fff; box-shadow: 0 12px 26px rgba(0,0,0,.12); z-index:50; max-height:240px; overflow:auto; padding:6px; display:none; }
.esp.calc-budget .c-select[data-open="true"] .c-menu { display:block; }
.esp.calc-budget .c-opt { width:100%; border:0; background:transparent; text-align:left; padding:10px 10px;
      border-radius:10px; font-size:16px; cursor:pointer; color:#111; }
.esp.calc-budget .c-opt:hover { background:#FCB017; color:#111; }
.esp.calc-budget .c-opt:focus-visible { outline:0; box-shadow:0 0 0 3px rgba(252,176,23,.30); }
.esp.calc-budget .custom-input-wrap { margin-top: 10px;
        display: none; /* Hidden by default */
        width: 100%; }
.esp.calc-budget .custom-input { width: 100%; padding: 12px;
        border: 1px solid #ddd; border-radius: 8px;
        font-size: 16px; font-family: inherit;
        outline: none; }
.esp.calc-budget .custom-input:focus { border-color: #FCB017; box-shadow: 0 0 0 3px rgba(252,176,23,.30); }
.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,0.03);
        transition: all 0.3s ease; 
        cursor: default; 
        width: 100%;
        max-width: 400px; }
.esp.calc-budget .res-card:hover { border-color: #FCB017; 
        box-shadow: 0 4px 12px rgba(252, 176, 23, 0.15); 
        transform: translateY(-2px); }
.esp.calc-budget .res-card:hover .res-val { color: #FCB017; }
.esp.calc-budget .res-lbl { font-size: 14px; color: #666; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 8px; }
.esp.calc-budget .res-val { font-size: 32px; font-weight: 700; color: #111; 
        transition: color 0.3s ease; }
.esp.calc-budget .disclaimer { font-size: 12px; color: #999; margin-top: 24px; text-align: center; }
.esp.calc-budget { text-align: center !important;
            padding-left: 20px !important;
            padding-right: 20px !important; }
.esp.calc-budget .wrap { padding: 24px 20px !important; 
            width: 100% !important; }
.esp.calc-budget .center-motto { text-align: center !important; }
.esp.calc-budget .motto-style { display: inline-block !important;
            margin: 0 auto 30px !important; }
.esp.calc-budget label { text-align: center !important; }
.esp.calc-budget .c-grid { display: flex !important;
            flex-direction: column !important;
            gap: 20px !important;
            align-items: center !important; /* This centers the children... */ }
.esp.calc-budget .c-grid > div { width: 100% !important; }
.esp.calc-budget .c-trigger { width: 100% !important;
            justify-content: space-between !important; }
.esp.calc-budget .res-card { max-width: 100% !important;
            width: 100% !important; }
.esp.knowledge-base { background: #fafafa; 
        padding: 70px 16px 60px; 
        font-family: 'Nunito', sans-serif; }
.esp.knowledge-base .wrap { max-width: 1100px; margin: 0 auto; }
.esp.knowledge-base .head-box { text-align: center; margin-bottom: 40px; }
.esp.knowledge-base .eyebrow { 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: #FCB017; background: #fff; margin: 0 0 12px; }
.esp.knowledge-base h2 { font-size: 38px; font-weight: 700; color: #111; margin: 0 0 10px; line-height: 1.2; }
.esp.knowledge-base .sub-h { font-size: 18px; color: #424a57; margin-bottom: 20px; }
.esp.knowledge-base .motto { font-size: 18px; font-style: italic; color: #424a57; 
        border-left: 5px solid #FCB017; 
        margin: 0 auto; font-weight: 600;
        background: #fff; 
        padding: 16px 24px;
        border-radius: 0 12px 12px 0;
        box-shadow: 0 4px 12px rgba(0,0,0,0.04);
        display: inline-block;
        line-height: 1.4;
        text-align: left; }
.esp.knowledge-base .kb-grid { display: grid; 
        grid-template-columns: repeat(2, 1fr); 
        gap: 24px; }
.esp.knowledge-base .kb-card { background: #fff; border: 1px solid #eee; border-radius: 16px; 
        transition: all 0.3s ease;
        height: 100%;
        overflow: hidden; }
.esp.knowledge-base .kb-card:hover { border-color: #FCB017; 
        transform: translateY(-5px);
        box-shadow: 0 12px 24px rgba(0,0,0,0.08); }
.esp.knowledge-base .kb-card-link { display: flex; flex-direction: column; justify-content: flex-start;
        padding: 30px; 
        height: 100%;
        text-decoration: none;
        color: inherit; }
.esp.knowledge-base h3 { font-size: 20px; font-weight: 700; color: #111; margin: 0 0 12px; line-height: 1.4; }
.esp.knowledge-base p { font-size: 15px; line-height: 1.6; color: #424a57; margin: 0 0 20px; flex-grow: 1; }
.esp.knowledge-base .read-link { font-size: 14px; font-weight: 800; color: #FCB017; 
        text-decoration: none; text-transform: uppercase; letter-spacing: 0.5px;
        display: inline-flex; align-items: center; gap: 6px;
        margin-top: auto; /* Pushes link to bottom */ }
.esp.knowledge-base .read-link:hover { text-decoration: underline; }
.esp.knowledge-base { padding-left: 20px !important; padding-right: 20px !important; }
.esp.knowledge-base h2 { font-size: 28px !important; }
.esp.knowledge-base .kb-grid { grid-template-columns: 1fr; }
.esp.knowledge-base p { font-size: 15.5px !important; }
.esp.knowledge-base .motto { font-size: 16px !important; }
.esp.why-eagle { background: #fff; padding: 70px 16px 60px; font-family: 'Nunito', sans-serif; }
.esp.why-eagle .wrap { max-width: 1100px; margin: 0 auto; text-align: center; }
.esp.why-eagle .eyebrow { 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: #FCB017; background: #fff; margin-bottom: 12px; }
.esp.why-eagle h2 { font-size: 38px; font-weight: 700; margin: 10px 0; color: #111; line-height: 1.2; }
.esp.why-eagle .motto { font-size: 18px; font-style: italic; color: #424a57; 
        border-left: 5px solid #FCB017; 
        margin: 0 auto 40px; font-weight: 500;
        
        /* Consistent Background Styling */
        background: #fff; 
        padding: 16px 24px;
        border-radius: 0 12px 12px 0;
        box-shadow: 0 4px 12px rgba(0,0,0,0.04);
        display: inline-block;
        line-height: 1.4;
        text-align: left; /* Keep text aligned left inside the box */ }
.esp.why-eagle .grid { display: grid; gap: 20px; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.esp.why-eagle .item { padding: 30px 24px; border-radius: 16px; border: 1px solid #eee; text-align: left;
        background: #fff; /* Default white */
        transition: all 0.3s ease; /* Smooth hover animation */ }
.esp.why-eagle .item:nth-child(2) { background: #fff;
        border-color: rgba(252, 176, 23, 0.2); /* Slight border tint for colored boxes */ }
.esp.why-eagle .item:hover { border-color: #FCB017; 
        transform: translateY(-8px); /* Moves up */
        box-shadow: 0 12px 24px rgba(0,0,0,0.08); /* Adds shadow */ }
.esp.why-eagle h3 { font-size: 19px; font-weight: 700; color: #111; margin: 0 0 10px; }
.esp.why-eagle p { font-size: 15px; line-height: 1.6; color: #424a57; margin: 0; }
.esp.why-eagle .check { color: #FCB017; font-size: 28px; margin-bottom: 14px; display: block; }
.esp.mg-cs-wm { background: #fafafa; 
        padding: 70px 16px 60px; 
        font-family: 'Nunito', sans-serif; }
.esp.mg-cs-wm .wrap { max-width: 1100px; margin: 0 auto; text-align: center; }
.esp.mg-cs-wm .head { text-align: center;
        margin-bottom: 30px; }
.esp.mg-cs-wm .eyebrow { 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: #FCB017; background: #fff; margin: 0 0 12px; }
#mg-cs-wm-title { margin: 0 0 10px; font-weight: 700; color: #111; 
        font-size: clamp(22px, 4vw, 38px); line-height: 1.2; }
.esp.mg-cs-wm .motto { font-size: 18px; font-style: italic; color: #424a57; 
        border-left: 5px solid #FCB017; 
        margin: 0 auto 24px; font-weight: 500;
        background: #fff; 
        padding: 16px 24px;
        border-radius: 0 12px 12px 0;
        box-shadow: 0 4px 12px rgba(0,0,0,0.04);
        display: inline-block;
        line-height: 1.4;
        text-align: left; }
.esp.mg-cs-wm h3 { margin: 0 0 24px; 
        font-size: 22px; 
        font-weight: 700; 
        color: #111; 
        padding-bottom: 0; 
        text-align: center; }
.esp.mg-cs-wm .phases-grid { display: grid; gap: 20px;
        grid-template-columns: 1fr; }
.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,0.05); 
        border-left: 4px solid #ddd; 
        box-shadow: 0 4px 6px rgba(0,0,0,0.02);
        transition: transform 0.2s;
        text-align: left; }
.esp.mg-cs-wm .phase-box:hover { transform: translateY(-3px); box-shadow: 0 12px 24px rgba(0,0,0,0.08); }
.esp.mg-cs-wm .phase-issue { border-left-color: #FCB017; }
.esp.mg-cs-wm .phase-response { border-left-color: #FCB017; }
.esp.mg-cs-wm .phase-outcome { border-left-color: #FCB017; }
.esp.mg-cs-wm .phase-title { font-size: 17px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 8px; display: block; }
.esp.mg-cs-wm .phase-issue .phase-title { color: #FCB017; }
.esp.mg-cs-wm .phase-response .phase-title { color: #FCB017; }
.esp.mg-cs-wm .phase-outcome .phase-title { color: #FCB017; }
.esp.mg-cs-wm p { font-size: 14.5px; line-height: 1.6; color: #424a57; margin: 0; }
.esp.mg-cs-wm .btn { display: inline-flex; margin-top: 30px; padding: 14px 28px; border-radius: 999px; 
        background: #FCB017; color: #111; font-weight: 700; text-decoration: none;
        box-shadow: 0 4px 10px rgba(0,0,0,.08); transition: all 0.2s; border: 2px solid #FCB017; }
.esp.mg-cs-wm .btn:hover { background: #fff; color: #FCB017; transform: translateY(-2px); box-shadow: 0 8px 16px rgba(0,0,0,.12); }
.esp.coverage-wm { background: #fff; padding: 70px 16px 60px; font-family: 'Nunito', sans-serif; }
.esp.coverage-wm .wrap { max-width: 1100px; margin: 0 auto; text-align: center; }
.esp.coverage-wm .eyebrow { 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: #FCB017; background: #fff; margin: 0 0 12px; }
.esp.coverage-wm h2 { font-size: 38px; font-weight: 700; color: #111; margin: 0 0 20px; }
.esp.coverage-wm .motto { font-size: 18px; font-style: italic; color: #424a57; 
        border-left: 5px solid #FCB017; 
        margin: 0 auto 30px; font-weight: 500;
        background: #fff; 
        padding: 16px 24px;
        border-radius: 0 12px 12px 0;
        box-shadow: 0 4px 12px rgba(0,0,0,0.04);
        display: inline-block;
        line-height: 1.4;
        text-align: left; }
.esp.coverage-wm .pill-grid { display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 10px;
      margin-top: 30px; }
.esp.coverage-wm .pill { display: inline-flex; align-items: center; justify-content: center;
      padding: 14px 28px; /* Standard button padding */
      border-radius: 999px;
      font-size: 15px;
      font-weight: 700;
      text-decoration: none;
      transition: all 0.25s ease;
      
      /* Default: Yellow Background, Black Text */
      background: #FCB017;
      color: #111;
      border: 2px solid #FCB017;
      box-shadow: 0 4px 10px rgba(0,0,0,.08); }
.esp.coverage-wm .pill:hover, .esp.coverage-wm .pill:focus-visible { background: #fff;
      color: #FCB017;
      border-color: #FCB017;
      transform: translateY(-2px);
      box-shadow: 0 8px 16px rgba(0,0,0,.12);
      outline: none; }
.esp.coverage-wm .pill-grid { display: grid;
            grid-template-columns: repeat(6, 1fr); /* 6 columns allow for 2 (span 3) and 3 (span 2) items */
            gap: 8px;
            width: 100%; /* Reset width */ }
.esp.coverage-wm .pill { width: 100%; /* Fill the grid cell */
            padding: 12px 4px; /* Reduce padding slightly for small screens */
            font-size: 13px; /* Slightly smaller text to fit 3 in a row */
            grid-column: span 3; /* Default: 2 items per row (6/3 = 2) */
            margin-bottom: 0; /* Remove default margin */ }
.esp.coverage-wm .pill:nth-child(3), .esp.coverage-wm .pill:nth-child(4), .esp.coverage-wm .pill:nth-child(5) { grid-column: span 2; }
.esp.client-reviews { background: #fafafa; padding: 70px 16px; font-family: 'Nunito', sans-serif; text-align: center; }
.esp.client-reviews .wrap { max-width: 900px; margin: 0 auto; }
.esp.client-reviews .eyebrow { 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: #FCB017; background: #fff; margin: 0 0 12px; }
.esp.client-reviews h2 { font-size: 32px; font-weight: 700; color: #111; margin-bottom: 40px; }
.esp.client-reviews .review-grid { display: grid; grid-template-columns: 1fr; gap: 20px; }
.esp.client-reviews .review-grid { grid-template-columns: 1fr; max-width: 600px; margin: 0 auto; }
.esp.client-reviews .review-card { background: #fff; padding: 30px; border-radius: 16px; box-shadow: 0 4px 15px rgba(0,0,0,0.05); text-align: left; border: 1px solid #eee; transition: 0.3s; text-align: center; }
.esp.client-reviews .review-card:hover { transform: translateY(-5px); border-color: #FCB017; }
.esp.client-reviews .stars { color: #FCB017; font-size: 18px; margin-bottom: 12px; display: block; }
.esp.client-reviews p { font-style: italic; color: #424a57; font-size: 16px; line-height: 1.6; margin-bottom: 16px; }
.esp.client-reviews .author { font-weight: 700; font-size: 14px; color: #111; text-transform: uppercase; letter-spacing: 0.5px; }
.esp.mg-faqs-wm.v2 { --brand: #FCB017;
     --ink: #111111;
     --line: rgba(0,0,0,.10);
     --bg-grey: #fafafa;
     
     font-family: 'Nunito', system-ui;
     color: #111111;
     background: var(--bg-grey);
     padding: 70px 16px 60px;
     border: none;
     scroll-margin-top: 100px; }
.esp.mg-faqs-wm.v2 { padding: 70px 16px 60px; }
.esp.mg-faqs-wm.v2 * { box-sizing: border-box; font-family: inherit; }
.esp.mg-faqs-wm.v2 .wrap { max-width: 1100px; margin: 0 auto; }
.esp.mg-faqs-wm.v2 .head { position: relative; margin-bottom: 8px; padding-left: 0; }
.esp.mg-faqs-wm.v2 .eyebrow { 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: #FCB017; background: #fff; margin: 0 0 12px; }
#mg-faqs-wm-mobile-title { font-weight: 700; color: var(--ink); 
     font-size: clamp(24px, 4.4vw, 38px);
     line-height: 1.15; letter-spacing: -.01em;
     position: relative; margin: 0 0 20px; padding-bottom: 15px; }
.esp.mg-faqs-wm.v2 .motto { font-size: 18px; font-style: italic; color: #424a57; 
       border-left: 5px solid #FCB017; 
       margin: 0 auto 30px; font-weight: 500;
       background: #fff; /* White background to stand out on grey section */
       padding: 16px 24px;
       border-radius: 0 12px 12px 0;
       box-shadow: 0 4px 12px rgba(0,0,0,0.04);
       display: inline-block;
       line-height: 1.4;
       text-align: left; }
.esp.mg-faqs-wm.v2 .list { display: grid; gap: 12px; }
.esp.mg-faqs-wm.v2 details { border: 1px solid var(--line); border-radius: 14px; background: #fff; overflow: hidden;
     transition: border-color .15s, box-shadow .15s, transform .15s; }
.esp.mg-faqs-wm.v2 details[open], .esp.mg-faqs-wm.v2 details:hover { border-color: var(--brand); box-shadow: 0 10px 22px rgba(0,0,0,.06); transform: translateY(-1px); }
.esp.mg-faqs-wm.v2 summary { list-style: none; cursor: pointer; outline: none;
     display: grid; grid-template-columns: 1fr auto;
     gap: 12px; align-items: center;
     padding: 16px 17px;
     font-weight: 700; color: #111111; 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 { max-height: 0; 
     opacity: 0; 
     overflow: hidden;
     transition: max-height 0.4s ease-out, opacity 0.4s ease-out, padding 0.4s ease;
     padding: 0 16px; 
     border-top: 1px solid transparent; 
     font-size: 16px; line-height: 1.7; color: #424a57; }
.esp.mg-faqs-wm.v2 details[open] .answer { border-top: 1px solid var(--line); 
       max-height: none; 
       opacity: 1;
       padding-top: 16px;
       padding-bottom: 16px; }
.esp.mg-faqs-wm.v2 .answer p { margin: 0; }
.esp.author-bio { background: #fff; padding: 40px 16px; font-family: 'Nunito', sans-serif; }
.esp.author-bio .wrap { max-width: 800px; margin: 0 auto; display: flex; align-items: center; gap: 20px; background: #fafafa; padding: 20px; border-radius: 12px; border-left: 5px solid #FCB017; }
.esp.author-bio .bio-text h4 { margin: 0 0 5px; font-size: 16px; font-weight: 700; color: #111; }
.esp.author-bio .bio-text p { margin: 0; font-size: 14px; color: #555; line-height: 1.5; }
.esp.author-bio .wrap { flex-direction: column; text-align: center; }
to { transform: rotate(360deg); }
.wm-loading-icon { display: inline-block; width: 16px; height: 16px;
      border: 2px solid #111; /* Matches button text color */
      border-radius: 50%; border-top-color: transparent;
      animation: wm-spin 0.8s linear infinite; margin-right: 8px; }
.wm-btn.is-loading { opacity: 0.8; cursor: not-allowed; pointer-events: none; 
      background-color: #e5a015; /* Maintain brand feel */ }
.wm-status.error { display: block; 
        color: #dc2626; 
        margin-bottom: 10px; 
        font-weight: 700; }
:root { --wm-brand:#FCB017; --wm-ink:#111111; --wm-text:#3E3D3D; --wm-line:rgba(0,0,0,.10); --wm-max:1100px; }
.wm-chip { display:inline-flex;align-items:center;gap:8px; padding:6px 14px;border:1px solid var(--wm-line);border-radius:999px; background:#fafafa;font:700 12px/1 Nunito,system-ui; text-transform:uppercase;letter-spacing:.5px;color: #ff8c00c7; }
.wm-h2 { font:700 clamp(22px,4vw,38px)/1.15 Nunito,system-ui; color:var(--wm-ink);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; border: none !important; }
.wm-motto { font-size: 18px; 
    font-style: italic; 
    color: #424a57; 
    border-left: 5px solid #FCB017; 
    background: #fff; 
    padding: 16px 24px;
    border-radius: 0 12px 12px 0;
    box-shadow: 0 4px 12px rgba(0,0,0,0.04);
    display: inline-block;
    line-height: 1.4;
    font-weight: 500;
    margin: 20px 0 20px; 
    text-align: left; }
.wm-btn { display:inline-flex;align-items:center;justify-content:center;gap:8px; padding:14px 28px;border-radius:999px;text-decoration:none; font:700 14px/1 Nunito,system-ui;border:2px solid var(--wm-brand); background:var(--wm-brand);color:#111; box-shadow:0 12px 26px rgba(0,0,0,.08); transition:background-color .18s,color .18s,transform .18s,border-color .18s,box-shadow .18s; }
.wm-lead { background:#fafafa; 
    padding:70px 16px 60px; }
.wm-form { margin-top:12px;border:1px solid var(--wm-line);border-radius:16px; background:#fff;padding:20px;display:grid;gap:16px; }
.wm-form input, .wm-form textarea { font:700 14px/1.3 'Nunito', sans-serif !important; 
    color:var(--wm-ink); 
    background:#fff; border:1px solid var(--wm-line); 
    border-radius:12px; padding:16px 16px 12px; 
    outline:none; 
    width: 100%; 
    box-sizing: border-box; 
    transition: all 0.2s ease; }
.wm-field.floating label { position: absolute;
  top: 16px;
  left: 14px;
  font-size: 14px;
  font-family: 'Nunito', sans-serif !important; 
  color: #424a57;
  font-weight: 700;
  pointer-events: none;
  transition: all 0.2s ease-out;
  background-color: transparent;
  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: var(--wm-brand);
  background-color: #fff; 
  font-weight: 700;
  left: 12px; }
.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); }
body.page-acs-approved-contractor-service main,
body.page-acs-approved-contractor-service main section[class*="esp"],
body.page-acs-approved-contractor-service main .wm-lead,
body.page-acs-approved-contractor-service main .container,
body.page-acs-approved-contractor-service main .wrap,
body.page-acs-approved-contractor-service main .wm-lead__in { text-align: center !important; }
section[class*="esp"], .wm-lead { padding-left: 20px !important;
        padding-right: 20px !important;
        padding-top: 50px !important;
        padding-bottom: 50px !important; }
.container, .wrap, .wm-lead__in { padding-left: 0 !important;
        padding-right: 0 !important;
        width: 100% !important; }
h1 { font-size: 32px !important; }
h2, h2[id*="title"] { font-size: 28px !important;
        line-height: 1.2 !important;
        margin-bottom: 15px !important; }
.motto, .quote, .wm-sub, .sl-sub-text, .quote-small { font-size: 16px !important;
        line-height: 1.5 !important;
        /* Center block elements */
        margin-left: auto !important;
        margin-right: auto !important;
        text-align: center !important;
        /* Adjust borders if they look weird centered */
        display: inline-block !important; }
.motto { display: inline-block !important; width: auto !important; }
p, .lead, .desc, .answer p, li, .sl-carousel-item p { font-size: 15.5px !important;
        line-height: 1.6 !important; }
.eyebrow, .eyebrow-pill, .wm-chip, .rate-lbl, .note, .sub-tag, .unit { font-size: 12px !important; }
.grid, .card-grid, .phases-grid, .wm-row, .wm-row--2, .c-grid, .list-side, .process-grid, .kb-grid { display: flex !important;
        flex-direction: column !important;
        gap: 20px !important;
        align-items: center !important; /* Forces grid items to center */ }
.card, .item, .phase-box, .res-card, .kb-card, .step-card { width: 100% !important;
        text-align: center !important;
        
        /* FORCE CENTER ALIGNMENT INSIDE BOXES */
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important; }
.icon { margin: 0 auto 10px !important; }
.cta-row, .wm-actions, .pill-grid { justify-content: center !important; }
.esp.mg-faqs-wm.v2 summary { grid-template-columns: 1fr auto !important; 
        text-align: left !important; }
.wm-form { text-align: left !important; }
.wm-field, .wm-form input, .wm-form textarea { width: 100% !important; }
.wm-motto { font-size: 14px !important; 
        margin-left: auto !important;
        margin-right: auto !important;
        display: inline-block !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;
}
/* ACS form alignment */
body.page-acs-approved-contractor-service main #wm-lead,
body.page-acs-approved-contractor-service main #wm-lead .wm-lead__in {
  text-align: left !important;
}

body.page-acs-approved-contractor-service main #wm-lead .wm-actions,
body.page-acs-approved-contractor-service main #wm-lead .wm-fine {
  justify-content: flex-start !important;
  text-align: left !important;
}
#wm-lead #wm-lead-form .wm-actions {
  justify-content: flex-start !important;
}