.elementor-151 .elementor-element.elementor-element-p151s02{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-151 .elementor-element.elementor-element-p151s03{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-151 .elementor-element.elementor-element-p151s04{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-151 .elementor-element.elementor-element-p151s05{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-151 .elementor-element.elementor-element-p151s06{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-151 .elementor-element.elementor-element-p151s07{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-151 .elementor-element.elementor-element-p151s08{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-151 .elementor-element.elementor-element-p151s09{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-151 .elementor-element.elementor-element-p151s10{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-151 .elementor-element.elementor-element-p151s11{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-151 .elementor-element.elementor-element-p151s12{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS *//* ============================================================
   PLATFORM PAGE — master.css
   Accumulates section by section, in page order, same pattern
   as the homepage's master.css. Clean CSS only — !important
   added only where a confirmed collision with Elementor's Global
   Kit h1-h6/a rules exists, not applied blanket.
   ============================================================ */


/* ============================================================
   SECTION: Hero (eyebrow + H1 + subhead + provenance + CTAs + media)
   ============================================================
   Two-column layout, matching the homepage's .pf-wrap conventions
   exactly: max-width 1180px, 88px/32px padding, 56px-class gap,
   single collapse breakpoint (860px) rather than an extra tablet
   step. Background (#EEF1F4 / pl_mist) set on the outer section.
   ============================================================ */

.pl-platform-hero{
  background:#FFFFFF;
  padding:88px 32px;
  box-sizing:border-box;
}

.pl-platform-hero__inner{
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:0.95fr 1.05fr;
  gap:40px;
  align-items:center;
  text-align:left;
}

.pl-platform-hero__eyebrow{
  display:block;
  font-family:var(--e-global-typography-secondary-font-family, 'Manrope'), Arial, sans-serif;
  font-weight:800;
  font-size:13px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--e-global-color-accent, #0E7C86);
  margin:0 0 20px;
}

.pl-platform-hero__headline{
  font-family:'Manrope', Arial, sans-serif;
  font-weight:800;
  font-size:44px !important;
  line-height:1.14;
  color:var(--e-global-color-9524497, #2D3042);
  margin:0 0 20px;
  letter-spacing:-0.01em;
}

.pl-platform-hero__sub{
  font-family:'Inter', Arial, sans-serif;
  font-weight:400;
  font-size:16px;
  line-height:1.6;
  color:#2D3042E3;
  margin:0 0 20px;
}

.pl-platform-hero__provenance{
  font-family:'Inter', Arial, sans-serif;
  font-weight:500;
  font-size:14px;
  line-height:1.6;
  color:var(--e-global-color-pl_muted, #8A8D9B);
  margin:0 0 32px;
}

.pl-platform-hero__ctas{
  display:flex;
  gap:14px;
  justify-content:flex-start;
  flex-wrap:wrap;
}

/* ---- Workflow flow (cascading collage, right column) ----
   Three mini UI fragments + a plain outcome badge, arranged as an
   overlapping, rotated cascade rather than a straight row -- a
   dotted SVG curve runs behind them instead of straight connector
   lines. Desktop/tablet only; collapses to the earlier straight
   stacked version on mobile, where absolute positioning and
   rotation stop being legible at narrow widths. Stagger-reveal
   reuses the exact mechanism as .prob-card. Labels are pulled from
   the comparison table in the "Built around behavioral health
   reimbursement" section, not literal product names -- this tells
   the workflow story, the bento section below tells the inventory
   story. */
.pl-flow{
  position:relative;
  width:100%;
  max-width:480px;
  height:520px;
  margin:0 auto;
}

.pl-flow-curve{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:0;
}
.pl-flow-curve path{
  fill:none;
  stroke:var(--e-global-color-pl_borderstrong, #CDD0D8);
  stroke-width:2;
  stroke-dasharray:1 8;
  stroke-linecap:round;
}

.pl-flow-stop{
  position:absolute;
  width:220px;
  opacity:0;
  transform:translateY(18px);
  transition:opacity .6s ease, transform .6s ease;
}
.pl-flow.pl-in-view .pl-flow-stop{ opacity:1; }
.pl-flow.pl-in-view .pl-flow-stop:nth-of-type(1){ transition-delay:0ms; transform:rotate(-5deg); }
.pl-flow.pl-in-view .pl-flow-stop:nth-of-type(2){ transition-delay:150ms; transform:rotate(4deg); }
.pl-flow.pl-in-view .pl-flow-stop:nth-of-type(3){ transition-delay:300ms; transform:rotate(-3deg); }
.pl-flow.pl-in-view .pl-flow-stop:nth-of-type(4){ transition-delay:450ms; transform:rotate(0deg); }

.pl-flow-stop:nth-of-type(1){ top:0;   left:0;   z-index:1; }
.pl-flow-stop:nth-of-type(2){ top:150px; left:230px; z-index:2; }
.pl-flow-stop:nth-of-type(3){ top:320px; left:20px;  z-index:3; width:210px; }
.pl-flow-stop:nth-of-type(4){ top:470px; left:300px; z-index:4; width:auto; }

.pl-flow-card{
  width:100%;
  background:#FFFFFF;
  border:1px solid var(--e-global-color-pl_border, #E2E4E9);
  border-radius:14px;
  padding:16px;
  box-shadow:0 24px 48px -16px rgba(45,48,66,.32);
  margin-bottom:12px;
}
.pl-flow-stop:nth-of-type(1) .pl-flow-card{ box-shadow:0 16px 32px -14px rgba(45,48,66,.22); }
.pl-flow-stop:nth-of-type(2) .pl-flow-card{ box-shadow:0 20px 40px -14px rgba(45,48,66,.26); }

.pl-flow-card__head{
  font-family:'Manrope', Arial, sans-serif;
  font-weight:800;
  font-size:10px;
  letter-spacing:0.04em;
  text-transform:uppercase;
  color:var(--e-global-color-pl_muted, #8A8D9B);
  margin:0 0 10px;
  text-align:left;
}

/* stop 1: mini eligibility form */
.pl-flow-fields{ display:flex; flex-direction:column; gap:6px; margin-bottom:10px; }
.pl-flow-field{ height:7px; border-radius:3px; background:var(--e-global-color-pl_mist, #EEF1F4); }
.pl-flow-field--short{ width:60%; }
.pl-flow-pill{
  display:inline-flex;
  align-items:center;
  gap:5px;
  font-family:'Inter', Arial, sans-serif;
  font-weight:700;
  font-size:11px;
  color:var(--e-global-color-accent, #0E7C86);
}
.pl-flow-pill::before{
  content:"";
  width:6px; height:6px; border-radius:50%;
  background:var(--e-global-color-accent, #0E7C86);
}

/* stop 2: rate-spread chip */
.pl-flow-rate{
  font-family:var(--e-global-typography-accent-font-family, 'Inter'), Arial, sans-serif;
  font-weight:800;
  font-size:18px;
  color:var(--e-global-color-9524497, #2D3042);
  text-align:left;
  margin:0 0 4px;
}
.pl-flow-rate span{ color:var(--e-global-color-accent, #0E7C86); }
.pl-flow-rate-sub{
  font-family:'Inter', Arial, sans-serif;
  font-size:11px;
  color:var(--e-global-color-pl_muted, #8A8D9B);
  text-align:left;
  margin:0;
}

/* stop 3: mini bar chart */
.pl-flow-bars{ display:flex; align-items:flex-end; gap:4px; height:34px; margin-bottom:10px; }
.pl-flow-bars i{ flex:1; background:var(--e-global-color-accent, #0E7C86); border-radius:2px 2px 0 0; display:block; }
.pl-flow-bars i:nth-child(2){ height:60%; }
.pl-flow-bars i:nth-child(1){ height:35%; }
.pl-flow-bars i:nth-child(3){ height:85%; }
.pl-flow-bars i:nth-child(4){ height:50%; }
.pl-flow-bars i:nth-child(5){ height:100%; background:var(--e-global-color-9524497, #2D3042); }
.pl-flow-ar{
  font-family:'Inter', Arial, sans-serif;
  font-weight:700;
  font-size:12.5px;
  color:var(--e-global-color-9524497, #2D3042);
  text-align:left;
  margin:0;
}

.pl-flow-label{
  font-family:'Manrope', Arial, sans-serif;
  font-weight:800;
  font-size:13.5px;
  color:var(--e-global-color-9524497, #2D3042);
  margin:0;
  text-align:left;
}

/* final stop: plain payoff, no card, no rotation (it is a circle) */
.pl-flow-stop--outcome{
  display:flex;
  align-items:center;
  gap:10px;
  background:#FFFFFF;
  border:1px solid var(--e-global-color-pl_border, #E2E4E9);
  border-radius:100px;
  padding:8px 18px 8px 8px;
  box-shadow:0 20px 40px -14px rgba(45,48,66,.28);
}
.pl-flow-stop--outcome .pl-flow-check{
  width:40px;
  height:40px;
  border-radius:50%;
  background:var(--e-global-color-pl_tealtint, #DCEEEF);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.pl-flow-stop--outcome .pl-flow-check svg{
  width:20px; height:20px;
  stroke:var(--e-global-color-accent, #0E7C86);
  fill:none;
  stroke-width:2.5;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.pl-flow-stop--outcome .pl-flow-label{ white-space:nowrap; }

@media(max-width:1080px){
  .pl-flow{ max-width:420px; height:460px; }
  .pl-flow-stop{ width:190px; }
  .pl-flow-stop:nth-of-type(1){ left:0; }
  .pl-flow-stop:nth-of-type(2){ top:130px; left:190px; }
  .pl-flow-stop:nth-of-type(3){ top:280px; left:10px; width:180px; }
  .pl-flow-stop:nth-of-type(4){ top:410px; left:220px; }
}

@media(max-width:860px){
  .pl-flow{ max-width:360px; margin-top:40px; }
}

@media(max-width:640px){
  .pl-flow{
    max-width:100%;
    height:auto;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:20px;
  }
  .pl-flow-curve{ display:none; }
  .pl-flow-stop{
    position:static;
    width:240px;
    max-width:100%;
    opacity:1;
    transform:none !important;
  }
  .pl-flow-stop--outcome{ align-self:center; }
}

@media(max-width:860px){
  .pl-platform-hero{ padding:64px 32px; }
  .pl-platform-hero__inner{
    grid-template-columns:1fr;
    gap:32px;
    text-align:center;
  }
  .pl-platform-hero__headline{ font-size:38px !important; }
  .pl-platform-hero__sub{ margin:0 auto 20px; }
  .pl-platform-hero__ctas{ justify-content:center; }
}

@media(max-width:640px){
  .pl-platform-hero{ padding:48px 20px; }
  .pl-platform-hero__headline{ font-size:30px !important; margin-bottom:16px; }
  .pl-platform-hero__ctas{ flex-direction:column; align-items:stretch; }
  .hero-btn{ width:auto; flex:1 1 auto; min-width:150px; }
}

@media(max-width:480px){
  .pl-platform-hero__headline{ font-size:26px !important; }
  .pl-platform-hero__ctas{ flex-direction:column; }
  .hero-btn{ width:100%; }
}

/* Button pair, copied in directly (not inherited from the homepage's
   master.css — confirmed each page's CSS is scoped separately in
   this Elementor setup, so shared classes have to be duplicated
   per page rather than assumed). Same values as the homepage's
   .hero-btn / .hero-btn-solid / .hero-btn-ghost. */
.hero-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:200px;
  padding:13px 20px !important;
  border-radius:8px;
  font-family:var(--e-global-typography-text-font-family, 'Inter'), Arial, sans-serif;
  font-weight:700 !important;
  font-size:14px;
  text-align:center;
  text-decoration:none;
  white-space:nowrap;
  transition:transform .15s ease, background-color .15s ease, border-color .15s ease, color .15s ease;
}
.hero-btn:hover{ transform:translateY(-1px); }
.hero-btn-solid{
  background:var(--e-global-color-accent, #0E7C86);
  color:#FFFFFF !important;
}
.hero-btn-solid:hover{
  background:var(--e-global-color-pl_tealhover, #0B6A72);
}
.hero-btn-ghost{
  background:transparent;
  border:2px solid var(--e-global-color-pl_borderstrong, #CDD0D8);
  color:var(--e-global-color-9524497, #2D3042) !important;
}
.hero-btn-ghost:hover{
  border-color:var(--e-global-color-9524497, #2D3042);
}


/* ============================================================
   NEXT SECTION GOES HERE — this file grows top-to-bottom
   in the same order the sections appear on the page.
   ============================================================ *//* End custom CSS */