/*==APOL-BASELAYER:START - generated, do not edit==*/
:root {
  --apol-color-primary: #0099cc;
  --apol-color-primary-contrast: #ffffff;
  --apol-color-secondary: #1f2937;
  --apol-color-secondary-contrast: #ffffff;
  --apol-color-accent: #cc2127;
  --apol-color-text: #333333;
  --apol-color-text-muted: #666666;
  --apol-color-heading: #222222;
  --apol-color-background: #ffffff;
  --apol-color-surface: #f5f5f5;
  --apol-color-border: #e2e2e2;
  --apol-font-heading: 'Roboto Condensed', Georgia, sans-serif;
  --apol-font-body: 'Roboto Condensed', Georgia, sans-serif;
  --apol-font-size-base: 16px;
  --apol-font-size-h1: clamp(2rem, 4vw, 3.5rem);
  --apol-font-size-h2: clamp(1.75rem, 3vw, 2.5rem);
  --apol-font-size-h3: clamp(1.375rem, 2vw, 1.75rem);
  --apol-font-size-h4: 1.125rem;
  --apol-line-height-heading: 1.2;
  --apol-line-height-body: 1.4;
  --apol-font-weight-heading: 700;
  --apol-font-weight-body: 300;
  --apol-font-weight-bold: 600;
  --apol-button-radius: 3px;
  --apol-button-padding-x: 1.5rem;
  --apol-button-padding-y: 0.75rem;
  --apol-button-font-weight: 600;
  --apol-radius-sm: 4px;
  --apol-radius-md: 8px;
  --apol-radius-lg: 16px;
  --apol-spacing-unit: 8px;
  --apol-section-padding-y: clamp(3rem, 8vw, 6rem);
  --apol-container-max-width: 1200px;
  /* --- card component tokens (global-style-editor knobs) --- */
  --apol-card-bg:            var(--apol-color-surface);
  --apol-card-border:        1px solid var(--apol-color-border);
  --apol-card-radius:        var(--apol-radius-md);
  --apol-card-padding:       1.75rem;
  --apol-card-gap:           1.5rem;
  --apol-card-shadow:        0 1px 3px rgba(0,0,0,.06);
  --apol-card-shadow-hover:  0 10px 30px rgba(0,0,0,.12);
  --apol-card-title-size:    var(--apol-font-size-h4);
  --apol-card-media-radius:  var(--apol-radius-sm);
  --apol-card-lift:          -4px;
  --apol-card-bg-min-height: 320px;
  --apol-card-bg-overlay:    rgba(10, 10, 46, 0.45);

  /* --- ribbon tokens (global-style-editor knobs) --- */
  --apol-ribbon-bg:          var(--apol-color-accent);
  --apol-ribbon-corner-z:    9000;
  --apol-ribbon-color:       #ffffff;
  --apol-ribbon-font-size:   0.7rem;
  --apol-ribbon-font-weight: 700;

  /* --- modal + tooltip tokens (global-style-editor knobs) --- */
  --apol-modal-backdrop:     rgba(0, 0, 0, 0.7);
  --apol-modal-bg:           var(--apol-color-background);
  --apol-modal-radius:       var(--apol-radius-lg);
  --apol-modal-max-width:    560px;
  --apol-modal-padding:      2rem;
  --apol-modal-z:            99999;
  --apol-tooltip-bg:         var(--apol-color-secondary);
  --apol-tooltip-color:      #ffffff;
  --apol-tooltip-font-size:  0.8125rem;
  --apol-tooltip-max-width:  240px;
  --apol-tooltip-z:          1100;
}

