.elementor-kit-5{--e-global-color-primary:#323F59;--e-global-color-secondary:#9FA5B3;--e-global-color-text:#131822;--e-global-color-accent:#01F9C6;--e-global-color-bd96ae7:#F8F8EC;--e-global-color-839cd4e:#FFFFFF;--e-global-color-509db2d:#000000;--e-global-color-b4823c3:#97B5C2;--e-global-color-cbbfedb:#F4F7F9;--e-global-color-de26758:#FF6A6E;--e-global-color-b086bd6:#CC565A;--e-global-typography-primary-font-family:"Outfit";--e-global-typography-primary-font-size:48px;--e-global-typography-primary-font-weight:700;--e-global-typography-primary-line-height:1.1em;--e-global-typography-primary-letter-spacing:-0.02em;--e-global-typography-secondary-font-family:"Outfit";--e-global-typography-secondary-font-size:32px;--e-global-typography-secondary-font-weight:700;--e-global-typography-secondary-line-height:1.25em;--e-global-typography-secondary-letter-spacing:-0.01em;--e-global-typography-text-font-family:"Outfit";--e-global-typography-text-font-size:17px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.65em;--e-global-typography-accent-font-family:"Outfit";--e-global-typography-accent-font-size:20px;--e-global-typography-accent-font-weight:600;--e-global-typography-accent-line-height:1em;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-5{--e-global-typography-primary-font-size:32px;--e-global-typography-secondary-font-size:24px;--e-global-typography-text-font-size:16px;--e-global-typography-accent-font-size:18px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-5{--e-global-typography-text-font-size:16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ============================================================
   EXISTING SITE CSS - preserved from the Custom CSS field
   Found in Elementor Kit 5 on 2026-08-30. Do not delete:
   it styles every <hr> on the site as a narrow centered divider.
   ============================================================ */
hr {
    width: 40%!important;
    margin: 40px auto!important;
    height: 1px;
    background-color: #97B5C2!important;
    border: none!important;
    border-radius: 5px;
}

/* ============================================================
   ParentLink homepage refresh - 2026-08-30
   Paired with CSS classes set in Elementor:
   .pl-hero .pl-badges .pl-trust .pl-btn-primary .pl-btn-secondary
   ============================================================ */

:root{
  --pl-ink:        #131822;
  --pl-navy:       #323F59;
  --pl-coral:      #FF6A6E;
  --pl-coral-dark: #CC565A;
  --pl-mist:       #F4F7F9;
  --pl-radius:     16px;
  --pl-shadow:     0 1px 2px rgba(19,24,34,.04), 0 8px 24px rgba(19,24,34,.06);
  --pl-shadow-lift:0 2px 4px rgba(19,24,34,.05), 0 16px 40px rgba(19,24,34,.10);
}

/* --- 1. Reading measure -------------------------------------- */
.elementor-widget-text-editor p{ max-width: 68ch; }
.elementor-widget-text-editor.pl-center p{ margin-inline: auto; }

/* --- 2. Buttons ---------------------------------------------- */
.elementor-button{
  border-radius: 999px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  padding: 16px 32px;
  transition: transform .18s ease-out, box-shadow .18s ease-out,
              background-color .18s ease-out;
  will-change: transform;
}
.elementor-button:hover{
  transform: translateY(-2px);
  box-shadow: var(--pl-shadow-lift);
}
.pl-btn-primary .elementor-button{
  background: var(--pl-coral);
  color: #fff;
  box-shadow: 0 4px 14px rgba(255,106,110,.35);
}
.pl-btn-primary .elementor-button:hover{ background: var(--pl-coral-dark); }
.pl-btn-secondary .elementor-button{
  background: transparent;
  color: #fff;
  border: 1.5px solid rgba(255,255,255,.55);
  box-shadow: none;
}
.pl-btn-secondary .elementor-button:hover{
  background: rgba(255,255,255,.12);
  border-color: #fff;
}

/* --- 3. Hero ------------------------------------------------- */
.pl-hero{ position: relative; }
.pl-hero::after{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,
              rgba(19,24,34,.55) 0%,
              rgba(19,24,34,.30) 45%,
              rgba(19,24,34,.70) 100%);
  pointer-events: none;
  z-index: 0;
}
.pl-hero > *{ position: relative; z-index: 1; }
.pl-hero h1{
  text-shadow: 0 2px 24px rgba(0,0,0,.35);
  max-width: 16ch;
  margin-inline: auto;
}
.pl-hero p{
  font-size: 19px;
  line-height: 1.6;
  max-width: 52ch;
  margin-inline: auto;
  text-shadow: 0 1px 12px rgba(0,0,0,.4);
}

