.mojflow-wordmark-shell {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
}

.awwwards-ribbon,
.awwwards-ribbon * {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.mojflow-header-wordmark {
  font-family: Beatrice, Arial, sans-serif;
  font-size: 3.2rem;
  line-height: 1;
  letter-spacing: -0.05em;
  color: currentColor;
  white-space: nowrap;
}

.mojflow-home-wordmark {
  font-family: Beatrice, Arial, sans-serif;
  font-size: clamp(18rem, 24vw, 34rem);
  line-height: 0.86;
  letter-spacing: -0.08em;
  color: currentColor;
  white-space: nowrap;
}

.home-hero-title.mojflow-hero .home-hero-title-line {
  display: none !important;
}

.home-hero-title-charc.mojflow-home-charc {
  display: flex;
  align-items: flex-end;
}

.home-logo-main-img-sub.mojflow-wordmark-image {
  object-fit: contain;
}

.mojflow-mark-image,
.mojflow-wordmark-image {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.mojflow-landing-photo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  outline: 1px solid rgba(0, 0, 0, 0.1);
  outline-offset: -1px;
}

.mojflow-hero-thumb-photo {
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: #dbeafe;
}

.mojflow-hero-office-photo {
  object-position: center 42%;
}

.mojflow-handwritten-logo-link .header-logo-ic {
  display: none !important;
}

.header-logo-wrap {
  overflow: visible !important;
}

.mojflow-handwritten-logo-link .header-logo-typo,
.mojflow-handwritten-logo-link .header-logo-typo-inner {
  display: flex !important;
  align-items: center;
  width: auto !important;
  min-width: 8.4rem;
  min-height: 1.45em;
  overflow: visible !important;
}

.mojflow-handwritten-header-logo,
.mojflow-handwritten-nav-title {
  font-family: "Segoe Script", "Brush Script MT", "Lucida Handwriting", cursive;
  font-weight: 600;
  letter-spacing: 0;
  color: currentColor;
  -webkit-font-smoothing: antialiased;
  text-wrap: balance;
}

.mojflow-handwritten-header-logo {
  font-size: clamp(2.2rem, 2.1vw, 3.4rem);
  line-height: 1.24;
  padding-bottom: 0.12em;
  white-space: nowrap;
  transform: translateY(-0.08em);
}

.nav-logo-ic {
  display: none !important;
}

.mojflow-handwritten-nav-title {
  margin: 0;
  font-size: clamp(8rem, 12vw, 16rem);
  line-height: 0.95;
  text-transform: lowercase;
  white-space: nowrap;
}

.mojflow-brand-page {
  -webkit-font-smoothing: antialiased;
}

.mojflow-brand-page .detail-hero-sub {
  max-width: 54rem;
}

.mojflow-brand-page .detail-hero-sub-txt,
.mojflow-brand-page .detail-main-richtext-inner p,
.mojflow-brand-page .detail-main-richtext-inner li {
  text-wrap: pretty;
}

.mojflow-brand-page .detail-main-richtext-inner h2,
.mojflow-brand-page .detail-main-richtext-inner h4,
.mojflow-brand-page .detail-main-richtext-inner h6 {
  text-wrap: balance;
}

.mojflow-brand-page .detail-main-richtext-inner h6 {
  max-width: 64rem;
}

.mojflow-brand-page .detail-main-richtext-inner ul {
  display: grid;
  gap: 0.6rem;
  margin-top: 1.4rem;
  padding-left: 1.6rem;
}

.mojflow-brand-page .detail-main-listing-item .detail-main-richtext-inner p {
  max-width: 74rem;
}

.mojflow-brand-page .detail-main-img-inner {
  border-radius: 0.8rem;
  overflow: hidden;
  box-shadow: 0 2rem 5rem rgba(15, 23, 42, 0.08);
}

.mojflow-brand-page .mojflow-brand-photo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  outline: 1px solid rgba(0, 0, 0, 0.1);
  outline-offset: -1px;
}

.mojflow-brand-page .detail-main-richtext-grid {
  align-items: start;
}

.mojflow-brand-page .detail-toc-group .content-slot.page-slot-wrap {
  width: 100%;
  max-width: 112rem;
  padding: 0;
}

.mojflow-brand-section {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(28rem, 0.72fr);
  align-items: start;
  gap: clamp(3rem, 5vw, 7rem);
  padding: clamp(1rem, 2vw, 2rem) 0;
}

body.mojflow-typography-page {
  -webkit-font-smoothing: antialiased;
}

body.mojflow-typography-page .detail-hero-sub {
  max-width: 70rem;
}

body.mojflow-typography-page .detail-hero-sub-txt,
body.mojflow-typography-page .detail-main-richtext-inner p,
body.mojflow-typography-page .detail-main-richtext-inner li {
  text-wrap: pretty;
}

body.mojflow-typography-page .detail-main-richtext-inner h2,
body.mojflow-typography-page .detail-main-richtext-inner h4,
body.mojflow-typography-page .detail-main-richtext-inner h6 {
  text-wrap: balance;
}

body.mojflow-typography-page .mojflow-typo-card-logo-bottom-cleanup,
body.mojflow-typography-page .mojflow-typo-card-logo-top-cleanup {
  position: relative;
  overflow: hidden;
}

body.mojflow-typography-page .mojflow-typo-card-logo-bottom-cleanup::after,
body.mojflow-typography-page .mojflow-typo-card-logo-top-cleanup::after {
  content: "";
  position: absolute;
  z-index: 2;
  border-radius: 0.5rem;
  pointer-events: none;
}

body.mojflow-typography-page .mojflow-typo-card-logo-bottom-cleanup::after {
  left: 6%;
  bottom: 3.2%;
  width: 54%;
  height: 7.6%;
  background: #fbf6f5;
  box-shadow: 0 0 1.4rem 0.9rem #fbf6f5;
}

