.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-2367 .elementor-element.elementor-element-5c7b5fa .elementor-button{background-color:#FAF9F7;font-family:"Figtree", Sans-serif;font-size:15px;font-weight:700;fill:#0B0B0C;color:#0B0B0C;border-radius:999px 999px 999px 999px;padding:15px 26px 15px 26px;}.elementor-2367 .elementor-element.elementor-element-f6728cb .elementor-button{background-color:#00000000;font-family:"Figtree", Sans-serif;font-size:15px;font-weight:700;fill:#FAF9F7;color:#FAF9F7;border-style:solid;border-width:1px 1px 1px 1px;border-color:rgba(250,249,247,.19);border-radius:999px 999px 999px 999px;padding:15px 26px 15px 26px;}.elementor-2367 .elementor-element.elementor-element-42b7f03 .elementor-button{background-color:#FAF9F7;font-family:"Figtree", Sans-serif;font-size:15px;font-weight:700;fill:#0B0B0C;color:#0B0B0C;border-radius:999px 999px 999px 999px;padding:15px 26px 15px 26px;}.elementor-2367 .elementor-element.elementor-element-a930202 .elementor-button{background-color:#00000000;font-family:"Figtree", Sans-serif;font-size:15px;font-weight:700;fill:#FAF9F7;color:#FAF9F7;border-style:solid;border-width:1px 1px 1px 1px;border-color:rgba(250,249,247,.19);border-radius:999px 999px 999px 999px;padding:15px 26px 15px 26px;}/* Start custom CSS *//* Elementor's atomic base sets display:flex, flex-direction:row and padding:10px on every
   flexbox at (0,2,0) from a stylesheet that loads after this one. Everything below is written at
   (0,3,0) by doubling the moha class so it wins regardless of order. This first rule undoes the
   base padding; the specific rules that follow put back whatever padding each block wants. */
.elementor [class*="moha-sp-"][class*="moha-sp-"]{ padding:0; }

/* Moha service pages, shared design system.
   Everything is scoped under .moha-sp so nothing here can collide with Kadence or Elementor.
   This block exists because Elementor silently drops border-radius, flex-basis and flex-grow
   from atomic widget style props; the widgets carry content, this carries layout. */

.elementor .moha-sp-sec.moha-sp-sec, .elementor .moha-sp-hero.moha-sp-hero{
  --sp-ground:#0B0B0C; --sp-raised:#131315; --sp-sunken:#080809;
  --sp-paper:#FAF9F7; --sp-body:#C4C1BC; --sp-muted:#8A8884; --sp-dim:#6A6864;
  --sp-line:rgba(250,249,247,.10); --sp-line2:rgba(250,249,247,.19);
  --sp-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
}

/* ---- section frame ---- */
.elementor .moha-sp-sec.moha-sp-sec{
  background:var(--sp-ground); color:var(--sp-body);
  padding-block:clamp(64px,8vw,116px); padding-inline:clamp(20px,5vw,60px);
  border-top:1px solid var(--sp-line); width:100%;
  display:flex; flex-direction:column; align-items:stretch;
}
.elementor .moha-sp-sunk.moha-sp-sunk{ background:var(--sp-sunken); }
.elementor .moha-sp-hero.moha-sp-hero{ border-top:0; padding-block:clamp(52px,7vw,88px); }
.elementor .moha-sp-shell.moha-sp-shell{ max-width:1180px; margin-inline:auto; width:100%; }
.elementor .moha-sp-stack.moha-sp-stack{ display:flex; flex-direction:column; gap:clamp(22px,3vw,34px); }
.elementor .moha-sp-head.moha-sp-head{ display:flex; flex-direction:column; gap:10px; }

/* ---- type ---- */
.elementor .moha-sp-sec.moha-sp-sec h1, .elementor .moha-sp-sec.moha-sp-sec h2, .elementor .moha-sp-sec.moha-sp-sec h3, .elementor .moha-sp-sec.moha-sp-sec h4{
  color:var(--sp-paper); font-weight:800; line-height:1.1; text-wrap:balance; margin:0;
}
.elementor .moha-sp-h1.moha-sp-h1{ font-size:clamp(40px,6vw,74px); letter-spacing:-.038em; font-weight:900; line-height:1.03; }
.elementor .moha-sp-h2.moha-sp-h2{ font-size:clamp(29px,3.9vw,46px); letter-spacing:-.028em; }
.elementor .moha-sp-h3.moha-sp-h3{ font-size:clamp(19px,2vw,23px); letter-spacing:-.013em; font-weight:700; }
.elementor .moha-sp-sec.moha-sp-sec p{ margin:0; color:var(--sp-body); line-height:1.65; font-size:17px; }
.elementor .moha-sp-lede.moha-sp-lede{ font-size:clamp(17px,1.55vw,19.5px); max-width:66ch; }
.elementor .moha-sp-prose.moha-sp-prose{ max-width:66ch; }

.elementor .moha-sp-eyebrow.moha-sp-eyebrow p, .elementor p.moha-sp-eyebrow.moha-sp-eyebrow, .elementor .moha-sp-eyebrow.moha-sp-eyebrow{
  font-family:var(--sp-mono); font-size:11px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--sp-muted); display:flex; align-items:center; gap:11px; font-weight:500;
}
.elementor .moha-sp-eyebrow.moha-sp-eyebrow::before{ content:""; width:24px; height:1px; background:var(--sp-line2); flex:none; }
.elementor .moha-sp-eyebrow.moha-sp-eyebrow strong{ font-weight:500; }

