.elementor-17589 .elementor-element.elementor-element-c5a20ce{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-17589 .elementor-element.elementor-element-6b492f2{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-17589 .elementor-element.elementor-element-2ebbc56{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-17589 .elementor-element.elementor-element-c7d8daa{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-17589 .elementor-element.elementor-element-d02f9ff{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-17589 .elementor-element.elementor-element-a37e1b0{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}@media(max-width:767px){.elementor-17589 .elementor-element.elementor-element-2ebbc56{--content-width:100%;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}@media(min-width:768px){.elementor-17589 .elementor-element.elementor-element-c5a20ce{--content-width:100%;}.elementor-17589 .elementor-element.elementor-element-2ebbc56{--content-width:100%;}.elementor-17589 .elementor-element.elementor-element-a37e1b0{--content-width:100%;}}/* Start custom CSS for container, class: .elementor-element-c5a20ce *//* --- Global Reset & Typography Baseline --- */
.apc-page-builder-context, .apc-outer-wrap, .apc-outer-wrap * {
  box-sizing: border-box !important;
  font-family: inherit !important;
}
.apc-page-builder-context {
  width: 100% !important;
  background-color: #ffffff !important;
}
.apc-section-pad {
  padding: 80px 20px !important;
}
.apc-standard-max-container {
  width: 100% !important;
  max-width: 1140px !important;
  margin: 0 auto !important;
}

/* Unified Typography for Fire Chiefs (Clear, consistent) */
.apc-section-title {
  font-size: 2.5rem !important; /* Standardized H2 size */
  font-weight: 900 !important;
  line-height: 1.25 !important;
  color: #006ba6 !important;
  margin: 0 0 16px 0 !important;
}
.apc-standard-p {
  font-size: 1.1rem !important; /* Uniform paragraph size */
  line-height: 1.6 !important;
  color: #334155 !important;
  margin-bottom: 24px !important;
}

/* Injected Content Styles */
.apc-american-made-badge {
  display: inline-block !important;
  background-color: #eff6ff !important;
  border: 1px solid #bfdbfe !important;
  color: #1e3a8a !important;
  padding: 10px 16px !important;
  border-radius: 6px !important;
  font-size: 1.05rem !important;
  margin-bottom: 20px !important;
}
.apc-pricing-disclaimer {
  font-size: 0.95rem !important;
  color: #64748b !important;
  margin-top: 16px !important;
}

/* General Link */
.apc-bold-link { color: #006ba6 !important; font-weight: 900 !important; text-decoration: none !important; }
.apc-bold-link:hover { color: #bc2029 !important; }

/* Buttons */
.apc-btn-group-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 15px !important;
  width: 100% !important;
}
.apc-btn {
  display: block !important;
  padding: 16px 10px !important;
  font-size: 1.05rem !important;
  font-weight: 900 !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  border-radius: 4px !important;
  background-color: #d61c1c !important;
  color: #ffffff !important;
  transition: 0.2s ease !important;
}
.apc-btn:hover { background-color: #006ba6 !important; color: #fff !important; }

/* Grid systems */
.apc-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 40px !important; max-width: 1300px !important; margin: 0 auto !important; align-items: center !important;}
@media (min-width: 1024px) {
  .apc-grid { grid-template-columns: 1fr 1fr !important; }
}

/* Carousel / Hero */
.apc-slider-wrapper { display: flex !important; flex-direction: column !important; align-items: center !important; }
.apc-main-carousel { position: relative !important; width: 100% !important; max-width: 500px !important; }
.apc-slides-container { position: relative !important; width: 100% !important; padding-bottom: 100% !important; overflow: hidden !important; }
.apc-slide { position: absolute !important; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; transition: opacity 0.4s ease; display: flex; justify-content: center; align-items: center; z-index: 1; }
.apc-slide.apc-active { opacity: 1 !important; z-index: 2 !important; }
.apc-prod-img { width: 100% !important; height: 100% !important; object-fit: contain !important; }
.apc-arrow { background: none !important; border: none !important; color: #d61c1c !important; font-size: 2rem !important; cursor: pointer !important; position: absolute !important; top: 50% !important; transform: translateY(-50%) !important; z-index: 10 !important; }
.apc-arrow:hover { color: #000 !important; }
.apc-arrow-left { left: -30px !important; }
.apc-arrow-right { right: -30px !important; }
.apc-thumbnails { display: flex !important; gap: 12px !important; margin-top: 25px !important; justify-content: center !important; }
.apc-thumb { width: 75px !important; height: 75px !important; background-color: #f4f9ff !important; border: 2px solid transparent !important; cursor: pointer !important; }
.apc-thumb.apc-active-thumb { border-color: #d61c1c !important; }
.apc-thumb-img { width: 100% !important; height: 100% !important; object-fit: contain !important; }
.apc-stars { color: #d61c1c !important; font-size: 1.5rem !important; margin-bottom: 20px !important; letter-spacing: 2px !important; }

/* Specs Bar */
.apc-spec-bar { display: grid !important; grid-template-columns: repeat(2, 1fr) !important; gap: 16px !important; background: #1c1c1c !important; padding: 24px !important; border-radius: 8px !important; margin-top: 40px !important;}
@media (min-width: 768px) { .apc-spec-bar { grid-template-columns: repeat(4, 1fr) !important; text-align: center !important; } }
.apc-spec-item { display: flex !important; flex-direction: column !important; justify-content: center !important; }
.apc-spec-label { font-size: 0.8rem !important; text-transform: uppercase !important; color: #94a3b8 !important; font-weight: 700 !important; margin-bottom: 4px !important; }
.apc-spec-value { font-weight: 900 !important; color: #ffffff !important; font-size: 1.2rem !important;}

/* Three words animation */
.apc-three-words-section { background: transparent !important; overflow: hidden !important; margin: 40px 0 !important; }
.apc-words-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 20px; text-align: center; }
@media (min-width: 768px) { .apc-words-grid { grid-template-columns: repeat(3, 1fr) !important; } }
.apc-word { display: inline-block; font-size: 3rem !important; font-weight: 900 !important; color: #36454f !important; text-transform: uppercase !important; opacity: 0; transform: translateY(20px); }
.apc-words-grid .apc-word-col:last-child .apc-word { color: #d61c1c !important; }
@keyframes swoop { to { opacity: 1; transform: translateY(0); } }
.apc-three-words-section.apc-animate .apc-word { animation: swoop 0.6s forwards !important; }
.apc-three-words-section.apc-animate .apc-word-col:nth-child(1) .apc-word { animation-delay: 0s !important; }
.apc-three-words-section.apc-animate .apc-word-col:nth-child(2) .apc-word { animation-delay: 0.2s !important; }
.apc-three-words-section.apc-animate .apc-word-col:nth-child(3) .apc-word { animation-delay: 0.4s !important; }

/* 25/75 Split */
.apc-split-grid-container { display: flex !important; flex-direction: column !important; width: 100% !important; border-radius: 8px !important; overflow: hidden !important; }
@media (min-width: 1024px) { 
  .apc-split-grid-container { flex-direction: row !important; } 
  .apc-media-column { width: 25% !important; }
  .apc-text-column { width: 75% !important; padding: 60px !important; }
}
.apc-media-column { width: 100% !important; height: 380px !important; background-color: #111827 !important; }
.apc-media-element { width: 100% !important; height: 100% !important; object-fit: cover !important; }
.apc-text-column { position: relative !important; padding: 40px 24px !important; background-color: #f1f5f9 !important; }
.apc-constrained-content { position: relative !important; z-index: 2 !important; max-width: 1000px !important; margin: 0 auto !important; }

/* Matrices & Cards */
.apc-cards-matrix { display: grid !important; grid-template-columns: 1fr !important; gap: 24px !important; }
@media (min-width: 1024px) { .apc-cards-matrix { grid-template-columns: repeat(3, 1fr) !important; } }
.apc-hover-card { display: flex !important; gap: 16px !important; background-color: #ffffff !important; padding: 24px !important; border-radius: 8px !important; box-shadow: 0 4px 15px rgba(0,0,0,0.04) !important; transition: transform 0.2s !important; }
.apc-hover-card:hover { transform: translateY(-4px) !important; box-shadow: 0 12px 24px rgba(0,0,0,0.08) !important; }
.apc-card-icon-box { width: 46px !important; height: 46px !important; background-color: #006ba6 !important; color: #fff !important; display: flex !important; align-items: center !important; justify-content: center !important; border-radius: 6px !important; font-size: 1.5rem !important;}
.apc-card-body h3 { font-size: 1.3rem !important; font-weight: 900 !important; color: #006ba6 !important; margin: 0 0 8px 0 !important; }

/* NFPA Cert Bar */
.apc-hub-card { background: #fff !important; border: 1px solid #e2e8f0 !important; padding: 35px !important; border-radius: 8px !important; }
.apc-cert-card { border-top: 4px solid #d61c1c !important; }
.apc-cert-layout { display: flex !important; flex-direction: column !important; gap: 20px !important; }
@media (min-width: 768px) { .apc-cert-layout { flex-direction: row !important; align-items: center !important;} }
.apc-nfpa-inner-box { background: #1c1c1c !important; border: 2px solid #d61c1c !important; border-radius: 6px !important; padding: 16px 12px !important; display: inline-flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; }
.apc-nfpa-brand-text { color: #fff !important; font-weight: 900 !important; margin-top: 8px !important; }

/* Asymmetric Layout (Features & Specs) */
.apc-accordion-specs-section { background-color: #f8fafc !important; padding: 80px 24px !important; border-top: 1px solid #e2e8f0 !important; }
.apc-specs-asymmetric-layout { display: grid !important; grid-template-columns: 1fr !important; gap: 48px !important; }
@media (min-width: 1024px) { .apc-specs-asymmetric-layout { grid-template-columns: 1fr 1fr !important; align-items: start !important; } }
.apc-highlight-row { font-size: 1.1rem !important; color: #334155 !important; padding-left: 16px !important; border-left: 3px solid #d61c1c !important; margin-bottom: 16px !important; line-height: 1.5 !important;}

/* Accordion */
.apc-accordion-stack { display: flex !important; flex-direction: column !important; gap: 12px !important; }
.apc-tab-wrapper { background: #fff !important; border: 1px solid #e2e8f0 !important; border-radius: 6px !important; overflow: hidden !important; }
.apc-tab-toggle { display: none !important; }
.apc-tab-trigger { display: flex !important; align-items: center !important; padding: 18px 24px !important; font-size: 1.2rem !important; font-weight: 900 !important; color: #006ba6 !important; cursor: pointer !important; }
.apc-trigger-plus { margin-right: 12px !important; color: #d61c1c !important; transition: transform 0.2s ease !important; }
.apc-tab-panel { max-height: 0 !important; overflow: hidden !important; padding: 0 24px !important; transition: max-height 0.2s ease !important; }
.apc-tab-toggle:checked ~ .apc-tab-trigger { background-color: #f1f5f9 !important; }
.apc-tab-toggle:checked ~ .apc-tab-trigger .apc-trigger-plus { transform: rotate(45deg) !important; }
.apc-tab-toggle:checked ~ .apc-tab-panel { max-height: 250px !important; padding-bottom: 20px !important; }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-3a3fbc0 *//* COMPONENT-WIDE RESET */
  .apc-outer-wrap,
  .apc-outer-wrap * {
    box-sizing: border-box !important;
    margin: 0;
    padding: 0;
  }

  /* BASE CONTAINER SPECIFICITY PROTECTION */
  section.apc-outer-wrap {
    background-color: #fff !important;
    color: black !important;
    padding: 100px 20px !important;
    width: 100% !important;
    display: block !important;
  }

  /* LAYOUT PROTECTION */
  .apc-outer-wrap .apc-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 40px !important;
    max-width: 1400px !important;
    margin: 0 auto !important;
    align-items: center !important;
  }

  @media (min-width: 768px) {
    .apc-outer-wrap .apc-grid {
      grid-template-columns: 1fr 1fr !important;
    }
  }

  /* Left Side: Swiper Core Styles */
  .apc-outer-wrap .apc-slider-wrapper {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
  }

  .apc-outer-wrap .apc-main-carousel {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 420px !important;
  }

  .apc-outer-wrap .apc-slides-container {
    position: relative !important;
    width: 100% !important;
    height: 0 !important;
    padding-bottom: 100% !important; 
    overflow: hidden !important;
    background-color: transparent !important;
  }

  .apc-outer-wrap .apc-slide {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 0 !important;
    transition: opacity 0.4s ease-in-out !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    z-index: 1 !important;
  }

  .apc-outer-wrap .apc-slide.apc-active {
    opacity: 1 !important;
    z-index: 2 !important;
  }

  .apc-outer-wrap img.apc-prod-img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    display: block !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  /* Carousel Navigation Arrows */
  .apc-outer-wrap .apc-arrow {
    background: none !important;
    border: none !important;
    color: #d61c1c !important;
    font-size: 2rem !important;
    cursor: pointer !important;
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 10 !important;
    padding: 10px !important;
    transition: color 0.2s ease !important;
    line-height: 1 !important;
  }

  .apc-outer-wrap .apc-arrow:hover {
    color: #ffffff !important;
  }

  .apc-outer-wrap .apc-arrow-left { left: -40px !important; }
  .apc-outer-wrap .apc-arrow-right { right: -40px !important; }

  /* Thumbnails Container & Items */
  .apc-outer-wrap .apc-thumbnails {
    display: flex !important;
    gap: 12px !important;
    margin-top: 25px !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
  }

  .apc-outer-wrap .apc-thumb {
    width: 75px !important;
    height: 75px !important;
    background-color: #f4f9ff !important;
    border: 2px solid transparent !important;
    cursor: pointer !important;
    padding: 4px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: border-color 0.2s ease !important;
  }

  .apc-outer-wrap img.apc-thumb-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    display: block !important;
  }

  .apc-outer-wrap .apc-thumb.apc-active-thumb {
    border-color: #d61c1c !important;
  }

  /* Right Side: Copy & Content Protections */
  .apc-outer-wrap .apc-details {
    display: flex !important;
    flex-direction: column !important;
  }

  .apc-outer-wrap .apc-title {
    font-size: 2.2rem !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    color: #006ba6 !important;
    margin-bottom: 15px !important;
    text-transform: none !important;
    letter-spacing: normal !important;
  }

  @media (min-width: 992px) {
    .apc-outer-wrap .apc-title { font-size: 3rem !important; }
  }

  .apc-outer-wrap .apc-stars {
    color: #d61c1c !important;
    font-size: 1.5rem !important;
    margin-bottom: 20px !important;
    line-height: 1 !important;
  }

  .apc-outer-wrap .apc-description {
    color: black !important;
    line-height: 1.4 !important;
    margin-bottom: 30px !important;
  }

  .apc-outer-wrap .apc-bold-link {
    color: #006ba6 !important;
    font-weight: 900 !important;
  }

 .apc-outer-wrap .apc-bold-link:hover {
    color: #bc2029 !important;
    font-weight: 900 !important;
  }

  /* Action Buttons */
  .apc-outer-wrap .apc-btn-group-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 15px !important;
    width: 100% !important;
  }

  .apc-outer-wrap .apc-btn {
    display: block !important;
    width: 100% !important;
    padding: 16px 10px !important;
    font-size: 1rem !important;
    font-weight: 900 !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    border: none !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    box-shadow: none !important;
    transition: background-color 0.2s ease !important;
  }

  .apc-outer-wrap .apc-btn-red {
    background-color: #006ba6 !important;
    color: #ffffff !important;
  }

  .apc-outer-wrap .apc-btn-red:hover {
    background-color: #F2BD1D !important;
    color: #fff !important;
  }

  .apc-outer-wrap .apc-btn-full {
    grid-column: span 2 !important;
  }
  /* Mobile Fix: Pull arrows inside the image container on small screens */
@media (max-width: 767px) {
  .apc-outer-wrap .apc-arrow-left { 
    left: 10px !important; 
  }
  .apc-outer-wrap .apc-arrow-right { 
    right: 10px !important; 
  }
  
  /* Optional: Adds a subtle background behind the arrows to keep them visible over the image */
  .apc-outer-wrap .apc-arrow {
    background: rgba(0, 0, 0, 0.4) !important;
    border-radius: 50% !important;
    width: 40px !important;
    height: 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 1.2rem !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-c7d8daa *//* THREE WORDS SECTION */
.apc-three-words-section {
  background-color: #fff !important;
  padding: 100px 20px !important;
  overflow: hidden !important;
  min-height: 250px !important; /* Ensures space to scroll into */
}

.apc-words-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 40px !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  text-align: center !important;
}

@media (min-width: 768px) {
  .apc-words-grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

.apc-word-col {
  perspective: 1000px !important; 
}

.apc-word {
  display: inline-block !important;
  font-size: 3.5rem !important;
  font-weight: 900 !important;
  color: #36454f !important;
  text-transform: uppercase !important;
  letter-spacing: -1px !important;
  
  /* REMOVED !important HERE SO KEYFRAMES CAN WORK */
  opacity: 0;
  transform: translateY(50px) scale(0.9) rotateX(-20px);
}

/* Big text styling for desktop screens */
@media (min-width: 992px) {
  .apc-word { font-size: 5.5rem !important; }
}

/* Specific styling for the final word to match your red accent */
.apc-words-grid .apc-word-col:last-child .apc-word {
  color: #bc2029 !important;
}

/* THE SWOOP & BUMP ANIMATION */
@keyframes swoopAndBump {
  0% {
    opacity: 0;
    transform: translateY(100px) scale(0.8) rotateX(-30px);
  }
  60% {
    opacity: 1;
    transform: translateY(-12px) scale(1.08) rotateX(15px); /* Enhanced 'bump' */
  }
  80% {
    transform: translateY(4px) scale(0.98) rotateX(-5px);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1) rotateX(0);
  }
}

/* Trigger classes added via JS */
.apc-three-words-section.apc-animate .apc-word {
  /* Added !important to the animation call to guarantee it runs over the base styles */
  animation: swoopAndBump 0.8s cubic-bezier(0.25, 1, 0.5, 1) forwards !important;
}

/* Staggering the entries one at a time */
.apc-three-words-section.apc-animate .apc-word-col:nth-child(1) .apc-word { animation-delay: 0s !important; }
.apc-three-words-section.apc-animate .apc-word-col:nth-child(2) .apc-word { animation-delay: 0.25s !important; }
.apc-three-words-section.apc-animate .apc-word-col:nth-child(3) .apc-word { animation-delay: 0.5s !important; }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-d02f9ff *//* --- Core Page Container Alignment --- */
.apc-outer-wrap .apc-main-page-container {
  width: 100% !important;
  max-width: 1400px !important; /* Forces perfect alignment with your core page container rules */
  margin: 0 auto !important;
  padding: 0 20px !important;
}

/* --- Trust Hub Component wrapper --- */
.apc-outer-wrap .apc-trust-hub {
  width: 100% !important;
  padding: 60px 0 !important;
  background-color: #ffffff !important;
}

/* --- 1. Premium Spec Badge Bar --- */
.apc-outer-wrap .apc-spec-bar {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 16px !important;
  background: #1c1c1c !important; /* Dark theme tracking layout elements precisely */
  padding: 24px !important;
  border-radius: 8px 8px 0 0 !important; /* Perfect transition connection */
}

@media (min-width: 768px) {
  .apc-outer-wrap .apc-spec-bar {
    grid-template-columns: repeat(4, 1fr) !important;
    padding: 20px 30px !important;
    text-align: center !important;
  }
}

.apc-outer-wrap .apc-spec-item {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

.apc-outer-wrap .apc-spec-label {
  font-size: 0.75rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: #94a3b8 !important;
  font-weight: 700 !important;
  margin-bottom: 4px !important;
}

.apc-outer-wrap .apc-spec-value {
  font-weight: 900 !important;
  color: #ffffff !important;
}

/* --- 2. Main Balanced Component Split Layout Grid --- */
.apc-outer-wrap .apc-hub-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 20px !important; /* Tightens padding gaps to look unified */
}

@media (min-width: 1024px) {
  .apc-outer-wrap .apc-hub-grid {
    grid-template-columns: 1fr 1fr !important;
  }
}

/* --- Base Hub Adaptive Structural Blocks --- */
.apc-outer-wrap .apc-hub-card {
  background-color: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  padding: 35px 30px !important;
  border-radius: 0 0 8px 8px !important; /* Integrates under black spec block */
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.02) !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}

.apc-outer-wrap .apc-hub-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 12px 20px rgba(0, 0, 0, 0.05) !important;
}

/* --- Pricing Element Variant Framing --- */
.apc-outer-wrap .apc-pricing-card {
  border-top: 3px solid #006ba6 !important; /* Branded blue horizontal tracking accent */
}

.apc-outer-wrap .apc-card-top-group {
  display: flex !important;
  flex-direction: column !important;
}

.apc-outer-wrap .apc-card-badge {
  align-self: flex-start !important;
  background-color: #006ba6 !important;
  color: #ffffff !important;
  font-size: 0.75rem !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  padding: 5px 12px !important;
  border-radius: 4px !important;
  margin-bottom: 16px !important;
}

/* --- Typography Hierarchy Rules --- */
.apc-outer-wrap .apc-hub-title {
  font-size: 2rem !important;
  font-weight: 900 !important;
  color: #006ba6 !important;
  margin: 0 0 12px 0 !important;
  line-height: 1.25 !important;
}

.apc-outer-wrap .apc-hub-text {
  color: #475569 !important;
  line-height: 1.5 !important;
  margin-bottom: 24px !important;
}

/* --- Primary High-Conversion Action Button --- */
.apc-outer-wrap .apc-hub-btn {
  display: block !important;
  text-align: center !important;
  background-color: #d61c1c !important; /* Deep crimson action primary */
  color: #ffffff !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  letter-spacing: 0.03em !important;
  padding: 14px 28px !important;
  border-radius: 6px !important;
  transition: background-color 0.2s ease !important;
  width: 100% !important;
}

.apc-outer-wrap .apc-hub-btn:hover {
  background-color: #006ba6 !important; /* Hover swaps to branded Arctic Blue */
}

/* --- Certification Trust Card Layout --- */
.apc-outer-wrap .apc-cert-card {
  border-top: 3px solid #d61c1c !important; /* Crimson line tracking matching buttons */
}

.apc-outer-wrap .apc-cert-layout {
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important;
}

@media (min-width: 640px) {
  .apc-outer-wrap .apc-cert-layout {
    flex-direction: row !important;
    align-items: flex-start !important;
  }
}

/* --- Pure CSS Styled Premium NFPA Trust Badge --- */
.apc-outer-wrap .apc-nfpa-graphic-block {
  width: 90px !important;
  flex-shrink: 0 !important;
}

.apc-outer-wrap .apc-nfpa-inner-box {
  background: #1c1c1c !important;
  border: 2px solid #d61c1c !important;
  border-radius: 6px !important;
  padding: 12px 8px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Pure CSS clean flame container shape instead of standard system emoji */
.apc-outer-wrap .apc-nfpa-fire-shape {
  width: 24px !important;
  height: 28px !important;
  background-color: #d61c1c !important;
  margin-bottom: 6px !important;
  clip-path: polygon(50% 0%, 80% 35%, 100% 70%, 80% 100%, 20% 100%, 0% 70%, 20% 35%) !important;
}

.apc-outer-wrap .apc-nfpa-brand-text {
  color: #ffffff !important;
  font-weight: 900 !important;
  font-size: 0.85rem !important;
  letter-spacing: 0.02em !important;
}

.apc-outer-wrap .apc-trust-tag {
  color: #d61c1c !important;
  font-size: 0.8rem !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  display: block !important;
  margin-bottom: 4px !important;
  letter-spacing: 0.02em !important;
}

.apc-outer-wrap .apc-cert-title {
  font-size: 2rem !important;
  font-weight: 900 !important;
  color: #006ba6 !important;
  margin: 0 0 12px 0 !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-84c6132 *//* --- Global Container Namespace Context --- */
.apc-page-builder-context {
  width: 100% !important;
  font-family: inherit !important;
  box-sizing: border-box !important;
  background-color: #ffffff !important;
}

/* ==========================================
   SECTION 1: FIXED 25/75 CONTENT CONTAINER
   ========================================== */
.apc-page-builder-context .apc-split-hero-section {
  width: 100% !important;
  background-color: #ffffff !important;
  overflow: hidden !important;
}

.apc-page-builder-context .apc-split-grid-container {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
}

/* Photo Anchor Box styling */
.apc-page-builder-context .apc-media-column {
  width: 100% !important;
  height: 380px !important;
  background-color: #111827 !important;
}

.apc-page-builder-context .apc-media-element {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

/* Content Panel Box Styling */
.apc-page-builder-context .apc-text-column {
  position: relative !important;
  width: 100% !important;
  padding: 60px 24px !important;
}

/* Yellow Background Saturation Optimization */
.apc-page-builder-context .apc-yellow-mesh-bg::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important;
  background-image: url('https://www.arcticcompressor.com/wp-content/uploads/2026/06/yellow-background-arctic.svg') !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center !important;
  z-index: 1 !important;
  opacity: 0.45 !important;
  filter: contrast(1.2) saturate(1.4) !important;
}

/* FIX: Clamping inner layout alignment */
.apc-page-builder-context .apc-constrained-content {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  max-width: 1140px !important; /* Forces maximum edge container ceiling */
  margin: 0 auto !important;
}

/* Brand Typography Layout Framework */
.apc-page-builder-context .apc-tag-subline {
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: #000000 !important;
  margin-bottom: 12px !important;
  display: block !important;
}

.apc-page-builder-context .apc-section-title {
  font-size: 2 rem !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
  color: #006ba6 !important; /* Arctic Blue */
  margin: 0 0 16px 0 !important;
}

.apc-page-builder-context .apc-section-paragraph {
  line-height: 1.5 !important;
  color: #000000 !important;
  max-width: 780px !important; /* Stops text line stretching */
  margin-bottom: 40px !important;
}

/* White Interactive Float Matrix Grid */
.apc-page-builder-context .apc-cards-matrix {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 24px !important;
}

.apc-page-builder-context .apc-hover-card {
  display: flex !important;
  gap: 16px !important;
  align-items: flex-start !important;
  background-color: #ffffff !important;
  padding: 24px !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04) !important;
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.apc-page-builder-context .apc-hover-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.08) !important;
}

.apc-page-builder-context .apc-card-icon-box {
  width: 46px !important;
  height: 46px !important;
  background-color: #006ba6 !important;
  color: #ffffff !important;
  border-radius: 6px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}

.apc-page-builder-context .apc-card-icon-box svg { width: 22px !important; height: 22px !important; }
.apc-page-builder-context .apc-card-body h3 {  font-weight: 900 !important; color: #006ba6 !important; margin: 0 0 4px 0 !important; }
.apc-page-builder-context .apc-card-body p {  color: #334155 !important; margin: 0 !important; line-height: 1.4 !important; }

/* ==========================================
   SECTION 2: ALTERNATING SPEC ACCORDIONS
   ========================================== */
.apc-page-builder-context .apc-accordion-specs-section {
  width: 100% !important;
  background-color: #f8fafc !important; /* Alternating clean slate color contrast */
  padding: 80px 24px !important;
  border-top: 1px solid #e2e8f0 !important;
}

.apc-page-builder-context .apc-standard-max-container {
  width: 100% !important;
  max-width: 1140px !important;
  margin: 0 auto !important;
}

.apc-page-builder-context .apc-specs-asymmetric-layout {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 48px !important;
}

.apc-page-builder-context .apc-tag-subline-crimson {
  font-size: 0.95rem !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  color: #d61c1c !important; /* Accent Red */
  letter-spacing: 0.05em !important;
  margin-bottom: 12px !important;
  display: block !important;
}

.apc-page-builder-context .apc-specs-main-headline {
  font-size: 2.25rem !important;
  font-weight: 900 !important;
  color: #006ba6 !important;
  margin: 0 0 16px 0 !important;
}

.apc-page-builder-context .apc-specs-lead-text {
  font-size: 1.1rem !important;
  line-height: 1.5 !important;
  color: #334155 !important;
  margin-bottom: 28px !important;
}

.apc-page-builder-context .apc-bulleted-highlights {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}

.apc-page-builder-context .apc-highlight-row {
  font-size: 0.95rem !important;
  color: #000000 !important;
  padding-left: 16px !important;
  border-left: 3px solid #d61c1c !important; /* Crimson tag rail */
  line-height: 1.4 !important;
}

/* Accordion Tab Infrastructure */
.apc-page-builder-context .apc-accordion-stack {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

.apc-page-builder-context .apc-tab-wrapper {
  background-color: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 6px !important;
  overflow: hidden !important;
}

.apc-page-builder-context .apc-tab-toggle { display: none !important; }

.apc-page-builder-context .apc-tab-trigger {
  display: flex !important;
  align-items: center !important;
  padding: 18px 24px !important;
  font-size: 1.2rem !important;
  font-weight: 900 !important;
  color: #006ba6 !important;
  cursor: pointer !important;
  user-select: none !important;
}

.apc-page-builder-context .apc-tab-trigger:hover { background-color: #f1f5f9 !important; }
.apc-page-builder-context .apc-trigger-plus { margin-right: 12px !important; color: #d61c1c !important; font-size: 1.3rem !important; transition: transform 0.2s ease !important; }

.apc-page-builder-context .apc-tab-panel {
  max-height: 0 !important;
  overflow: hidden !important;
  transition: max-height 0.25s cubic-bezier(0, 0, 0.2, 1) !important;
  padding: 0 24px !important;
}

.apc-page-builder-context .apc-tab-panel p { margin: 0 !important; padding-bottom: 20px !important; font-size: 0.95rem !important; color: #475569 !important; line-height: 1.5 !important; }

/* Active States via standard input check engine */
.apc-page-builder-context .apc-tab-toggle:checked ~ .apc-tab-trigger { background-color: #f1f5f9 !important; }
.apc-page-builder-context .apc-tab-toggle:checked ~ .apc-tab-trigger .apc-trigger-plus { transform: rotate(45deg) !important; }
.apc-page-builder-context .apc-tab-toggle:checked ~ .apc-tab-panel { max-height: 200px !important; padding-top: 4px !important; }

/* ==========================================
   DESKTOP RESPONSIVE ADAPTATION MEDIA RULES
   ========================================== */
@media (min-width: 1024px) {
  /* Strict 25 / 75 Row Lock */
  .apc-page-builder-context .apc-split-grid-container {
    flex-direction: row !important;
  }

  .apc-page-builder-context .apc-media-column {
    width: 25% !important; /* Absolute desktop column control */
    height: auto !important; /* Scales dynamic matching flow of right layout */
    min-height: 100% !important;
  }

  .apc-page-builder-context .apc-text-column {
    width: 75% !important; /* Exact proportional scale layout */
    padding: 80px 60px !important;
  }

  .apc-page-builder-context .apc-section-title { font-size: 2.85rem !important; }
  .apc-page-builder-context .apc-cards-matrix { grid-template-columns: repeat(3, 1fr) !important; gap: 20px !important; }

  /* Asymmetric Balance for Accordions Block */
  .apc-page-builder-context .apc-specs-asymmetric-layout {
    grid-template-columns: 42% 58% !important;
    align-items: start !important;
  }
  
  .apc-page-builder-context .apc-specs-main-headline { font-size: 2.85rem !important; }
}/* End custom CSS */