body.mojflow-typography-page .mojflow-typo-card-logo-top-cleanup::after {
  left: 5.4%;
  top: 15.4%;
  width: 31%;
  height: 4.8%;
  background: #fff58d;
  box-shadow: 0 0 1.2rem 0.75rem #fff58d;
}

.mojflow-brand-copy {
  min-width: 0;
}

.mojflow-brand-kicker {
  margin-bottom: 2rem;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(10, 10, 11, 0.46);
}

.mojflow-brand-title {
  margin: 0 0 2rem;
  font-family: Beatrice, Arial, sans-serif;
  font-size: clamp(4.8rem, 5vw, 7.6rem);
  line-height: 0.98;
  letter-spacing: 0;
  color: #0a0a0b;
  text-wrap: balance;
}

.mojflow-brand-lead {
  margin: 0;
  max-width: 72rem;
  font-family: Beatrice, Arial, sans-serif;
  font-size: clamp(2.8rem, 2.5vw, 4.2rem);
  line-height: 1.08;
  letter-spacing: 0;
  color: #0a0a0b;
  text-wrap: balance;
}

.mojflow-brand-sublead,
.mojflow-brand-body p,
.mojflow-brand-card p {
  margin: 1.8rem 0 0;
  max-width: 72rem;
  font-size: clamp(1.65rem, 1.2vw, 1.95rem);
  line-height: 1.55;
  color: rgba(10, 10, 11, 0.72);
  text-wrap: pretty;
}

.mojflow-brand-body {
  margin-top: 1.2rem;
}

.mojflow-brand-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.4rem;
  margin-top: clamp(2.8rem, 3vw, 4rem);
}

.mojflow-brand-card {
  min-width: 0;
  padding: 2rem;
  border-radius: 0.8rem;
  background: rgba(255, 255, 255, 0.62);
  box-shadow: 0 1.4rem 3.4rem rgba(10, 10, 11, 0.06);
}

.mojflow-brand-card h3 {
  margin: 0;
  font-family: Beatrice, Arial, sans-serif;
  font-size: clamp(1.8rem, 1.35vw, 2.3rem);
  line-height: 1.1;
  letter-spacing: 0;
  color: #0a0a0b;
  text-wrap: balance;
}

.mojflow-brand-card p {
  margin-top: 1.1rem;
  font-size: 1.45rem;
  line-height: 1.45;
}

.mojflow-brand-figure {
  position: sticky;
  top: 9rem;
  margin: 0;
  width: 100%;
  aspect-ratio: 4 / 5;
  border-radius: 0.8rem;
  overflow: hidden;
  box-shadow: 0 2rem 5rem rgba(10, 10, 11, 0.12);
  background: rgba(255, 255, 255, 0.5);
}

.mojflow-brand-figure .mojflow-brand-photo {
  width: 100%;
  height: 100%;
}

@media only screen and (max-width: 991px) {
  .mojflow-brand-section {
    grid-template-columns: 1fr;
    gap: 2.8rem;
  }

  .mojflow-brand-card-grid {
    grid-template-columns: 1fr;
  }

  .mojflow-brand-figure {
    position: relative;
    top: auto;
    aspect-ratio: 16 / 10;
  }
}

@media only screen and (max-width: 767px) {
  .mojflow-brand-title {
    font-size: 4rem;
  }

  .mojflow-brand-lead {
    font-size: 2.6rem;
  }

  .mojflow-brand-card {
    padding: 1.8rem;
  }
}

body.mojflow-voice-page {
  -webkit-font-smoothing: antialiased;
}

body.mojflow-voice-page .detail-hero-sub {
  max-width: 66rem;
  text-wrap: pretty;
}

body.mojflow-voice-page .detail-toc-group {
  scroll-margin-top: 8rem;
}

body.mojflow-voice-page .detail-toc-group .content-slot.page-slot-wrap {
  width: 100%;
  max-width: 112rem;
  padding: 0;
}

.mojflow-voice-section {
  width: 100%;
  min-width: 0;
  padding: 1.6rem 0 3.8rem;
}

.mojflow-voice-head {
  max-width: 86rem;
}

.mojflow-voice-kicker {
  margin-bottom: 1.6rem;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: uppercase;
  color: rgba(10, 10, 11, 0.48);
}

.mojflow-voice-label {
  margin: 0 0 1.8rem;
  font-family: Beatrice, Arial, sans-serif;
  font-size: 6.2rem;
  line-height: 0.98;
  letter-spacing: 0;
  color: #0a0a0b;
  text-wrap: balance;
}

.mojflow-voice-title {
  margin: 0;
  max-width: 78rem;
  font-family: Beatrice, Arial, sans-serif;
  font-size: 3.6rem;
  line-height: 1.08;
  letter-spacing: 0;
  color: #0a0a0b;
  text-wrap: balance;
}

.mojflow-voice-lead,
.mojflow-voice-body p,
.mojflow-voice-card p,
.mojflow-voice-rule p,
.mojflow-voice-example p {
  margin: 1.4rem 0 0;
  max-width: 74rem;
  font-size: 1.75rem;
  line-height: 1.52;
  color: rgba(10, 10, 11, 0.72);
  text-wrap: pretty;
}

.mojflow-voice-body {
  margin-top: 2.4rem;
}

.mojflow-voice-card-grid,
.mojflow-voice-rule-grid {
  display: grid;
  gap: 1.4rem;
  margin-top: 3rem;
}

.mojflow-voice-card-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mojflow-voice-rule-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mojflow-voice-card,
.mojflow-voice-rule,
.mojflow-voice-example {
  min-width: 0;
  border-radius: 0.8rem;
  background: rgba(255, 255, 255, 0.7);
  box-shadow: 0 1.4rem 3.4rem rgba(10, 10, 11, 0.06);
}

.mojflow-voice-card,
.mojflow-voice-rule {
  padding: 2rem;
}

.mojflow-voice-card h3,
.mojflow-voice-rule h3 {
  margin: 0;
  font-family: Beatrice, Arial, sans-serif;
  font-size: 2.2rem;
  line-height: 1.12;
  letter-spacing: 0;
  color: #0a0a0b;
  text-wrap: balance;
}

