.elementor-4333 .elementor-element.elementor-element-44d54bc{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-4333 .elementor-element.elementor-element-e884108{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-4333 .elementor-element.elementor-element-62d2ef7{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-4333 .elementor-element.elementor-element-15e8110{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}/* Start custom CSS for html, class: .elementor-element-8ee811f */.sr-only {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        padding: 0 !important;
        margin: -1px !important;
        overflow: hidden !important;
        clip: rect(0, 0, 0, 0) !important;
        white-space: nowrap !important;
        border: 0 !important;
    }

    /* Scope everything to this widget */
    .pps-cns-areas {
        padding: 64px 16px;
        width: 100vw;
        position: relative;
        left: 50%;
        right: 50%;
        margin-left: -50vw;
        margin-right: -50vw;
    }

    .pps-cns-areas.pps-cns-areas--fullbleed {
        width: 100vw;
        position: relative;
        left: 50%;
        right: 50%;
        margin-left: -50vw;
        margin-right: -50vw;
    }

    .pps-cns-areas .pps-cns-areas__container {
        max-width: 1100px;
        margin: 0 auto;
    }

    .pps-cns-areas .pps-cns-areas__top {
        display: grid;
        grid-template-columns: 1.2fr 1fr;
        grid-template-areas:
            "copy  map"
            "areas map"
            "sub map"
            "group map";
        row-gap: 0;
        column-gap: 28px;
        align-items: start;
    }

    .pps-cns-areas .pps-cns-areas__copy {
        grid-area: copy;
        margin-bottom: 28px;
    }

    .pps-cns-areas .pps-cns-areas__mapWrap {
        grid-area: map;
        position: relative;
        height: 100%;
    }

    .pps-cns-areas .pps-cns-areas__areasBlock {
        grid-area: areas;
    }

    .pps-cns-areas .pps-cns-title-sub.pps-cns-mt-4 {
        grid-area: sub;
    }

    .pps-cns-areas .pps-cns-pill-group {
        grid-area: group;
    }

    .pps-cns-areas .pps-cns-areas__eyebrow {
        font-size: 12px;
        letter-spacing: 0.12em;
        font-weight: 700;
        opacity: 0.75;
        margin-bottom: 8px;
    }

    .pps-cns-areas .pps-cns-areas__h3 {
        font-size: clamp(28px, 3.2vw, 44px);
        line-height: 1.1;
        margin: 0 0 18px;
        color: #0f3360;
    }

    .pps-cns-areas .pps-cns-areas__h4 {
        font-size: 20px;
        margin: 0 0 10px;
    }

    .pps-cns-areas .pps-cns-areas__p {
        margin: 0;
        line-height: 1.6;
        opacity: 0.9;
        color: #000000;
    }

    /* Map */
    .pps-cns-areas .pps-cns-areas__map {
        width: 100%;
        height: 480px;
        border: 0;
        border-radius: 16px;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.10);
        background: #f3f4f6;
    }

    /* Load overlay */
    .pps-cns-areas .pps-cns-areas__mapLoad {
        position: absolute;
        inset: auto 16px 16px 16px;
        z-index: 3;
        appearance: none;
        border: 1px solid rgba(0, 0, 0, 0.12);
        background: #ffffff;
        padding: 10px 12px;
        border-radius: 12px;
        font-weight: 700;
        cursor: pointer;
        box-shadow: 0 10px 24px rgba(0, 0, 0, 0.10);
    }

    .pps-cns-areas .pps-cns-areas__mapLoad.is-hidden {
        display: none;
    }

    /* Office badge overlay */
    .pps-cns-areas .pps-cns-areas__mapBadge {
        position: absolute;
        top: 12px;
        left: 12px;
        z-index: 4;
        display: inline-flex;
        align-items: center;
        padding: 10px 12px;
        max-height: 35px;
        margin: -2px;
        background: #fffff7;
        border: 1px solid rgba(0, 0, 0, 0.08);
        font-size: 13px;
        font-weight: 700;
        color: #0f3360;
        text-decoration: none;
    }

    .pps-cns-areas .pps-cns-areas__mapBadge:hover {
        text-decoration: underline;
    }

    /* Areas */
    .pps-cns-areas .pps-cns-areas__areasTitle {
        margin: 6px 0 6px;
        font-size: 22px;
    }

    .pps-cns-areas .pps-cns-areas__areasSubtitle {
        margin: 0 0 12px;
        font-size: 14px;
        opacity: 0.75;
    }

    .pps-cns-areas .pps-cns-mt-4 {
        margin-top: 24px;
    }

    /* Pills list */
    .pps-cns-areas .pps-cns-areas__pills {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .pps-cns-areas .pps-cns-areas__pillItem {
        margin: 0;
        padding: 0;
    }

    /* Pill button */
    .pps-cns-areas .pps-cns-pill {
        appearance: none;
        border: 1px solid rgba(0, 0, 0, 0.08);
        background: rgba(0, 0, 0, 0.04);
        padding: 10px 14px;
        border-radius: 999px;
        font-weight: 600;
        cursor: pointer;
        transition: transform 120ms ease, background 120ms ease, color 120ms ease, box-shadow 120ms ease;
    }

    .pps-cns-areas .pps-cns-pill:hover {
        transform: translateY(-1px);
    }

    .pps-cns-areas .pps-cns-pill[aria-pressed="true"] {
        background: #0b2c4d;
        color: #fff;
        border-color: #0b2c4d;
        box-shadow: 0 10px 20px rgba(11, 44, 77, 0.25);
    }

    .pps-cns-areas .pps-cns-pill-secondary {
        display: inline-flex;
        background: #f3f4f6;
        color: #4b5563;
        border: 1px solid #e5e7eb;
        padding: 6px 12px;
        border-radius: 4px;
        font-size: 12px;
        font-weight: 500;
        text-decoration: none;
        transition: background 0.2s ease;
    }

    .pps-cns-areas .pps-cns-pill-secondary:hover {
        background: #e5e7eb;
        text-decoration: none;
    }

    .pps-cns-areas .pps-cns-areas__note {
        margin: 12px 0 0;
        font-size: 14px;
        color: #3d3e3e;
        opacity: 0.75;
        justify-self: center;
    }

    @media (max-width: 900px) {
        .pps-cns-areas .pps-cns-areas__top {
            grid-template-columns: 1fr;
            grid-template-areas:
                "copy"
                "map"
                "areas"
                "sub"
                "group";
            row-gap: 28px;
        }

        .pps-cns-areas .pps-cns-areas__copy {
            margin-bottom: 0;
        }

        .pps-cns-areas .pps-cns-areas__map {
            height: 260px;
        }

        .pps-cns-areas .pps-cns-areas__areasTitle {
            margin-top: 18px;
        }

        .pps-cns-areas .pps-cns-areas__mapBadge {
            max-width: calc(100% - 24px);
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
    }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-17a033d *//* 1. SECTION WRAPPER - Full Width Logic */
#pps-faq-section {
  display: block;
  font-family: 'Inter', sans-serif, system-ui;
  background: #f8fafc;
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  padding: 80px 20px;
  box-sizing: border-box;
}

#pps-faq-section * { box-sizing: border-box; }

.pps-faq-container {
  max-width: 800px;
  margin: 0 auto;
}

.pps-faq-header {
  text-align: center;
  margin-bottom: 40px;
}

.pps-faq-kicker {
  display: block;
  color: #0f3360 !important;
  font-weight: 800;
  text-transform: uppercase;
  font-size: 13px;
  letter-spacing: 2px;
  margin-bottom: 10px;
}

.pps-faq-title {
  font-size: clamp(2rem, 4vw, 2.5rem);
  font-weight: 800;
  color: #1e293b !important;
  margin: 0;
}

.pps-faq-divider {
  width: 50px;
  height: 4px;
  background: #facc15;
  margin: 20px auto 0;
  border-radius: 2px;
}

/* 2. FAQ ITEMS */
.pps-faq-item {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  margin-bottom: 15px;
  overflow: hidden;
  transition: all 0.3s ease;
  text-align: left;
}

.pps-faq-item[open] {
  border-color: #0f3360;
  box-shadow: 0 4px 12px rgba(15, 51, 96, 0.05);
}

.pps-faq-question {
  padding: 20px 25px;
  font-weight: 700;
  font-size: 1.1rem;
  color: #0f3360 !important;
  cursor: pointer;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.pps-faq-question::after {
  content: '+';
  font-size: 1.5rem;
  color: #facc15 !important;
  transition: transform 0.3s ease;
}

.pps-faq-item[open] .pps-faq-question::after {
  content: '−';
}

.pps-faq-answer {
  padding: 0 25px 20px 25px;
  color: #64748b !important;
  line-height: 1.6;
}

/* 3. FOOTER & CTA DESIGN MATCH */
.pps-faq-footer {
  text-align: center;
  margin-top: 40px;
}

.pps-faq-footer p {
  color: #64748b;
  margin-bottom: 15px;
  font-weight: 500;
}

.pps-faq-cta {
  display: inline-flex;
  align-items: center;
  gap: 15px;
  background: #facc15 !important; /* Yellow Background */
  color: #0f3360 !important;      /* Dark Blue Text */
  text-decoration: none !important;
  padding: 14px 25px;
  border-radius: 12px;
  font-weight: 800;
  font-size: 1.15rem;
  transition: all 0.2s;
  box-shadow: 0 4px 15px rgba(0,0,0,0.15);
}

.pps-faq-cta-icon-box {
  width: 38px;
  height: 38px;
  background: #ffffff !important; /* White circle background */
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.pps-faq-cta-icon-box svg {
  width: 20px;
  height: 20px;
  stroke: #0f3360 !important;
  fill: none;
}

.pps-faq-cta:hover {
  background: #facc15 !important;
  opacity: 0.95;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0,0,0,0.2);
}

/* Hide default markers */
.pps-faq-question::-webkit-details-marker { display: none; }

/* Mobile Adjustments */
@media (max-width: 480px) {
  .pps-faq-cta { font-size: 1rem; padding: 12px 18px; gap: 10px; }
  .pps-faq-cta-icon-box { width: 32px; height: 32px; }
}/* End custom CSS */
/* Start custom CSS *//* Hide theme page title above Elementor canvas */
.elementor-page .entry-title,
.elementor-page .page-title {
  display: none !important;
}
/* Hide the first H1 inside the main content area (keeps other pages intact) */
main h1:first-of-type,
#primary h1:first-of-type,
#content h1:first-of-type {
  display: none !important;
}
/* Remove all spacing above the hero section */
body .elementor-location-header + .elementor-element,
body header + .elementor-element,
.elementor-section:first-of-type {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Remove Elementor editor default gap */
.elementor-section {
    margin-top: 0 !important;
}

/* Force hero to connect to header */
#pps-hero {
    margin-top: -100px !important;
}/* End custom CSS */