.elementor-2175 .elementor-element.elementor-element-137660a > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-2175 .elementor-element.elementor-element-ed5a342 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-2175 .elementor-element.elementor-element-f4d38a9 > .elementor-element-populated{padding:0px 0px 0px 0px;}/* Start custom CSS */*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      --background:           #f9fafb;
      --foreground:           #0e171e;
      --card:                 #ffffff;
      --card-foreground:      #0e171e;
      --primary:              #003f64;
      --primary-foreground:   #f8f8f8;
      --secondary:            #ecf3f8;
      --secondary-foreground: #19232a;
      --muted:                #e5ecf1;
      --muted-foreground:     #59656e;
      --accent:               #00848b;
      --accent-foreground:    #f8f8f8;
      --border:               #d8dfe4;
      --radius:               0.5rem;
    }
    body.page{
        padding: 0;
    }

    body {
      font-family: 'Geist', ui-sans-serif, system-ui, sans-serif;
      background-color: var(--background);
      color: var(--foreground);
      line-height: 1.5;
      -webkit-font-smoothing: antialiased;
      overflow-x: hidden;
    }
    a { text-decoration: none; color: inherit; }
    ul { list-style: none; }
    img { max-width: 100%; display: block; }

    /* ── PAGE WRAPPER ── */
    .elementor[data-elementor-type="wp-page"] {
      max-width: 80rem; margin: 0 auto;
      padding: 3rem 1rem;
    }
    @media (min-width: 640px)  { .elementor[data-elementor-type="wp-page"] { padding: 3rem 1.5rem; } }
    @media (min-width: 1024px) { .elementor[data-elementor-type="wp-page"] { padding: 3rem 2rem; } }

    /* ── PAGE HEADER ── */
    .page-header {
      text-align: center; margin-bottom: 3rem;
    }
    .page-label {
      font-size: .875rem; font-weight: 600; text-transform: uppercase;
      letter-spacing: .1em; color: var(--accent); margin-bottom: .75rem;
    }
    h1 {
      font-size: 2rem; font-weight: 700; letter-spacing: -.025em;
      color: var(--foreground); margin-bottom: 1rem; line-height: 1.2;
    }
    @media (min-width: 640px)  { h1 { font-size: 2.5rem; } }
    @media (min-width: 1024px) { h1 { font-size: 3rem; } }
    .page-sub {
      font-size: 1rem; color: var(--muted-foreground); max-width: 40rem;
      margin: 0 auto; line-height: 1.75;
    }
    @media (min-width: 640px) { .page-sub { font-size: 1.125rem; } }

    /* ── MAP ── */
    .map-wrap {
      border: 1px solid var(--border); border-radius: .75rem;
      background: var(--card); padding: 1rem;
      box-shadow: 0 1px 2px rgba(0,0,0,.05);
      margin-bottom: 3rem; overflow: hidden;
    }

    /* SVG map styles */
    .map-svg { width: 100%; height: auto; display: block; overflow: visible; }
    .state-path {
      fill: #d1d5db; stroke: #ffffff; stroke-width: 0.5;
      transition: fill .2s;
    }
    .state-highlight { fill: rgba(0,63,100,.15); }

    /* Map pins */
    .map-pin-group { cursor: pointer; }
    .map-pin-group:hover .map-pin-circle,
    .map-pin-group:focus .map-pin-circle { transform: scale(1.25); }
    .map-pin-group:hover .map-pin-teal,
    .map-pin-group:focus .map-pin-teal  { transform: scale(1.25); }

    .map-pin-circle {
      fill: var(--primary); stroke: #ffffff; stroke-width: 2;
      filter: drop-shadow(0 2px 4px rgba(0,63,100,.4));
      transform-origin: inherit;
      transition: transform .2s;
    }
    .map-pin-teal {
      fill: var(--accent); stroke: #ffffff; stroke-width: 2;
      filter: drop-shadow(0 2px 4px rgba(0,132,139,.4));
      transform-origin: inherit;
      transition: transform .2s;
    }
    .map-pin-label {
      font-family: 'Geist', sans-serif;
      font-size: 10px; font-weight: 600;
      fill: var(--foreground); pointer-events: none;
    }

    /* Tooltip foreignObject — hidden by default, shown on group hover */
    .map-tooltip { display: none; pointer-events: none; }
    .map-pin-group:hover .map-tooltip,
    .map-pin-group:focus .map-tooltip { display: block; }

    .map-tooltip-box {
      background: white;
      border: 1px solid #d8dfe4;
      border-radius: 8px;
      padding: 10px 12px;
      box-shadow: 0 4px 12px rgba(0,0,0,.12);
      white-space: nowrap;
      font-family: 'Geist', ui-sans-serif, system-ui, sans-serif;
      font-size: 12px;
      line-height: 1.5;
      min-width: 180px;
    }
    .map-tooltip-name {
      font-weight: 700; font-size: 13px;
      color: #003f64; margin-bottom: 4px;
    }
    .map-tooltip-row {
      color: #59656e; display: flex; align-items: center; gap: 5px;
      margin-bottom: 2px;
    }
    .map-tooltip-row svg { flex-shrink: 0; color: #00848b; }
    .map-tooltip-tags { display: flex; gap: 4px; margin-top: 6px; flex-wrap: wrap; }
    .map-tooltip-tag {
      background: #ecf3f8; border: 1px solid #d8dfe4;
      border-radius: 9999px; font-size: 10px;
      padding: 1px 7px; color: #19232a;
    }
    .map-tooltip-tag-hq {
      background: rgba(0,63,100,.08);
      border-color: rgba(0,63,100,.3);
      color: #003f64; font-weight: 600;
    }

    /* ── LOCATION CARDS ── */
    h2 {
      font-size: 1.5rem; font-weight: 700; color: var(--foreground);
      text-align: center; margin-bottom: 1.5rem;
    }

    .loc-grid {
      display: grid; gap: 1.5rem;
      grid-template-columns: 1fr;
    }
    @media (min-width: 640px)  { .loc-grid { grid-template-columns: repeat(2, 1fr); } }
    @media (min-width: 1024px) { .loc-grid { grid-template-columns: repeat(4, 1fr); } }

    .loc-card {
      border: 1px solid var(--border); border-radius: .5rem;
      background: var(--card); padding: 1.25rem;
      box-shadow: 0 1px 2px rgba(0,0,0,.05);
      transition: box-shadow .2s; min-width: 0;
    }
    .loc-card:hover { box-shadow: 0 4px 8px rgba(0,0,0,.08); }

    .loc-region {
      font-size: .75rem; font-weight: 600; text-transform: uppercase;
      letter-spacing: .05em; color: var(--accent); margin-bottom: .25rem;
    }
    .loc-name {
      font-size: 1.125rem; font-weight: 700; color: var(--foreground);
      margin-bottom: .75rem;
    }
    .loc-addr {
      font-size: .875rem; color: var(--muted-foreground);
      margin-bottom: .5rem; line-height: 1.5;
    }
    .loc-phone {
      display: flex; align-items: center; gap: .375rem;
      font-size: .875rem; color: var(--primary);
      margin-bottom: 1rem; transition: opacity .15s;
    }
    .loc-phone:hover { opacity: .75; }
    .loc-badges { display: flex; flex-wrap: wrap; gap: .25rem; }
    .loc-badge {
      border: 1px solid var(--border); border-radius: 9999px;
      background: var(--secondary); color: var(--secondary-foreground);
      font-size: .75rem; padding: .125rem .5rem;
    }
    .loc-badge-hq {
      border-color: rgba(0,63,100,.3);
      background: rgba(0,63,100,.08); color: var(--primary);
      font-weight: 600;
    }

    /* ── RESPONSIVE ── */
    @media (max-width: 480px) {
      h1 { font-size: 1.75rem; }
      .elementor[data-elementor-type="wp-page"] { padding: 2rem 1rem; }
      .page-header { margin-bottom: 2rem; }
      .map-wrap { padding: .5rem; }
    }/* End custom CSS */