.mojflow-voice-card p,
.mojflow-voice-rule p {
  margin-top: 1rem;
  font-size: 1.45rem;
  line-height: 1.45;
}

.mojflow-voice-example-stack {
  display: grid;
  gap: 1.2rem;
  margin-top: 3rem;
}

.mojflow-voice-example {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
  gap: 0;
  overflow: hidden;
}

.mojflow-voice-example > div {
  min-width: 0;
  padding: 2rem;
}

.mojflow-voice-example > div:first-child {
  background: rgba(10, 10, 11, 0.04);
}

.mojflow-voice-example span {
  display: block;
  margin-bottom: 0.8rem;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: uppercase;
  color: rgba(10, 10, 11, 0.46);
}

.mojflow-voice-example p {
  margin-top: 0;
  max-width: none;
  font-size: 1.55rem;
  line-height: 1.48;
}

.mojflow-voice-example > div:last-child p {
  color: #0a0a0b;
}

@media only screen and (max-width: 991px) {
  .mojflow-voice-card-grid,
  .mojflow-voice-rule-grid {
    grid-template-columns: 1fr;
  }

  .mojflow-voice-example {
    grid-template-columns: 1fr;
  }
}

@media only screen and (max-width: 767px) {
  .mojflow-voice-section {
    padding: 1rem 0 3rem;
  }

  .mojflow-voice-label {
    font-size: 4rem;
  }

  .mojflow-voice-title {
    font-size: 2.6rem;
  }

  .mojflow-voice-lead,
  .mojflow-voice-body p {
    font-size: 1.62rem;
  }

  .mojflow-voice-card,
  .mojflow-voice-rule,
  .mojflow-voice-example > div {
    padding: 1.8rem;
  }

  body.mojflow-voice-page .detail-main-img-wrap,
  body.mojflow-voice-page .detail-main-gridrow-slot {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1.2rem !important;
    width: 100% !important;
  }

  body.mojflow-voice-page .detail-main-img-block,
  body.mojflow-voice-page .detail-main-img,
  body.mojflow-voice-page .detail-main-img-inner {
    width: 100% !important;
    height: auto !important;
  }

  body.mojflow-voice-page img[src*="tone-card"],
  body.mojflow-voice-page img[src*="mess-purpose"],
  body.mojflow-voice-page img[src*="tov-combined"] {
    width: 100% !important;
    height: auto !important;
  }
}

.mojflow-ai-hidden-group {
  display: none !important;
}

body.mojflow-ai-solutions-page {
  -webkit-font-smoothing: antialiased;
}

body.mojflow-ai-solutions-page .detail-hero-sub {
  max-width: 68rem;
  text-wrap: pretty;
}

body.mojflow-ai-solutions-page .detail-toc-group {
  scroll-margin-top: 8rem;
}

body.mojflow-ai-solutions-page .detail-toc-group > .detail-sec-space {
  height: clamp(5rem, 6vw, 8rem) !important;
}

body.mojflow-ai-solutions-page .detail-toc-group .content-slot.page-slot-wrap {
  width: 100%;
  max-width: 112rem;
  padding: 0;
}

.mojflow-ai-solutions-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(32rem, 0.86fr);
  align-items: stretch;
  gap: clamp(2.4rem, 3vw, 4rem);
  padding: clamp(2.4rem, 3.2vw, 3.6rem);
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 0.8rem;
  background:
    radial-gradient(circle at top left, rgba(82, 109, 122, 0.16), transparent 38%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(246, 248, 251, 0.9));
  box-shadow: 0 2.4rem 6rem rgba(15, 23, 42, 0.08);
}

.mojflow-ai-section {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  width: 100%;
}

.mojflow-ai-section + .mojflow-ai-section {
  margin-top: 5.6rem;
}

.mojflow-ai-section-head {
  max-width: 84rem;
}

.mojflow-ai-card-grid,
.mojflow-ai-model-grid,
.mojflow-ai-check-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.8rem;
}

.mojflow-ai-card,
.mojflow-ai-model-card,
.mojflow-ai-step,
.mojflow-ai-check,
.mojflow-ai-final-cta {
  border: 1px solid rgba(15, 23, 42, 0.1);
  border-radius: 0.8rem;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 1.6rem 4rem rgba(15, 23, 42, 0.06);
}

.mojflow-ai-card,
.mojflow-ai-model-card,
.mojflow-ai-step {
  padding: clamp(2rem, 2vw, 2.4rem);
}

.mojflow-ai-card-kicker {
  display: block;
  margin-bottom: 1.4rem;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #526d7a;
}

.mojflow-ai-card h3,
.mojflow-ai-model-card h3,
.mojflow-ai-step h3,
.mojflow-ai-final-cta h3 {
  margin: 0;
  font-family: Beatrice, Arial, sans-serif;
  font-size: clamp(2rem, 1.45vw, 2.6rem);
  line-height: 1.12;
  letter-spacing: 0;
  color: #0f172a;
  text-wrap: balance;
}

.mojflow-ai-card p,
.mojflow-ai-model-card p,
.mojflow-ai-step p {
  margin: 1.4rem 0 0;
  font-size: 1.65rem;
  line-height: 1.55;
  color: rgba(15, 23, 42, 0.72);
}

.mojflow-ai-timeline {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.6rem;
}

.mojflow-ai-step span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.4rem;
  height: 3.4rem;
  margin-bottom: 2.2rem;
  border-radius: 50%;
  background: #0b6bcb;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
}

.mojflow-ai-proof-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.mojflow-ai-proof-strip span,
.mojflow-ai-check {
  display: inline-flex;
  align-items: center;
  min-height: 5.4rem;
  padding: 1.5rem 1.8rem;
  font-size: 1.55rem;
  font-weight: 650;
  color: #0f172a;
}