.apol-section { padding: var(--apol-section-vpad-default, var(--apol-section-padding-y)) var(--apol-section-width-default, var(--apol-spacing-unit)); background: var(--apol-color-background); color: var(--apol-color-text); font-family: var(--apol-font-body); font-size: var(--apol-font-size-base); line-height: var(--apol-line-height-body); box-sizing: border-box; }
.apol-section *, .apol-section *::before, .apol-section *::after { box-sizing: border-box; }
.apol-section__container { max-width: var(--apol-section-cmax-default, var(--apol-container-max-width)); margin-top: 0; margin-bottom: 0; margin-left: var(--apol-section-aml-default, auto); margin-right: var(--apol-section-amr-default, auto); padding: 0 1rem; text-align: var(--apol-section-align-default, inherit); }
.apol-section h1, .apol-section h2, .apol-section h3, .apol-section h4 { font-family: var(--apol-font-heading); font-weight: var(--apol-font-weight-heading); line-height: var(--apol-line-height-heading); color: var(--apol-color-heading); margin: 0 0 1rem; }
.apol-section p { margin: 0 0 1rem; }
.apol-section a.apol-btn, .apol-section button.apol-btn { display: inline-block; padding: var(--apol-button-padding-y) var(--apol-button-padding-x); font-family: var(--apol-font-body); font-size: 1rem; font-weight: var(--apol-button-font-weight); text-decoration: none; border-radius: var(--apol-button-radius); transition: opacity 0.2s ease, transform 0.2s ease; cursor: pointer; border: 1px solid transparent; }
.apol-section a.apol-btn:hover, .apol-section button.apol-btn:hover { opacity: 0.9; }
.apol-section a.apol-btn--primary, .apol-section button.apol-btn--primary { background: var(--apol-color-primary); color: var(--apol-color-primary-contrast); }
.apol-section a.apol-btn--secondary, .apol-section button.apol-btn--secondary { background: transparent; color: var(--apol-color-primary); border-color: var(--apol-color-primary); }
.apol-section a.apol-btn--light, .apol-section button.apol-btn--light { background: #ffffff; color: var(--apol-color-secondary); }
.apol-section a.apol-btn--dark, .apol-section button.apol-btn--dark { background: var(--apol-color-secondary); color: var(--apol-color-secondary-contrast); }
.apol-section a.apol-btn--outline-light, .apol-section button.apol-btn--outline-light { background: transparent; color: #ffffff; border-color: rgba(255,255,255,0.7); }
.apol-section a.apol-btn--outline-light:hover, .apol-section button.apol-btn--outline-light:hover { background: rgba(255,255,255,0.12); opacity: 1; }
.apol-section__buttons { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.apol-section__buttons--left   { justify-content: flex-start; }
.apol-section__buttons--center { justify-content: center; }
.apol-section__buttons--right  { justify-content: flex-end; }
.apol-section__eyebrow { display: inline-block; font-size: 0.875rem; font-weight: var(--apol-font-weight-bold); text-transform: uppercase; letter-spacing: 0.08em; color: var(--apol-color-primary); margin: 0 0 0.75rem; }

/* ============================================================
   APOL COLUMN LAYOUTS  (flexbox section templates)
   Shared layout for the "Columns" picker category. Width/centering
   folded in here so the seeded markup needs no .apol-section__container.
   Editor-only dashed guides are scoped under .mce-content-body, so
   they show in the editor canvas only and NEVER on the published page.
   ============================================================ */
.apol-columns__inner {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  align-items: flex-start;
  max-width: var(--apol-container-max-width);
  margin: 0 auto;
  padding: 0 1rem;
}
.apol-columns__inner > .apol-col { flex: 1 1 0; min-width: 0; }
.apol-col > :first-child { margin-top: 0; }
.apol-col > :last-child { margin-bottom: 0; }

/* asymmetric ratios (flex-grow weights) */
.apol-columns--6040   > .apol-columns__inner > .apol-col:nth-child(1) { flex-grow: 6; }
.apol-columns--6040   > .apol-columns__inner > .apol-col:nth-child(2) { flex-grow: 4; }
.apol-columns--4060   > .apol-columns__inner > .apol-col:nth-child(1) { flex-grow: 4; }
.apol-columns--4060   > .apol-columns__inner > .apol-col:nth-child(2) { flex-grow: 6; }
.apol-columns--7030   > .apol-columns__inner > .apol-col:nth-child(1) { flex-grow: 7; }
.apol-columns--7030   > .apol-columns__inner > .apol-col:nth-child(2) { flex-grow: 3; }
.apol-columns--3070   > .apol-columns__inner > .apol-col:nth-child(1) { flex-grow: 3; }
.apol-columns--3070   > .apol-columns__inner > .apol-col:nth-child(2) { flex-grow: 7; }
.apol-columns--255025 > .apol-columns__inner > .apol-col:nth-child(1) { flex-grow: 1; }
.apol-columns--255025 > .apol-columns__inner > .apol-col:nth-child(2) { flex-grow: 2; }
.apol-columns--255025 > .apol-columns__inner > .apol-col:nth-child(3) { flex-grow: 1; }

/* stack below tablet breakpoint */
@media (max-width: 768px) {
  .apol-columns__inner { flex-direction: column; gap: 1.5rem; }
  .apol-columns__inner > .apol-col { flex: 1 1 auto; width: 100%; }
}

/* editor-only guides (scoped to TinyMCE body; never on the live site) */
.mce-content-body .apol-columns__inner { outline: 1px dashed #c5c9d4; outline-offset: 6px; }
.mce-content-body .apol-col { outline: 1px dashed #d4d8e2; min-height: 48px; border-radius: 3px; transition: outline-color .12s ease, background-color .12s ease; }
.mce-content-body .apol-col:hover { outline-color: #8a93a8; background: rgba(138,147,168,.05); }

/* ============================================================
   APOL CARD COMPONENT  (cards section templates)
   ------------------------------------------------------------
   Canonical, token-driven card primitive shared by every
   "cards" section template. Restyle every card via the
   --apol-card-* tokens above, or here for structural changes.
   apolGrid listing cards (.data_grid_card) are a SEPARATE
   component and are not styled here.
   ============================================================ */
.apol-card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--apol-card-gap);
  align-items: stretch;
}
.apol-card-grid--2 { grid-template-columns: repeat(2, 1fr); }
.apol-card-grid--3 { grid-template-columns: repeat(3, 1fr); }
.apol-card-grid--4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 980px) {
  .apol-card-grid--3,
  .apol-card-grid--4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .apol-card-grid { grid-template-columns: 1fr; }
}
.apol-card {
  position: relative;
  display: flex;
  flex-direction: column;
  background: var(--apol-card-bg);
  border: var(--apol-card-border);
  border-radius: var(--apol-card-radius);
  padding: var(--apol-card-padding);
  box-shadow: var(--apol-card-shadow);
  transition: transform .2s ease, box-shadow .2s ease;
}
.apol-card__media {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--apol-card-media-radius);
  margin: 0 0 1.25rem;
  border: 0;
}
.apol-card__title {
  font-family: var(--apol-font-heading);
  font-weight: var(--apol-font-weight-heading);
  font-size: var(--apol-card-title-size);
  line-height: var(--apol-line-height-heading);
  color: var(--apol-color-heading);
  margin: 0 0 .5rem;
}
.apol-card__text { color: var(--apol-color-text-muted); margin: 0 0 1.25rem; }
.apol-card__cta { margin-top: auto; align-self: flex-start; }
.apol-card > :last-child { margin-bottom: 0; }
/* whole-card-clickable (stretched link). RULE: a clickable card must NOT
   also contain a button/second link - enforced in section-context-toolbar.js. */
.apol-card--clickable { cursor: pointer; }
.apol-card--clickable:hover {
  transform: translateY(var(--apol-card-lift));
  box-shadow: var(--apol-card-shadow-hover);
}
.apol-card__link { color: inherit; text-decoration: none; }
.apol-card--clickable .apol-card__link::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
}
/* In the editor only, don't let the stretched link swallow clicks, or the
   card actions and inner image/title editing become unreachable. The live
   site keeps the whole-card click. */
.mce-content-body .apol-card--clickable .apol-card__link::after { pointer-events: none; }

/* top image, full-bleed to the card edges (no padding gap).
   width is explicit + max-width:none so the frontend's global
   img{max-width:100%} can't clamp the negative-margin bleed
   (that rule isn't in the editor's content_css, which is why
   this filled in admin but not on the live page). */
.apol-card--media-fill { overflow: hidden; }
.apol-card--media-fill .apol-card__media {
  align-self: stretch;
  width: calc(100% + (var(--apol-card-padding) * 2));
  max-width: none;
  margin: calc(var(--apol-card-padding) * -1) calc(var(--apol-card-padding) * -1) var(--apol-card-padding);
  border-radius: 0;
}

/* ============================================================
   APOL RIBBON  (corner banner decoration)
   Applied to a card (or any positioned element) via the context
   toolbar; text comes from data-apol-ribbon. Namespaced clear of
   apolGrid's product ribbon (.corner-ribbon-product). Inert to
   clicks so it never blocks a clickable card.
   ============================================================ */
.apol-card--ribbon { overflow: hidden; }
.apol-card--ribbon::before {
  content: attr(data-apol-ribbon);
  position: absolute;
  top: 16px;
  right: -42px;
  width: 160px;
  padding: 7px 0;
  transform: rotate(45deg);
  background: var(--apol-ribbon-bg);
  color: var(--apol-ribbon-color);
  font-family: var(--apol-font-body);
  font-size: var(--apol-ribbon-font-size);
  font-weight: var(--apol-ribbon-font-weight);
  line-height: 1;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  text-align: center;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
  pointer-events: none;
  z-index: 4;
}
/* ribbon colour presets (per-instance; default with no modifier uses --apol-ribbon-bg) */
.apol-card--ribbon.apol-ribbon--primary::before { background: var(--apol-color-primary); }
.apol-card--ribbon.apol-ribbon--dark::before    { background: var(--apol-color-secondary); }
.apol-card--ribbon.apol-ribbon--success::before { background: #1f9d57; }
.apol-card--ribbon.apol-ribbon--danger::before  { background: #d23f3f; }

/* ============================================================
   APOL MODAL  (overlay dialog)
   Trigger [data-apol-modal-open] opens .apol-modal; behaviour
   (focus trap, ESC, scroll lock) is in scripts_additional.js.
   ============================================================ */
.apol-modal[hidden] { display: none; }
.apol-modal {
  position: fixed;
  inset: 0;
  z-index: var(--apol-modal-z);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
}
.apol-modal__backdrop { position: absolute; inset: 0; background: var(--apol-modal-backdrop); }
.apol-modal__dialog {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: var(--apol-modal-max-width);
  max-height: calc(100vh - 3rem);
  overflow: auto;
  background: var(--apol-modal-bg);
  color: var(--apol-color-text);
  border-radius: var(--apol-modal-radius);
  padding: var(--apol-modal-padding);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}
.apol-modal__close {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  width: 2rem;
  height: 2rem;
  border: 0;
  background: transparent;
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
  color: var(--apol-color-text-muted);
  border-radius: var(--apol-radius-sm);
}
.apol-modal__close:hover { background: rgba(0, 0, 0, 0.06); color: var(--apol-color-heading); }
.apol-modal__title { margin: 0 0 1rem; color: var(--apol-color-heading); font-family: var(--apol-font-heading); }
/* in the editor: modals stay hidden in the page flow (like the live site) and
   are shown only as a floating overlay while editing, via the "Edit modal"
   action. [hidden] is preserved so the modal stays hidden on the live page
   even if saved mid-edit; .apol-modal--editing overrides display in the editor
   only and reuses the normal overlay presentation (fixed, backdrop, dialog). */
.mce-content-body .apol-modal--editing { display: flex !important; }

/* ============================================================
   APOL TOOLTIP
   [data-apol-tooltip="text"] trigger; the bubble is created and
   positioned by scripts_additional.js. Inert to clicks.
   ============================================================ */
[data-apol-tooltip] { cursor: help; border-bottom: 1px dotted currentColor; }
.apol-tooltip-bubble {
  position: absolute;
  z-index: var(--apol-tooltip-z);
  max-width: var(--apol-tooltip-max-width);
  padding: 0.5rem 0.75rem;
  background: var(--apol-tooltip-bg);
  color: var(--apol-tooltip-color);
  font-family: var(--apol-font-body);
  font-size: var(--apol-tooltip-font-size);
  line-height: 1.4;
  border-radius: var(--apol-radius-sm);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.2);
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.12s ease;
}
.apol-tooltip-bubble.is-visible { opacity: 1; }
/* editor-only guide (TinyMCE canvas only; never on the live site) */
.mce-content-body .apol-card-grid { outline: 1px dashed #d4d8e2; outline-offset: 6px; }

/* background-image card variant: image fills the card, text overlaid.
   Same pattern as .apol-section__bg / .apol-section__overlay in the hero
   blocks. Toggled per-card by the context toolbar; works with --clickable. */
.apol-card--image-bg {
  padding: 0;
  min-height: var(--apol-card-bg-min-height);
  overflow: hidden;
  color: #fff;
  justify-content: flex-end;
}
.apol-card__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  margin: 0;
  border: 0;
  border-radius: 0;
  z-index: 0;
}
.apol-card__overlay {
  position: absolute;
  inset: 0;
  background: var(--apol-card-bg-overlay);
  z-index: 1;
}
.apol-card--image-bg .apol-card__body {
  position: relative;
  z-index: 2;
  padding: var(--apol-card-padding);
}
.apol-card--image-bg .apol-card__title,
.apol-card--image-bg .apol-card__text { color: #fff; }

/* --- Ribbon / banner (page-level) -------------------------------------
   One component; shape + colour set via the context toolbar. Default is a
   full-width horizontal bar; --corner pins it as a diagonal corner flag.
   Colour names mirror the card ribbon (.apol-ribbon--*). */
.apol-ribbon-banner {
  display: flex; align-items: center; justify-content: center;
  gap: .75rem; padding: .6rem 1rem; margin: 0;
  font-weight: 600; line-height: 1.3; text-align: center;
  background: var(--apol-ribbon-bg); color: #fff;
}
.apol-ribbon-banner a { color: inherit; text-decoration: underline; }
.apol-ribbon-banner--left  { justify-content: flex-start; text-align: left; }
.apol-ribbon-banner--right { justify-content: flex-end; text-align: right; }
.apol-ribbon-banner--primary { background: var(--apol-color-primary); }
.apol-ribbon-banner--dark    { background: var(--apol-color-secondary); }
.apol-ribbon-banner--success { background: #1f9d57; }
.apol-ribbon-banner--danger  { background: #d23f3f; }
/* pinned to the viewport top or bottom (full-width strip) */
.apol-ribbon-banner--pin-top,
.apol-ribbon-banner--pin-bottom {
  position: fixed; left: 0; right: 0; z-index: var(--apol-ribbon-corner-z);
}
.apol-ribbon-banner--pin-top    { top: 0; }
.apol-ribbon-banner--pin-bottom { bottom: 0; }
/* corner flag: pinned diagonally to a page corner (default top-right) */
.apol-ribbon-banner--corner {
  position: fixed; top: 22px; right: -56px; width: 220px;
  justify-content: center; text-align: center;
  padding: .35rem 0; transform: rotate(45deg); transform-origin: center;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .25); z-index: var(--apol-ribbon-corner-z);
}
/* corner on the LEFT side - its own class so it never picks up the bar's
   text-align rules (that pushed the corner text off-screen) */
.apol-ribbon-banner--corner.apol-ribbon-banner--corner-left {
  left: -56px; right: auto; transform: rotate(-45deg);
}
/* editor guide */
.mce-content-body .apol-ribbon-banner { outline: 1px dashed #d4d8e2; outline-offset: 4px; }

/* --- Custom code / HTML block ----------------------------------------
   A raw-HTML container edited via the "Edit code" toolbar action. The
   markup is the author's; CSS/JS extraction is delegated to the platform's
   code-insert precompiler. */
.apol-code-block { display: block; }
/* placeholder hint: shown only in the editor, hidden on the live site */
.apol-code-block__hint { display: none; }
.mce-content-body .apol-code-block__hint { display: inline; color: #9aa7b4; font-size: .85rem; font-style: italic; }
.mce-content-body .apol-code-block {
  outline: 1px dashed #d4d8e2; outline-offset: 4px; min-height: 2.5rem; padding: .5rem;
}

/* ============================================================
   END OF SHARED BASE LAYER (canonical / global-editor managed)
   ------------------------------------------------------------
   Below: site-specific blocks and the picker-appended
   per-template CSS, each wrapped in
     === apol-section-template:<ref> ===  /  === end:<ref> ===
   Keep shared/base styles ABOVE this divider.
   ============================================================ */


 /* THESE ARE THE STYLES FOR THE MOBILE MENU FOOTER THAT IS INJECTED VIA JS IN THE scripts_additional.js */
@media only screen and (max-width: 1365px) {

  /* (dead rule removed: .wsmenu > .wsmenu-list no longer exists on Template 1;
     the overlay list is .apol-menu-list and apol.base.css makes it a flex
     column. The footer fills via its own min-height.)
     GUARD: flex-column items default to min-height:auto = min-content height,
     i.e. the height at WORST-CASE text wrapping - any li whose label could
     wrap gets forced taller than its single rendered line. Pin it off. */
  .apol-menu-list > li { min-height: 0 !important; flex: 0 0 auto !important; }

  /* Colours are driven by App Designer tokens (--apol-navfooter-*); the values
     after the comma are the fallback defaults if a site hasn't customised them. */
  .mobile-menu-footer {
    display: block;
    margin: 24px -1px 0 -1px;
    padding: 22px 5% 34px 5%;
    background: var(--apol-navfooter-bg, #222222);
    flex-grow: 1;
    min-height: 22vh;
    font-family: inherit;
    box-sizing: border-box;
    width: calc(100% + 2px);
  }

  .mobile-menu-footer a {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    text-align: left;
    margin-bottom: 8px;
    background: var(--apol-navfooter-card-bg, rgba(255, 255, 255, 0.08));
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 10px;
    font-size: 14px;
    line-height: 1.25;
    color: var(--apol-navfooter-text, #ffffff);
    text-decoration: none;
    transition: background 0.15s ease, border-color 0.15s ease;
  }

  .mobile-menu-footer a:active,
  .mobile-menu-footer a:hover {
    background: var(--apol-navfooter-card-bg, rgba(255, 255, 255, 0.14));
    border-color: rgba(255, 255, 255, 0.22);
  }

  .mobile-menu-footer a:last-child {
    margin-bottom: 0;
  }

  /* Icon: fixed-size accent-coloured leading glyph */
  .mobile-menu-footer a svg {
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    color: var(--apol-navfooter-accent, rgba(255, 255, 255, 0.6));
  }

  /* Label sits left; detail is pushed to the trailing edge for a tidy contact row */
  .mobile-menu-footer a span.mmf-label {
    flex: 0 1 auto;
    font-weight: 600;
  }

  .mobile-menu-footer a span.mmf-detail {
    margin-left: auto;
    padding-left: 12px;
    font-size: 13px;
    font-weight: 400;
    text-align: right;
    color: var(--apol-navfooter-detail, rgba(255, 255, 255, 0.5));
  }

}

/* Hide on desktop */
@media only screen and (min-width: 1366px) {
  .mobile-menu-footer {
    display: none !important;
  }
}





/*==APOL-BASELAYER:END==*/
/* === apol-section-template:hero_centered_cta === */
.apol-section--hero-centered-cta { text-align: center; }
.apol-section--hero-centered-cta .apol-section__container { max-width: 720px; }
.apol-section--hero-centered-cta h1 { font-size: var(--apol-font-size-h1); }
.apol-section--hero-centered-cta p {
  font-size: 1.125rem;
  color: var(--apol-color-text-muted);
  margin-bottom: 2rem;
}
/* === end:hero_centered_cta === */

/* === apol-section-template:testimonial_cards === */
.apol-section--testimonial-cards h2 { text-align: center; font-size: var(--apol-font-size-h2); margin-bottom: 3rem; }
.apol-section--testimonial-cards .apol-section__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
.apol-section--testimonial-cards .apol-section__card {
  background: var(--apol-color-surface);
  border-radius: var(--apol-radius-md);
  padding: 2rem;
  border: 1px solid var(--apol-color-border);
}
.apol-section--testimonial-cards .apol-section__stars {
  color: var(--apol-color-accent);
  font-size: 1.125rem;
  margin-bottom: 1rem;
  letter-spacing: 0.1em;
}
.apol-section--testimonial-cards blockquote {
  margin: 0 0 1.5rem;
  font-size: 0.9375rem;
  line-height: 1.6;
  color: var(--apol-color-text);
}
.apol-section--testimonial-cards .apol-section__author { display: flex; align-items: center; gap: 0.75rem; }
.apol-section--testimonial-cards .apol-section__author img {
  width: 44px; height: 44px; border-radius: 50%; object-fit: cover;
}
.apol-section--testimonial-cards .apol-section__author strong {
  display: block;
  color: var(--apol-color-heading);
  font-size: 0.9375rem;
}
.apol-section--testimonial-cards .apol-section__author span {
  font-size: 0.8125rem;
  color: var(--apol-color-text-muted);
}
@media (max-width: 768px) {
  .apol-section--testimonial-cards .apol-section__grid { grid-template-columns: 1fr; }
}
/* === end:testimonial_cards === */

/* === apol-section-template:hero_dark_image === */
.apol-section--hero-dark-image {
  padding: calc(var(--apol-section-padding-y) * 1.25) var(--apol-spacing-unit);
  background-color: #0a0a2e;
  color: #ffffff;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.apol-section--hero-dark-image .apol-section__bg {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  z-index: 0;
  display: block;
  margin: 0;
  border: 0;
}
.apol-section--hero-dark-image .apol-section__overlay {
  position: absolute;
  inset: 0;
  background: rgba(10,10,46,0.55);
  z-index: 1;
}
.apol-section--hero-dark-image .apol-section__container { max-width: 760px; position: relative; z-index: 2; }
.apol-section--hero-dark-image h1 { color: #ffffff; font-size: var(--apol-font-size-h1); }
.apol-section--hero-dark-image p {
  color: rgba(255,255,255,0.85);
  font-size: 1.0625rem;
  max-width: 600px;
  margin: 0 auto 2rem;
}
/* === end:hero_dark_image === */

/* === apol-section-template:hero_split_image_right === */
.apol-section--hero-split-image-right .apol-section__container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: center;
}
.apol-section--hero-split-image-right h1 { font-size: var(--apol-font-size-h1); }
.apol-section--hero-split-image-right p {
  font-size: 1.0625rem;
  color: var(--apol-color-text-muted);
  margin-bottom: 1.75rem;
}
.apol-section--hero-split-image-right .apol-section__buttons { display: flex; gap: 0.75rem; flex-wrap: wrap; }
.apol-section--hero-split-image-right .apol-section__media img {
  width: 100%; height: auto; border-radius: var(--apol-radius-md); display: block;
}
@media (max-width: 768px) {
  .apol-section--hero-split-image-right .apol-section__container { grid-template-columns: 1fr; gap: 2rem; }
}
/* === end:hero_split_image_right === */

/* === apol-section-template:hero_split_image_left === */
.apol-section--hero-split-image-left .apol-section__container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: center;
}
.apol-section--hero-split-image-left h1 { font-size: var(--apol-font-size-h1); }
.apol-section--hero-split-image-left p {
  font-size: 1.0625rem;
  color: var(--apol-color-text-muted);
  margin-bottom: 1.75rem;
}
.apol-section--hero-split-image-left .apol-section__buttons { display: flex; gap: 0.75rem; flex-wrap: wrap; }
.apol-section--hero-split-image-left .apol-section__media { order: -1; }
.apol-section--hero-split-image-left .apol-section__media img {
  width: 100%; height: auto; border-radius: var(--apol-radius-md); display: block;
}
@media (max-width: 768px) {
  .apol-section--hero-split-image-left .apol-section__container { grid-template-columns: 1fr; gap: 2rem; }
  .apol-section--hero-split-image-left .apol-section__media { order: 0; }
}
/* === end:hero_split_image_left === */

/* === apol-section-template:services_cards === */
.apol-section--services-cards h2 { text-align: center; font-size: var(--apol-font-size-h2); margin-bottom: 3rem; }
.apol-section--services-cards .apol-section__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
.apol-section--services-cards .apol-section__card {
  background: var(--apol-color-surface);
  border-radius: var(--apol-radius-md);
  padding: 2rem;
  border: 1px solid var(--apol-color-border);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.apol-section--services-cards .apol-section__card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 30px -10px rgba(0,0,0,0.1);
}
.apol-section--services-cards .apol-section__card .apol-section__icon {
  font-size: 2rem;
  color: var(--apol-color-primary);
  margin-bottom: 0.5rem;
  line-height: 1;
}
.apol-section--services-cards h3 { font-size: 1.25rem; margin: 1rem 0 0.5rem; }
.apol-section--services-cards .apol-section__card p { color: var(--apol-color-text-muted); margin-bottom: 1.25rem; }
.apol-section--services-cards .apol-section__card a {
  color: var(--apol-color-primary);
  font-weight: var(--apol-font-weight-bold);
  text-decoration: none;
}
.apol-section--services-cards .apol-section__card a::after { content: " ?"; }
@media (max-width: 768px) {
  .apol-section--services-cards .apol-section__grid { grid-template-columns: 1fr; }
}
/* === end:services_cards === */

/* === apol-section-template:media_gallery === */
.apol-section--media-gallery h2 { text-align: center; font-size: var(--apol-font-size-h2); margin-bottom: 3rem; }
.apol-section--media-gallery .apol-section__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
.apol-section--media-gallery .apol-section__grid img {
  width: 100%; aspect-ratio: 4/3; object-fit: cover;
  border-radius: var(--apol-radius-md);
  display: block;
  transition: transform 0.3s ease;
}
.apol-section--media-gallery .apol-section__grid img:hover { transform: scale(1.02); }
@media (max-width: 768px) {
  .apol-section--media-gallery .apol-section__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .apol-section--media-gallery .apol-section__grid { grid-template-columns: 1fr; }
}
/* === end:media_gallery === */

/* === apol-section-template:features_alternating === */
.apol-section--features-alternating .apol-section__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: center;
  margin-bottom: 4rem;
}
.apol-section--features-alternating .apol-section__row:last-child { margin-bottom: 0; }
.apol-section--features-alternating .apol-section__row--reverse .apol-section__media { order: -1; }
.apol-section--features-alternating .apol-section__media img {
  width: 100%; height: auto; border-radius: var(--apol-radius-md); display: block;
}
.apol-section--features-alternating h3 { font-size: var(--apol-font-size-h3); }
.apol-section--features-alternating .apol-section__row p { color: var(--apol-color-text-muted); font-size: 1.0625rem; }
@media (max-width: 768px) {
  .apol-section--features-alternating .apol-section__row { grid-template-columns: 1fr; gap: 1.5rem; margin-bottom: 3rem; }
  .apol-section--features-alternating .apol-section__row--reverse .apol-section__media { order: 0; }
}
/* === end:features_alternating === */

/* === apol-section-template:events_list === */
.apol-section--events-list h2 { text-align: center; font-size: var(--apol-font-size-h2); margin-bottom: 3rem; }
.apol-section--events-list .apol-section__event {
  display: grid;
  grid-template-columns: 100px 1fr auto;
  gap: 1.5rem;
  align-items: center;
  padding: 1.5rem 0;
  border-bottom: 1px solid var(--apol-color-border);
}
.apol-section--events-list .apol-section__event:last-child { border-bottom: 0; }
.apol-section--events-list .apol-section__date {
  background: var(--apol-color-surface);
  border-radius: var(--apol-radius-md);
  padding: 0.75rem;
  text-align: center;
  line-height: 1.1;
}
.apol-section--events-list .apol-section__date strong {
  display: block;
  font-size: 1.75rem;
  font-weight: var(--apol-font-weight-heading);
  color: var(--apol-color-heading);
}
.apol-section--events-list .apol-section__date span {
  display: block;
  font-size: 0.8125rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--apol-color-text-muted);
  margin-top: 0.25rem;
}
.apol-section--events-list h3 { font-size: 1.125rem; margin: 0 0 0.25rem; }
.apol-section--events-list .apol-section__event p { margin: 0; color: var(--apol-color-text-muted); font-size: 0.9375rem; }
@media (max-width: 768px) {
  .apol-section--events-list .apol-section__event { grid-template-columns: 80px 1fr; }
  .apol-section--events-list .apol-section__event .apol-btn { grid-column: 1 / -1; justify-self: start; }
}
/* === end:events_list === */

/* === apol-section-template:hero_feature_list === */
.apol-section--hero-feature-list .apol-section__container {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 3rem;
  align-items: center;
}
.apol-section--hero-feature-list h1 { font-size: var(--apol-font-size-h1); margin-bottom: 1.25rem; }
.apol-section--hero-feature-list p {
  font-size: 1.0625rem;
  color: var(--apol-color-text-muted);
  margin-bottom: 1.5rem;
}
.apol-section--hero-feature-list ul {
  list-style: none;
  padding: 0;
  margin: 0 0 2rem;
}
.apol-section--hero-feature-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  margin-bottom: 0.875rem;
  color: var(--apol-color-text);
}
.apol-section--hero-feature-list li .apol-section__bullet {
  flex-shrink: 0;
  color: var(--apol-color-primary);
  font-size: 1.125rem;
  line-height: 1.4;
}
.apol-section--hero-feature-list .apol-section__media img {
  width: 100%; height: auto; border-radius: var(--apol-radius-md); display: block;
  box-shadow: 0 20px 40px -10px rgba(0,0,0,0.15);
}
@media (max-width: 768px) {
  .apol-section--hero-feature-list .apol-section__container { grid-template-columns: 1fr; gap: 2rem; }
}
/* === end:hero_feature_list === */

/* === apol-section-template:media_video === */
.apol-section--media-video h2 { text-align: center; font-size: var(--apol-font-size-h2); margin-bottom: 0.75rem; }
.apol-section--media-video > .apol-section__container > p {
  text-align: center;
  color: var(--apol-color-text-muted);
  max-width: 600px;
  margin: 0 auto 2.5rem;
}
.apol-section--media-video .apol-section__video {
  position: relative;
  aspect-ratio: 16/9;
  border-radius: var(--apol-radius-lg);
  overflow: hidden;
  background-color: #000;
  cursor: pointer;
  max-width: 960px;
  margin: 0 auto;
}
.apol-section--media-video .apol-section__video .apol-section__bg {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  z-index: 0;
  display: block;
  margin: 0;
  border: 0;
}
.apol-section--media-video .apol-section__play {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  width: 88px; height: 88px;
  background: rgba(255,255,255,0.95);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.apol-section--media-video .apol-section__play::after {
  content: "";
  width: 0; height: 0;
  margin-left: 8px;
  border-top: 14px solid transparent;
  border-bottom: 14px solid transparent;
  border-left: 22px solid var(--apol-color-secondary);
}
/* === end:media_video === */

/* === apol-section-template:hero_video === */
.apol-section--hero-video {
  background: var(--apol-color-secondary);
  color: var(--apol-color-secondary-contrast);
}
.apol-section--hero-video .apol-section__container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: center;
}
.apol-section--hero-video h1 { color: #ffffff; font-size: var(--apol-font-size-h1); }
.apol-section--hero-video p {
  color: rgba(255,255,255,0.85);
  font-size: 1.0625rem;
  margin-bottom: 1.75rem;
}
.apol-section--hero-video .apol-section__media {
  position: relative;
  aspect-ratio: 16/9;
  background: #000;
  border-radius: var(--apol-radius-md);
  overflow: hidden;
  cursor: pointer;
}
.apol-section--hero-video .apol-section__media .apol-section__bg {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  z-index: 0;
  display: block;
  margin: 0;
  border: 0;
}
.apol-section--hero-video .apol-section__play {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  width: 72px; height: 72px;
  background: rgba(255,255,255,0.95);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s ease;
}
.apol-section--hero-video .apol-section__media:hover .apol-section__play { transform: translate(-50%, -50%) scale(1.05); }
.apol-section--hero-video .apol-section__play::after {
  content: "";
  width: 0; height: 0;
  margin-left: 6px;
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
  border-left: 18px solid var(--apol-color-secondary);
}
@media (max-width: 768px) {
  .apol-section--hero-video .apol-section__container { grid-template-columns: 1fr; gap: 2rem; }
}
/* === end:hero_video === */

/* === apol-section-template:hero_with_form === */
.apol-section--hero-with-form .apol-section__container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: center;
}
.apol-section--hero-with-form h1 { font-size: var(--apol-font-size-h1); }
.apol-section--hero-with-form p {
  font-size: 1.0625rem;
  color: var(--apol-color-text-muted);
  margin-bottom: 1.5rem;
}
.apol-section--hero-with-form .apol-section__form-placeholder {
  background: var(--apol-color-surface);
  border: 1px dashed var(--apol-color-border);
  border-radius: var(--apol-radius-md);
  padding: 2.5rem 2rem;
  text-align: center;
  color: var(--apol-color-text-muted);
}
.apol-section--hero-with-form .apol-section__form-placeholder strong {
  display: block;
  color: var(--apol-color-heading);
  font-size: 1.125rem;
  margin-bottom: 0.5rem;
}
@media (max-width: 768px) {
  .apol-section--hero-with-form .apol-section__container { grid-template-columns: 1fr; gap: 2rem; }
}
/* === end:hero_with_form === */

/* === apol-section-template:faq_2col === */
.apol-section--faq-2col h2 { text-align: center; font-size: var(--apol-font-size-h2); margin-bottom: 3rem; }
.apol-section--faq-2col .apol-section__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.5rem 3rem;
}
.apol-section--faq-2col h3 { font-size: 1.0625rem; margin-bottom: 0.5rem; }
.apol-section--faq-2col .apol-section__grid p { color: var(--apol-color-text-muted); }
@media (max-width: 768px) {
  .apol-section--faq-2col .apol-section__grid { grid-template-columns: 1fr; }
}
/* === end:faq_2col === */

/* === apol-section-template:media_video_popup (overlay styled to match the
       full-width facade: 16/9 framed, curved corners, white centre play button)
       Scoped to the section template so site-wide popup videos are unaffected. */
.apol-section--media-video-popup .popupvideo_play_overlay_container {
  position: relative;
  aspect-ratio: 16 / 9;
  border-radius: var(--apol-radius-lg);
  overflow: hidden;
  background-color: #000;
  cursor: pointer;
  max-width: 960px;
  margin: 0 auto;
}
.apol-section--media-video-popup .popupvideo_play_overlay_container a { display: block; }
.apol-section--media-video-popup .popupvideo_play_overlay_container img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  margin: 0;
  border: 0;
}
.apol-section--media-video-popup .popupvideo_play_overlay {
  position: absolute;
  top: 50%;
  left: 50%;
  right: auto;
  bottom: auto;
  transform: translate(-50%, -50%);
  z-index: 2;
  width: 88px;
  height: 88px;
  background: rgba(255, 255, 255, 0.95);
  border: 0;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0;
  line-height: 0;
  padding: 0;
  margin: 0;
}
.apol-section--media-video-popup .popupvideo_play_overlay i { display: none; }
.apol-section--media-video-popup .popupvideo_play_overlay::after {
  content: "";
  width: 0;
  height: 0;
  margin-left: 8px;
  border-top: 14px solid transparent;
  border-bottom: 14px solid transparent;
  border-left: 22px solid var(--apol-color-secondary);
}
/* === end:media_video_popup === */


/* --- App Designer: configurable SECTION DEFAULTS ----------------------------
   The toolbar's "Default" state = a section with NO apol-space-/apol-vspace-/
   apol-align- class. Its look is driven by tokens read in the base .apol-section
   and .apol-section__container rules above (each var() falls back to the original
   value, so output is byte-identical until an admin sets a default):
     width    -> --apol-section-width-default  (side padding) + --apol-section-cmax-default (container max-width)
     top/bot  -> --apol-section-vpad-default   (section padding-top/bottom)
     align    -> --apol-section-align-default   (container text-align)
                 --apol-section-aml-default / --apol-section-amr-default (container margins)
   Tokens live on the BASE rules (not :not() overrides) ON PURPOSE: same
   specificity as today, so section templates (.apol-section--*) keep their own
   container widths/padding and the explicit toolbar classes still win. Defaults
   only reach plain, untouched sections. */

/* === apol-section-template:media_carousel === */
.apol-section--carousel .apol-section__container{max-width:1200px;margin:0 auto;}
.apol-carousel{position:relative;}
.apol-carousel__cell{width:100%;}
.apol-carousel__link{display:block;}
.apol-carousel__img{display:block;width:100%;height:auto;}
.apol-carousel__caption{padding:8px 12px;font-size:.95rem;line-height:1.4;text-align:center;}
.apol-carousel:not(.flickity-enabled) .apol-carousel__cell{margin-bottom:14px;}
.apol-carousel.flickity-enabled .apol-carousel__cell{width:100%;}
/* === end:media_carousel === */

/* === apol-section-template:media_carousel_multi === */
.carousel-products{margin:1.5rem 0;max-width:100%;min-width:0;}
/* Cells: 4-up desktop; padding creates the gutters and gives the hover lift/shadow room inside Flickity's clipping viewport */
.carousel-products a{display:block;width:25%;padding:10px 9px 24px;box-sizing:border-box;text-decoration:none;}
@media (max-width:1024px){.carousel-products a{width:33.333%;}}
@media (max-width:768px){.carousel-products a{width:50%;}}
/* Phones: one full-width, centred image per view */
@media (max-width:640px){.carousel-products a{width:100%;padding:8px 12px 20px;}}
/* Image card - explicitly cancels legacy .carousel-image constraints in resources_min.css (min/max width, margin) */
.carousel-products .carousel-image{display:block;width:100%;height:auto;max-width:100%;min-width:0;min-height:0;margin:0;aspect-ratio:4 / 3;object-fit:cover;border-radius:14px;border:1px solid #e6eaee;background:#fff;box-shadow:0 1px 3px rgba(16,24,40,.06);transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;}
.carousel-products a:hover .carousel-image{transform:translateY(-4px);border-color:rgba(0,153,204,.45);box-shadow:0 12px 24px -8px rgba(0,0,0,.2);}
/* Nav arrows: hidden until the carousel is hovered, plain white chevron on a translucent scrim.
   Double-class scoping (.carousel.carousel-products) outguns whatever theme rule was painting them solid blue */
.carousel.carousel-products .flickity-prev-next-button{top:calc(50% - 7px);width:46px;height:46px;border-radius:10px;background:rgba(20,28,36,.35);border:none;box-shadow:none;opacity:0;backdrop-filter:blur(2px);transition:opacity .25s ease, background .2s ease;}
.carousel.carousel-products:hover .flickity-prev-next-button{opacity:1;}
.carousel.carousel-products .flickity-prev-next-button:hover{background:rgba(20,28,36,.55);}
.carousel.carousel-products .flickity-prev-next-button:focus-visible{opacity:1;box-shadow:0 0 0 3px rgba(0,153,204,.4);}
.carousel.carousel-products .flickity-prev-next-button .flickity-button-icon{fill:#fff;position:absolute;left:50%;top:50%;width:22px;height:22px;transform:translate(-50%,-50%);}
.carousel.carousel-products .flickity-prev-next-button.previous{left:14px;}
.carousel.carousel-products .flickity-prev-next-button.next{right:14px;}
/* Disabled stays hidden even while the carousel is hovered */
.carousel.carousel-products .flickity-prev-next-button:disabled,.carousel.carousel-products:hover .flickity-prev-next-button:disabled{opacity:0;pointer-events:none;}
/* Touch devices have no hover - keep arrows visible there */
@media (hover:none){.carousel.carousel-products .flickity-prev-next-button{opacity:1;}.carousel.carousel-products .flickity-prev-next-button:disabled{opacity:0;}}
/* Caption injected from the image alt text by apol-carousel-captions.js (frontend only) */
.carousel-products .carousel-caption{display:block;padding:10px 6px 0;font-size:1.1rem;font-weight:600;line-height:1.4;color:#333;text-align:center;}
/* Editor canvas preview: Flickity never runs inside TinyMCE, so approximate the strip with a scrollable flex row */
.mce-content-body .carousel-products{display:flex;overflow-x:auto;gap:0;}
.mce-content-body .carousel-products a{flex:0 0 25%;}
/* === end:media_carousel_multi === */

/* === apol-section-template:media_parallax === */
.parallax-container{position:relative;}
.parallax{position:relative;}
/* Release the apol.base.css img{max-width:100%} reset: the legacy parallax
   technique oversizes the image (min-width/min-height 100%) and on portrait
   viewports the width must exceed 100% to cover - capping it squishes the
   image horizontally. */
.parallax-container .parallax img{max-width:none;}
/* === end:media_parallax === */

/* === apol-section-template:media_carousel_overlay === */
.carousel .carousel_text_ovelay_left,.carousel .carousel_text_ovelay_center,.carousel .carousel_text_ovelay_right{z-index:2;}
/* === end:media_carousel_overlay === */

/* === apol-section-template:cta_image_card === */
.apol-section--cta-image-card .apol-section__inner {
  position: relative;
  border-radius: var(--apol-radius-lg);
  padding: clamp(3rem, 6vw, 5rem) 2rem;
  text-align: center;
  color: #ffffff;
  overflow: hidden;
  background-color: #1f2937;
}
.apol-section--cta-image-card .apol-section__bg {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  z-index: 0;
  display: block;
  margin: 0;
  border: 0;
  border-radius: var(--apol-radius-lg);
}
.apol-section--cta-image-card .apol-section__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.5);
  z-index: 1;
  border-radius: var(--apol-radius-lg);
}
.apol-section--cta-image-card .apol-section__content {
  position: relative;
  z-index: 2;
}
.apol-section--cta-image-card h2 { color: #ffffff; font-size: var(--apol-font-size-h2); }
.apol-section--cta-image-card p {
  color: rgba(255,255,255,0.9);
  font-size: 1.125rem;
  max-width: 600px;
  margin: 0 auto 2rem;
}
/* === end:cta_image_card === */

/* === apol-section-template:faq_accordion === */
.apol-section--faq-accordion h2 { text-align: center; font-size: var(--apol-font-size-h2); margin-bottom: 0.75rem; }
.apol-section--faq-accordion > .apol-section__container > p {
  text-align: center;
  color: var(--apol-color-text-muted);
  max-width: 600px;
  margin: 0 auto 3rem;
}
.apol-section--faq-accordion .apol-section__list {
  max-width: 760px;
  margin: 0 auto;
}
.apol-section--faq-accordion details {
  border-bottom: 1px solid var(--apol-color-border);
  padding: 1.25rem 0;
}
.apol-section--faq-accordion summary {
  font-family: var(--apol-font-heading);
  font-weight: var(--apol-font-weight-bold);
  color: var(--apol-color-heading);
  font-size: 1.0625rem;
  cursor: pointer;
  list-style: none;
  position: relative;
  padding-right: 2rem;
}
.apol-section--faq-accordion summary::-webkit-details-marker { display: none; }
.apol-section--faq-accordion summary::after {
  content: "+";
  position: absolute;
  right: 0; top: 50%;
  transform: translateY(-50%);
  font-size: 1.5rem;
  color: var(--apol-color-primary);
  font-weight: var(--apol-font-weight-body);
  transition: transform 0.2s ease;
}
.apol-section--faq-accordion details[open] summary::after { content: "-"; }
.apol-section--faq-accordion details p {
  margin: 0.75rem 0 0;
  color: var(--apol-color-text-muted);
}
/* === end:faq_accordion === */

/* === apol-section-template:cta_banner === */
.apol-section--cta-banner {
  background: var(--apol-color-primary);
  color: var(--apol-color-primary-contrast);
  text-align: center;
}
.apol-section--cta-banner h2 { color: #ffffff; font-size: var(--apol-font-size-h2); }
.apol-section--cta-banner p {
  color: rgba(255,255,255,0.9);
  font-size: 1.125rem;
  max-width: 600px;
  margin: 0 auto 2rem;
}
.apol-section--cta-banner a.apol-btn--light { color: var(--apol-color-primary); }
/* === end:cta_banner === */

/* === apol-section-template:content_tabs === */
.apol-tabs { display: flex; flex-direction: column; align-items: stretch; max-width: var(--apol-container-max-width); margin: 0 auto; }
.apol-tabs.apol-space-0 { max-width: none; }
.apol-tabs__nav { display: flex; flex-direction: row; flex-wrap: wrap; align-items: stretch; padding: 0; margin: 0; border-bottom: 1px solid #ccc; }
.apol-tabs__tab { flex: 1 1 auto; min-width: 100px; box-sizing: border-box; text-align: center; cursor: pointer; user-select: none; background: transparent; color: #222; font-weight: 600; font-size: 90%; text-transform: uppercase; padding: 10px 4px; margin: 0 0 -1px 0; border-bottom: 3px solid transparent; transition: border-color .15s ease, color .15s ease; }
.apol-tabs__tab:hover { color: #000; }
.apol-tabs__tab.is-active { color: #222; border-bottom-color: #222; }
.apol-tabs__panels { background: transparent; width: 100%; padding: 1.25rem 0 0; margin: 0; overflow: hidden; }
.apol-tabs__panel { display: none; animation: apolFadeIn .25s ease; line-height: var(--apol-line-height-body); }
.apol-tabs__panel.is-active { display: block; }
.apol-tabs__panel > :first-child { margin-top: 0; }
@keyframes apolFadeIn { from { opacity: 0; } to { opacity: 1; } }
/* Align: Default spreads; Left/Centre/Right groups the tabs (underline stays full width on the nav) and the panel content follows */
.apol-tabs.apol-align-left  .apol-tabs__nav { justify-content: flex-start; }
.apol-tabs.apol-align-center .apol-tabs__nav { justify-content: center; }
.apol-tabs.apol-align-right .apol-tabs__nav { justify-content: flex-end; }
.apol-tabs.apol-align-left  .apol-tabs__tab,
.apol-tabs.apol-align-center .apol-tabs__tab,
.apol-tabs.apol-align-right .apol-tabs__tab { flex: 0 0 auto; min-width: 0; padding-left: 18px; padding-right: 18px; }
.apol-tabs.apol-align-left   .apol-tabs__panel { text-align: left; }
.apol-tabs.apol-align-center .apol-tabs__panel { text-align: center; }
.apol-tabs.apol-align-right  .apol-tabs__panel { text-align: right; }
/* Tab text: align the label text inside each tab (default centre) */
.apol-tabs.apol-tabtext-left  .apol-tabs__tab { text-align: left; }
.apol-tabs.apol-tabtext-right .apol-tabs__tab { text-align: right; }
/* Inner space: pad the panel content (default keeps the top gap) */
.apol-tabs.apol-pad-0  .apol-tabs__panels { padding: 0; }
.apol-tabs.apol-pad-sm .apol-tabs__panels { padding: 1rem; }
.apol-tabs.apol-pad-md .apol-tabs__panels { padding: 2rem; }
.apol-tabs.apol-pad-lg .apol-tabs__panels { padding: 3rem; }
@media (max-width: 600px) {
  .apol-tabs__nav { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .apol-tabs__tab { white-space: nowrap; flex: 0 0 auto; padding-left: 14px; padding-right: 14px; }
}
.mce-content-body .apol-tabs__panel { display: block !important; outline: 1px dashed #d4d8e2; outline-offset: 4px; margin-bottom: 1rem; }
/* === end:content_tabs === */

/* === apol-section-template:content_accordion === */
.apol-accordion { max-width: var(--apol-container-max-width); margin: 0 auto; }
.apol-accordion.apol-space-0 { max-width: none; }
.apol-accordion__item { border-bottom: 1px solid #ddd; }
.apol-accordion__item:first-child { border-top: 1px solid #ddd; }
.apol-accordion__header { position: relative; display: flex; align-items: center; min-height: 28px; cursor: pointer; user-select: none; padding: 16px 36px 16px 0; }
.apol-accordion__title { margin: 0; font-size: 1.05rem; font-weight: 600; line-height: 1.3; color: #222; }
.apol-accordion__header::before,
.apol-accordion__header::after { content: ""; position: absolute; top: 50%; right: 6px; width: 14px; height: 2px; margin-top: -1px; background: #222; transition: transform .2s ease; }
.apol-accordion__header::after { transform: rotate(90deg); }
.apol-accordion__item.is-open .apol-accordion__header::after { transform: rotate(0deg); }
.apol-accordion__panel { display: none; padding: 0 0 18px; line-height: var(--apol-line-height-body); }
.apol-accordion__item.is-open .apol-accordion__panel { display: block; }
.apol-accordion__panel > :first-child { margin-top: 0; }
/* Align: shift the question + answer text */
.apol-accordion.apol-align-left   .apol-accordion__title,
.apol-accordion.apol-align-left   .apol-accordion__panel { text-align: left; }
.apol-accordion.apol-align-center .apol-accordion__title,
.apol-accordion.apol-align-center .apol-accordion__panel { text-align: center; }
.apol-accordion.apol-align-right  .apol-accordion__title,
.apol-accordion.apol-align-right  .apol-accordion__panel { text-align: right; }
/* Inner space: indent the question + answer */
.apol-accordion.apol-pad-0  .apol-accordion__header,
.apol-accordion.apol-pad-0  .apol-accordion__panel { padding-left: 0; }
.apol-accordion.apol-pad-sm .apol-accordion__header,
.apol-accordion.apol-pad-sm .apol-accordion__panel { padding-left: 0.75rem; }
.apol-accordion.apol-pad-md .apol-accordion__header,
.apol-accordion.apol-pad-md .apol-accordion__panel { padding-left: 1.5rem; }
.apol-accordion.apol-pad-lg .apol-accordion__header,
.apol-accordion.apol-pad-lg .apol-accordion__panel { padding-left: 2.5rem; }
/* editor: reveal all answers so every one is editable in TinyMCE */
.mce-content-body .apol-accordion__panel { display: block !important; outline: 1px dashed #d4d8e2; outline-offset: 4px; margin-bottom: 1rem; }
.mce-content-body .apol-accordion__header { cursor: default; }
/* === end:content_accordion === */

/* === apol-section-template:pricing_comparison === */
.apol-section--pricing-comparison h2 { text-align: center; font-size: var(--apol-font-size-h2); margin-bottom: 3rem; }
.apol-section--pricing-comparison table {
  width: 100%;
  border-collapse: collapse;
}
.apol-section--pricing-comparison th,
.apol-section--pricing-comparison td {
  padding: 1rem;
  text-align: left;
  border-bottom: 1px solid var(--apol-color-border);
  font-size: 0.9375rem;
}
.apol-section--pricing-comparison thead th {
  background: var(--apol-color-surface);
  font-weight: var(--apol-font-weight-bold);
  color: var(--apol-color-heading);
}
.apol-section--pricing-comparison th:not(:first-child),
.apol-section--pricing-comparison td:not(:first-child) {
  text-align: center;
}
.apol-section--pricing-comparison .apol-section__check { color: var(--apol-color-primary); font-weight: bold; }
.apol-section--pricing-comparison .apol-section__dash { color: var(--apol-color-text-muted); }
/* === end:pricing_comparison === */

/* === apol-section-template:events_cards === */
.apol-section--events-cards h2 { text-align: center; font-size: var(--apol-font-size-h2); margin-bottom: 3rem; }
.apol-section--events-cards .apol-section__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
.apol-section--events-cards .apol-section__card {
  background: var(--apol-color-background);
  border: 1px solid var(--apol-color-border);
  border-radius: var(--apol-radius-md);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.apol-section--events-cards .apol-section__card img {
  width: 100%; aspect-ratio: 16/9; object-fit: cover; display: block;
}
.apol-section--events-cards .apol-section__card-body { padding: 1.5rem; flex: 1; display: flex; flex-direction: column; }
.apol-section--events-cards .apol-section__meta {
  font-size: 0.875rem;
  color: var(--apol-color-primary);
  font-weight: var(--apol-font-weight-bold);
  margin-bottom: 0.5rem;
}
.apol-section--events-cards h3 { font-size: 1.125rem; margin-bottom: 0.5rem; }
.apol-section--events-cards .apol-section__card p { color: var(--apol-color-text-muted); font-size: 0.9375rem; flex: 1; margin-bottom: 1.25rem; }
@media (max-width: 768px) {
  .apol-section--events-cards .apol-section__grid { grid-template-columns: 1fr; }
}
/* === end:events_cards === */

/* === apol-section-template:cards_3up_clickable === */
.apol-section--cards h2 { text-align: center; font-size: var(--apol-font-size-h2); margin-bottom: 3rem; }
/* === end:cards_3up_clickable === */

/* === apol-section-template:cards_3up === */
.apol-section--cards h2 { text-align: center; font-size: var(--apol-font-size-h2); margin-bottom: 3rem; }
/* === end:cards_3up === */

/* === apol-section-template:cards_bg === */
.apol-section--cards h2 { text-align: center; font-size: var(--apol-font-size-h2); margin-bottom: 3rem; }
/* === end:cards_bg === */
/*==APOL-DESIGNER:START - generated, do not edit==*/
:root{--apol-pdp-content-w:none;}
/*==APOL-DESIGNER:END==*/

/* === apol-section-template:contact_form === */
.apol-cf__form{display:block;} .apol-cf__grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;} .apol-cf__field{display:flex;flex-direction:column;gap:5px;} .apol-cf__field--full{grid-column:1 / -1;} .apol-cf__form > .apol-cf__field--full{margin-top:14px;} .apol-cf__label{font-size:.9rem;font-weight:600;color:var(--apol-color-text);} .apol-cf__req{color:#dc2626;font-style:normal;} .apol-cf__field input,.apol-cf__field textarea,.apol-cf__field select{width:100%;box-sizing:border-box;} .apol-cf__field textarea{resize:vertical;min-height:120px;} .apol-cf__field--float{position:relative;display:block;} .apol-cf__field--float > input,.apol-cf__field--float > textarea{width:100%;box-sizing:border-box;} .apol-cf__field--float > label{position:absolute;left:var(--apol-input-padding-x,0.75rem);top:var(--apol-input-padding-y,0.6rem);color:var(--apol-input-placeholder);pointer-events:none;background:var(--apol-input-bg);padding:0 4px;line-height:1.2;transition:top .15s ease,transform .15s ease,font-size .15s ease,color .15s ease;} .apol-cf__field--float > input:focus + label,.apol-cf__field--float > input:not(:placeholder-shown) + label,.apol-cf__field--float > textarea:focus + label,.apol-cf__field--float > textarea:not(:placeholder-shown) + label{top:0;transform:translateY(-50%);font-size:.78rem;color:var(--apol-color-primary);} .apol-cf__hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;opacity:0;} .apol-cf__turnstile{margin:14px 0;} .apol-cf__submit{margin-top:6px;} .apol-cf__submit:disabled{opacity:.5;cursor:not-allowed;} .apol-cf__status{margin-top:12px;font-size:.95rem;} .apol-cf__status.is-error{color:#b91c1c;} .apol-cf__status.is-ok{color:#166534;} @media (max-width:560px){.apol-cf__grid{grid-template-columns:1fr;}} .apol-cf__preview{display:block;padding:18px;border:1px dashed #cbd5e1;border-radius:8px;background:#f8fafc;} .apol-cf__preview-field{display:block;background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:10px 12px;color:#64748b;font-size:13px;margin:0 0 10px;} .apol-cf__preview-field--msg{min-height:56px;} .apol-cf__preview-note{font-size:12px;color:#0099CC;font-style:italic;margin:2px 0 0;}
/* === end:contact_form === */

/* === apol-section-template:apol_platform_defaults === */
.apol-space-bleed{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);}
.carousel-products .flickity-button,.carousel-products .flickity-prev-next-button{background:transparent;box-shadow:none;border:0;}
.carousel-products .flickity-button:hover{background:transparent;}
.carousel-products .flickity-button:disabled{opacity:0.25;}
.carousel-products .flickity-button .flickity-button-icon{fill:#000;}
.apol-gallery-radius-0 .apol-section__grid > a{border-radius:0!important;}
.apol-gallery-radius-sm .apol-section__grid > a{border-radius:4px!important;}
.apol-gallery-radius-md .apol-section__grid > a{border-radius:10px!important;}
.apol-gallery-radius-lg .apol-section__grid > a{border-radius:18px!important;}
.apol-gallery-radius-full .apol-section__grid > a{border-radius:9999px!important;}
.apol-section__grid > a > img{border-radius:inherit!important;}
.apol-gallery-shape-16x9:not(.apol-section--media-gallery-justified) .apol-section__grid > a{aspect-ratio:16/9!important;}
.apol-gallery-shape-4x3:not(.apol-section--media-gallery-justified) .apol-section__grid > a{aspect-ratio:4/3!important;}
.apol-gallery-shape-1x1:not(.apol-section--media-gallery-justified) .apol-section__grid > a{aspect-ratio:1/1!important;}
.apol-gallery-shape-3x2:not(.apol-section--media-gallery-justified) .apol-section__grid > a{aspect-ratio:3/2!important;}
[class*='apol-gallery-shape-']:not(.apol-section--media-gallery-justified) .apol-section__grid > a > img{width:100%;height:100%;object-fit:cover;}
.apol-align-left > .apol-section__container,.apol-align-left > .apol-columns__inner{margin-left:0!important;margin-right:auto!important;}
.apol-align-center > .apol-section__container,.apol-align-center > .apol-columns__inner{margin-left:auto!important;margin-right:auto!important;}
.apol-align-right > .apol-section__container,.apol-align-right > .apol-columns__inner{margin-left:auto!important;margin-right:0!important;}
.apol-align-left{text-align:left!important;}
.apol-align-center{text-align:center!important;}
.apol-align-right{text-align:right!important;}
.apol-align-left:is(.apol-topbar-row,.apol-topbar-promo,.apol-topbar-usps),.apol-align-left :is(.apol-topbar-row,.apol-topbar-promo,.apol-topbar-usps){justify-content:flex-start!important;}
.apol-align-center:is(.apol-topbar-row,.apol-topbar-promo,.apol-topbar-usps),.apol-align-center :is(.apol-topbar-row,.apol-topbar-promo,.apol-topbar-usps){justify-content:center!important;}
.apol-align-right:is(.apol-topbar-row,.apol-topbar-promo,.apol-topbar-usps),.apol-align-right :is(.apol-topbar-row,.apol-topbar-promo,.apol-topbar-usps){justify-content:flex-end!important;}
.apol-loose.apol-align-left{margin-left:0;margin-right:auto;}
.apol-loose.apol-align-center{margin-left:auto;margin-right:auto;}
.apol-loose.apol-align-right{margin-left:auto;margin-right:0;}
/* === end:apol_platform_defaults === */

/* === apol-section-template:media_gallery_justified === */
.apol-section--media-gallery-justified .apol-section__container{max-width:1280px;margin:0 auto;}
.apol-section--media-gallery-justified .apol-section__grid{display:flex;flex-wrap:wrap;gap:8px;}
.apol-section--media-gallery-justified .apol-section__grid > a{position:relative;display:block;height:220px;flex:var(--ar,1.5) 1 calc(var(--ar,1.5) * 220px);overflow:hidden;border-radius:6px;line-height:0;}
.apol-section--media-gallery-justified .apol-section__grid > a img{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit;transition:transform .4s ease;}
.apol-section--media-gallery-justified .apol-section__grid > a:hover img{transform:scale(1.05);}
.apol-section--media-gallery-justified .apol-section__grid::after{content:"";flex-grow:999999;}
.apol-section--media-gallery-justified .apol-section__grid > a[data-caption]:not([data-caption=""])::after{content:attr(data-caption);position:absolute;left:0;right:0;bottom:0;padding:8px 10px;font:600 12px/1.3 inherit;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.66));opacity:0;transition:opacity .25s ease;pointer-events:none;}
.apol-section--media-gallery-justified .apol-section__grid > a:hover::after{opacity:1;}
@media (max-width:640px){.apol-section--media-gallery-justified .apol-section__grid > a{height:140px;flex-basis:calc(var(--ar,1.5) * 140px);}}
/* === end:media_gallery_justified === */

/* === apol-section-template:media_gallery_masonry === */
.apol-section--media-gallery-masonry .apol-section__container{max-width:1280px;margin:0 auto;}
.apol-section--media-gallery-masonry.apol-space-0 .apol-section__container,.apol-section--media-gallery-masonry.apol-space-bleed .apol-section__container{max-width:none;}
.apol-section--media-gallery-masonry .apol-section__grid{display:flex;flex-wrap:wrap;gap:12px;}
.apol-section--media-gallery-masonry .apol-section__grid > a{position:relative;display:block;flex:1 1 220px;height:240px;overflow:hidden;border-radius:8px;line-height:0;}
.apol-section--media-gallery-masonry .apol-section__grid > a img{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit;transition:transform .4s ease;}
.apol-section--media-gallery-masonry .apol-section__grid > a:hover img{transform:scale(1.04);}
.apol-section--media-gallery-masonry .apol-section__grid > a[data-caption]:not([data-caption=""])::after{content:attr(data-caption);position:absolute;left:0;right:0;bottom:0;padding:10px 12px;font:600 12px/1.3 inherit;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.66));opacity:0;transition:opacity .25s ease;pointer-events:none;}
.apol-section--media-gallery-masonry .apol-section__grid > a:hover::after{opacity:1;}
@media (max-width:640px){.apol-section--media-gallery-masonry .apol-section__grid{gap:8px;}.apol-section--media-gallery-masonry .apol-section__grid > a{flex-basis:140px;height:150px;}}
/* === end:media_gallery_masonry === */


/* === apol-section-template:page_product_feature === */
.apol-section--s-heroc{text-align:center;padding-top:var(--apol-vspace-lg,5rem);padding-bottom:var(--apol-vspace-lg,5rem);}.apol-section--s-heroc .apol-section__container{max-width:760px;}.apol-section--s-heroc h1{font-size:clamp(2rem,5vw,3.25rem);margin:0 0 1rem;}.apol-section--s-heroc p{font-size:1.15rem;color:var(--apol-color-muted,#666);margin:0 0 1.75rem;}.apol-section--s-heroc .apol-section__buttons{justify-content:center;}
.apol-section--s-fsplit .apol-section__container{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;}.apol-section--s-fsplit h2{font-size:clamp(1.6rem,3vw,2.25rem);margin:0 0 1rem;}.apol-section--s-fsplit .apol-s-copy>p{color:var(--apol-color-muted,#666);font-size:1.08rem;margin:0 0 1.25rem;}.apol-section--s-fsplit ul{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;gap:.7rem;}.apol-section--s-fsplit li{position:relative;padding-left:2.1rem;color:var(--apol-color-text,#222);line-height:1.5;min-height:1.4rem;}.apol-section--s-fsplit li::before{content:'\2713';display:flex;align-items:center;justify-content:center;position:absolute;left:0;top:.05em;width:1.4rem;height:1.4rem;border-radius:999px;background:var(--apol-color-primary,#0099cc);color:#fff;font-size:.82rem;font-weight:700;line-height:1;}.apol-section--s-fsplit .apol-s-media img{width:100%;max-height:440px;object-fit:cover;border-radius:var(--apol-radius-lg,14px);display:block;}.apol-section--s-fsplit--rev .apol-s-media{order:-1;}.apol-section--s-fsplit--sf{background:var(--apol-color-surface,#f5f5f5);}@media(max-width:820px){.apol-section--s-fsplit .apol-section__container{grid-template-columns:1fr;gap:2rem;}.apol-section--s-fsplit--rev .apol-s-media{order:0;}}
.apol-section--s-quotes h2{text-align:center;font-size:clamp(1.6rem,3vw,2.25rem);margin:0 0 2.5rem;}.apol-section--s-quotes .apol-s-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}.apol-section--s-quotes figure{margin:0;background:var(--apol-color-background,#fff);border:1px solid var(--apol-color-border,#e2e2e2);border-radius:var(--apol-radius-lg,14px);padding:1.75rem;}.apol-section--s-quotes .apol-s-stars{color:#f5a623;letter-spacing:2px;margin-bottom:.75rem;}.apol-section--s-quotes blockquote{margin:0 0 1.25rem;font-size:1.05rem;line-height:1.6;color:var(--apol-color-text,#222);}.apol-section--s-quotes figcaption{display:flex;align-items:center;gap:.75rem;}.apol-section--s-quotes figcaption img{width:44px;height:44px;border-radius:999px;object-fit:cover;}.apol-section--s-quotes .apol-s-nm{font-weight:700;display:block;}.apol-section--s-quotes .apol-s-rl{color:var(--apol-color-muted,#666);font-size:.9rem;}@media(max-width:900px){.apol-section--s-quotes .apol-s-grid{grid-template-columns:1fr;}}
.apol-section--s-cta{background:var(--apol-color-primary,#0099cc);color:var(--apol-color-primary-contrast,#fff);text-align:center;}.apol-section--s-cta .apol-section__container{max-width:720px;}.apol-section--s-cta h2{color:#fff;font-size:clamp(1.7rem,3.5vw,2.5rem);margin:0 0 .75rem;}.apol-section--s-cta p{color:rgba(255,255,255,.9);font-size:1.12rem;margin:0 0 1.75rem;}.apol-section--s-cta .apol-section__buttons{justify-content:center;}
/* === end:page_product_feature === */

/* === apol-section-template:page_product_overview === */
.apol-section--s-heros .apol-section__container{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;max-width:var(--apol-container-max-width,1200px);}.apol-section--s-heros h1{font-size:clamp(1.9rem,4vw,3rem);margin:0 0 1rem;}.apol-section--s-heros p{font-size:1.1rem;color:var(--apol-color-muted,#666);margin:0 0 1.5rem;}.apol-section--s-heros .apol-s-media img{width:100%;height:100%;max-height:460px;object-fit:cover;border-radius:var(--apol-radius-lg,14px);display:block;}.apol-section--s-heros--rev .apol-s-media{order:-1;}@media(max-width:820px){.apol-section--s-heros .apol-section__container{grid-template-columns:1fr;gap:2rem;}.apol-section--s-heros--rev .apol-s-media{order:0;}}
.apol-section--s-logos{background:var(--apol-color-surface,#f5f5f5);text-align:center;padding-top:2.5rem;padding-bottom:2.5rem;}.apol-section--s-logos p{text-transform:uppercase;letter-spacing:.08em;font-size:.82rem;color:var(--apol-color-muted,#666);margin:0 0 1.5rem;}.apol-section--s-logos .apol-s-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:2.5rem;}.apol-section--s-logos .apol-s-logo{font-family:var(--apol-font-heading,sans-serif);font-weight:800;font-size:1.15rem;letter-spacing:.03em;color:var(--apol-color-muted,#666);opacity:.65;}
.apol-section--s-cards{text-align:center;}.apol-section--s-cards h2{font-size:clamp(1.6rem,3vw,2.25rem);margin:0 0 .5rem;}.apol-section--s-cards .apol-s-sub{color:var(--apol-color-muted,#666);max-width:640px;margin:0 auto 2.75rem;}.apol-section--s-cards .apol-s-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;text-align:left;}.apol-section--s-cards .apol-s-card{background:var(--apol-color-background,#fff);border:1px solid var(--apol-color-border,#e2e2e2);border-radius:var(--apol-radius-lg,14px);padding:1.75rem;transition:transform .18s ease,box-shadow .18s ease;}.apol-section--s-cards .apol-s-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(0,0,0,.09);}.apol-section--s-cards .apol-s-ic{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;background:color-mix(in srgb,var(--apol-color-primary,#0099cc) 12%,transparent);color:var(--apol-color-primary,#0099cc);margin-bottom:1rem;}.apol-section--s-cards .apol-s-ic i{font-size:23px;line-height:1;}.apol-section--s-cards h3{font-size:1.2rem;margin:0 0 .5rem;}.apol-section--s-cards .apol-s-card p{color:var(--apol-color-muted,#666);margin:0;}.apol-section--s-cards--sf{background:var(--apol-color-surface,#f5f5f5);}@media(max-width:900px){.apol-section--s-cards .apol-s-grid{grid-template-columns:1fr;}}
.apol-section--s-fsplit .apol-section__container{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;}.apol-section--s-fsplit h2{font-size:clamp(1.6rem,3vw,2.25rem);margin:0 0 1rem;}.apol-section--s-fsplit .apol-s-copy>p{color:var(--apol-color-muted,#666);font-size:1.08rem;margin:0 0 1.25rem;}.apol-section--s-fsplit ul{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;gap:.7rem;}.apol-section--s-fsplit li{position:relative;padding-left:2.1rem;color:var(--apol-color-text,#222);line-height:1.5;min-height:1.4rem;}.apol-section--s-fsplit li::before{content:'\2713';display:flex;align-items:center;justify-content:center;position:absolute;left:0;top:.05em;width:1.4rem;height:1.4rem;border-radius:999px;background:var(--apol-color-primary,#0099cc);color:#fff;font-size:.82rem;font-weight:700;line-height:1;}.apol-section--s-fsplit .apol-s-media img{width:100%;max-height:440px;object-fit:cover;border-radius:var(--apol-radius-lg,14px);display:block;}.apol-section--s-fsplit--rev .apol-s-media{order:-1;}.apol-section--s-fsplit--sf{background:var(--apol-color-surface,#f5f5f5);}@media(max-width:820px){.apol-section--s-fsplit .apol-section__container{grid-template-columns:1fr;gap:2rem;}.apol-section--s-fsplit--rev .apol-s-media{order:0;}}
.apol-section--s-price{text-align:center;}.apol-section--s-price h2{font-size:clamp(1.6rem,3vw,2.25rem);margin:0 0 .5rem;}.apol-section--s-price .apol-s-sub{color:var(--apol-color-muted,#666);max-width:600px;margin:0 auto 2.75rem;}.apol-section--s-price .apol-s-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;align-items:stretch;text-align:left;}.apol-section--s-price .apol-s-tier{display:flex;flex-direction:column;background:var(--apol-color-background,#fff);border:1px solid var(--apol-color-border,#e2e2e2);border-radius:var(--apol-radius-lg,14px);padding:2rem;}.apol-section--s-price .apol-s-tier--hot{border-color:var(--apol-color-primary,#0099cc);box-shadow:0 16px 40px rgba(0,0,0,.1);position:relative;}.apol-section--s-price .apol-s-badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--apol-color-primary,#0099cc);color:#fff;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:5px 12px;border-radius:999px;}.apol-section--s-price .apol-s-tname{font-weight:700;font-size:1.15rem;}.apol-section--s-price .apol-s-price{font-size:2.6rem;font-weight:800;margin:.5rem 0 0;line-height:1;}.apol-section--s-price .apol-s-per{color:var(--apol-color-muted,#666);font-size:.9rem;margin-bottom:1.25rem;}.apol-section--s-price ul{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;gap:.6rem;flex:1;}.apol-section--s-price li{position:relative;padding-left:1.7rem;color:var(--apol-color-text,#222);}.apol-section--s-price li::before{content:'\2713';position:absolute;left:0;top:0;color:var(--apol-color-primary,#0099cc);font-weight:700;font-size:1.05rem;line-height:1.5;}.apol-section--s-price .apol-btn{width:100%;text-align:center;}@media(max-width:900px){.apol-section--s-price .apol-s-grid{grid-template-columns:1fr;}}
.apol-section--s-faq .apol-section__container{max-width:760px;}.apol-section--s-faq h2{text-align:center;font-size:clamp(1.6rem,3vw,2.25rem);margin:0 0 2rem;}.apol-section--s-faq details{border:1px solid var(--apol-color-border,#e2e2e2);border-radius:var(--apol-radius-md,10px);margin:0 0 .75rem;background:var(--apol-color-background,#fff);}.apol-section--s-faq summary{cursor:pointer;list-style:none;padding:1.1rem 1.25rem;font-weight:600;color:var(--apol-color-heading,#222);display:flex;justify-content:space-between;align-items:center;gap:1rem;}.apol-section--s-faq summary::-webkit-details-marker{display:none;}.apol-section--s-faq summary::after{content:'+';font-size:1.4rem;color:var(--apol-color-primary,#0099cc);line-height:1;}.apol-section--s-faq details[open] summary::after{content:'\2212';}.apol-section--s-faq details>div{padding:0 1.25rem 1.2rem;color:var(--apol-color-muted,#666);}
.apol-section--s-cta{background:var(--apol-color-primary,#0099cc);color:var(--apol-color-primary-contrast,#fff);text-align:center;}.apol-section--s-cta .apol-section__container{max-width:720px;}.apol-section--s-cta h2{color:#fff;font-size:clamp(1.7rem,3.5vw,2.5rem);margin:0 0 .75rem;}.apol-section--s-cta p{color:rgba(255,255,255,.9);font-size:1.12rem;margin:0 0 1.75rem;}.apol-section--s-cta .apol-section__buttons{justify-content:center;}
/* === end:page_product_overview === */

/* === apol-section-template:page_product_launch === */
.apol-section--s-herod{position:relative;text-align:center;color:#fff;padding-top:6rem;padding-bottom:6rem;background:#0b1220;overflow:hidden;}.apol-section--s-herod .apol-s-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5;}.apol-section--s-herod .apol-section__container{position:relative;z-index:2;max-width:820px;}.apol-section--s-herod h1{color:#fff;font-size:clamp(2rem,5vw,3.4rem);margin:0 0 1rem;}.apol-section--s-herod p{color:rgba(255,255,255,.82);font-size:1.2rem;margin:0 0 1.75rem;}.apol-section--s-herod .apol-section__buttons{justify-content:center;}
.apol-section--s-stats{background:var(--apol-color-surface,#f5f5f5);}.apol-section--s-stats .apol-s-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;text-align:center;}.apol-section--s-stats .apol-s-num{font-size:clamp(2rem,4vw,2.8rem);font-weight:800;color:var(--apol-color-primary,#0099cc);line-height:1;}.apol-section--s-stats .apol-s-lbl{color:var(--apol-color-muted,#666);margin-top:.4rem;}@media(max-width:640px){.apol-section--s-stats .apol-s-grid{grid-template-columns:1fr 1fr;gap:2rem;}}
.apol-section--s-cards{text-align:center;}.apol-section--s-cards h2{font-size:clamp(1.6rem,3vw,2.25rem);margin:0 0 .5rem;}.apol-section--s-cards .apol-s-sub{color:var(--apol-color-muted,#666);max-width:640px;margin:0 auto 2.75rem;}.apol-section--s-cards .apol-s-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;text-align:left;}.apol-section--s-cards .apol-s-card{background:var(--apol-color-background,#fff);border:1px solid var(--apol-color-border,#e2e2e2);border-radius:var(--apol-radius-lg,14px);padding:1.75rem;transition:transform .18s ease,box-shadow .18s ease;}.apol-section--s-cards .apol-s-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(0,0,0,.09);}.apol-section--s-cards .apol-s-ic{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;background:color-mix(in srgb,var(--apol-color-primary,#0099cc) 12%,transparent);color:var(--apol-color-primary,#0099cc);margin-bottom:1rem;}.apol-section--s-cards .apol-s-ic i{font-size:23px;line-height:1;}.apol-section--s-cards h3{font-size:1.2rem;margin:0 0 .5rem;}.apol-section--s-cards .apol-s-card p{color:var(--apol-color-muted,#666);margin:0;}.apol-section--s-cards--sf{background:var(--apol-color-surface,#f5f5f5);}@media(max-width:900px){.apol-section--s-cards .apol-s-grid{grid-template-columns:1fr;}}
.apol-section--s-gal h2{text-align:center;font-size:clamp(1.6rem,3vw,2.25rem);margin:0 0 2.5rem;}.apol-section--s-gal .apol-s-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;}.apol-section--s-gal a{display:block;overflow:hidden;border-radius:var(--apol-radius-md,10px);}.apol-section--s-gal img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .25s ease;}.apol-section--s-gal a:hover img{transform:scale(1.05);}@media(max-width:720px){.apol-section--s-gal .apol-s-grid{grid-template-columns:1fr 1fr;}}
.apol-section--s-price{text-align:center;}.apol-section--s-price h2{font-size:clamp(1.6rem,3vw,2.25rem);margin:0 0 .5rem;}.apol-section--s-price .apol-s-sub{color:var(--apol-color-muted,#666);max-width:600px;margin:0 auto 2.75rem;}.apol-section--s-price .apol-s-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;align-items:stretch;text-align:left;}.apol-section--s-price .apol-s-tier{display:flex;flex-direction:column;background:var(--apol-color-background,#fff);border:1px solid var(--apol-color-border,#e2e2e2);border-radius:var(--apol-radius-lg,14px);padding:2rem;}.apol-section--s-price .apol-s-tier--hot{border-color:var(--apol-color-primary,#0099cc);box-shadow:0 16px 40px rgba(0,0,0,.1);position:relative;}.apol-section--s-price .apol-s-badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--apol-color-primary,#0099cc);color:#fff;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:5px 12px;border-radius:999px;}.apol-section--s-price .apol-s-tname{font-weight:700;font-size:1.15rem;}.apol-section--s-price .apol-s-price{font-size:2.6rem;font-weight:800;margin:.5rem 0 0;line-height:1;}.apol-section--s-price .apol-s-per{color:var(--apol-color-muted,#666);font-size:.9rem;margin-bottom:1.25rem;}.apol-section--s-price ul{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;gap:.6rem;flex:1;}.apol-section--s-price li{position:relative;padding-left:1.7rem;color:var(--apol-color-text,#222);}.apol-section--s-price li::before{content:'\2713';position:absolute;left:0;top:0;color:var(--apol-color-primary,#0099cc);font-weight:700;font-size:1.05rem;line-height:1.5;}.apol-section--s-price .apol-btn{width:100%;text-align:center;}@media(max-width:900px){.apol-section--s-price .apol-s-grid{grid-template-columns:1fr;}}
.apol-section--s-cta{background:var(--apol-color-primary,#0099cc);color:var(--apol-color-primary-contrast,#fff);text-align:center;}.apol-section--s-cta .apol-section__container{max-width:720px;}.apol-section--s-cta h2{color:#fff;font-size:clamp(1.7rem,3.5vw,2.5rem);margin:0 0 .75rem;}.apol-section--s-cta p{color:rgba(255,255,255,.9);font-size:1.12rem;margin:0 0 1.75rem;}.apol-section--s-cta .apol-section__buttons{justify-content:center;}
/* === end:page_product_launch === */

/* === apol-section-template:reassurance_bar === */
.apol-section--reassurance .apol-reassurance{display:flex;flex-wrap:wrap;width:100%;background:#f8f9fa;border-radius:8px;border:1px solid #e0e0e0;overflow:hidden;}.apol-section--reassurance .apol-reassurance__item{flex:1 1 33.333%;display:flex;flex-direction:row;align-items:flex-start;gap:15px;padding:30px 25px;box-sizing:border-box;}.apol-section--reassurance .apol-reassurance__item i{font-size:42px;line-height:1;color:#0077cc;flex-shrink:0;}.apol-section--reassurance .apol-reassurance__item span{font-size:18px;font-weight:600;color:#333;margin-top:10px;}@media screen and (max-width:992px){.apol-section--reassurance .apol-reassurance{flex-direction:column;}.apol-section--reassurance .apol-reassurance__item{flex:1 1 100%;padding:20px;border-bottom:1px solid #e0e0e0;gap:20px;}.apol-section--reassurance .apol-reassurance__item:last-child{border-bottom:none;}.apol-section--reassurance .apol-reassurance__item i{font-size:32px;width:40px;text-align:center;}.apol-section--reassurance .apol-reassurance__item span{font-size:16px;}}
/* === end:reassurance_bar === */

/* === apol-section-template:page_landing_product === */
.apol-section--s-heros .apol-section__container{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;max-width:var(--apol-container-max-width,1200px);}.apol-section--s-heros h1{font-size:clamp(1.9rem,4vw,3rem);margin:0 0 1rem;}.apol-section--s-heros p{font-size:1.1rem;color:var(--apol-color-muted,#666);margin:0 0 1.5rem;}.apol-section--s-heros .apol-s-media img{width:100%;height:100%;max-height:460px;object-fit:cover;border-radius:var(--apol-radius-lg,14px);display:block;}.apol-section--s-heros--rev .apol-s-media{order:-1;}@media(max-width:820px){.apol-section--s-heros .apol-section__container{grid-template-columns:1fr;gap:2rem;}.apol-section--s-heros--rev .apol-s-media{order:0;}}
.apol-section--s-fsplit .apol-section__container{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;}.apol-section--s-fsplit h2{font-size:clamp(1.6rem,3vw,2.25rem);margin:0 0 1rem;}.apol-section--s-fsplit .apol-s-copy>p{color:var(--apol-color-muted,#666);font-size:1.08rem;margin:0 0 1.25rem;}.apol-section--s-fsplit ul{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;gap:.7rem;}.apol-section--s-fsplit li{position:relative;padding-left:2.1rem;color:var(--apol-color-text,#222);line-height:1.5;min-height:1.4rem;}.apol-section--s-fsplit li::before{content:'\2713';display:flex;align-items:center;justify-content:center;position:absolute;left:0;top:.05em;width:1.4rem;height:1.4rem;border-radius:999px;background:var(--apol-color-primary,#0099cc);color:#fff;font-size:.82rem;font-weight:700;line-height:1;}.apol-section--s-fsplit .apol-s-media img{width:100%;max-height:440px;object-fit:cover;border-radius:var(--apol-radius-lg,14px);display:block;}.apol-section--s-fsplit--rev .apol-s-media{order:-1;}.apol-section--s-fsplit--sf{background:var(--apol-color-surface,#f5f5f5);}@media(max-width:820px){.apol-section--s-fsplit .apol-section__container{grid-template-columns:1fr;gap:2rem;}.apol-section--s-fsplit--rev .apol-s-media{order:0;}}
.apol-section--s-price{text-align:center;}.apol-section--s-price h2{font-size:clamp(1.6rem,3vw,2.25rem);margin:0 0 .5rem;}.apol-section--s-price .apol-s-sub{color:var(--apol-color-muted,#666);max-width:600px;margin:0 auto 2.75rem;}.apol-section--s-price .apol-s-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;align-items:stretch;text-align:left;}.apol-section--s-price .apol-s-tier{display:flex;flex-direction:column;background:var(--apol-color-background,#fff);border:1px solid var(--apol-color-border,#e2e2e2);border-radius:var(--apol-radius-lg,14px);padding:2rem;}.apol-section--s-price .apol-s-tier--hot{border-color:var(--apol-color-primary,#0099cc);box-shadow:0 16px 40px rgba(0,0,0,.1);position:relative;}.apol-section--s-price .apol-s-badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--apol-color-primary,#0099cc);color:#fff;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:5px 12px;border-radius:999px;}.apol-section--s-price .apol-s-tname{font-weight:700;font-size:1.15rem;}.apol-section--s-price .apol-s-price{font-size:2.6rem;font-weight:800;margin:.5rem 0 0;line-height:1;}.apol-section--s-price .apol-s-per{color:var(--apol-color-muted,#666);font-size:.9rem;margin-bottom:1.25rem;}.apol-section--s-price ul{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;gap:.6rem;flex:1;}.apol-section--s-price li{position:relative;padding-left:1.7rem;color:var(--apol-color-text,#222);}.apol-section--s-price li::before{content:'\2713';position:absolute;left:0;top:0;color:var(--apol-color-primary,#0099cc);font-weight:700;font-size:1.05rem;line-height:1.5;}.apol-section--s-price .apol-btn{width:100%;text-align:center;}@media(max-width:900px){.apol-section--s-price .apol-s-grid{grid-template-columns:1fr;}}
.apol-section--s-faq .apol-section__container{max-width:760px;}.apol-section--s-faq h2{text-align:center;font-size:clamp(1.6rem,3vw,2.25rem);margin:0 0 2rem;}.apol-section--s-faq details{border:1px solid var(--apol-color-border,#e2e2e2);border-radius:var(--apol-radius-md,10px);margin:0 0 .75rem;background:var(--apol-color-background,#fff);}.apol-section--s-faq summary{cursor:pointer;list-style:none;padding:1.1rem 1.25rem;font-weight:600;color:var(--apol-color-heading,#222);display:flex;justify-content:space-between;align-items:center;gap:1rem;}.apol-section--s-faq summary::-webkit-details-marker{display:none;}.apol-section--s-faq summary::after{content:'+';font-size:1.4rem;color:var(--apol-color-primary,#0099cc);line-height:1;}.apol-section--s-faq details[open] summary::after{content:'\2212';}.apol-section--s-faq details>div{padding:0 1.25rem 1.2rem;color:var(--apol-color-muted,#666);}
.apol-section--s-cta{background:var(--apol-color-primary,#0099cc);color:var(--apol-color-primary-contrast,#fff);text-align:center;}.apol-section--s-cta .apol-section__container{max-width:720px;}.apol-section--s-cta h2{color:#fff;font-size:clamp(1.7rem,3.5vw,2.5rem);margin:0 0 .75rem;}.apol-section--s-cta p{color:rgba(255,255,255,.9);font-size:1.12rem;margin:0 0 1.75rem;}.apol-section--s-cta .apol-section__buttons{justify-content:center;}
/* === end:page_landing_product === */

/* === apol-section-template:page_services_detailed === */
.apol-section--s-heros .apol-section__container{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;max-width:var(--apol-container-max-width,1200px);}.apol-section--s-heros h1{font-size:clamp(1.9rem,4vw,3rem);margin:0 0 1rem;}.apol-section--s-heros p{font-size:1.1rem;color:var(--apol-color-muted,#666);margin:0 0 1.5rem;}.apol-section--s-heros .apol-s-media img{width:100%;height:100%;max-height:460px;object-fit:cover;border-radius:var(--apol-radius-lg,14px);display:block;}.apol-section--s-heros--rev .apol-s-media{order:-1;}@media(max-width:820px){.apol-section--s-heros .apol-section__container{grid-template-columns:1fr;gap:2rem;}.apol-section--s-heros--rev .apol-s-media{order:0;}}
.apol-section--s-intro{text-align:center;}.apol-section--s-intro .apol-section__container{max-width:720px;}.apol-section--s-intro h2{font-size:clamp(1.6rem,3vw,2.25rem);margin:0 0 1rem;}.apol-section--s-intro p{font-size:1.12rem;color:var(--apol-color-muted,#666);margin:0;}
.apol-section--s-fsplit .apol-section__container{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;}.apol-section--s-fsplit h2{font-size:clamp(1.6rem,3vw,2.25rem);margin:0 0 1rem;}.apol-section--s-fsplit .apol-s-copy>p{color:var(--apol-color-muted,#666);font-size:1.08rem;margin:0 0 1.25rem;}.apol-section--s-fsplit ul{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;gap:.7rem;}.apol-section--s-fsplit li{position:relative;padding-left:2.1rem;color:var(--apol-color-text,#222);line-height:1.5;min-height:1.4rem;}.apol-section--s-fsplit li::before{content:'\2713';display:flex;align-items:center;justify-content:center;position:absolute;left:0;top:.05em;width:1.4rem;height:1.4rem;border-radius:999px;background:var(--apol-color-primary,#0099cc);color:#fff;font-size:.82rem;font-weight:700;line-height:1;}.apol-section--s-fsplit .apol-s-media img{width:100%;max-height:440px;object-fit:cover;border-radius:var(--apol-radius-lg,14px);display:block;}.apol-section--s-fsplit--rev .apol-s-media{order:-1;}.apol-section--s-fsplit--sf{background:var(--apol-color-surface,#f5f5f5);}@media(max-width:820px){.apol-section--s-fsplit .apol-section__container{grid-template-columns:1fr;gap:2rem;}.apol-section--s-fsplit--rev .apol-s-media{order:0;}}
.apol-section--s-cta{background:var(--apol-color-primary,#0099cc);color:var(--apol-color-primary-contrast,#fff);text-align:center;}.apol-section--s-cta .apol-section__container{max-width:720px;}.apol-section--s-cta h2{color:#fff;font-size:clamp(1.7rem,3.5vw,2.5rem);margin:0 0 .75rem;}.apol-section--s-cta p{color:rgba(255,255,255,.9);font-size:1.12rem;margin:0 0 1.75rem;}.apol-section--s-cta .apol-section__buttons{justify-content:center;}
/* === end:page_services_detailed === */

/* === apol-section-template:topbar_contact_social === */
.apol-topbar-row{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;font-size:.85rem;line-height:1.2;}.apol-topbar-group{display:flex;align-items:center;gap:16px;min-width:0;}.apol-topbar-link{display:inline-flex;align-items:center;gap:7px;color:inherit;text-decoration:none;white-space:nowrap;}.apol-topbar-link:hover{text-decoration:underline;}.apol-topbar-ico{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;font-size:0;color:inherit;text-decoration:none;opacity:.85;}.apol-topbar-ico i{font-size:15px;line-height:1;}.apol-topbar-ico:hover{opacity:1;}@media screen and (max-width:767px){.apol-topbar-row{justify-content:center;}.apol-topbar-hide-sm{display:none;}}
/* === end:topbar_contact_social === */

/* === apol-section-template:topbar_contact_hours === */
.apol-topbar-row{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;font-size:.85rem;line-height:1.2;}.apol-topbar-group{display:flex;align-items:center;gap:18px;min-width:0;}.apol-topbar-link{display:inline-flex;align-items:center;gap:7px;color:inherit;text-decoration:none;white-space:nowrap;}a.apol-topbar-link:hover{text-decoration:underline;}@media screen and (max-width:767px){.apol-topbar-row{justify-content:center;}.apol-topbar-hide-sm{display:none;}}
/* === end:topbar_contact_hours === */

/* === apol-section-template:topbar_promo_message === */
.apol-topbar-promo{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;font-size:.85rem;line-height:1.2;text-align:center;}.apol-topbar-promo i{flex:0 0 auto;opacity:.85;}.apol-topbar-promo-cta{color:inherit;text-decoration:underline;font-weight:600;white-space:nowrap;}.apol-topbar-promo-cta:hover{opacity:.8;}@media screen and (max-width:767px){.apol-topbar-promo{gap:8px;font-size:.78rem;}.apol-topbar-promo i{display:none;}}
/* === end:topbar_promo_message === */

/* === apol-section-template:topbar_usp_strip === */
.apol-topbar-usps{display:flex;align-items:center;justify-content:space-around;gap:20px;width:100%;font-size:.82rem;line-height:1.2;}.apol-topbar-usp{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;}.apol-topbar-usp i{opacity:.85;}@media screen and (max-width:767px){.apol-topbar-usps{justify-content:center;}.apol-topbar-usp--sm{display:none;}}
/* === end:topbar_usp_strip === */

/* === apol-section-template:footer_columns === */
.apol-section--ft-cols{background:var(--apol-footer-bg,#1f2732);color:var(--apol-footer-text,#c7cdd6);padding-top:3.5rem;padding-bottom:1.5rem;}.apol-section--ft-cols .apol-section__container{max-width:var(--apol-container-max-width,1200px);}.apol-section--ft-cols .apol-ft__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:2.5rem;}.apol-section--ft-cols h4{color:#fff;font-size:1rem;margin:0 0 1rem;}.apol-section--ft-cols .apol-ft__brand{font-size:1.25rem;font-weight:700;color:#fff;margin:0 0 .75rem;}.apol-section--ft-cols p{margin:0 0 1rem;font-size:.92rem;line-height:1.6;}.apol-section--ft-cols ul{list-style:none;margin:0;padding:0;display:grid;gap:.6rem;}.apol-section--ft-cols a{color:var(--apol-footer-text,#c7cdd6);font-size:.92rem;}.apol-section--ft-cols a:hover{color:#fff;text-decoration:none;}.apol-ft__soc{display:flex;gap:.6rem;margin-top:.25rem;}.apol-ft__soc a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:999px;background:rgba(255,255,255,.08);color:#fff;}.apol-ft__soc a:hover{background:var(--apol-color-primary,#0099cc);}.apol-section--ft-cols .apol-ft__bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.1);margin-top:2.5rem;padding-top:1.5rem;font-size:.85rem;}.apol-section--ft-cols .apol-ft__bar a{margin-left:1.25rem;}@media(max-width:820px){.apol-section--ft-cols .apol-ft__grid{grid-template-columns:1fr 1fr;gap:2rem;}}@media(max-width:520px){.apol-section--ft-cols .apol-ft__grid{grid-template-columns:1fr;}}
/* === end:footer_columns === */
/*==APOL-EXTRAS:START - generated, do not edit==*/
/* ============================================================================
   APOL SECTION EXTRAS  (canonical, global-editor managed)
   Shared CSS that must sit AFTER the per-template blocks. Injected by the
   App Designer at the END of style_additional.css.
     * page scaffolds - s-* full-page section CSS (admin-editor preview;
       also mirrored in apol.base.css for the live frontend).
     * placement controls - the toolbar Spacing/Width/Align classes; MUST be
       last so they win over a template's own container/padding rules.
   ============================================================================ */

/* ---- page scaffolds (s-*) ---- */
/* Page-scaffold sections (s-*) for the page_* full-page templates. EXACT original
   CSS restored 6th Jul 2026 from apol_html_section_templates.css_body (deduped across
   all page_* rows). Duplicated in apol.base.css (frontend safety net); THIS copy is
   what the ADMIN CONTENT EDITOR reads (its TinyMCE content_css loads style_additional.css,
   NOT apol.base.css), so both the live site and the editor preview these sections. */
.apol-section--s-heroc{text-align:center;padding-top:var(--apol-vspace-lg,5rem);padding-bottom:var(--apol-vspace-lg,5rem);}.apol-section--s-heroc .apol-section__container{max-width:760px;}.apol-section--s-heroc h1{font-size:clamp(2rem,5vw,3.25rem);margin:0 0 1rem;}.apol-section--s-heroc p{font-size:1.15rem;color:var(--apol-color-muted,#666);margin:0 0 1.75rem;}.apol-section--s-heroc .apol-section__buttons{justify-content:center;}
.apol-section--s-heros .apol-section__container{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;max-width:var(--apol-container-max-width,1200px);}.apol-section--s-heros h1{font-size:clamp(1.9rem,4vw,3rem);margin:0 0 1rem;}.apol-section--s-heros p{font-size:1.1rem;color:var(--apol-color-muted,#666);margin:0 0 1.5rem;}.apol-section--s-heros .apol-s-media img{width:100%;height:100%;max-height:460px;object-fit:cover;border-radius:var(--apol-radius-lg,14px);display:block;}.apol-section--s-heros--rev .apol-s-media{order:-1;}@media(max-width:820px){.apol-section--s-heros .apol-section__container{grid-template-columns:1fr;gap:2rem;}.apol-section--s-heros--rev .apol-s-media{order:0;}}
.apol-section--s-herod{position:relative;text-align:center;color:#fff;padding-top:6rem;padding-bottom:6rem;background:#0b1220;overflow:hidden;}.apol-section--s-herod .apol-s-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5;}.apol-section--s-herod .apol-section__container{position:relative;z-index:2;max-width:820px;}.apol-section--s-herod h1{color:#fff;font-size:clamp(2rem,5vw,3.4rem);margin:0 0 1rem;}.apol-section--s-herod p{color:rgba(255,255,255,.82);font-size:1.2rem;margin:0 0 1.75rem;}.apol-section--s-herod .apol-section__buttons{justify-content:center;}
.apol-section--s-fsplit .apol-section__container{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;}.apol-section--s-fsplit h2{font-size:clamp(1.6rem,3vw,2.25rem);margin:0 0 1rem;}.apol-section--s-fsplit .apol-s-copy>p{color:var(--apol-color-muted,#666);font-size:1.08rem;margin:0 0 1.25rem;}.apol-section--s-fsplit ul{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;gap:.7rem;}.apol-section--s-fsplit li{position:relative;padding-left:2.1rem;color:var(--apol-color-text,#222);line-height:1.5;min-height:1.4rem;}.apol-section--s-fsplit li::before{content:'\2713';display:flex;align-items:center;justify-content:center;position:absolute;left:0;top:.05em;width:1.4rem;height:1.4rem;border-radius:999px;background:var(--apol-color-primary,#0099cc);color:#fff;font-size:.82rem;font-weight:700;line-height:1;}.apol-section--s-fsplit .apol-s-media img{width:100%;max-height:440px;object-fit:cover;border-radius:var(--apol-radius-lg,14px);display:block;}.apol-section--s-fsplit--rev .apol-s-media{order:-1;}.apol-section--s-fsplit--sf{background:var(--apol-color-surface,#f5f5f5);}@media(max-width:820px){.apol-section--s-fsplit .apol-section__container{grid-template-columns:1fr;gap:2rem;}.apol-section--s-fsplit--rev .apol-s-media{order:0;}}
.apol-section--s-intro{text-align:center;}.apol-section--s-intro .apol-section__container{max-width:720px;}.apol-section--s-intro h2{font-size:clamp(1.6rem,3vw,2.25rem);margin:0 0 1rem;}.apol-section--s-intro p{font-size:1.12rem;color:var(--apol-color-muted,#666);margin:0;}
.apol-section--s-logos{background:var(--apol-color-surface,#f5f5f5);text-align:center;padding-top:2.5rem;padding-bottom:2.5rem;}.apol-section--s-logos p{text-transform:uppercase;letter-spacing:.08em;font-size:.82rem;color:var(--apol-color-muted,#666);margin:0 0 1.5rem;}.apol-section--s-logos .apol-s-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:2.5rem;}.apol-section--s-logos .apol-s-logo{font-family:var(--apol-font-heading,sans-serif);font-weight:800;font-size:1.15rem;letter-spacing:.03em;color:var(--apol-color-muted,#666);opacity:.65;}
.apol-section--s-cards{text-align:center;}.apol-section--s-cards h2{font-size:clamp(1.6rem,3vw,2.25rem);margin:0 0 .5rem;}.apol-section--s-cards .apol-s-sub{color:var(--apol-color-muted,#666);max-width:640px;margin:0 auto 2.75rem;}.apol-section--s-cards .apol-s-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;text-align:left;}.apol-section--s-cards .apol-s-card{background:var(--apol-color-background,#fff);border:1px solid var(--apol-color-border,#e2e2e2);border-radius:var(--apol-radius-lg,14px);padding:1.75rem;transition:transform .18s ease,box-shadow .18s ease;}.apol-section--s-cards .apol-s-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(0,0,0,.09);}.apol-section--s-cards .apol-s-ic{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;background:color-mix(in srgb,var(--apol-color-primary,#0099cc) 12%,transparent);color:var(--apol-color-primary,#0099cc);margin-bottom:1rem;}.apol-section--s-cards .apol-s-ic i{font-size:23px;line-height:1;}.apol-section--s-cards h3{font-size:1.2rem;margin:0 0 .5rem;}.apol-section--s-cards .apol-s-card p{color:var(--apol-color-muted,#666);margin:0;}.apol-section--s-cards--sf{background:var(--apol-color-surface,#f5f5f5);}@media(max-width:900px){.apol-section--s-cards .apol-s-grid{grid-template-columns:1fr;}}
.apol-section--s-stats{background:var(--apol-color-surface,#f5f5f5);}.apol-section--s-stats .apol-s-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;text-align:center;}.apol-section--s-stats .apol-s-num{font-size:clamp(2rem,4vw,2.8rem);font-weight:800;color:var(--apol-color-primary,#0099cc);line-height:1;}.apol-section--s-stats .apol-s-lbl{color:var(--apol-color-muted,#666);margin-top:.4rem;}@media(max-width:640px){.apol-section--s-stats .apol-s-grid{grid-template-columns:1fr 1fr;gap:2rem;}}
.apol-section--s-steps{text-align:center;}.apol-section--s-steps h2{font-size:clamp(1.6rem,3vw,2.25rem);margin:0 0 .5rem;}.apol-section--s-steps .apol-s-sub{color:var(--apol-color-muted,#666);max-width:640px;margin:0 auto 2.75rem;}.apol-section--s-steps .apol-s-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;text-align:left;counter-reset:step;}.apol-section--s-steps .apol-s-step{position:relative;padding-top:.5rem;}.apol-section--s-steps .apol-s-step::before{counter-increment:step;content:counter(step);display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:999px;background:var(--apol-color-primary,#0099cc);color:var(--apol-color-primary-contrast,#fff);font-weight:700;font-size:1.1rem;margin-bottom:1rem;}.apol-section--s-steps h3{font-size:1.15rem;margin:0 0 .4rem;}.apol-section--s-steps .apol-s-step p{color:var(--apol-color-muted,#666);margin:0;}@media(max-width:820px){.apol-section--s-steps .apol-s-grid{grid-template-columns:1fr;gap:1.5rem;}}
.apol-section--s-team{text-align:center;}.apol-section--s-team h2{font-size:clamp(1.6rem,3vw,2.25rem);margin:0 0 .5rem;}.apol-section--s-team .apol-s-sub{color:var(--apol-color-muted,#666);max-width:640px;margin:0 auto 2.75rem;}.apol-section--s-team .apol-s-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;}.apol-section--s-team .apol-s-card{text-align:center;}.apol-section--s-team .apol-s-card img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:var(--apol-radius-lg,14px);background:var(--apol-color-surface,#eef1f6);margin-bottom:1rem;}.apol-section--s-team h3{font-size:1.1rem;margin:0;}.apol-section--s-team .apol-s-role{color:var(--apol-color-primary,#0099cc);font-size:.9rem;font-weight:600;margin:.15rem 0 .5rem;}.apol-section--s-team .apol-s-card p{color:var(--apol-color-muted,#666);font-size:.92rem;margin:0;}@media(max-width:900px){.apol-section--s-team .apol-s-grid{grid-template-columns:1fr 1fr;}}@media(max-width:520px){.apol-section--s-team .apol-s-grid{grid-template-columns:1fr;}}
.apol-section--s-gal h2{text-align:center;font-size:clamp(1.6rem,3vw,2.25rem);margin:0 0 2.5rem;}.apol-section--s-gal .apol-s-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;}.apol-section--s-gal a{display:block;overflow:hidden;border-radius:var(--apol-radius-md,10px);}.apol-section--s-gal img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .25s ease;}.apol-section--s-gal a:hover img{transform:scale(1.05);}@media(max-width:720px){.apol-section--s-gal .apol-s-grid{grid-template-columns:1fr 1fr;}}
.apol-section--s-price{text-align:center;}.apol-section--s-price h2{font-size:clamp(1.6rem,3vw,2.25rem);margin:0 0 .5rem;}.apol-section--s-price .apol-s-sub{color:var(--apol-color-muted,#666);max-width:600px;margin:0 auto 2.75rem;}.apol-section--s-price .apol-s-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;align-items:stretch;text-align:left;}.apol-section--s-price .apol-s-tier{display:flex;flex-direction:column;background:var(--apol-color-background,#fff);border:1px solid var(--apol-color-border,#e2e2e2);border-radius:var(--apol-radius-lg,14px);padding:2rem;}.apol-section--s-price .apol-s-tier--hot{border-color:var(--apol-color-primary,#0099cc);box-shadow:0 16px 40px rgba(0,0,0,.1);position:relative;}.apol-section--s-price .apol-s-badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--apol-color-primary,#0099cc);color:#fff;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:5px 12px;border-radius:999px;}.apol-section--s-price .apol-s-tname{font-weight:700;font-size:1.15rem;}.apol-section--s-price .apol-s-price{font-size:2.6rem;font-weight:800;margin:.5rem 0 0;line-height:1;}.apol-section--s-price .apol-s-per{color:var(--apol-color-muted,#666);font-size:.9rem;margin-bottom:1.25rem;}.apol-section--s-price ul{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;gap:.6rem;flex:1;}.apol-section--s-price li{position:relative;padding-left:1.7rem;color:var(--apol-color-text,#222);}.apol-section--s-price li::before{content:'\2713';position:absolute;left:0;top:0;color:var(--apol-color-primary,#0099cc);font-weight:700;font-size:1.05rem;line-height:1.5;}.apol-section--s-price .apol-btn{width:100%;text-align:center;}@media(max-width:900px){.apol-section--s-price .apol-s-grid{grid-template-columns:1fr;}}
.apol-section--s-quotes h2{text-align:center;font-size:clamp(1.6rem,3vw,2.25rem);margin:0 0 2.5rem;}.apol-section--s-quotes .apol-s-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}.apol-section--s-quotes figure{margin:0;background:var(--apol-color-background,#fff);border:1px solid var(--apol-color-border,#e2e2e2);border-radius:var(--apol-radius-lg,14px);padding:1.75rem;}.apol-section--s-quotes .apol-s-stars{color:#f5a623;letter-spacing:2px;margin-bottom:.75rem;}.apol-section--s-quotes blockquote{margin:0 0 1.25rem;font-size:1.05rem;line-height:1.6;color:var(--apol-color-text,#222);}.apol-section--s-quotes figcaption{display:flex;align-items:center;gap:.75rem;}.apol-section--s-quotes figcaption img{width:44px;height:44px;border-radius:999px;object-fit:cover;}.apol-section--s-quotes .apol-s-nm{font-weight:700;display:block;}.apol-section--s-quotes .apol-s-rl{color:var(--apol-color-muted,#666);font-size:.9rem;}@media(max-width:900px){.apol-section--s-quotes .apol-s-grid{grid-template-columns:1fr;}}
.apol-section--s-quote1{background:var(--apol-color-surface,#f5f5f5);text-align:center;}.apol-section--s-quote1 .apol-section__container{max-width:820px;}.apol-section--s-quote1 .apol-s-stars{color:#f5a623;letter-spacing:3px;font-size:1.2rem;margin-bottom:1rem;}.apol-section--s-quote1 blockquote{margin:0 0 1.5rem;font-size:clamp(1.25rem,2.5vw,1.7rem);line-height:1.5;font-weight:500;color:var(--apol-color-heading,#222);}.apol-section--s-quote1 img{width:56px;height:56px;border-radius:999px;object-fit:cover;}.apol-section--s-quote1 .apol-s-nm{font-weight:700;margin-top:.6rem;}.apol-section--s-quote1 .apol-s-rl{color:var(--apol-color-muted,#666);}
.apol-section--s-faq .apol-section__container{max-width:760px;}.apol-section--s-faq h2{text-align:center;font-size:clamp(1.6rem,3vw,2.25rem);margin:0 0 2rem;}.apol-section--s-faq details{border:1px solid var(--apol-color-border,#e2e2e2);border-radius:var(--apol-radius-md,10px);margin:0 0 .75rem;background:var(--apol-color-background,#fff);}.apol-section--s-faq summary{cursor:pointer;list-style:none;padding:1.1rem 1.25rem;font-weight:600;color:var(--apol-color-heading,#222);display:flex;justify-content:space-between;align-items:center;gap:1rem;}.apol-section--s-faq summary::-webkit-details-marker{display:none;}.apol-section--s-faq summary::after{content:'+';font-size:1.4rem;color:var(--apol-color-primary,#0099cc);line-height:1;}.apol-section--s-faq details[open] summary::after{content:'\2212';}.apol-section--s-faq details>div{padding:0 1.25rem 1.2rem;color:var(--apol-color-muted,#666);}
.apol-section--s-faq2 h2{text-align:center;font-size:clamp(1.6rem,3vw,2.25rem);margin:0 0 2.5rem;}.apol-section--s-faq2 .apol-s-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem 3rem;}.apol-section--s-faq2 h3{font-size:1.1rem;margin:0 0 .5rem;}.apol-section--s-faq2 .apol-s-grid p{color:var(--apol-color-muted,#666);margin:0;}@media(max-width:760px){.apol-section--s-faq2 .apol-s-grid{grid-template-columns:1fr;gap:1.75rem;}}
.apol-section--s-cform .apol-section__container{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start;}.apol-section--s-cform h2{font-size:clamp(1.6rem,3vw,2.25rem);margin:0 0 1rem;}.apol-section--s-cform .apol-s-lead{color:var(--apol-color-muted,#666);font-size:1.08rem;margin:0 0 1.75rem;}.apol-section--s-cform .apol-s-info{list-style:none;margin:0;padding:0;display:grid;gap:1.1rem;}.apol-section--s-cform .apol-s-info li{display:flex;gap:.9rem;align-items:flex-start;}.apol-section--s-cform .apol-s-ic{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;flex:0 0 42px;border-radius:12px;background:color-mix(in srgb,var(--apol-color-primary,#0099cc) 12%,transparent);color:var(--apol-color-primary,#0099cc);}.apol-section--s-cform .apol-s-ic i{font-size:19px;line-height:1;}.apol-section--s-cform .apol-s-il{font-weight:700;display:block;}.apol-section--s-cform .apol-s-iv{color:var(--apol-color-muted,#666);}@media(max-width:820px){.apol-section--s-cform .apol-section__container{grid-template-columns:1fr;gap:2rem;}}
.apol-cf__preview{display:block;padding:18px;border:1px dashed #cbd5e1;border-radius:8px;background:#f8fafc;}.apol-cf__preview-field{display:block;background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:10px 12px;color:#64748b;font-size:13px;margin:0 0 10px;}.apol-cf__preview-field--msg{min-height:56px;}.apol-cf__preview-note{font-size:12px;color:#0099CC;font-style:italic;margin:2px 0 0;}
.apol-section--s-cinfo{background:var(--apol-color-surface,#f5f5f5);}.apol-section--s-cinfo .apol-s-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;text-align:center;}.apol-section--s-cinfo .apol-s-card{background:var(--apol-color-background,#fff);border:1px solid var(--apol-color-border,#e2e2e2);border-radius:var(--apol-radius-lg,14px);padding:1.75rem 1.25rem;}.apol-section--s-cinfo .apol-s-ic{display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:14px;background:color-mix(in srgb,var(--apol-color-primary,#0099cc) 12%,transparent);color:var(--apol-color-primary,#0099cc);margin-bottom:.9rem;}.apol-section--s-cinfo .apol-s-ic i{font-size:21px;line-height:1;}.apol-section--s-cinfo .apol-s-il{font-weight:700;display:block;margin-bottom:.25rem;}.apol-section--s-cinfo .apol-s-iv{color:var(--apol-color-muted,#666);}@media(max-width:860px){.apol-section--s-cinfo .apol-s-grid{grid-template-columns:1fr 1fr;}}
.apol-section--s-map{padding-top:0;padding-bottom:0;}.apol-section--s-map .apol-section__container{max-width:100%;padding:0;}.apol-section--s-map .apol-s-map{position:relative;height:420px;background-color:#e8ecf2;background-image:repeating-linear-gradient(0deg,transparent 0 59px,#d7dde6 59px 60px),repeating-linear-gradient(90deg,transparent 0 59px,#d7dde6 59px 60px);display:flex;align-items:center;justify-content:center;}.apol-section--s-map .apol-s-pin{display:inline-flex;align-items:center;gap:.6rem;background:#fff;border-radius:999px;padding:.6rem 1.2rem;box-shadow:0 6px 20px rgba(0,0,0,.12);font-weight:600;color:var(--apol-color-heading,#222);}.apol-section--s-map .apol-s-pin i{font-size:17px;color:var(--apol-color-accent,#cc2127);}
.apol-section--s-news{background:var(--apol-color-surface,#f5f5f5);text-align:center;}.apol-section--s-news .apol-section__container{max-width:620px;}.apol-section--s-news h2{font-size:clamp(1.5rem,3vw,2.1rem);margin:0 0 .6rem;}.apol-section--s-news p{color:var(--apol-color-muted,#666);margin:0 0 1.5rem;}.apol-section--s-news form{display:flex;gap:.6rem;max-width:460px;margin:0 auto;}.apol-section--s-news input{flex:1;padding:.8rem 1rem;border:1px solid var(--apol-color-border,#e2e2e2);border-radius:var(--apol-radius-md,10px);font:inherit;}@media(max-width:520px){.apol-section--s-news form{flex-direction:column;}}
.apol-section--s-cta{background:var(--apol-color-primary,#0099cc);color:var(--apol-color-primary-contrast,#fff);text-align:center;}.apol-section--s-cta .apol-section__container{max-width:720px;}.apol-section--s-cta h2{color:#fff;font-size:clamp(1.7rem,3.5vw,2.5rem);margin:0 0 .75rem;}.apol-section--s-cta p{color:rgba(255,255,255,.9);font-size:1.12rem;margin:0 0 1.75rem;}.apol-section--s-cta .apol-section__buttons{justify-content:center;}

/* ---- placement controls (Spacing / Width / Align) ---- */
/* --- horizontal gutter / full width (overrides section padding + container) --- */
.apol-space-0   { padding-left: 0;    padding-right: 0;    }
.apol-space-2-5 { padding-left: 2.5%; padding-right: 2.5%; }
.apol-space-5  { padding-left: 5%;  padding-right: 5%;  }
.apol-space-10 { padding-left: 10%; padding-right: 10%; }
.apol-space-20 { padding-left: 20%; padding-right: 20%; }
.apol-space-0   > .apol-section__container, .apol-space-0   > .apol-columns__inner,
.apol-space-2-5 > .apol-section__container, .apol-space-2-5 > .apol-columns__inner,
.apol-space-5  > .apol-section__container, .apol-space-5  > .apol-columns__inner,
.apol-space-10 > .apol-section__container, .apol-space-10 > .apol-columns__inner,
.apol-space-20 > .apol-section__container, .apol-space-20 > .apol-columns__inner {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
  box-sizing: border-box;
}

/* --- vertical space: top & bottom padding (kills the big gap in columns) --- */
.apol-vspace-0  { padding-top: 0      !important; padding-bottom: 0      !important; }
.apol-vspace-xs { padding-top: 0.5rem !important; padding-bottom: 0.5rem !important; }
.apol-vspace-sm { padding-top: 1rem   !important; padding-bottom: 1rem   !important; }
.apol-vspace-md { padding-top: 2.5rem !important; padding-bottom: 2.5rem !important; }
.apol-vspace-lg { padding-top: 4.5rem !important; padding-bottom: 4.5rem !important; }

/* --- alignment within the column/section --- */
.apol-align-left   { padding-left: 0;  }   /* flush-left with the column text */
.apol-align-right  { padding-right: 0; }
.apol-align-left   > .apol-section__container { text-align: left;   margin-left: 0;    }
.apol-align-center > .apol-section__container { text-align: center; margin-left: auto; margin-right: auto; }
.apol-align-right  > .apol-section__container { text-align: right;  margin-right: 0;   }
.apol-align-left   .apol-section__video,
.apol-align-left   .popupvideo_play_overlay_container,
.apol-align-left   .apol-section__grid,
.apol-align-left   .apol-gallery   { margin-left: 0;    margin-right: auto; }
.apol-align-center .apol-section__video,
.apol-align-center .popupvideo_play_overlay_container,
.apol-align-center .apol-section__grid,
.apol-align-center .apol-gallery   { margin-left: auto; margin-right: auto; }
.apol-align-right  .apol-section__video,
.apol-align-right  .popupvideo_play_overlay_container,
.apol-align-right  .apol-section__grid,
.apol-align-right  .apol-gallery   { margin-left: auto; margin-right: 0;    }

/*==APOL-EXTRAS:END==*/
