.elementor-12 .elementor-element.elementor-element-8c39954{--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;--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-12 .elementor-element.elementor-element-2b6e135{--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;--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-12 .elementor-element.elementor-element-ee4751f{--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;--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-12 .elementor-element.elementor-element-5c719c3{--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;--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-12 .elementor-element.elementor-element-d02e15c{--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;--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-12 .elementor-element.elementor-element-7268590{--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}:root{--page-title-display:none;}/* Start custom CSS for html, class: .elementor-element-c3be406 */.ap-hero {
  --ap-navy: #00205b;
  --ap-navy-deep: #001a4a;
  --ap-navy-mid: #002d72;
  --ap-blue: #1155cb;
  --ap-teal: #03838c;
  --ap-sky: #a9deec;
  --ap-gold: #e07b00;
  --ap-white: #ffffff;
  --ap-soft: rgba(255, 255, 255, 0.86);

  box-sizing: border-box;
  position: relative;
  overflow: hidden;
  min-height: 0;
  padding: 48px 24px 40px;
  font-family: "IBM Plex Sans", Arial, Helvetica, sans-serif;
  color: var(--ap-white);
  /* Official: navy band */
  background: linear-gradient(
    90deg,
    var(--ap-navy-deep) 0%,
    var(--ap-navy) 42%,
    var(--ap-navy-mid) 100%
  );
}

.ap-hero *,
.ap-hero *::before,
.ap-hero *::after {
  box-sizing: border-box;
}

.ap-hero__inner {
  width: min(100%, 1120px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.95fr);
  gap: 40px;
  align-items: center;
}

.ap-hero__kicker {
  margin: 0 0 10px;
  color: var(--ap-sky);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.ap-hero__title {
  margin: 0;
  max-width: 14ch;
  font-family: "Barlow", "IBM Plex Sans", Arial, sans-serif;
  font-size: clamp(32px, 3.8vw, 46px);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -0.02em;
  text-transform: none;
}

.ap-hero__lead {
  margin: 14px 0 0;
  max-width: 34em;
  color: var(--ap-soft);
  font-size: 16px;
  line-height: 1.55;
}

.ap-hero__reviews {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
  padding: 8px 12px 8px 8px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  color: var(--ap-white);
  text-decoration: none;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  cursor: default;
  pointer-events: none;
}

.ap-hero__reviews-g {
  flex: 0 0 20px;
  display: block;
}

.ap-hero__reviews-stars {
  color: #fbbc05;
  letter-spacing: 1px;
  font-size: 13px;
}

.ap-hero__reviews-score {
  font-weight: 700;
  color: var(--ap-white);
}

.ap-hero__reviews-count {
  color: var(--ap-soft);
  font-weight: 500;
}

.ap-hero__pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.ap-hero__pills li {
  padding: 6px 12px;
  border: 1px solid rgba(169, 222, 237, 0.35);
  border-radius: 999px;
  background: rgba(3, 131, 140, 0.18);
  color: var(--ap-white);
  font-size: 12px;
  font-weight: 600;
}

.ap-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.ap-hero__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 148px;
  padding: 12px 22px;
  border-radius: 6px;
  border: 1px solid transparent;
  background: var(--ap-blue);
  color: var(--ap-white) !important;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none !important;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.ap-hero__btn:hover,
.ap-hero__btn:focus-visible {
  background: #0e4ab3;
  color: var(--ap-white) !important;
  transform: translateY(-1px);
}

.ap-hero__btn--ghost {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.35);
  color: var(--ap-white) !important;
}

.ap-hero__btn--ghost:hover,
.ap-hero__btn--ghost:focus-visible {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.55);
  color: var(--ap-white) !important;
}

.ap-hero__visual {
  display: flex;
  align-items: center;
  justify-content: center;
}

.ap-hero__slides {
  position: relative;
  width: min(100%, 360px);
  aspect-ratio: 1 / 1;
}

.ap-hero__img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: contain;
  object-position: center center;
  filter: drop-shadow(0 16px 24px rgba(0, 0, 0, 0.28));
  opacity: 0;
  visibility: hidden;
  transition: opacity 1s ease, visibility 1s ease;
  pointer-events: none;
}

.ap-hero__img.is-active {
  opacity: 1;
  visibility: visible;
  z-index: 1;
}

@media (prefers-reduced-motion: reduce) {
  .ap-hero__img {
    transition: none;
  }

  .ap-hero__img:not(.is-active) {
    display: none;
  }
}

@media (max-width: 900px) {
  .ap-hero {
    padding: 36px 20px 32px;
  }

  .ap-hero__inner {
    grid-template-columns: 1fr;
    gap: 24px;
    text-align: center;
  }

  .ap-hero__title {
    max-width: none;
    margin-left: auto;
    margin-right: auto;
  }

  .ap-hero__lead {
    margin-left: auto;
    margin-right: auto;
  }

  .ap-hero__pills,
  .ap-hero__actions {
    justify-content: center;
  }

  .ap-hero__reviews {
    margin-left: auto;
    margin-right: auto;
  }

  .ap-hero__visual {
    order: -1;
  }

  .ap-hero__slides {
    width: min(100%, 280px);
  }
}

@media (max-width: 480px) {
  .ap-hero {
    padding: 28px 16px 24px;
  }

  .ap-hero__title {
    font-size: 30px;
  }

  .ap-hero__lead {
    font-size: 15px;
  }

  .ap-hero__btn {
    width: 100%;
  }

  .ap-hero__slides {
    width: min(100%, 240px);
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-0407ab3 *//* =========================================
   WHY AREDS 2 — Homepage Section 2
   Inspired by preservisionofficial.com
   Brand: IBM Plex Sans + Barlow · navy / sky / gold
========================================= */

.ap-why {
  --ap-navy: #00205b;
  --ap-navy-deep: #001845;
  --ap-navy-mid: #002d72;
  --ap-teal: #03838c;
  --ap-sky: #9ec4e8;
  --ap-sky-mid: #c5def2;
  --ap-sky-light: #e4f2fb;
  --ap-sky-center: #f4faff;
  --ap-text-mid: #3d6fa8;
  --ap-text-body: #1e3a5f;
  --ap-gold: #c9a84c;
  --ap-gold-dark: #b8953a;
  --ap-white: #ffffff;

  position: relative;
  left: 50%;
  width: 100vw;
  max-width: 100vw;
  margin: 0;
  padding: 48px 24px 56px;
  transform: translateX(-50%);
  isolation: isolate;
  overflow: hidden;
  overflow-x: clip;
  box-sizing: border-box;
  font-family: "IBM Plex Sans", Arial, Helvetica, sans-serif;
  color: var(--ap-navy);
  /* Official: navy frame + sky panel inside */
  background: linear-gradient(
    180deg,
    var(--ap-navy-deep) 0%,
    var(--ap-navy) 50%,
    var(--ap-navy-mid) 100%
  );
}

.ap-why *,
.ap-why *::before,
.ap-why *::after {
  box-sizing: border-box;
}

.ap-why a {
  text-decoration: none;
  color: inherit;
}

.ap-why__rays {
  position: absolute;
  inset: -20% -10%;
  z-index: 0;
  pointer-events: none;
  background: repeating-conic-gradient(
    from 0deg at 50% 50%,
    rgba(255, 255, 255, 0.045) 0deg 3deg,
    transparent 3deg 12deg
  );
  mask-image: radial-gradient(circle at 50% 50%, #000 0%, transparent 68%);
  -webkit-mask-image: radial-gradient(circle at 50% 50%, #000 0%, transparent 68%);
  opacity: 0.75;
}

.ap-why__inner {
  position: relative;
  z-index: 1;
  width: min(100%, 1120px);
  margin: 0 auto;
}

.ap-why__panel {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: center;
  padding: clamp(40px, 5vw, 64px) clamp(32px, 4.5vw, 60px);
  border-radius: 18px;
  background:
    radial-gradient(
      ellipse 55% 70% at 78% 48%,
      var(--ap-sky-center) 0%,
      rgba(255, 255, 255, 0.35) 38%,
      transparent 68%
    ),
    radial-gradient(
      ellipse 80% 90% at 20% 50%,
      var(--ap-sky-light) 0%,
      transparent 55%
    ),
    linear-gradient(
      125deg,
      var(--ap-sky) 0%,
      var(--ap-sky-mid) 38%,
      var(--ap-sky-light) 72%,
      #cfe8f2 100%
    );
  box-shadow: 0 18px 44px rgba(5, 21, 77, 0.28);
}

.ap-why__copy {
  max-width: 460px;
}

.ap-why__kicker {
  margin: 0 0 14px;
  color: var(--ap-text-mid);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  line-height: 1.4;
}

.ap-why__title {
  margin: 0;
  color: var(--ap-navy);
  font-family: "Barlow", "IBM Plex Sans", Arial, sans-serif;
  font-size: clamp(28px, 3.4vw, 40px);
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: -0.02em;
}

.ap-why__text {
  margin: 16px 0 0;
  max-width: 42ch;
  color: var(--ap-text-body);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
}

.ap-why__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  margin-top: 28px;
  padding: 12px 30px;
  border-radius: 5px;
  border: none;
  background: var(--ap-gold);
  color: var(--ap-navy) !important;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.01em;
  text-decoration: none !important;
  transition: background-color 0.2s ease, transform 0.2s ease, color 0.2s ease;
}

.ap-why__btn:hover,
.ap-why__btn:focus-visible {
  background: var(--ap-gold-dark);
  color: var(--ap-navy) !important;
  transform: translateY(-1px);
}

.ap-why__media {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  overflow: visible;
}

.ap-why__media::before {
  content: "";
  position: absolute;
  width: 78%;
  height: 78%;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(255, 255, 255, 0.85) 0%,
    rgba(255, 255, 255, 0.2) 45%,
    transparent 70%
  );
  z-index: 0;
  pointer-events: none;
}

.ap-why__slides {
  position: relative;
  z-index: 1;
  width: min(100%, 420px);
  aspect-ratio: 1 / 1;
  overflow: visible;
}

.ap-why__img {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: contain;
  object-position: center center;
  filter: drop-shadow(0 16px 28px rgba(5, 21, 77, 0.16));
  opacity: 0;
  visibility: hidden;
  transition: opacity 1s ease, visibility 1s ease;
  pointer-events: none;
}

.ap-why__img.is-active {
  opacity: 1;
  visibility: visible;
  z-index: 2;
}

@media (prefers-reduced-motion: reduce) {
  .ap-why__img {
    transition: none;
  }

  .ap-why__img:not(.is-active) {
    display: none;
  }
}

@media (max-width: 900px) {
  .ap-why {
    padding: 36px 16px 44px;
  }

  .ap-why__panel {
    grid-template-columns: 1fr;
    gap: 20px;
    text-align: center;
    padding: 32px 22px 36px;
    background:
      radial-gradient(
        ellipse 70% 45% at 50% 18%,
        var(--ap-sky-center) 0%,
        transparent 55%
      ),
      linear-gradient(
        160deg,
        var(--ap-sky) 0%,
        var(--ap-sky-mid) 40%,
        var(--ap-sky-light) 100%
      );
  }

  .ap-why__copy {
    max-width: none;
    order: 1;
  }

  .ap-why__media {
    order: 0;
  }

  .ap-why__text {
    margin-left: auto;
    margin-right: auto;
  }

  .ap-why__slides {
    width: min(100%, 300px);
  }
}

@media (max-width: 520px) {
  .ap-why__title {
    font-size: 26px;
  }

  .ap-why__kicker {
    font-size: 13px;
  }

  .ap-why__text {
    font-size: 15px;
  }

  .ap-why__btn {
    width: 100%;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-0ad4038 *//* =========================================
   TRUST BRAND — Homepage Section 3
   Inspired by preservisionofficial.com
   Fonts: IBM Plex Sans + Barlow
========================================= */

.ap-trust-brand {
  --ap-navy: #00205b;
  --ap-navy-mid: #002d72;
  --ap-blue: #1a5fd0;
  --ap-blue-dark: #134db0;
  --ap-sky: #d4eff6;
  --ap-line: #002d72;
  --ap-white: #ffffff;
  --line-w: 1px;

  position: relative;
  left: 50%;
  width: 100vw;
  max-width: 100vw;
  margin: 0;
  padding: 72px 40px 80px;
  transform: translateX(-50%);
  overflow-x: clip;
  box-sizing: border-box;
  font-family: "IBM Plex Sans", Arial, Helvetica, sans-serif;
  color: var(--ap-navy);
  /* Official: soft sky */
  background: #d4eff6;
}

.ap-trust-brand *,
.ap-trust-brand *::before,
.ap-trust-brand *::after {
  box-sizing: border-box;
}

.ap-trust-brand a {
  text-decoration: none;
  color: inherit;
}

.ap-trust-brand__inner {
  position: relative;
  width: min(100%, 1140px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(200px, 260px) minmax(0, 1.15fr);
  column-gap: 0;
  align-items: center;
}

.ap-trust-brand__left {
  position: relative;
  z-index: 2;
  padding-right: 0;
}

.ap-trust-brand__title {
  margin: 0;
  max-width: 10ch;
  color: var(--ap-navy);
  font-family: "Barlow", "IBM Plex Sans", Arial, sans-serif;
  font-size: clamp(32px, 3.5vw, 44px);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.02em;
}

.ap-trust-brand__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  margin-top: 20px;
  padding: 10px 20px;
  border-radius: 4px;
  border: none;
  background: var(--ap-blue) !important;
  color: #ffffff !important;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.01em;
  text-decoration: none !important;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.ap-trust-brand__btn:hover,
.ap-trust-brand__btn:focus-visible {
  background: var(--ap-blue-dark) !important;
  color: #ffffff !important;
}

.ap-trust-brand__line--left {
  position: absolute;
  top: 26px;
  left: min(100%, 240px);
  right: -8px;
  height: var(--line-w);
  background: var(--ap-line);
  pointer-events: none;
}

.ap-trust-brand__center {
  position: relative;
  z-index: 3;
  display: flex;
  justify-content: center;
  align-items: center;
  justify-self: center;
}

.ap-trust-brand__circle {
  width: min(100%, 248px);
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  border: var(--line-w) solid var(--ap-line);
  border-radius: 50%;
  background: transparent;
  overflow: hidden;
}

.ap-trust-brand__softgel {
  width: 68%;
  height: auto;
  object-fit: contain;
}

.ap-trust-brand__right {
  position: relative;
  z-index: 2;
  padding-left: 56px;
}

.ap-trust-brand__line--right {
  position: absolute;
  left: 0;
  top: 50%;
  width: 28px;
  height: var(--line-w);
  background: var(--ap-line);
  transform: translateY(-50%);
}

.ap-trust-brand__spine {
  position: absolute;
  left: 28px;
  top: calc(16.66% - 1px);
  bottom: calc(16.66% - 1px);
  width: var(--line-w);
  background: var(--ap-line);
}

.ap-trust-brand__pills {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 16px;
}

.ap-trust-brand__pill {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1px;
  min-height: 72px;
  padding: 12px 32px;
  border: var(--line-w) solid var(--ap-line);
  border-radius: 999px;
  background: var(--ap-white);
  text-align: center;
}

.ap-trust-brand__pill::before {
  content: "";
  position: absolute;
  left: -28px;
  top: 50%;
  width: 28px;
  height: var(--line-w);
  background: var(--ap-line);
  transform: translateY(-50%);
}

.ap-trust-brand__pill-top {
  color: var(--ap-navy);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.35;
  opacity: 0.92;
}

.ap-trust-brand__pill-main {
  color: var(--ap-navy);
  font-family: "Barlow", "IBM Plex Sans", Arial, sans-serif;
  font-size: clamp(18px, 1.9vw, 24px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.01em;
}

.ap-trust-brand__pill:last-child .ap-trust-brand__pill-main {
  order: -1;
  font-size: clamp(22px, 2.2vw, 28px);
}

@media (max-width: 980px) {
  .ap-trust-brand {
    padding: 48px 20px 56px;
  }

  .ap-trust-brand__inner {
    grid-template-columns: 1fr;
    gap: 28px;
    max-width: 400px;
    text-align: center;
  }

  .ap-trust-brand__title {
    max-width: none;
    margin: 0 auto;
  }

  .ap-trust-brand__line--left,
  .ap-trust-brand__line--right,
  .ap-trust-brand__spine,
  .ap-trust-brand__pill::before {
    display: none;
  }

  .ap-trust-brand__right {
    padding-left: 0;
  }

  .ap-trust-brand__circle {
    width: min(100%, 220px);
    margin: 0 auto;
  }
}

@media (max-width: 520px) {
  .ap-trust-brand__title {
    font-size: 28px;
  }

  .ap-trust-brand__btn {
    width: 100%;
  }

  .ap-trust-brand__pill {
    min-height: 64px;
    padding: 12px 20px;
  }

  .ap-trust-brand__pill-main {
    font-size: 18px;
  }

  .ap-trust-brand__pill:last-child .ap-trust-brand__pill-main {
    font-size: 22px;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-150bd07 *//* =========================================
   PACKS — Homepage Section 4
   Inspired by preservisionofficial.com
   Fonts: IBM Plex Sans + Barlow
========================================= */

.ap-packs {
  --ap-navy: #00205b;
  --ap-navy-deep: #001845;
  --ap-blue: #1558d6;
  --ap-blue-dark: #0f48b8;
  --ap-gold: #d4b56a;
  --ap-gold-dark: #c4a35a;
  --ap-teal: #00838f;
  --ap-sky: #a9deec;
  --ap-white: #ffffff;
  --ap-line: #002855;

  position: relative !important;
  left: 50% !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 0 !important;
  padding: 48px 0 64px !important;
  transform: translateX(-50%) !important;
  box-sizing: border-box !important;
  overflow-x: clip !important;
  font-family: "IBM Plex Sans", Arial, Helvetica, sans-serif;
  color: var(--ap-navy);
  /* Official: deeper sky */
  background: #a9deec !important;
  border-top: 1px solid var(--ap-line) !important;
}

.ap-packs *,
.ap-packs *::before,
.ap-packs *::after {
  box-sizing: border-box;
}

.ap-packs a {
  text-decoration: none;
  color: inherit;
}

.ap-packs__inner {
  width: min(100%, 1180px) !important;
  margin: 0 auto !important;
  padding: 0 28px !important;
}

.ap-packs__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px 24px;
  margin: 0 0 28px;
  flex-wrap: wrap;
}

.ap-packs__title {
  margin: 0;
  color: var(--ap-navy);
  font-family: "Barlow", "IBM Plex Sans", Arial, sans-serif;
  font-size: clamp(28px, 3.2vw, 36px);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.015em;
}

.ap-packs__shop-all {
  color: var(--ap-navy) !important;
  font-size: 15px;
  font-weight: 700;
  text-decoration: underline !important;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
  transition: color 0.2s ease;
}

.ap-packs__shop-all:hover {
  color: var(--ap-blue) !important;
}

.ap-packs__grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 20px !important;
  align-items: stretch !important;
  width: 100% !important;
}

.ap-pack {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  border-radius: 8px;
  background: var(--ap-white);
  box-shadow: 0 4px 18px rgba(5, 21, 77, 0.06);
  overflow: hidden;
}

.ap-pack__media {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 220px;
  padding: 28px 16px 12px;
  background: var(--ap-white);
}

.ap-pack--featured .ap-pack__media {
  background: linear-gradient(165deg, #001845 0%, #05154d 55%, #152f72 100%);
}

.ap-pack__badge {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 5;
  padding: 5px 12px;
  border-radius: 999px;
  background: var(--ap-white);
  color: var(--ap-navy);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.ap-pack__stack {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 180px;
}

.ap-pack__stack img {
  object-fit: contain;
  filter: drop-shadow(0 8px 16px rgba(0, 0, 0, 0.12));
}

.ap-pack--featured .ap-pack__stack img {
  filter: drop-shadow(0 10px 18px rgba(0, 0, 0, 0.35));
}

.ap-pack__stack--1 img {
  width: min(100%, 200px);
  position: relative;
}

.ap-pack__stack--2 {
  width: min(100%, 240px);
}

.ap-pack__stack--2 img {
  position: absolute;
  width: 58%;
  max-width: 150px;
}

.ap-pack__stack--2 img:nth-child(1) {
  left: 8%;
  z-index: 1;
  transform: rotate(-6deg);
}

.ap-pack__stack--2 img:nth-child(2) {
  right: 8%;
  z-index: 2;
  transform: rotate(5deg);
}

.ap-pack__stack--3 {
  width: min(100%, 260px);
}

.ap-pack__stack--3 img {
  position: absolute;
  width: 48%;
  max-width: 130px;
}

.ap-pack__stack--3 img:nth-child(1) {
  left: 2%;
  z-index: 1;
  transform: rotate(-8deg) translateY(6px);
}

.ap-pack__stack--3 img:nth-child(2) {
  left: 50%;
  z-index: 2;
  transform: translateX(-50%) translateY(-4px);
}

.ap-pack__stack--3 img:nth-child(3) {
  right: 2%;
  z-index: 3;
  transform: rotate(8deg) translateY(6px);
}

.ap-pack__body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  padding: 8px 22px 22px;
}

.ap-pack__name {
  margin: 0 0 12px;
  color: var(--ap-navy);
  font-family: "Barlow", "IBM Plex Sans", Arial, sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  text-align: left;
}

.ap-pack__list {
  margin: 0 0 20px;
  padding: 0 0 0 1.1rem;
  list-style: disc;
  flex: 1 1 auto;
}

.ap-pack__list li {
  margin: 0 0 8px;
  color: var(--ap-navy);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.45;
}

.ap-pack__list strong {
  font-weight: 700;
}

.ap-pack__actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
  margin-top: auto;
}

.ap-pack__btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 12px 16px !important;
  border: 2px solid var(--ap-blue) !important;
  border-radius: 6px !important;
  background: var(--ap-blue) !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-align: center !important;
  text-decoration: none !important;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease !important;
}

.ap-pack__btn:hover,
.ap-pack__btn:focus-visible {
  background: var(--ap-teal) !important;
  border-color: var(--ap-teal) !important;
  color: #ffffff !important;
  transform: translateY(-1px);
}

.ap-pack__btn--gold {
  background: var(--ap-gold) !important;
  border-color: var(--ap-gold) !important;
  color: var(--ap-navy) !important;
}

.ap-pack__btn--gold:hover,
.ap-pack__btn--gold:focus-visible {
  background: var(--ap-gold-dark) !important;
  border-color: var(--ap-gold-dark) !important;
  color: var(--ap-navy) !important;
}

.ap-pack__details {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 44px !important;
  padding: 10px 16px !important;
  border: 1px solid rgba(5, 21, 77, 0.28) !important;
  border-radius: 6px !important;
  background: transparent !important;
  color: var(--ap-navy) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
}

.ap-pack__details:hover,
.ap-pack__details:focus-visible {
  background: rgba(5, 21, 77, 0.05) !important;
  border-color: var(--ap-navy) !important;
  color: var(--ap-navy) !important;
}

.ap-packs__more {
  margin: 24px 0 0;
  text-align: center;
  font-size: 14px;
  color: var(--ap-navy);
}

.ap-packs__more a {
  color: var(--ap-teal) !important;
  font-weight: 700;
  text-decoration: underline !important;
  text-underline-offset: 2px;
}

.ap-packs__more a:hover {
  color: var(--ap-blue) !important;
}

@media (max-width: 960px) {
  .ap-packs__grid {
    grid-template-columns: 1fr !important;
    max-width: 380px;
    margin: 0 auto;
  }

  .ap-packs__header {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
}

@media (max-width: 560px) {
  .ap-packs {
    padding: 36px 0 48px !important;
  }

  .ap-packs__inner {
    padding: 0 16px !important;
  }

  .ap-packs__title {
    font-size: 26px;
  }

  .ap-pack__media {
    min-height: 200px;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-e1f1faf *//* =========================================
   RESOURCE + BRAND BAND — Homepage Section 5
   Inspired by preservisionofficial.com
   Fonts: IBM Plex Sans + Barlow
========================================= */

.ap-resource,
.ap-band {
  --ap-navy: #00205b;
  --ap-teal: #00a3a1;
  --ap-sub: #4a9bc8;
  --ap-orange: #e37222;
  --ap-orange-dark: #cc5f16;
  --ap-white: #ffffff;
}

.ap-resource *,
.ap-resource *::before,
.ap-resource *::after,
.ap-band *,
.ap-band *::before,
.ap-band *::after {
  box-sizing: border-box;
}

.ap-resource a,
.ap-band a {
  text-decoration: none;
  color: inherit;
}

.ap-resource {
  position: relative;
  left: 50%;
  width: 100vw;
  max-width: 100vw;
  margin: 0;
  padding: 72px 32px 32px;
  transform: translateX(-50%);
  overflow-x: clip;
  font-family: "IBM Plex Sans", Arial, Helvetica, sans-serif;
  color: var(--ap-navy);
  /* Official: white */
  background: var(--ap-white);
}

.ap-resource__inner {
  width: min(100%, 1100px);
  margin: 0 auto;
}

.ap-resource__row {
  display: grid;
  grid-template-columns: minmax(280px, 400px) minmax(0, 1fr);
  gap: 40px 48px;
  align-items: center;
}

/* SightMatters logo — crisp vector, official size */
.ap-sm {
  display: block;
  width: min(100%, 380px);
}

.ap-sm__logo {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
  shape-rendering: geometricPrecision;
  text-rendering: geometricPrecision;
}

.ap-resource__title {
  margin: 0;
  color: var(--ap-navy);
  font-family: "Barlow", "IBM Plex Sans", Arial, sans-serif;
  font-size: clamp(28px, 3.2vw, 36px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.02em;
}

.ap-resource__sub {
  margin: 10px 0 0;
  color: var(--ap-sub);
  font-size: 17px;
  font-weight: 500;
}

.ap-resource__list {
  margin: 26px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 14px;
}

.ap-resource__list li {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--ap-navy);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
}

.ap-resource__check {
  position: relative;
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--ap-orange);
}

.ap-resource__check::after {
  content: "";
  position: absolute;
  left: 6px;
  top: 5px;
  width: 7px;
  height: 4px;
  border-left: 2.2px solid #fff;
  border-bottom: 2.2px solid #fff;
  transform: rotate(-45deg);
}

.ap-resource__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  margin-top: 28px;
  padding: 12px 28px;
  border-radius: 3px;
  border: none;
  background: var(--ap-orange);
  color: #fff !important;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none !important;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.ap-resource__btn:hover,
.ap-resource__btn:focus-visible {
  background: var(--ap-orange-dark);
  color: #fff !important;
}

.ap-resource__legal {
  margin-top: 52px;
}

.ap-resource__disclaimer {
  margin: 0;
  padding: 14px 16px;
  border: 1px solid #9aa6b8;
  color: #3a4658;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.5;
}

.ap-band {
  position: relative;
  left: 50%;
  width: 100vw;
  max-width: 100vw;
  margin: 0;
  padding: 48px 32px 56px;
  transform: translateX(-50%);
  overflow-x: clip;
  font-family: "IBM Plex Sans", Arial, Helvetica, sans-serif;
  /* Official: white */
  background: var(--ap-white);
  border-top: 1px solid rgba(0, 32, 91, 0.08);
}

.ap-band__inner {
  width: min(100%, 1100px);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
}

.ap-band__logo-top {
  color: var(--ap-teal);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.ap-band__logo-main {
  margin-top: 6px;
  color: var(--ap-navy);
  font-family: "Barlow", "IBM Plex Sans", Arial, sans-serif;
  font-size: 40px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.03em;
}

.ap-band__logo-main sup {
  font-size: 0.35em;
  font-weight: 600;
  vertical-align: super;
}

.ap-band__vision {
  position: relative;
  display: inline-block;
  padding: 4px 0 6px;
}

.ap-band__vision::before,
.ap-band__vision::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 10px;
  pointer-events: none;
  opacity: 0.95;
}

.ap-band__vision::before {
  top: -2px;
  border-top: 2px solid var(--ap-navy);
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
}

.ap-band__vision::after {
  bottom: -2px;
  border-bottom: 2px solid var(--ap-navy);
  border-radius: 0 0 50% 50% / 0 0 100% 100%;
}

.ap-band__right {
  width: min(100%, 360px);
  flex-shrink: 0;
}

.ap-band__links {
  display: grid;
}

.ap-band__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 2px;
  border-bottom: 1px solid var(--ap-teal);
  color: #111 !important;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  text-decoration: none !important;
  transition: color 0.2s ease;
}

.ap-band__link:hover {
  color: var(--ap-teal) !important;
}

.ap-band__ext {
  width: 13px;
  height: 13px;
  flex-shrink: 0;
}

@media (max-width: 900px) {
  .ap-resource__row {
    grid-template-columns: 1fr;
    gap: 28px;
    justify-items: center;
    text-align: center;
  }

  .ap-sm {
    width: min(100%, 340px);
  }

  .ap-resource__list li {
    text-align: left;
    max-width: 420px;
    margin: 0 auto;
  }

  .ap-band__inner {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .ap-band__right {
    width: 100%;
    max-width: 360px;
  }
}

@media (max-width: 520px) {
  .ap-resource {
    padding: 44px 16px 24px;
  }

  .ap-sm {
    width: min(100%, 300px);
  }

  .ap-resource__title {
    font-size: 26px;
  }

  .ap-resource__btn {
    width: 100%;
  }

  .ap-band {
    padding: 32px 16px 44px;
  }

  .ap-band__logo-main {
    font-size: 32px;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-c020bd4 *//* =========================================
   FAQ — Homepage (official product Q&A layout)
   2-column accordion · navy title rule · teal +/-
   Brand: IBM Plex Sans + Barlow
========================================= */

.ap-faq {
  --ap-navy: #00205b;
  --ap-navy-deep: #001845;
  --ap-teal: #03838c;
  --ap-line: #c8d0d8;
  --ap-answer: #3d4f6a;
  --ap-white: #ffffff;

  position: relative;
  left: 50%;
  width: 100vw;
  max-width: 100vw;
  margin: 0;
  padding: 56px 40px 72px;
  transform: translateX(-50%);
  isolation: isolate;
  overflow-x: clip;
  box-sizing: border-box;
  font-family: "IBM Plex Sans", Arial, Helvetica, sans-serif;
  color: var(--ap-navy);
  /* Soft gray — a bit darker so it separates from white Resource */
  background: linear-gradient(180deg, #e8eef3 0%, #d9e2ea 100%);
  -webkit-font-smoothing: antialiased;
}

.ap-faq *,
.ap-faq *::before,
.ap-faq *::after {
  box-sizing: border-box;
}

.ap-faq__inner {
  width: min(100%, 1180px);
  margin: 0 auto;
}

.ap-faq__header {
  margin: 0;
  padding: 0 0 18px;
  border-bottom: 1px solid var(--ap-navy);
  text-align: left;
}

.ap-faq__title {
  margin: 0;
  color: var(--ap-navy);
  font-family: "Barlow", "IBM Plex Sans", Arial, sans-serif;
  font-size: clamp(26px, 3.2vw, 40px);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -0.01em;
}

.ap-faq__columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 56px;
  align-items: start;
}

.ap-faq__col {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.ap-faq__item {
  margin: 0;
  border-bottom: 1px solid var(--ap-line);
  background: transparent;
}

.ap-faq__item:first-child {
  border-top: 1px solid var(--ap-line);
}

.ap-faq__question {
  position: relative;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin: 0;
  padding: 18px 0;
  color: var(--ap-navy);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.45;
  cursor: pointer;
  user-select: none;
}

.ap-faq__question::-webkit-details-marker,
.ap-faq__question::marker {
  display: none;
  content: "";
}

.ap-faq__q-text {
  flex: 1;
  min-width: 0;
  padding-right: 8px;
}

.ap-faq__icon {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  background: var(--ap-teal);
  border: 1px solid rgba(0, 32, 91, 0.2);
  color: var(--ap-white);
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
}

.ap-faq__icon::before {
  content: "+";
  color: var(--ap-white);
}

.ap-faq__item[open] .ap-faq__icon::before {
  content: "−";
}

.ap-faq__answer {
  padding: 0 36px 18px 0;
}

.ap-faq__answer p {
  margin: 0;
  color: var(--ap-answer);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.75;
}

@media (max-width: 900px) {
  .ap-faq {
    padding: 44px 20px 56px;
  }

  .ap-faq__columns {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .ap-faq__col + .ap-faq__col .ap-faq__item:first-child {
    border-top: none;
  }

  .ap-faq__title {
    font-size: 28px;
  }

  .ap-faq__question {
    font-size: 14px;
    padding: 16px 0;
  }
}/* End custom CSS */