.mojflow-ai-proof-strip span {
  border: 1px solid rgba(11, 107, 203, 0.16);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.8);
}

.mojflow-ai-check-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mojflow-ai-check::before {
  content: "";
  display: block;
  flex: 0 0 0.8rem;
  width: 0.8rem;
  height: 0.8rem;
  margin-right: 1.2rem;
  border-radius: 50%;
  background: #0b6bcb;
}

.mojflow-ai-final-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2.4rem;
  padding: 3rem;
  background: #0b1f3a;
  color: #fff;
}

.mojflow-ai-final-cta h3,
.mojflow-ai-final-cta .mojflow-ai-card-kicker {
  color: inherit;
}

.mojflow-ai-final-cta a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-height: 4.8rem;
  padding: 1.3rem 2rem;
  border-radius: 999px;
  background: #fff;
  color: #0b1f3a;
  font-size: 1.45rem;
  font-weight: 700;
  text-decoration: none;
}

.mojflow-ai-copy {
  display: flex;
  flex-direction: column;
  gap: 1.8rem;
  min-width: 0;
}

.mojflow-ai-eyebrow {
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #546e7a;
}

.mojflow-ai-title {
  margin: 0;
  font-family: Beatrice, Arial, sans-serif;
  font-size: clamp(3.6rem, 3.6vw, 5.8rem);
  line-height: 1.08;
  letter-spacing: 0;
  color: #0f172a;
  max-width: 100%;
  overflow-wrap: normal;
  text-wrap: balance;
}

.mojflow-ai-intro,
.mojflow-ai-model-copy {
  margin: 0;
  font-size: clamp(1.65rem, 1.2vw, 1.9rem);
  line-height: 1.55;
  color: rgba(15, 23, 42, 0.78);
  max-width: 70rem;
  text-wrap: pretty;
}

.mojflow-ai-rotator {
  position: relative;
  min-height: 4.2rem;
  margin: 0.4rem 0 0.2rem;
}

.mojflow-ai-rotator-item {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  font-family: Beatrice, Arial, sans-serif;
  font-size: clamp(2.4rem, 2.4vw, 3.6rem);
  line-height: 1.05;
  letter-spacing: 0;
  color: #0b6bcb;
  opacity: 0;
  transform: translateY(1.2rem);
  animation: mojflow-service-swap 15s infinite;
  animation-delay: var(--delay);
}

.mojflow-ai-service-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: flex-start;
}

.mojflow-ai-service-pill,
.mojflow-ai-floating-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 4.2rem;
  padding: 1rem 1.6rem;
  border-radius: 999px;
  border: 1px solid rgba(11, 107, 203, 0.12);
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(10px);
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  line-height: 1.2;
  text-align: center;
  color: #0f172a;
}

.mojflow-ai-visual {
  display: flex;
  align-items: stretch;
  min-width: 0;
}

.mojflow-ai-image-shell {
  position: relative;
  display: flex;
  width: 100%;
  min-height: clamp(32rem, 34vw, 42rem);
  padding: 1.2rem;
  border-radius: 0.8rem;
  background: linear-gradient(180deg, rgba(84, 110, 122, 0.14), rgba(84, 110, 122, 0.04));
  overflow: hidden;
}

.mojflow-ai-main-image {
  width: 100%;
  height: auto;
  min-height: 0;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 0.6rem;
  display: block;
  outline: 1px solid rgba(255, 255, 255, 0.1);
  outline-offset: -1px;
}

.mojflow-ai-floating-badge {
  position: absolute;
  top: var(--top);
  left: var(--left);
  max-width: calc(100% - 2rem);
  box-shadow: 0 1.2rem 3rem rgba(15, 23, 42, 0.12);
  animation: mojflow-badge-float 6s ease-in-out infinite;
  animation-delay: var(--delay);
}