/* ---- buttons ---- */
.elementor .moha-sp-btnrow.moha-sp-btnrow{ display:flex; flex-wrap:wrap; gap:12px; }
.elementor .moha-sp-sec.moha-sp-sec .elementor-button{ transition:transform .18s ease; }
.elementor .moha-sp-sec.moha-sp-sec .elementor-button:hover{ transform:translateY(-2px); }

/* ---- hero ---- */
.elementor .moha-sp-hero-grid.moha-sp-hero-grid{
  display:grid; grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);
  gap:clamp(26px,4.5vw,60px); align-items:end;
}
.elementor .moha-sp-hero-copy.moha-sp-hero-copy{ display:flex; flex-direction:column; gap:20px; }
.elementor .moha-sp-hero-media.moha-sp-hero-media{ position:relative; }
.elementor .moha-sp-trust.moha-sp-trust{ font-size:14px; color:var(--sp-muted); }

.elementor img.moha-sp-shot.moha-sp-shot, .elementor .moha-sp-shot.moha-sp-shot img{
  display:block; width:100%; height:100%; object-fit:cover; border-radius:16px;
  border:1px solid var(--sp-line); filter:grayscale(1) contrast(1.07) brightness(.86);
}
.elementor .moha-sp-hero-media.moha-sp-hero-media img.moha-sp-shot{ aspect-ratio:4/5; }

.elementor .moha-sp-formcard.moha-sp-formcard{
  display:flex; flex-direction:column; gap:12px;
  background:rgba(19,19,21,.94); border:1px solid var(--sp-line2); border-radius:16px;
  padding:clamp(20px,2.4vw,26px); backdrop-filter:blur(14px);
}
.elementor .moha-sp-formtitle.moha-sp-formtitle{ font-size:20px !important; letter-spacing:-.014em; }
.elementor .moha-sp-formnote.moha-sp-formnote{ font-size:14.5px; color:var(--sp-muted); }
.elementor .moha-sp-pill.moha-sp-pill{
  align-self:flex-start; font-family:var(--sp-mono); font-size:10px; letter-spacing:.17em;
  text-transform:uppercase; color:var(--sp-ground); background:var(--sp-paper);
  padding:4px 9px; border-radius:999px;
}
.elementor .moha-sp-pill.moha-sp-pill strong{ font-weight:500; }
@media (min-width:941px){
.elementor .moha-sp-formcard.moha-sp-formcard{ position:absolute; left:-52px; bottom:-28px; width:min(360px,88%); }
}
@media (max-width:940px){
.elementor .moha-sp-hero-grid.moha-sp-hero-grid{ grid-template-columns:1fr; }
.elementor .moha-sp-hero-media.moha-sp-hero-media img.moha-sp-shot{ aspect-ratio:16/10; }
.elementor .moha-sp-formcard.moha-sp-formcard{ margin-top:18px; }
}

/* ---- stat band ---- */
.elementor .moha-sp-statband.moha-sp-statband{ padding-block:0; border-top:1px solid var(--sp-line); }
.elementor .moha-sp-stats.moha-sp-stats{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px;
  background:var(--sp-line); width:100%;
}
.elementor .moha-sp-stats3.moha-sp-stats3{ grid-template-columns:repeat(3,minmax(0,1fr));
  border:1px solid var(--sp-line); border-radius:14px; overflow:hidden; }