/* --- 4. Store badges ----------------------------------------- */
.pl-badges{ scroll-margin-top: 96px; }
.pl-badges img{
  height: 52px;
  width: auto;
  transition: transform .18s ease-out, opacity .18s ease-out;
}
.pl-badges img:hover{ transform: translateY(-2px); opacity: .9; }

/* --- 5. Trust strip ------------------------------------------ */
.pl-trust p{
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: .01em;
  color: rgba(255,255,255,.82);
  max-width: 46ch;
  margin-inline: auto;
}

/* --- 6. Cards ------------------------------------------------ */
/* This page builds its cards from plain containers, not image-box
   widgets, so the class .pl-card must be added by hand to each of
   the three feature containers (see step D5). */
.pl-card{
  border-radius: var(--pl-radius);
  box-shadow: var(--pl-shadow);
  overflow: hidden;
  background: #fff;
  transition: transform .2s ease-out, box-shadow .2s ease-out;
}
.pl-card:hover{
  transform: translateY(-4px);
  box-shadow: var(--pl-shadow-lift);
}
.pl-card img{ display: block; width: 100%; height: auto; }
.pl-card h2, .pl-card h3{ margin-top: 20px; }

/* Checklist rows read better with a little air */
.elementor-widget-icon-list .elementor-icon-list-item{ margin-bottom: 10px; }
.elementor-widget-icon-list .elementor-icon-list-text{ line-height: 1.5; }

/* --- 7. Sticky header ---------------------------------------- */
.elementor-sticky--effects{
  background: rgba(255,255,255,.88) !important;
  backdrop-filter: saturate(180%) blur(14px);
  -webkit-backdrop-filter: saturate(180%) blur(14px);
  box-shadow: 0 1px 0 rgba(19,24,34,.07);
  transition: background .2s ease-out, box-shadow .2s ease-out;
}

/* --- 8. Vertical rhythm on mobile ---------------------------- */
@media (max-width: 767px){
  .e-con, .elementor-top-section{ padding-block: 48px; }
  .pl-hero{ padding-block: 72px; }
  .pl-hero h1{ font-size: 34px; max-width: 14ch; }
  .pl-badges img{ height: 46px; }
}

/* --- 9. Respect reduced motion ------------------------------- */
@media (prefers-reduced-motion: reduce){
  .elementor-button,
  .elementor-widget-image-box .elementor-image-box-wrapper,
  .elementor-widget-icon-box  .elementor-icon-box-wrapper,
  .pl-badges img{ transition: none; }
  .elementor-button:hover,
  .pl-badges img:hover{ transform: none; }
}

/* --- 2b. Button override (added 2026-08-30) ------------------
   Elementor writes per-widget button styles that outrank the
   rules above, so these need !important to land.
   ------------------------------------------------------------ */
.elementor-button{
  border-radius: 999px !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.pl-btn-primary .elementor-button,
.pl-btn-secondary .elementor-button{
  padding: 16px 32px !important;
}
.pl-btn-primary .elementor-button{
  background: var(--pl-coral) !important;
  color: #fff !important;
}
.pl-btn-secondary .elementor-button{
  background: transparent !important;
  color: #fff !important;
  border: 1.5px solid rgba(255,255,255,.55) !important;
}

/* --- 1b. Revert reading measure (added 2026-08-30) -----------
   The 68ch cap in block 1 narrows text blocks without
   re-centering them, which knocks centered sections
   out of alignment. Neutralized.
   ------------------------------------------------------------ */
.elementor-widget-text-editor p{ max-width: none; }/* End custom CSS */