@media only screen and (max-width: 991px) {
  .mojflow-ai-solutions-panel {
    grid-template-columns: 1fr;
    gap: 2.4rem;
    padding: 2.4rem;
    border-radius: 0.8rem;
  }

  .mojflow-ai-card-grid,
  .mojflow-ai-model-grid,
  .mojflow-ai-timeline {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mojflow-ai-title {
    font-size: 3.8rem;
    line-height: 1.08;
    letter-spacing: 0;
  }

  .mojflow-ai-image-shell,
  .mojflow-ai-main-image {
    min-height: 34rem;
  }

  .main-btn {
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .main-btn-inner {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.8rem !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .main-btn-text-wrap,
  .main-btn-text-inner {
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    transform: none !important;
  }

  .txt.fs-20.fw-med.main-btn-text,
  .main-btn-text {
    opacity: 1 !important;
    transform: none !important;
    white-space: nowrap !important;
    font-size: 1.35rem !important;
    line-height: 1 !important;
  }

  .main-btn-circ {
    position: relative !important;
    left: auto !important;
    flex: 0 0 3.2rem !important;
    width: 3.2rem !important;
    height: 3.2rem !important;
  }
}

@keyframes mojflow-service-swap {
  0%,
  18% {
    opacity: 0;
    transform: translateY(1.2rem);
  }
  22%,
  36% {
    opacity: 1;
    transform: translateY(0);
  }
  42%,
  100% {
    opacity: 0;
    transform: translateY(-1.2rem);
  }
}

@keyframes mojflow-badge-float {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-0.9rem);
  }
}

/* Home page — AI Solutions section.
   Hide visually but KEEP IN DOM — Webflow's cp.min.js scans these nodes
   on scroll-trigger and throws null errors if they're missing, which
   collapses the whole horizontal scroll layout. Use visibility + size
   tricks rather than display:none so JS can still read attributes. */
.home-logo.mojflow-home-ai .home-logo-grid,
.home-logo.mojflow-home-ai .home-logo-stick,
.home-logo.mojflow-home-ai .home-logo-main,
.home-logo.mojflow-home-ai .home-logo-line-ver,
.home-logo.mojflow-home-ai .home-logo-line-hor,
.home-logo.mojflow-home-ai .home-logo-main-grid,
.home-logo.mojflow-home-ai .circle {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Stack the AI shell on top of the (hidden-but-present) original grid.
   The hidden grid still occupies layout space; absolutely overlay the
   shell so it's visible where the section is, regardless of grid height. */
.home-logo.mojflow-home-ai .grid-row {
  position: relative;
  min-height: 100vh;
}
.home-logo.mojflow-home-ai .mojflow-home-ai-shell {
  position: absolute;
  inset: 0;
  z-index: 2;
  background: transparent;
}

/* Make the AI Solutions section a full-width horizontal panel matching
   neighboring home sections (~1800px), with breathing room before Typography. */
.home-logo.mojflow-home-ai {
  width: 1300px !important;
  min-width: 1300px !important;
  flex: 0 0 1300px !important;
  padding-right: 160px !important;
  margin-right: 80px !important;
  box-sizing: border-box !important;
}

.home-logo.mojflow-home-ai .grid-row,
.home-logo.mojflow-home-ai .w-container {
  width: 100% !important;
  max-width: none !important;
}

.home-logo.mojflow-home-ai .mojflow-home-ai-shell {
  min-height: 100vh;
  padding: 6rem 4rem 6rem 10rem;
  max-width: 100%;
}

.home-logo.mojflow-home-ai .mojflow-home-ai-center {
  max-width: 90rem;
}

@media (max-width: 991px) {
  .home-logo.mojflow-home-ai {
    width: 1100px !important;
    min-width: 1100px !important;
    flex: 0 0 1100px !important;
    padding-right: 60px !important;
    margin-right: 40px !important;
  }
  .home-logo.mojflow-home-ai .mojflow-home-ai-shell {
    padding: 4rem 2rem 4rem 4rem;
  }
}

.mojflow-home-ai-shell {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  min-height: 60vh;
  padding: 4rem 12rem 4rem 4rem;
  box-sizing: border-box;
}

.mojflow-home-ai-center {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  gap: 1.8rem;
  max-width: 64rem;
  width: 100%;
}

.mojflow-home-ai-eyebrow,
.mojflow-home-ai-title,
.mojflow-home-ai-intro,
.mojflow-home-ai-services,
.mojflow-home-ai-models-label,
.mojflow-home-ai-models-grid,
.mojflow-home-ai-cta {
  opacity: 0;
  transform: translateY(1.2rem);
  animation: mojflow-home-ai-fadein 0.9s cubic-bezier(0.2, 0.7, 0.2, 1) forwards;
  animation-delay: var(--delay, 0s);
}

.mojflow-home-ai-eyebrow {
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #526d7a;
}

.mojflow-home-ai-title {
  margin: 0;
  font-family: Beatrice, Arial, sans-serif;
  font-size: clamp(5.6rem, 6.4vw, 10rem);
  line-height: 0.98;
  letter-spacing: -0.05em;
  color: #0f172a;
}

.mojflow-home-ai-intro {
  margin: 0;
  font-size: clamp(1.8rem, 1.5vw, 2.4rem);
  line-height: 1.5;
  color: rgba(15, 23, 42, 0.78);
  max-width: 58rem;
}

.mojflow-home-ai-services {
  position: relative;
  height: 7.2rem;
  width: 100%;
  margin: 0.4rem 0;
}

.mojflow-home-ai-service-item {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  font-family: Beatrice, Arial, sans-serif;
  font-size: clamp(3.2rem, 3.8vw, 5.6rem);
  line-height: 1;
  letter-spacing: -0.04em;
  color: #0b6bcb;
  opacity: 0;
  transform: translateY(1.2rem);
  animation: mojflow-home-ai-rotate 12s infinite;
  animation-delay: var(--rdelay);
}

.mojflow-home-ai-models-label {
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(15, 23, 42, 0.62);
  margin-top: 0.8rem;
}

.mojflow-home-ai-models-grid {
  display: flex;
  gap: 2rem;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  margin: 0.4rem 0 1rem;
}

.mojflow-home-ai-model-bubble {
  width: 7.2rem;
  height: 7.2rem;
  padding: 1.4rem;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 1.2rem 3rem rgba(15, 23, 42, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  animation: mojflow-home-ai-float 6s ease-in-out infinite;
  animation-delay: var(--delay);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.mojflow-home-ai-model-bubble:hover {
  transform: translateY(-0.4rem) scale(1.04);
  box-shadow: 0 1.6rem 3.6rem rgba(15, 23, 42, 0.2);
}

.mojflow-home-ai-model-bubble svg {
  width: 100%;
  height: 100%;
  display: block;
}

.mojflow-home-ai-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding: 1.3rem 2.4rem;
  border-radius: 999px;
  background: #0b1f3a;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  text-decoration: none;
  box-shadow: 0 1.2rem 3rem rgba(11, 31, 58, 0.28);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  margin-top: 1rem;
}

.mojflow-home-ai-cta:hover {
  transform: translateY(-0.2rem);
  box-shadow: 0 1.6rem 3.6rem rgba(11, 31, 58, 0.34);
}

/* Type section — push entire section rightward so it doesn't crowd AI Solutions */
section#typo.home-typo.mojflow-home-typo {
  padding-left: 20rem !important;
  padding-right: 6rem !important;
  box-sizing: border-box;
}

section#typo.home-typo.mojflow-home-typo .grid-row,
section#typo.home-typo.mojflow-home-typo .w-container {
  padding-left: 0 !important;
}

section#typo.home-typo.mojflow-home-typo .home-typo-main-thumb-img {
  object-fit: cover !important;
  object-position: center !important;
  width: 100% !important;
  height: 100% !important;
}

@media only screen and (max-width: 991px) {
  section#typo.home-typo.mojflow-home-typo {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
  }
}