.elementor .moha-sp-stats.moha-sp-stats > .elementor-widget-counter{
  background:var(--sp-ground); padding:30px 24px; margin:0;
}
.elementor .moha-sp-stats.moha-sp-stats .elementor-counter-number-wrapper{ justify-content:flex-start; }
.elementor .moha-sp-stats.moha-sp-stats .elementor-counter-title{ text-align:left; margin-top:6px; }
@media (max-width:740px){
.elementor .moha-sp-stats.moha-sp-stats{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* ---- full bleed problem band ---- */
.elementor .moha-sp-bleed.moha-sp-bleed{
  position:relative; overflow:hidden; display:grid; align-items:center;
  min-height:clamp(330px,44vw,500px); padding-inline:0;
}
.elementor .moha-sp-bleed-img.moha-sp-bleed-img{ position:absolute; inset:0; margin:0; }
.elementor img.moha-sp-bleed-img.moha-sp-bleed-img, .elementor .moha-sp-bleed-img.moha-sp-bleed-img img{
  width:100%; height:100%; object-fit:cover; display:block;
  filter:grayscale(1) brightness(.4) contrast(1.1);
}
.elementor .moha-sp-bleed.moha-sp-bleed::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(90deg,rgba(11,11,12,.95) 0%,rgba(11,11,12,.72) 46%,rgba(11,11,12,.34) 100%);
}
.elementor .moha-sp-bleed-copy.moha-sp-bleed-copy{
  position:relative; z-index:2; display:flex; flex-direction:column; gap:14px;
  max-width:660px; padding-inline:clamp(20px,5vw,60px);
}

/* ---- card grids ---- */
.elementor .moha-sp-grid2.moha-sp-grid2, .elementor .moha-sp-grid3.moha-sp-grid3{ display:grid; gap:14px; }
.elementor .moha-sp-grid2.moha-sp-grid2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.elementor .moha-sp-grid3.moha-sp-grid3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
@media (max-width:900px){ .elementor .moha-sp-grid3.moha-sp-grid3{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:620px){
.elementor .moha-sp-grid2.moha-sp-grid2, .elementor .moha-sp-grid3.moha-sp-grid3{ grid-template-columns:1fr; }
}
.elementor .moha-sp-grid2.moha-sp-grid2 .elementor-widget-icon-box, .elementor .moha-sp-grid3.moha-sp-grid3 .elementor-widget-icon-box{
  background:var(--sp-raised); border:1px solid var(--sp-line); border-radius:15px;
  padding:26px; margin:0; transition:border-color .2s ease,transform .2s ease;
}
.elementor .moha-sp-grid2.moha-sp-grid2 .elementor-widget-icon-box:hover, .elementor .moha-sp-grid3.moha-sp-grid3 .elementor-widget-icon-box:hover{
  border-color:var(--sp-line2); transform:translateY(-3px);
}

/* ---- levers ---- */
.elementor .moha-sp-levers.moha-sp-levers{ display:flex; flex-direction:column; }
.elementor .moha-sp-lever.moha-sp-lever{
  display:grid; grid-template-columns:44px minmax(0,.32fr) minmax(0,.68fr);
  gap:clamp(14px,2.6vw,34px); padding:24px 0; border-top:1px solid var(--sp-line);
  align-items:start; transition:padding-left .22s ease;
}
.elementor .moha-sp-lever.moha-sp-lever:first-child{ border-top:0; }
.elementor .moha-sp-lever.moha-sp-lever:hover{ padding-left:10px; }
.elementor .moha-sp-num.moha-sp-num{ font-family:var(--sp-mono); font-size:11px; color:var(--sp-dim); padding-top:5px; }
.elementor .moha-sp-num.moha-sp-num strong{ font-weight:400; }
.elementor .moha-sp-leverp.moha-sp-leverp{ font-size:15.5px; max-width:58ch; }
@media (max-width:780px){
.elementor .moha-sp-lever.moha-sp-lever{ grid-template-columns:auto 1fr; gap:6px 14px; }
.elementor .moha-sp-leverp.moha-sp-leverp{ grid-column:1/-1; }
}

/* ---- process spine ---- */
.elementor .moha-sp-spine.moha-sp-spine{
  display:flex; flex-direction:column; border-left:1px solid var(--sp-line); margin-left:12px;
}
.elementor .moha-sp-step.moha-sp-step{
  display:grid; grid-template-columns:auto minmax(0,1fr); gap:clamp(18px,3vw,36px);
  padding-bottom:36px; align-items:start;
}
.elementor .moha-sp-step.moha-sp-step:last-child{ padding-bottom:0; }
.elementor .moha-sp-dot.moha-sp-dot{
  width:24px; height:24px; border-radius:50%; background:var(--sp-ground);
  border:1px solid var(--sp-line2); margin-left:-12.5px; flex:none;
  display:grid; place-items:center; font-family:var(--sp-mono); font-size:10px;
  color:var(--sp-muted); transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.elementor .moha-sp-dot.moha-sp-dot strong{ font-weight:500; }
.elementor .moha-sp-step.moha-sp-step:hover .moha-sp-dot{
  background:var(--sp-paper); color:#0B0B0C; border-color:var(--sp-paper);
}
.elementor .moha-sp-stepbody.moha-sp-stepbody{ display:flex; flex-direction:column; gap:7px; max-width:66ch; }
.elementor .moha-sp-stepp.moha-sp-stepp{ font-size:15.5px; }

/* ---- video ---- */
.elementor .moha-sp-vid-grid.moha-sp-vid-grid{
  display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  gap:clamp(26px,4.5vw,56px); align-items:center;
}
@media (max-width:940px){ .elementor .moha-sp-vid-grid.moha-sp-vid-grid{ grid-template-columns:1fr; } }
.elementor .moha-sp-chapters.moha-sp-chapters{ display:flex; flex-direction:column; border-top:1px solid var(--sp-line); }
.elementor .moha-sp-chapter.moha-sp-chapter{
  padding:12px 0; border-bottom:1px solid var(--sp-line); font-size:15px;
  display:flex; gap:14px; align-items:baseline;
}
.elementor .moha-sp-chapter.moha-sp-chapter strong{
  font-family:var(--sp-mono); font-size:11.5px; color:var(--sp-muted); font-weight:500;
  font-variant-numeric:tabular-nums; min-width:44px; flex:none;
}
.elementor .moha-sp-player.moha-sp-player .elementor-widget-video{ margin:0; }
.elementor .moha-sp-player.moha-sp-player .elementor-wrapper{
  border-radius:16px; overflow:hidden; border:1px solid var(--sp-line);
}
.elementor .moha-sp-player.moha-sp-player .elementor-custom-embed-image-overlay img{
  filter:grayscale(1) contrast(1.06) brightness(.62);
}

/* ---- case study ---- */
.elementor .moha-sp-case-grid.moha-sp-case-grid{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(26px,4.5vw,58px); align-items:center;
}
@media (max-width:900px){ .elementor .moha-sp-case-grid.moha-sp-case-grid{ grid-template-columns:1fr; } }
.elementor .moha-sp-casemedia.moha-sp-casemedia img.moha-sp-shot{ aspect-ratio:5/4; }

/* ---- faq ---- */
.elementor .moha-sp-sec.moha-sp-sec .e-n-accordion details{ border-bottom:1px solid var(--sp-line); }
.elementor .moha-sp-sec.moha-sp-sec .e-n-accordion > details:first-of-type{ border-top:1px solid var(--sp-line); }
.elementor .moha-sp-faq-answer.moha-sp-faq-answer{
  font-size:15.5px; max-width:66ch; padding:0 40px 22px 0; color:var(--sp-body);
}

/* ---- related and closing ---- */
.elementor .moha-sp-closing.moha-sp-closing{ display:flex; flex-direction:column; gap:clamp(36px,5vw,56px); }
.elementor .moha-sp-rel.moha-sp-rel{ display:flex; flex-wrap:wrap; gap:10px; }
.elementor .moha-sp-relpill.moha-sp-relpill a{
  display:inline-block; font-size:14.5px; text-decoration:none; color:var(--sp-body);
  border:1px solid var(--sp-line); border-radius:999px; padding:10px 17px;
  transition:border-color .18s ease,color .18s ease,transform .18s ease;
}
.elementor .moha-sp-relpill.moha-sp-relpill a:hover{
  border-color:var(--sp-paper); color:var(--sp-paper); transform:translateY(-2px);
}

@media (prefers-reduced-motion:reduce){
.elementor .moha-sp-sec.moha-sp-sec *{ transition:none !important; animation:none !important; }
}

/* ---- faq title, the widget's own colour setting does not stick so it is set here ---- */
.elementor .moha-sp-sec.moha-sp-sec .e-n-accordion-item-title,
.elementor .moha-sp-sec.moha-sp-sec .e-n-accordion-item-title-text,
.elementor .moha-sp-sec.moha-sp-sec summary{
  color:var(--sp-paper); font-weight:600; font-size:17px;
}
.elementor .moha-sp-sec.moha-sp-sec .e-n-accordion-item-title-icon,
.elementor .moha-sp-sec.moha-sp-sec .e-n-accordion-item-title svg{ fill:var(--sp-muted); color:var(--sp-muted); }


/* ================= components the cold email page did not have ================= */

/* ---- testimonials ---- */
.elementor .moha-sp-quote.moha-sp-quote{
  background:var(--sp-raised); border:1px solid var(--sp-line); border-radius:15px; padding:25px;
  display:flex; flex-direction:column; gap:16px; transition:border-color .2s ease;
}
.elementor .moha-sp-quote.moha-sp-quote:hover{ border-color:var(--sp-line2); }
.elementor .moha-sp-quotetext.moha-sp-quotetext{ font-size:15.5px; line-height:1.62; }
.elementor .moha-sp-who.moha-sp-who{ display:flex; align-items:center; gap:12px; }
.elementor .moha-sp-avatar.moha-sp-avatar{
  width:42px; height:42px; border-radius:50%; flex:none; display:grid; place-items:center;
  background:rgba(250,249,247,.07); border:1px solid var(--sp-line2);
  font-family:var(--sp-mono); font-size:13px; color:var(--sp-paper);
}
.elementor .moha-sp-whotext.moha-sp-whotext{ font-size:13px; color:var(--sp-muted); }
.elementor .moha-sp-whotext.moha-sp-whotext strong{ color:var(--sp-paper); font-size:14.5px; display:block; }

/* ---- intro band ---- */
.elementor .moha-sp-introwrap.moha-sp-introwrap{ display:flex; flex-direction:column; gap:14px; }


/* ---- mobile fixes ----------------------------------------------------------
   The hero media column had position:relative but no direction, so Elementor's
   atomic base made it a row. On desktop that is invisible because the form card
   is absolutely positioned out of flow; on a phone the card dropped back into
   flow beside the photo and was crushed to 42px wide by 4199px tall.
   Any container holding more than one child now states its direction. */
.elementor .moha-sp-hero-media.moha-sp-hero-media{ display:flex; flex-direction:column; }
.elementor .moha-sp-casemedia.moha-sp-casemedia,
.elementor .moha-sp-player.moha-sp-player{ display:flex; flex-direction:column; }

@media (max-width:620px){
  /* the lever number column collapsed to 20px, which reads as a stray character */
  .elementor .moha-sp-lever.moha-sp-lever{ grid-template-columns:1fr; gap:6px; }
  .elementor .moha-sp-num.moha-sp-num{ padding-top:0; }
  /* the video poster and case photo get more height back on a narrow screen */
  .elementor .moha-sp-casemedia.moha-sp-casemedia img.moha-sp-shot{ aspect-ratio:4/3; }
}


/* ---- case study bodies -------------------------------------------------
   The posts carry their own markup (moha-csd, m-eyebrow, m-step, m-strip).
   This dresses that markup in the same system as the rest of the site. */
.elementor .moha-sp-csbody.moha-sp-csbody{ display:flex; flex-direction:column; }
.elementor .moha-sp-csbody.moha-sp-csbody .moha-csd{
  display:flex; flex-direction:column; gap:clamp(34px,5vw,58px); color:var(--sp-body);
}
.elementor .moha-sp-csbody.moha-sp-csbody section{
  display:flex; flex-direction:column; gap:14px;
}
/* prose stays at a readable measure, but full width blocks are allowed to use the page */
.elementor .moha-sp-csbody.moha-sp-csbody section > p,
.elementor .moha-sp-csbody.moha-sp-csbody section > h2,
.elementor .moha-sp-csbody.moha-sp-csbody section > h3{ max-width:66ch; }
.elementor .moha-sp-csbody.moha-sp-csbody h2{
  font-size:clamp(26px,3.4vw,40px); letter-spacing:-.026em; color:var(--sp-paper);
}
.elementor .moha-sp-csbody.moha-sp-csbody h3{
  font-size:clamp(18px,1.9vw,22px); letter-spacing:-.012em; color:var(--sp-paper); font-weight:700;
}
.elementor .moha-sp-csbody.moha-sp-csbody p{ font-size:17px; line-height:1.65; margin:0; }
.elementor .moha-sp-csbody.moha-sp-csbody .m-eyebrow{
  font-family:var(--sp-mono); font-size:11px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--sp-muted); display:flex; align-items:center; gap:11px;
}
.elementor .moha-sp-csbody.moha-sp-csbody .m-eyebrow::before{
  content:""; width:24px; height:1px; background:var(--sp-line2); flex:none;
}
.elementor .moha-sp-csbody.moha-sp-csbody .m-strip{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:1px;
  background:var(--sp-line); border:1px solid var(--sp-line); border-radius:14px;
  overflow:hidden; margin:0;
}
.elementor .moha-sp-csbody.moha-sp-csbody .m-strip > div{
  background:var(--sp-raised); padding:20px 22px; display:flex; flex-direction:column; gap:5px;
}
.elementor .moha-sp-csbody.moha-sp-csbody .m-strip dt{
  font-family:var(--sp-mono); font-size:10.5px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--sp-muted);
}
.elementor .moha-sp-csbody.moha-sp-csbody .m-strip dd{
  margin:0; color:var(--sp-paper); font-size:15px; font-weight:600;
}
/* The workstream blocks carry a heading, a paragraph and up to six bullets each. As a four
   column card grid that produced very tall, very narrow columns with every bullet wrapping
   over four lines. Laid out as rows instead, the heading sits in a fixed left column and the
   text gets the full width, which is the same pattern the service pages use for their levers.
   These are parallel workstreams rather than ordered steps, so they are not numbered. */
.elementor .moha-sp-csbody.moha-sp-csbody .m-steps{
  display:flex; flex-direction:column; gap:0; width:100%; max-width:none;
}
.elementor .moha-sp-csbody.moha-sp-csbody .m-step{
  display:grid; grid-template-columns:minmax(0,.30fr) minmax(0,.70fr);
  gap:clamp(16px,3vw,40px); align-items:start;
  padding:26px 0; border-top:1px solid var(--sp-line);
  background:transparent; border-radius:0;
}
.elementor .moha-sp-csbody.moha-sp-csbody .m-step:first-child{ border-top:0; padding-top:0; }
/* placed explicitly: auto placement was dropping the heading into the wide column
   alongside the prose instead of holding the narrow one on its own */
.elementor .moha-sp-csbody.moha-sp-csbody .m-step > h3{
  grid-column:1; grid-row:1;
  margin:0; align-self:start; text-wrap:balance;
}
/* everything after the heading becomes the right hand column */
.elementor .moha-sp-csbody.moha-sp-csbody .m-step > h3 ~ *{ grid-column:2; }
.elementor .moha-sp-csbody.moha-sp-csbody .m-step > p{ max-width:62ch; }
.elementor .moha-sp-csbody.moha-sp-csbody .m-step > ul{
  margin-top:12px; columns:2; column-gap:34px;
}
.elementor .moha-sp-csbody.moha-sp-csbody .m-step > ul > li{
  break-inside:avoid; margin-bottom:9px; font-size:15.5px;
}
@media (max-width:900px){
  .elementor .moha-sp-csbody.moha-sp-csbody .m-step{ grid-template-columns:1fr; gap:10px; }
  .elementor .moha-sp-csbody.moha-sp-csbody .m-step > h3 ~ *{ grid-column:1; }
  .elementor .moha-sp-csbody.moha-sp-csbody .m-step > ul{ columns:1; }
}
.elementor .moha-sp-csbody.moha-sp-csbody ul{
  margin:0; padding-left:20px; display:flex; flex-direction:column; gap:8px;
}
.elementor .moha-sp-csbody.moha-sp-csbody li{ font-size:16px; line-height:1.6; }
.elementor .moha-sp-csbody.moha-sp-csbody img{
  max-width:100%; height:auto; display:block; border-radius:14px; border:1px solid var(--sp-line);
}/* End custom CSS */