.elementor-7382 .elementor-element.elementor-element-a2079ee{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-7382 .elementor-element.elementor-element-f00272a{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-7382 .elementor-element.elementor-element-0b77b54{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-7382 .elementor-element.elementor-element-2073303{--display:flex;}.elementor-7382 .elementor-element.elementor-element-d6189b8{--display:flex;}.elementor-7382 .elementor-element.elementor-element-12cebf5{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-start;--flex-wrap:wrap;}.elementor-7382 .elementor-element.elementor-element-1a82a63{--display:flex;}.elementor-7382 .elementor-element.elementor-element-1a82a63.e-con{--flex-grow:0;--flex-shrink:1;}.elementor-7382 .elementor-element.elementor-element-f770cf2{--display:flex;}@media(min-width:768px){.elementor-7382 .elementor-element.elementor-element-2073303{--width:50%;}.elementor-7382 .elementor-element.elementor-element-1a82a63{--width:50%;}}@media(max-width:1024px){.elementor-7382 .elementor-element.elementor-element-2073303.e-con{--align-self:center;}}@media(max-width:767px){.elementor-7382 .elementor-element.elementor-element-8d975f5{text-align:center;}.elementor-7382 .elementor-element.elementor-element-8d975f5 .elementor-heading-title{font-size:30px;}.elementor-7382 .elementor-element.elementor-element-6cf9edf{text-align:center;}.elementor-7382 .elementor-element.elementor-element-9065b7e{text-align:center;}}/* Start custom CSS for container, class: .elementor-element-a2079ee *//* =========================================================
   ST01 — Premium Full-Bleed Hero (Edge-to-screen + 2-col always)
   Requires your classes:
   Outer:   .ss-st01.ss-st01--bleed
   Inner:   .ss-st01__inner.ss-inner
   Layout:  .ss-st01__layout
   Left:    .ss-st01__content
   CTAs:    .ss-st01__ctas
   Right:   .ss-st01__media
   Card:    .ss-st01__mediaCard
   Image:   .ss-st01__heroImage
   Caption: .ss-st01__heroCaption
   ========================================================= */

/* ---------- 1) FULL BLEED (break out of boxed templates) ---------- */
.ss-st01.ss-st01--bleed{
  position: relative;
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  /* neutralize .ss-section padding so inner controls spacing */
  padding: 0 !important;

  overflow-x: hidden; /* fallback */
  overflow-x: clip;
}

/* Kill Elementor max-width wrappers inside this section */
.ss-st01.ss-st01--bleed &gt; .e-con-inner,
.ss-st01.ss-st01--bleed .e-con-inner,
.ss-st01.ss-st01--bleed .elementor-container{
  max-width: none !important;
  width: 100% !important;
}

/* ---------- 2) LUXE BACKGROUND BAND (subtle, not pastel) ---------- */
.ss-st01.ss-st01--bleed{
  border-block: 1px solid rgba(26,26,26,.08);
  background:
    radial-gradient(1200px 520px at 18% 22%, rgba(255,44,86,.06), transparent 62%),
    radial-gradient(1200px 520px at 82% 26%, rgba(133,191,214,.06), transparent 64%),
    linear-gradient(180deg, rgba(26,26,26,.02), transparent 38%),
    var(--ss-surface);
}

/* Optional ultra-fine finish texture (very light) */
.ss-st01.ss-st01--bleed::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    repeating-linear-gradient(
      135deg,
      rgba(26,26,26,.010) 0px,
      rgba(26,26,26,.010) 1px,
      transparent 1px,
      transparent 12px
    );
  opacity:.35;
}

/* ---------- 3) INNER SPACING (ss-inner stays luxe + centered) ---------- */
.ss-st01 .ss-st01__inner{
  position: relative;
  z-index: 1;

  /* ss-inner already handles max-width + centering :contentReference[oaicite:1]{index=1} */
  padding-inline: var(--ss-gutter);
  padding-block: var(--ss-section-pad-y);
}

/* ---------- 4) 2-COLUMN LAYOUT (NEVER stacks) ---------- */
.ss-st01 .ss-st01__layout{
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 42%);
  align-items: center !important;
  gap: clamp(14px, 3vw, 56px) !important;
  width: 100% !important;
}

/* Small screens: still side-by-side, just tighter */
@media (max-width: 767px){
  .ss-st01 .ss-st01__layout{
    grid-template-columns: minmax(0, 1fr) minmax(170px, 38%);
    align-items: start !important;
    gap: 14px !important;
  }
}

/* ---------- 5) LEFT COLUMN (override global “center everything”) ---------- */
.ss-st01 .ss-st01__content{
  text-align: left !important;
}

/* Your system centers .ss-stack/.ss-row by default :contentReference[oaicite:2]{index=2} — override in ST01 only */
.ss-st01 .ss-st01__content,
.ss-st01 .ss-st01__content.ss-stack,
.ss-st01 .ss-st01__content .ss-stack,
.ss-st01 .ss-st01__content .ss-row{
  align-items: flex-start !important;
  justify-content: flex-start !important;
  text-align: left !important;
}

/* Headline rhythm (less “compact tower”) */
.ss-st01 .ss-st01__headline{
  max-width: 22ch;
  font-size: clamp(2.05rem, 1.55rem + 2.1vw, 3.2rem);
  line-height: var(--ss-lh-snug);
}

.ss-st01 .ss-st01__subhead{
  max-width: 56ch;
}

/* ---------- 6) BULLETS (premium checks, clean spacing) ---------- */
.ss-st01 .ss-st01__bullets ul{
  list-style: none !important;
  margin: .6rem 0 0 !important;
  padding: 0 !important;

  display: grid;
  gap: .65rem;

  max-width: 56ch;
}

.ss-st01 .ss-st01__bullets li{
  margin: 0 !important;
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  line-height: var(--ss-lh-body);
}

/* Kill WYSIWYG <p> spacing inside li */
.ss-st01 .ss-st01__bullets li p{ margin: 0 !important; }

.ss-st01 .ss-st01__bullets li::before{
  content:"✓";
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 1.25rem;

  display: grid;
  place-items: center;

  border-radius: var(--ss-r-pill);
  background: rgba(255,44,86,.10);
  border: 1px solid rgba(255,44,86,.20);
  color: var(--ss-pink);

  font-weight: 900;
  font-size: .78rem;
  line-height: 1;
  margin-top: .10rem;
}

/* ---------- 7) CTAs (premium hierarchy) ---------- */
.ss-st01 .ss-st01__ctas{
  margin-top: .95rem !important;

  /* two strong CTAs, then tertiary de-emphasized */
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: var(--ss-gap-3) !important;

  align-items: center !important;
  justify-content: start !important;

  max-width: 520px;
}

/* Buttons fill their grid cell */
.ss-st01 .ss-st01__ctas .elementor-button{
  width: 100% !important;
}

/* Tertiary becomes a luxe text-action (not a 3rd competing pill) */
.ss-st01 .ss-st01__ctas .elementor-widget-button.ss-st01__cta-tertiary{
  grid-column: 1 / -1 !important;
  justify-self: start !important;
}

.ss-st01 .ss-st01__ctas .elementor-widget-button.ss-st01__cta-tertiary .elementor-button{
  width: auto !important;
  height: auto !important;
  padding: 0 !important;

  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;

  color: var(--ss-ink-soft) !important;
  text-decoration: underline !important;
  text-decoration-color: rgba(255,44,86,.35) !important;
  text-underline-offset: 5px !important;
}

/* Mobile: stack CTAs for clarity */
@media (max-width: 520px){
  .ss-st01 .ss-st01__ctas{
    grid-template-columns: 1fr !important;
    max-width: 360px;
  }
}

/* Trustline stays left + spaced nicely */
.ss-st01 .ss-st01__trustline{
  margin-top: .9rem !important;
}

/* ---------- 8) RIGHT COLUMN (media looks editorial, not “sandbox”) ---------- */
.ss-st01 .ss-st01__media{
  width: 100%;
  max-width: 720px;
}

/* Override global .ss-card centering for this card only :contentReference[oaicite:3]{index=3} */
.ss-st01 .ss-st01__mediaCard{
  align-items: stretch !important;
  justify-content: flex-start !important;
  text-align: center !important;

  padding: clamp(14px, 1.1vw, 22px) !important;
  border-radius: var(--ss-card-radius) !important;

  background: linear-gradient(135deg, rgba(255,255,255,.86), rgba(255,255,255,.62)) !important;
  border: 1px solid rgba(26,26,26,.12) !important;
  box-shadow: var(--ss-shadow-md) !important;
}

/* Hero image fills card and feels “hero” */
.ss-st01 .ss-st01__heroImage img{
  width: 100% !important;
  display: block !important;

  border-radius: var(--ss-r-md) !important;

  aspect-ratio: 3 / 2;          /* editorial */
  object-fit: cover;
  object-position: center;

  box-shadow: 0 12px 30px rgba(26,26,26,.10);
}

/* Caption: quiet, luxe label */
.ss-st01 .ss-st01__heroCaption{
  margin-top: .75rem !important;
  font-size: var(--ss-fs-xs);
  letter-spacing: .10em;
  text-transform: uppercase;
  color: var(--ss-muted-2);
}
/* =========================================================
   ST01 — Desktop-only width rules + tablet/mobile custom
   ========================================================= */

/* ---------------------------
   Base (mobile-first): tablet &amp; down defaults
   - Inner/layout use full available width
   - Columns stack (no cramped 50/50)
   --------------------------- */

.ss-st01 .ss-inner.ss-st01__inner,
.ss-st01 .ss-st01__layout{
  width: 100% !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Tablet &amp; down: stack for a luxe, breathable hero */
.ss-st01 .ss-st01__layout{
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 18px !important;
}

.ss-st01 .ss-st01__content.ss-stack,
.ss-st01 .ss-st01__media{
  width: 100% !important;
  max-width: 680px !important; /* keeps it premium, not stretched */
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ---------------------------
   Tablet (optional): if you want side-by-side on tablet ONLY
   - Uncomment this block if desired
   --------------------------- */
/*
@media (min-width: 768px) and (max-width: 1024px){
  .ss-st01 .ss-inner.ss-st01__inner,
  .ss-st01 .ss-st01__layout{
    width: 94% !important;
  }

  .ss-st01 .ss-st01__layout{
    flex-direction: row !important;
    align-items: center !important;
    gap: clamp(14px, 2.5vw, 32px) !important;
  }

  .ss-st01 .ss-st01__content.ss-stack{
    width: calc(58% - (clamp(14px, 2.5vw, 32px) / 2)) !important;
    max-width: none !important;
  }

  .ss-st01 .ss-st01__media{
    width: calc(42% - (clamp(14px, 2.5vw, 32px) / 2)) !important;
    max-width: none !important;
  }
}
*/

/* ---------------------------
   Desktop (large screens only): YOUR requested rules
   - Inner/layout 90% centered
   - Left/right 50% centered, side-by-side
   --------------------------- */

@media (min-width: 1025px){
  .ss-st01 .ss-inner.ss-st01__inner,
  .ss-st01 .ss-st01__layout{
    width: 90% !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .ss-st01 .ss-st01__layout{
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: clamp(16px, 3vw, 56px) !important;
  }

  /* Use calc so 50/50 + gap never overflows */
  .ss-st01 .ss-st01__content.ss-stack,
  .ss-st01 .ss-st01__media{
    width: calc(50% - (clamp(16px, 3vw, 56px) / 2)) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    min-width: 0 !important;
  }
}
/* ST01 — Mobile: center CTA container */
@media (max-width: 767px){
  .ss-st01 .ss-st01__ctas.ss-row{
    justify-content: center !important;
    align-items: center !important;
    margin-inline: auto !important;
    text-align: center !important;
  }

  /* If the row is still behaving like a block, force it */
  .ss-st01 .ss-st01__ctas.ss-row{
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
  }
}
/* ST01 — Center CTAs on tablet + mobile */
@media (max-width: 1024px){
  .ss-st01 .ss-st01__ctas.ss-row{
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;

    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;

    flex-wrap: wrap !important;
    gap: 12px 14px !important;
  }

  /* Make sure each Button widget doesn't “push” alignment */
  .ss-st01 .ss-st01__ctas.ss-row .elementor-widget-button{
    margin: 0 !important;
  }
}/* ST01 — Tablet+Desktop: bullets in ONE line + responsive text */
@media (min-width: 768px){

  /* Responsive bullet font sizing (inherits into li) */
  .ss-st01 .ss-st01__bullets.ss-prose{
    font-size: clamp(.92rem, .84rem + .25vw, 1.06rem) !important;
  }

  /* Force the list into a single row */
  .ss-st01 .ss-st01__bullets ul{
    display: flex !important;
    flex-wrap: nowrap !important;          /* ONE line */
    align-items: center !important;
    justify-content: flex-start !important;

    width: 100% !important;
    max-width: none !important;

    gap: .55rem 1.1rem !important;
    margin: .6rem 0 0 !important;
    padding: 0 !important;
  }

  /* Each bullet stays on one line */
  .ss-st01 .ss-st01__bullets li{
    display: inline-flex !important;
    align-items: center !important;
    gap: .55rem !important;

    white-space: nowrap !important;        /* no wrapping inside item */
    margin: 0 !important;
    line-height: 1.25 !important;

    padding-right: 1.1rem !important;
    border-right: 1px solid rgba(26,26,26,.14) !important;
  }

  .ss-st01 .ss-st01__bullets li:last-child{
    padding-right: 0 !important;
    border-right: 0 !important;
  }

  /* Ensure WYSIWYG doesn't add spacing */
  .ss-st01 .ss-st01__bullets li p{ margin: 0 !important; }

  /* Checkmark alignment for inline row */
  .ss-st01 .ss-st01__bullets li::before{
    margin-top: 0 !important;
  }
}
/* ST01 — Layout wrapper should be full width */
.ss-st01 .ss-st01__layout{
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
/* ST01 — CTAs container full width (all breakpoints) */
.ss-st01 .ss-st01__ctas.ss-row{
  width: 100% !important;
  max-width: none !important;
  margin-inline: auto !important;
}
/* ST01 — Bullets: wrap intelligently (no off-screen overflow) */
.ss-st01 .ss-st01__bullets.ss-prose ul{
  list-style: none !important;
  margin: .6rem 0 0 !important;
  padding: 0 !important;

  display: flex !important;
  flex-wrap: wrap !important;              /* key: allow wrapping */
  row-gap: .55rem !important;
  column-gap: 1.05rem !important;

  max-width: 100% !important;
  width: 100% !important;
  overflow: hidden;
}

/* Each bullet stays intact; the LIST wraps between bullets */
.ss-st01 .ss-st01__bullets.ss-prose li{
  display: inline-flex !important;
  align-items: center !important;
  gap: .55rem !important;

  white-space: nowrap !important;          /* keeps each bullet on one line */
  min-width: 0 !important;
  margin: 0 !important;
  line-height: 1.25 !important;

  /* remove “divider” borders that look weird when wrapping */
  border-right: 0 !important;
  padding-right: 0 !important;
}

/* Kill WYSIWYG <p> spacing */
.ss-st01 .ss-st01__bullets.ss-prose li p{ margin: 0 !important; }

/* Desktop/tablet sizing: responsive, but never causes overflow */
@media (min-width: 768px){
  .ss-st01 .ss-st01__bullets.ss-prose{
    font-size: clamp(.92rem, .84rem + .25vw, 1.06rem) !important;
  }
}

/* Mobile: center the wrapped lines so it looks intentional */
@media (max-width: 767px){
  .ss-st01 .ss-st01__bullets.ss-prose ul{
    justify-content: center !important;
  }
}
/* ST01 — Center the bullets container + its contents */
.ss-st01 .ss-st01__bullets.ss-prose{
  display: flex !important;
  justify-content: center !important;  /* centers the UL as a group */
  align-items: center !important;      /* vertical center of the block */
  width: 100% !important;
  text-align: center !important;
}

/* Center the bullets themselves */
.ss-st01 .ss-st01__bullets.ss-prose ul{
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;  /* center each wrapped line */
  align-items: center !important;

  width: fit-content !important;       /* makes the group center cleanly */
  max-width: 100% !important;

  margin: .6rem auto 0 !important;
  padding: 0 !important;

  gap: .55rem 1.05rem !important;
}

/* Each bullet: vertically centered check + text */
.ss-st01 .ss-st01__bullets.ss-prose li{
  display: inline-flex !important;
  align-items: center !important;      /* vertical alignment */
  justify-content: center !important;
  white-space: nowrap !important;
  margin: 0 !important;
}

/* Clean WYSIWYG spacing */
.ss-st01 .ss-st01__bullets.ss-prose li p{ margin: 0 !important; }

/* =========================================================
   ST01 — Desktop symmetry &amp; crisp alignment
   (does not change tablet/mobile)
   ========================================================= */

@media (min-width: 1025px){

  /* 1) Make the 2 columns truly balanced */
  .ss-st01 .ss-st01__layout{
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;  /* true 50/50 */
    align-items: center !important;
    gap: clamp(28px, 3vw, 64px) !important;
    width: 100% !important;
  }

  /* 2) Give each column the same internal “content rail” */
  .ss-st01 .ss-st01__content.ss-stack,
  .ss-st01 .ss-st01__media{
    max-width: 640px !important;   /* keeps both sides feeling equal */
    width: 100% !important;
    margin-inline: auto !important;
  }

  /* 3) Center-align the left column as one cohesive block */
  .ss-st01 .ss-st01__content{
    text-align: center !important;
    align-items: center !important;
  }

  /* 4) Bullets: center the group, wrap cleanly, consistent spacing */
  .ss-st01 .ss-st01__bullets.ss-prose{
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
  }
  .ss-st01 .ss-st01__bullets.ss-prose ul{
    width: fit-content !important;
    max-width: 100% !important;
    justify-content: center !important;
    align-items: center !important;
    gap: .55rem 1.15rem !important;
  }

  /* 5) CTAs: keep the whole group centered &amp; symmetrical */
  .ss-st01 .ss-st01__ctas.ss-row{
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 220px)) !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 14px 16px !important;
    margin-inline: auto !important;
  }

  /* Call as centered text action under both buttons */
  .ss-st01 .ss-st01__ctas .elementor-widget-button.ss-st01__cta-tertiary{
    grid-column: 1 / -1 !important;
    justify-self: center !important;
  }

  /* 6) Trustline: center and lock width so it aligns with CTAs */
  .ss-st01 .ss-st01__trustline{
    width: 100% !important;
    text-align: center !important;
    margin-inline: auto !important;
  }

  /* 7) Right media card: stop it from “sprawling” too wide */
  .ss-st01 .ss-st01__mediaCard{
    max-width: 640px !important;
    margin-inline: auto !important;
  }

  .ss-st01 .ss-st01__heroImage img{
    aspect-ratio: 16 / 10 !important; /* consistent editorial crop */
  }
}
/* ST01 — Hero image: show FULL image, natural height */
.ss-st01 .ss-st01__heroImage img{
  width: 100% !important;
  height: auto !important;
  aspect-ratio: auto !important;
  object-fit: contain !important; /* harmless here, but fine */
}/* End custom CSS */