@keyframes mojflow-home-ai-fadein {
  from {
    opacity: 0;
    transform: translateY(1.2rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes mojflow-home-ai-rotate {
  0%,
  15% {
    opacity: 0;
    transform: translateY(1.2rem);
  }
  20%,
  35% {
    opacity: 1;
    transform: translateY(0);
  }
  40%,
  100% {
    opacity: 0;
    transform: translateY(-1.2rem);
  }
}

@keyframes mojflow-home-ai-float {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-0.8rem);
  }
}

@media only screen and (max-width: 767px) {
  .mojflow-header-wordmark {
    font-size: 2.6rem;
  }

  .mojflow-home-wordmark {
    font-size: 12rem;
  }

  .mojflow-home-ai-shell {
    padding: 2rem 2rem 2rem 1.6rem;
  }

  .home-logo.mojflow-home-ai {
    width: 100vw !important;
    min-width: 100vw !important;
    flex-basis: 100vw !important;
    padding-right: 0 !important;
    margin-right: 0 !important;
  }

  .home-logo.mojflow-home-ai .mojflow-home-ai-shell {
    width: 100% !important;
    max-width: 100% !important;
  }

  .mojflow-home-ai-center,
  .mojflow-home-ai-intro,
  .mojflow-home-ai-services {
    width: 100% !important;
    max-width: calc(100vw - 4rem) !important;
    min-width: 0 !important;
  }

  .mojflow-home-ai-title {
    max-width: calc(100vw - 4rem) !important;
    overflow-wrap: anywhere;
    font-size: 4.8rem !important;
    letter-spacing: -0.04em;
  }

  .mojflow-home-ai-service-item {
    overflow-wrap: anywhere;
    white-space: normal;
  }

  .mojflow-home-ai-services {
    height: 5.6rem;
  }

  .mojflow-home-ai-model-bubble {
    width: 5.2rem;
    height: 5.2rem;
    padding: 0.9rem;
  }

  .mojflow-home-ai-models-grid {
    gap: 1.2rem;
  }

  .home-brand-title.clone-txt,
  .home-brand-title.main-txt,
  .home-typo-title.clone-txt,
  .home-typo-title.main-txt {
    max-width: 100% !important;
    overflow: hidden !important;
  }

  .home-brand-title-txt {
    font-size: 4.8rem !important;
    line-height: 0.95 !important;
    letter-spacing: -0.04em !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
  }

  .mojflow-ai-solutions-panel {
    grid-template-columns: 1fr;
    gap: 2.4rem;
    padding: 1.8rem;
    border-radius: 0.8rem;
  }

  .mojflow-ai-card-grid,
  .mojflow-ai-model-grid,
  .mojflow-ai-timeline,
  .mojflow-ai-check-grid {
    grid-template-columns: 1fr;
  }

  .mojflow-ai-card,
  .mojflow-ai-model-card,
  .mojflow-ai-step,
  .mojflow-ai-final-cta {
    padding: 2rem;
  }

  .mojflow-ai-final-cta {
    align-items: flex-start;
    flex-direction: column;
  }

  .mojflow-ai-title {
    font-size: 3.2rem;
    line-height: 1.12;
  }

  .mojflow-ai-intro,
  .mojflow-ai-model-copy {
    font-size: 1.7rem;
  }

  .mojflow-ai-rotator {
    min-height: 4rem;
  }

  .mojflow-ai-image-shell,
  .mojflow-ai-main-image {
    min-height: 28rem;
  }

  .mojflow-ai-floating-badge {
    font-size: 1.2rem;
    padding: 0.8rem 1.2rem;
  }

}

/* Home hero: hide the "Studio Playbook" script decor — it overlaps the
   longer MojFlow descriptor and the label already lives in the header. */
section#hello .home-hero-title-decor,
section.home-hero .home-hero-title-decor {
  display: none !important;
}
section#hello .home-hero-sub-txt,
section.home-hero .home-hero-sub-txt {
  max-width: 44rem;
  line-height: 1.4;
}

/* Home hero CTA row — stays hidden until JS confirms the hero title is fully revealed. */
.mojflow-hero-cta-row {
  display: flex;
  align-items: center;
  gap: 2.4rem;
  flex-wrap: wrap;
  margin-top: 2.8rem;
  opacity: 0;
  transform: translateY(1.4rem);
  transition: opacity 0.9s cubic-bezier(0.2, 0.7, 0.2, 1), transform 0.9s cubic-bezier(0.2, 0.7, 0.2, 1);
  pointer-events: none;
}
.mojflow-hero-cta-primary,
.mojflow-hero-cta-secondary {
  opacity: 0;
  transform: translateY(0.8rem);
  transition: opacity 0.7s cubic-bezier(0.2, 0.7, 0.2, 1), transform 0.7s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.mojflow-hero-cta-row.is-revealed {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.mojflow-hero-cta-row.is-revealed .mojflow-hero-cta-primary {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.12s;
}
.mojflow-hero-cta-row.is-revealed .mojflow-hero-cta-secondary {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.32s;
}
.mojflow-hero-cta-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1.4rem 2.8rem;
  border-radius: 999px;
  background: #0A0A0B;
  color: #F6F5F1;
  font-weight: 600;
  font-size: 1.6rem;
  letter-spacing: 0.01em;
  text-decoration: none;
  transition: transform 0.2s ease, background 0.2s ease;
}
.mojflow-hero-cta-primary:hover {
  background: #2B5BFF;
  transform: translateY(-1px);
}
.mojflow-hero-cta-secondary {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  color: #0A0A0B;
  font-weight: 500;
  font-size: 1.5rem;
  text-decoration: none;
  border-bottom: 1px solid rgba(10, 10, 11, 0.35);
  padding-bottom: 0.2rem;
  transition: border-color 0.2s ease, color 0.2s ease;
}
.mojflow-hero-cta-secondary:hover {
  color: #2B5BFF;
  border-color: #2B5BFF;
}

.mojflow-hidden-group {
  display: none !important;
}

section.home-color.mojflow-home-contact .home-color-title-txt {
  max-width: 12ch;
  font-size: 10rem !important;
  line-height: 0.92 !important;
  letter-spacing: 0 !important;
  text-wrap: balance;
}

section.home-color.mojflow-home-contact .home-color-sub-wrap {
  align-content: start;
}

.mojflow-home-contact-cities {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.4rem;
  width: min(62rem, 100%);
  margin-top: 3rem;
}

.mojflow-home-contact-cities figure {
  position: relative;
  min-width: 0;
  margin: 0;
  aspect-ratio: 4 / 3;
  border-radius: 0.8rem;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.58);
  box-shadow: 0 1.8rem 4rem rgba(10, 10, 11, 0.12);
}

.mojflow-home-contact-cities img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  outline: 1px solid rgba(0, 0, 0, 0.1);
}

