.elementor-widget-theme-post-content{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-249 .elementor-element.elementor-element-661ecebe{color:#2C3E50;font-family:"Roboto", Sans-serif;font-size:17px;line-height:30px;}@media(max-width:1024px){.elementor-widget-theme-post-content{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}@media(max-width:767px){.elementor-widget-theme-post-content{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}/* Start custom CSS for theme-post-content, class: .elementor-element-661ecebe */.elementor-249 .elementor-element.elementor-element-661ecebe { font-family:Roboto,sans-serif; font-size:17px; line-height:30px; color:#2C3E50; min-width:0; height:auto; }
.elementor-249 .elementor-element.elementor-element-661ecebe > h2 { display:block; position:static; float:none; clear:both; height:auto; min-height:0; padding:0; margin:2.2rem 0 .85rem; font-family:Roboto,sans-serif; font-size:clamp(27px,2.7vw,38px); font-weight:900; line-height:1.26; letter-spacing:-.025em; color:#2C3E50; }
.elementor-249 .elementor-element.elementor-element-661ecebe > h2:first-child { margin-top:0; }
.elementor-249 .elementor-element.elementor-element-661ecebe > h3 { display:block; position:static; height:auto; padding:0; margin:1.7rem 0 .75rem; font-family:Roboto,sans-serif; font-size:25px; font-weight:800; line-height:1.3; color:#093C45; }
.elementor-249 .elementor-element.elementor-element-661ecebe > p, .elementor-249 .elementor-element.elementor-element-661ecebe > ul, .elementor-249 .elementor-element.elementor-element-661ecebe > ol { display:block; position:static; float:none; clear:none; height:auto; min-height:0; max-width:100%; padding:0; margin:0 0 1.15rem; font-family:Roboto,sans-serif; font-size:17px; line-height:1.75; color:#2C3E50; overflow-wrap:anywhere; }
.elementor-249 .elementor-element.elementor-element-661ecebe > ul, .elementor-249 .elementor-element.elementor-element-661ecebe > ol { padding-left:1.5rem; }
.elementor-249 .elementor-element.elementor-element-661ecebe a { font-weight:800; color:#093C45; text-decoration:underline; text-underline-offset:.16em; } @media (max-width:767px) { .elementor-249 .elementor-element.elementor-element-661ecebe > h2 { font-size:28px; line-height:1.3; margin:2rem 0 .85rem; } .elementor-249 .elementor-element.elementor-element-661ecebe > p { font-size:16px; line-height:1.8; } }/* End custom CSS */
/* Start custom CSS *//* Portfolio case-study editorial body: consistent mobile typography */
.elementor-249 .elementor-element.elementor-element-661ecebe,
.elementor-249 .elementor-element.elementor-element-661ecebe .elementor-widget-container {
  width: 100%;
  min-width: 0;
  height: auto !important;
  overflow: visible;
}
.elementor-249 .elementor-element.elementor-element-661ecebe h2,
.elementor-249 .elementor-element.elementor-element-661ecebe h3,
.elementor-249 .elementor-element.elementor-element-661ecebe p,
.elementor-249 .elementor-element.elementor-element-661ecebe ul,
.elementor-249 .elementor-element.elementor-element-661ecebe ol,
.elementor-249 .elementor-element.elementor-element-661ecebe li {
  position: static !important;
  display: block;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  white-space: normal;
  overflow-wrap: anywhere;
  transform: none !important;
  letter-spacing: normal;
}
.elementor-249 .elementor-element.elementor-element-661ecebe h2 {
  font-family: Roboto, sans-serif;
  font-size: clamp(1.65rem, 3.2vw, 2.4rem) !important;
  font-weight: 850;
  line-height: 1.23 !important;
  color: #2C3E50;
  margin: 2.5rem 0 0.9rem !important;
}
.elementor-249 .elementor-element.elementor-element-661ecebe h3 {
  font-family: Roboto, sans-serif;
  font-size: clamp(1.3rem, 2.4vw, 1.7rem) !important;
  font-weight: 800;
  line-height: 1.3 !important;
  color: #093C45;
  margin: 1.8rem 0 0.7rem !important;
}
.elementor-249 .elementor-element.elementor-element-661ecebe h2:first-child,
.elementor-249 .elementor-element.elementor-element-661ecebe h3:first-child {
  margin-top: 0 !important;
}
.elementor-249 .elementor-element.elementor-element-661ecebe p,
.elementor-249 .elementor-element.elementor-element-661ecebe li {
  font-family: Roboto, sans-serif;
  font-size: 1.05rem !important;
  font-weight: 400;
  line-height: 1.72 !important;
  color: #2C3E50;
  margin: 0 0 1.15rem !important;
}
.elementor-249 .elementor-element.elementor-element-661ecebe ul,
.elementor-249 .elementor-element.elementor-element-661ecebe ol {
  padding-left: 1.5rem;
  margin: 0 0 1.5rem;
}
.elementor-249 .elementor-element.elementor-element-661ecebe li { display: list-item; }
.elementor-249 .elementor-element.elementor-element-661ecebe a {
  color: #093C45;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
.elementor-249 .elementor-element.elementor-element-661ecebe a:focus-visible {
  outline: 3px solid #F2A71B;
  outline-offset: 3px;
}
@media (max-width: 767px) {
  .elementor-249 .elementor-element.elementor-element-661ecebe h2 {
    font-size: 1.78rem !important;
    line-height: 1.3 !important;
    margin: 2.15rem 0 0.85rem !important;
  }
  .elementor-249 .elementor-element.elementor-element-661ecebe h3 {
    font-size: 1.38rem !important;
    line-height: 1.35 !important;
  }
  .elementor-249 .elementor-element.elementor-element-661ecebe p,
  .elementor-249 .elementor-element.elementor-element-661ecebe li {
    font-size: 1rem !important;
    line-height: 1.75 !important;
    margin-bottom: 1rem !important;
  }
}
/* Hide course CTA when a project has no demo_url (Elementor renders a non-link button). */
.elementor-249 button[data-interaction-id="68500b75"]{display:none!important;}

/* Project demo link has moved to the dynamic CTA beneath the title. Preserve the source link in post content but hide the redundant final explore section. */
.elementor-249 .elementor-element-661ecebe > h2:last-of-type:has(+ p:last-child a[href]),
.elementor-249 .elementor-element-661ecebe > h2:last-of-type + p:last-child:has(a[href]){display:none!important;}

/* Case-study launch buttons: exact styling of the gold "Explore all projects" button. */
/* Restrict to actual links so projects with no demo_url remain hidden. */
.elementor-249 a.e-4f1bbc86-4d7d[data-interaction-id="68500b75"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: #F2A71B !important;
  color: #043e45 !important;
  border: 0 !important;
  border-radius: 3px !important;
  padding: 1rem 1.6rem !important;
  font: 900 1rem Roboto, sans-serif !important;
  line-height: 1.35 !important;
  text-decoration: none !important;
}
.elementor-249 a.e-4f1bbc86-4d7d[data-interaction-id="68500b75"]:hover {
  background-color: #ffc052 !important;
  color: #043e45 !important;
}
.elementor-249 a.e-4f1bbc86-4d7d[data-interaction-id="68500b75"]:focus-visible {
  outline: 3px solid #093C45 !important;
  outline-offset: 3px !important;
}

/* Keep the diagonal arrow as text instead of a colored emoji where supported. */
.elementor-249 a.e-4f1bbc86-4d7d[data-interaction-id="68500b75"]{font-variant-emoji:text!important;}


/* Vector launch-arrow icon (not an emoji font character). */
.elementor-249 a.e-4f1bbc86-4d7d[data-interaction-id="68500b75"]::after {
  content: "" !important;
  display: inline-block !important;
  flex: 0 0 15px !important;
  width: 15px !important;
  height: 15px !important;
  margin-left: .6rem !important;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23043e45%22%20stroke-width%3D%222.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2019L19%205M7%205h12v12%22%2F%3E%3C%2Fsvg%3E") !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
  vertical-align: middle !important;
}

/* Consistent, font-rendered directional arrow; prevents iPad emoji rendering. */
.elementor-249 a.e-4f1bbc86-4d7d[data-interaction-id="68500b75"]::after {
  content: " \2197\FE0E";
  font-family: Arial, sans-serif !important;
  font-variant-emoji: text;
  font-weight: 900;
  margin-left: .15em;
  display: inline;
}/* End custom CSS */