:root{
      --esp-brand:#FCB017;
      --esp-ink:#111111;
      --esp-text:#222222;
      --esp-line:rgba(0,0,0,.08);
      --esp-dark:#000000;
      --esp-contact-radius:18px;
    }

    body{
      margin:0;
      font-family:Nunito,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
      background:#ffffff;
      color:#111827;
      overflow-x: hidden; /* Prevent horizontal scroll */
    }

    /* ========================= HERO SECTION ========================= */
    .esp-locations-hero {
      --brand:#FCB017;
      --ink:#ffffff;
      --overlay: rgba(0,0,0,.64);
      --minh: 30vh;
      position: relative;
      isolation: isolate;
      min-height: var(--minh);
      display: grid;
      place-items: center;
      color: var(--ink);
      /* Background Image removed from CSS to use Picture Tag */
      background-color: #222; 
      padding-block: clamp(80px, 10vw, 120px);
      overflow: hidden;
    }

    /* Updated Hero Image Styles for Picture Tag */
    .esp-hero-bg-wrapper {
      position: absolute;
      inset: 0;
      z-index: -1;
      width: 100%;
      height: 100%;
    }

    .esp-hero-bg-img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }

    .esp-locations-hero .esp-loc__overlay {
      position: absolute;
      inset: 0;
      background: var(--overlay);
      z-index: 0;
      pointer-events: none;
    }

    .esp-locations-hero .esp-loc__in {
      position: relative;
      z-index: 1;
      width: min(1200px, calc(100% - 48px));
      margin-inline: auto;
      text-align: left;
    }

    .esp-locations-hero .esp-loc__bar {
      display: inline-block;
      width: 88px;
      height: 8px;
      background: var(--brand);
      border-radius: 6px;
      margin-bottom: 14px;
    }

    .esp-locations-hero .esp-loc__title {
      margin: 0 0 8px;
      font: 700 clamp(32px, 5vw, 56px)/1.1 Nunito, system-ui, sans-serif;
      color: #fff;
    }

    .esp-locations-hero .esp-loc__lead {
      margin: 0;
      max-width: 60ch;
      font: 700 clamp(15px, 2.4vw, 16px)/1.6 Nunito, system-ui, sans-serif;
      color: rgba(255,255,255,.92);
    }

    @media (max-width: 768px) {
      .esp-locations-hero {
        --minh: 50vh;
        padding-block: 50px;
      }
    }

    /* ========================= LOCATIONS AREA ========================= */
    #esp-locations-areas {
      --brand:#FCB017;
      --ink:#0f172a;
      --text:#424a57;
      background:#ffffff;
      padding:clamp(40px,6vw,70px) 20px;
      font-family: Nunito,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
    }

    #esp-locations-areas .esp-loc-in {
      max-width:1200px;
      margin:0 auto;
      display:grid;
      gap:clamp(20px,3vw,30px);
    }

    @media (min-width:992px){
      #esp-locations-areas .esp-loc-in{
        grid-template-columns:1fr 1fr;
        grid-template-areas:
          "copy  photo"
          "map   area";
        align-items:center;
      }
      #esp-locations-areas .esp-loc-left{ grid-area:copy; }
      #esp-locations-areas .esp-loc-photo{ grid-area:photo; }
      #esp-locations-areas .esp-loc-map{ grid-area:map; }
      #esp-locations-areas .esp-loc-area-text{ grid-area:area; }
    }

    #esp-locations-areas .esp-loc-bar {
      display:inline-block;
      width:96px;height:8px;
      background:var(--brand);
      border-radius:6px;
      margin-bottom:14px;
    }
    
    #esp-locations-areas .esp-loc-h2 {
      margin:0 0 10px;
      color:var(--ink);
      font:700 clamp(28px,4.6vw,44px)/1.15 Nunito,system-ui,sans-serif;
    }
    
    #esp-locations-areas .esp-loc-left p {
      margin:0;
      color:var(--text);
      font: 16px/1.75 Nunito,system-ui,sans-serif;
      max-width:72ch;
    }
    #esp-locations-areas .esp-loc-h2 + p { margin-top:10px; }
    #esp-locations-areas .esp-loc-left p + p { margin-top:12px; }

    /* === FINAL FIX: Overlay Border Technique === */
    #esp-locations-areas .esp-loc-card {
      margin: 0;
      position: relative; /* Anchor for the border overlay */
      display: flex;      /* Eliminates bottom whitespace from inline-block */
      
      /* Size & Shape */
      width: 100%;
      aspect-ratio: 16/9;
      
      /* Visuals */
      background: #000;   /* Black background hides white gaps if load fails */
      border-radius: 18px;
      box-shadow: 0 10px 26px rgba(0,0,0,.08);
      
      /* Clip Content */
      overflow: hidden;
      transform: translateZ(0); /* Hardware accel for smooth corners */
    }

    /* The Border is now an Overlay so it never cuts/glitches */
    #esp-locations-areas .esp-loc-card::after {
      content: "";
      position: absolute;
      inset: 0; /* Stretches to all 4 corners */
      border: 2px solid #FCB017;
      border-radius: 18px; /* Matches parent radius */
      pointer-events: none; /* Allows clicks to pass through if needed */
      z-index: 2; /* Sits on top of the image */
    }
    
    #esp-locations-areas .esp-loc-card img {
      width: 100%;
      height: 100%;
      object-fit: cover; /* Forces image to fill the box completely */
      display: block;
      border-radius: 18px; /* Ensures image matches corner curve */
    }

    #esp-locations-areas .esp-loc-area-text {
      background:#fff;
      border:none;
      border-radius:16px;
      padding:0 22px;
      display:flex;
      flex-direction:column;
      justify-content:center;
    }
    
    #esp-locations-areas .esp-loc-h3 {
      margin:0 0 10px;
      color:var(--ink);
      font:700 clamp(22px,3.6vw,30px)/1.15 Nunito,system-ui,sans-serif;
    }
    
    #esp-locations-areas .esp-loc-area-text p {
      margin:0;
      color:var(--text);
      font: 16px/1.75 Nunito,system-ui,sans-serif;
      max-width:72ch;
    }
    #esp-locations-areas .esp-loc-area-text .esp-loc-h3 + p { margin-top:10px; }
    #esp-locations-areas .esp-loc-area-text p + p { margin-top:12px; }
    #esp-locations-areas .esp-loc-em { font-weight: 700; color: var(--ink); }

    /* 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);
      background:#fafafa; 
      padding: 70px 0 60px; /* Ensures 90px top/bottom padding */
      border-bottom:1px solid var(--esp-line);
    }
    
    @media (max-width: 480px) {
      .esp-trust{ padding: 40px 0; }
    }

    .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(--esp-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;
    }
    .esp-trust-card:hover{ transform:translateY(-3px); box-shadow:0 14px 28px rgba(0,0,0,.12); border-color:#f7b615; }

/* === 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;
}