.mojflow-home-contact-cities figcaption {
  position: absolute;
  left: 1.4rem;
  bottom: 1.4rem;
  padding: 0.7rem 1rem;
  border-radius: 999px;
  background: rgba(246, 245, 241, 0.88);
  color: #070f36;
  font-size: 1.3rem;
  font-weight: 700;
}

body.mojflow-case-page,
body.mojflow-contact-page {
  -webkit-font-smoothing: antialiased;
}

body.mojflow-case-page .detail-hero-sub,
body.mojflow-contact-page .detail-hero-sub {
  max-width: 74rem;
  text-wrap: pretty;
}

body.mojflow-case-page .detail-toc-group,
body.mojflow-contact-page .detail-toc-group {
  scroll-margin-top: 8rem;
}

body.mojflow-case-page .detail-toc-group .content-slot.page-slot-wrap,
body.mojflow-contact-page .detail-toc-group .content-slot.page-slot-wrap {
  width: 100%;
  max-width: 118rem;
  padding: 0;
}

.mojflow-case-section,
.mojflow-contact-section {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(32rem, 0.86fr);
  align-items: start;
  gap: 4rem;
  width: 100%;
  min-width: 0;
  padding: 1.4rem 0 4rem;
}

.mojflow-case-copy,
.mojflow-contact-copy {
  min-width: 0;
}

.mojflow-case-kicker,
.mojflow-contact-kicker {
  margin-bottom: 1.6rem;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(10, 10, 11, 0.48);
}

.mojflow-case-label,
.mojflow-contact-label {
  margin: 0 0 1.8rem;
  font-family: Beatrice, Arial, sans-serif;
  font-size: 6.2rem;
  line-height: 0.98;
  letter-spacing: 0;
  color: #0a0a0b;
  text-wrap: balance;
}

.mojflow-case-title,
.mojflow-contact-title {
  margin: 0;
  max-width: 78rem;
  font-family: Beatrice, Arial, sans-serif;
  font-size: 3.5rem;
  line-height: 1.08;
  letter-spacing: 0;
  color: #0a0a0b;
  text-wrap: balance;
}

.mojflow-case-lead,
.mojflow-case-body p,
.mojflow-contact-lead,
.mojflow-contact-body p,
.mojflow-contact-card-grid p {
  margin: 1.4rem 0 0;
  max-width: 74rem;
  font-size: 1.72rem;
  line-height: 1.55;
  color: rgba(10, 10, 11, 0.72);
  text-wrap: pretty;
}

.mojflow-case-body,
.mojflow-contact-body {
  margin-top: 2.2rem;
}

.mojflow-case-chip-row,
.mojflow-contact-step-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 2.8rem;
}

.mojflow-case-chip-row span,
.mojflow-contact-step-row span {
  display: inline-flex;
  align-items: center;
  min-height: 3.8rem;
  padding: 0.9rem 1.3rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.76);
  box-shadow: 0 0.9rem 2.4rem rgba(10, 10, 11, 0.06);
  color: #0a0a0b;
  font-size: 1.35rem;
  font-weight: 700;
}

.mojflow-case-outcomes,
.mojflow-contact-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.2rem;
  margin-top: 2.8rem;
}

.mojflow-case-outcomes div,
.mojflow-contact-card-grid article {
  min-width: 0;
  padding: 1.8rem;
  border-radius: 0.8rem;
  background: rgba(255, 255, 255, 0.7);
  box-shadow: 0 1.4rem 3.4rem rgba(10, 10, 11, 0.06);
}

.mojflow-case-outcomes div {
  font-size: 1.45rem;
  font-weight: 700;
  line-height: 1.35;
  color: #0a0a0b;
}

.mojflow-contact-card-grid h3 {
  margin: 0;
  font-family: Beatrice, Arial, sans-serif;
  font-size: 2.1rem;
  line-height: 1.12;
  letter-spacing: 0;
  color: #0a0a0b;
  text-wrap: balance;
}

.mojflow-contact-card-grid p {
  margin-top: 1rem;
  font-size: 1.42rem;
  line-height: 1.45;
}

.mojflow-case-figure,
.mojflow-contact-figure {
  position: sticky;
  top: 9rem;
  width: 100%;
  margin: 0;
  border-radius: 0.8rem;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.62);
  box-shadow: 0 2rem 5rem rgba(10, 10, 11, 0.12);
}

.mojflow-case-figure {
  aspect-ratio: 14 / 9;
}

.mojflow-contact-figure {
  aspect-ratio: 4 / 3;
}

.mojflow-case-figure img,
.mojflow-contact-figure img,
.mojflow-contact-city-grid img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  outline: 1px solid rgba(0, 0, 0, 0.1);
}

.mojflow-case-cta,
.mojflow-contact-cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.4rem;
  margin-top: 3rem;
  padding: 2rem;
  border-radius: 0.8rem;
  background: #070f36;
  color: #f6f5f1;
}

.mojflow-case-cta h3 {
  flex: 1 1 28rem;
  margin: 0;
  font-family: Beatrice, Arial, sans-serif;
  font-size: 2.5rem;
  line-height: 1.1;
  letter-spacing: 0;
  text-wrap: balance;
}

.mojflow-case-cta a,
.mojflow-contact-cta a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 4.6rem;
  padding: 1.2rem 1.8rem;
  border-radius: 999px;
  background: #f6f5f1;
  color: #070f36;
  font-size: 1.42rem;
  font-weight: 800;
  text-decoration: none;
  transition: transform 0.2s ease, background 0.2s ease;
}

.mojflow-case-cta a:hover,
.mojflow-contact-cta a:hover {
  transform: translateY(-1px);
  background: #8dc9f4;
}

.mojflow-contact-city-grid {
  position: sticky;
  top: 9rem;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.2rem;
}

.mojflow-contact-city-grid figure {
  position: relative;
  margin: 0;
  aspect-ratio: 16 / 9;
  border-radius: 0.8rem;
  overflow: hidden;
  box-shadow: 0 1.8rem 4rem rgba(10, 10, 11, 0.12);
}

.mojflow-contact-city-grid figcaption {
  position: absolute;
  left: 1.4rem;
  bottom: 1.4rem;
  padding: 0.7rem 1rem;
  border-radius: 999px;
  background: rgba(246, 245, 241, 0.9);
  color: #070f36;
  font-size: 1.3rem;
  font-weight: 800;
}

.mojflow-contact-body a {
  color: #2b5bff;
  font-weight: 800;
  text-decoration: none;
}

@media only screen and (max-width: 991px) {
  .mojflow-case-section,
  .mojflow-contact-section {
    grid-template-columns: 1fr;
    gap: 2.8rem;
  }

  .mojflow-case-figure,
  .mojflow-contact-figure,
  .mojflow-contact-city-grid {
    position: relative;
    top: auto;
  }

  .mojflow-case-outcomes,
  .mojflow-contact-card-grid {
    grid-template-columns: 1fr;
  }
}

@media only screen and (max-width: 767px) {
  section.home-color.mojflow-home-contact .home-color-title-txt {
    max-width: 100%;
    font-size: 4.6rem !important;
    line-height: 1 !important;
  }

  .mojflow-home-contact-cities {
    grid-template-columns: 1fr;
    width: 100%;
    margin-top: 2rem;
  }

  .mojflow-case-label,
  .mojflow-contact-label {
    font-size: 4rem;
  }

  .mojflow-case-title,
  .mojflow-contact-title {
    font-size: 2.6rem;
  }

  .mojflow-case-lead,
  .mojflow-case-body p,
  .mojflow-contact-lead,
  .mojflow-contact-body p {
    font-size: 1.6rem;
  }

  .mojflow-case-section,
  .mojflow-contact-section {
    padding-bottom: 3rem;
  }

  .mojflow-case-cta,
  .mojflow-contact-cta {
    align-items: flex-start;
    flex-direction: column;
  }

  html,
  body {
    overflow-x: hidden;
  }

  .mojflow-handwritten-logo-link .header-logo-typo,
  .mojflow-handwritten-logo-link .header-logo-typo-inner {
    min-width: 0;
    max-width: calc(100vw - 12rem);
  }

  .mojflow-handwritten-header-logo {
    font-size: 2.8rem;
  }

  section#hello.home-hero,
  section.home-hero {
    overflow: hidden;
  }

  section#hello .cont-home-hero,
  section.home-hero .cont-home-hero {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    row-gap: 1.6rem !important;
    width: calc(100vw - 4rem) !important;
    max-width: calc(100vw - 4rem) !important;
    min-width: 0 !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  section#hello .home-hero-title-wrap,
  section#hello .home-hero-thumb,
  section#hello .home-hero-sub,
  section.home-hero .home-hero-title-wrap,
  section.home-hero .home-hero-thumb,
  section.home-hero .home-hero-sub {
    grid-column: 1 / -1 !important;
    justify-self: stretch !important;
  }

  section#hello .home-hero-title-wrap,
  section#hello .home-hero-title,
  section#hello .home-hero-title-charc,
  section.home-hero .home-hero-title-wrap,
  section.home-hero .home-hero-title,
  section.home-hero .home-hero-title-charc {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .home-hero-title-charc.mojflow-home-charc {
    justify-content: flex-start;
    overflow: hidden;
  }

  .mojflow-home-wordmark {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    font-size: 7.8rem !important;
    line-height: 0.92;
    letter-spacing: -0.05em;
  }

  section#hello .home-hero-thumb,
  section#hello .home-hero-thumb-inner,
  section.home-hero .home-hero-thumb,
  section.home-hero .home-hero-thumb-inner {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
  }

  section#hello .home-hero-thumb,
  section.home-hero .home-hero-thumb {
    height: 16rem !important;
    margin-top: -3.8rem !important;
  }

  section#hello .home-hero-thumb-inner,
  section.home-hero .home-hero-thumb-inner {
    aspect-ratio: 2.15 / 1;
    height: 100% !important;
    max-height: 16rem;
    overflow: hidden;
  }

  section#hello .home-hero-sub,
  section#hello .home-hero-sub-inner,
  section.home-hero .home-hero-sub,
  section.home-hero .home-hero-sub-inner {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  section#hello .home-hero-sub-txt,
  section.home-hero .home-hero-sub-txt {
    width: 100% !important;
    max-width: none !important;
    font-size: 1.75rem !important;
    line-height: 1.24 !important;
  }

  .mojflow-hero-cta-row {
    width: 100% !important;
    margin-top: 1.8rem !important;
    gap: 1.2rem !important;
  }

  .mojflow-hero-cta-primary,
  .mojflow-hero-cta-secondary {
    font-size: 1.35rem !important;
    white-space: nowrap;
  }

  .mojflow-hero-cta-primary {
    padding: 1.1rem 1.8rem !important;
  }
}

@media only screen and (max-width: 390px) {
  .mojflow-home-wordmark {
    font-size: 6.6rem !important;
  }

  section#hello .home-hero-sub-txt,
  section.home-hero .home-hero-sub-txt {
    font-size: 1.6rem !important;
  }
}
