.elementor-kit-5{--e-global-color-primary:#090D16;--e-global-color-secondary:#2563EB;--e-global-color-text:#475569;--e-global-color-accent:#059669;--e-global-color-canvas_light:#F4F5F7;--e-global-color-surface_white:#FFFFFF;--e-global-color-border_hairline:#E2E5EC;--e-global-color-dark_obsidian:#090D16;--e-global-color-dark_elevated:#111827;--e-global-color-text_on_dark:#F8FAFC;--e-global-color-muted_on_dark:#94A3B8;--e-global-color-accent_bright:#38BDF8;--e-global-typography-primary-font-family:"Bricolage Grotesque";--e-global-typography-primary-font-weight:800;--e-global-typography-secondary-font-family:"Manrope";--e-global-typography-secondary-font-weight:700;--e-global-typography-text-font-family:"Manrope";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"JetBrains Mono";--e-global-typography-accent-font-weight:600;--e-global-typography-arabic_display-font-family:"Cairo";--e-global-typography-arabic_display-font-weight:700;background-color:#F4F5F7;color:#475569;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-kit-5 a{color:#2563EB;}.elementor-kit-5 a:hover{color:#090D16;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1280px;}.e-con{--container-max-width:1280px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS */html { scroll-behavior: smooth; }
body {
  background-color: #F4F5F7;
  color: #475569;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}
::selection {
  background-color: #2563EB;
  color: #FFFFFF;
}
:focus-visible {
  outline: 2px solid #2563EB;
  outline-offset: 3px;
}
html[dir="rtl"] body,
html[dir="rtl"] h1, html[dir="rtl"] h2, html[dir="rtl"] h3, html[dir="rtl"] h4,
html[dir="rtl"] p, html[dir="rtl"] a, html[dir="rtl"] button, html[dir="rtl"] input,
html[dir="rtl"] textarea, html[dir="rtl"] select, html[dir="rtl"] li, html[dir="rtl"] span {
  font-family: 'Cairo', 'Manrope', sans-serif;
}
.ah-mono, .ah-mono *, .ah-mono .elementor-heading-title {
  font-family: 'JetBrains Mono', monospace !important;
  font-variant-numeric: tabular-nums;
  direction: ltr;
  unicode-bidi: isolate;
}
/* Floating Glass Architectural Header */
.ah-sticky-header {
  position: sticky !important;
  top: 0;
  z-index: 999;
  backdrop-filter: blur(18px) saturate(160%);
  -webkit-backdrop-filter: blur(18px) saturate(160%);
}
/* Dark Architectural Studio Stage Background */
.ah-hero-grid-bg {
  background-color: #090D16 !important;
  background-image:
    radial-gradient(ellipse 60% 55% at 78% 22%, rgba(37, 99, 235, 0.22) 0%, transparent 65%),
    radial-gradient(ellipse 45% 45% at 20% 85%, rgba(56, 189, 248, 0.08) 0%, transparent 60%),
    linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px) !important;
  background-size: auto, auto, 44px 44px, 44px 44px !important;
}
/* Single Authoritative Hero Entrance */
@keyframes ahHeroRise {
  from { opacity: 0.92; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}
.ah-hero-reveal {
  animation: ahHeroRise 0.65s cubic-bezier(0.16, 1, 0.3, 1) both;
}
/* Live Status Indicator Dot */
.ah-status-dot .elementor-heading-title::before,
.ah-status-dot p::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #10B981;
  margin-inline-end: 9px;
  vertical-align: middle;
  box-shadow: 0 0 0 4px rgba(16, 185, 129, 0.20);
}
/* Studio Window Frame around Hero Artifact & Showcase */
.ah-browser-chrome {
  box-shadow: 0 32px 72px -24px rgba(0, 0, 0, 0.68), 0 0 0 1px rgba(255, 255, 255, 0.06);
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.3s ease;
}
.ah-browser-chrome:hover {
  transform: translateY(-4px);
  border-color: #38BDF8 !important;
}
/* Bento Case Study Spotlight: First Project Spans Full Width Horizontally */
@media (min-width: 1025px) {
  .ah-bento-projects .elementor-loop-container {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .ah-bento-projects .elementor-loop-container > .e-loop-item:first-child {
    grid-column: 1 / -1;
  }
  .ah-bento-projects .elementor-loop-container > .e-loop-item:first-child .ah-proj-card {
    flex-direction: row !important;
    align-items: stretch !important;
  }
  .ah-bento-projects .elementor-loop-container > .e-loop-item:first-child .ah-proj-thumb-stage {
    width: 56% !important;
    aspect-ratio: auto !important;
    min-height: 390px;
    border-bottom: 0 !important;
    border-inline-end: 1px solid #E2E5EC !important;
  }
  .ah-bento-projects .elementor-loop-container > .e-loop-item:first-child .ah-proj-body {
    width: 44% !important;
    justify-content: center !important;
    padding: 36px !important;
    gap: 16px !important;
  }
  .ah-bento-projects .elementor-loop-container > .e-loop-item:first-child .ah-proj-title .elementor-heading-title {
    font-size: 28px !important;
    line-height: 1.25 !important;
  }
  .ah-sticky-col {
    position: sticky !important;
    top: 96px;
    align-self: flex-start;
  }
}
/* Project Thumb Stage: Uncropped Full-Device Showcase */
.ah-proj-thumb-stage {
  aspect-ratio: 16 / 10;
  background: #0D121F !important;
  overflow: hidden;
  justify-content: center !important;
  align-items: center !important;
  border-bottom: 1px solid #E2E5EC;
}
.ah-proj-thumb-stage .elementor-widget-image,
.ah-proj-thumb-stage .elementor-widget-container,
.ah-proj-thumb-stage a {
  width: 100%;
  height: 100%;
  min-height: 0;
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ah-proj-thumb-stage img {
  width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}
.ah-proj-card {
  transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.28s ease, border-color 0.25s ease !important;
}
.ah-proj-card:hover {
  transform: translateY(-4px);
  border-color: #2563EB !important;
  box-shadow: 0 24px 48px -18px rgba(9, 13, 22, 0.14) !important;
}
.ah-proj-card:hover .ah-proj-thumb-stage img {
  transform: scale(1.03);
}
/* Editorial Blog Image Zoom */
.ah-blog-thumb img {
  width: 100% !important;
  aspect-ratio: 16 / 9;
  object-fit: cover !important;
  transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}
.ah-card {
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s ease, border-color 0.25s ease !important;
}
.ah-card:hover {
  transform: translateY(-3px);
  border-color: #2563EB !important;
  box-shadow: 0 20px 44px -18px rgba(9, 13, 22, 0.12) !important;
}
.ah-card:hover .ah-blog-thumb img {
  transform: scale(1.04);
}
/* Capabilities Sticky Index Rows */
.ah-cap-row {
  transition: border-color 0.25s ease, padding-inline-start 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}
.ah-cap-row:hover {
  border-bottom-color: #2563EB !important;
  padding-inline-start: 10px !important;
}
.ah-cap-row:hover .ah-cap-num .elementor-heading-title {
  color: #38BDF8 !important;
}
/* Horizontal Connected Engineering Rail on Desktop */
@media (min-width: 1025px) {
  .ah-process-rail {
    position: relative;
  }
  .ah-process-rail::before {
    content: "";
    position: absolute;
    top: 22px;
    left: 6%;
    right: 6%;
    height: 1px;
    background: linear-gradient(90deg, #CBD5E1 0%, #2563EB 50%, #CBD5E1 100%);
    opacity: 0.55;
    z-index: 0;
  }
  .ah-process-step {
    position: relative;
    z-index: 1;
  }
}
/* Step Node Badge & Avatar */
.ah-step-node .elementor-heading-title {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  background: #090D16;
  color: #F8FAFC;
  border: 2px solid #FFFFFF;
  box-shadow: 0 0 0 1px #CBD5E1;
}
.ah-avatar-circle .elementor-heading-title {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  background: #090D16;
  color: #FFFFFF;
}
.ah-pill-badge .elementor-heading-title {
  display: inline-block;
  padding: 4px 11px;
  border-radius: 6px;
  background: #EFF6FF;
  color: #1D4ED8;
  border: 1px solid #DBEAFE;
}
.ah-pill-dark .elementor-heading-title {
  display: inline-block;
  padding: 5px 12px;
  border-radius: 6px;
  background: rgba(37, 99, 235, 0.16);
  color: #93C5FD;
  border: 1px solid rgba(56, 189, 248, 0.25);
}
.ah-stack-chip .elementor-heading-title {
  display: inline-block;
  padding: 6px 12px;
  border-radius: 8px;
  background: #111827;
  color: #CBD5E1;
  border: 1px solid #1E293B;
}
.ah-clamp-2, .ah-clamp-2 .elementor-widget-container {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.ah-clamp-3, .ah-clamp-3 .elementor-widget-container {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
/* Case Study Device Showcase Viewport */
.ah-showcase-frame {
  max-height: 760px;
  overflow-y: auto;
  border-radius: 0 0 14px 14px;
  border: 1px solid #CBD5E1;
  border-top: 0;
  background: #090D16;
  box-shadow: 0 32px 68px -22px rgba(9, 13, 22, 0.24);
  scrollbar-width: thin;
  scrollbar-color: #334155 #090D16;
}
.ah-showcase-frame::-webkit-scrollbar { width: 8px; }
.ah-showcase-frame::-webkit-scrollbar-track { background: #090D16; }
.ah-showcase-frame::-webkit-scrollbar-thumb { background: #334155; border-radius: 999px; }
.ah-showcase-frame img { width: 100%; height: auto; display: block; }
.ah-tablet-frame { max-width: 820px !important; margin-inline: auto !important; }
.ah-mobile-frame { max-width: 420px !important; margin-inline: auto !important; }
/* Polylang Switcher */
.elementor-widget-polylang-language-switcher .cpel-switcher__list {
  display: flex;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.elementor-widget-polylang-language-switcher .cpel-switcher__lang a {
  display: inline-flex;
  align-items: center;
  padding: 7px 14px;
  border-radius: 8px;
  border: 1px solid #1E293B;
  background: #111827;
  color: #E2E8F0 !important;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  transition: border-color .2s, background .2s;
}
.elementor-widget-polylang-language-switcher .cpel-switcher__lang a:hover {
  border-color: #38BDF8;
  background: #1E293B;
}
/* Taxonomy Filter Pills */
.elementor-widget-taxonomy-filter .e-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.elementor-widget-taxonomy-filter .e-filter-item {
  padding: 9px 18px !important;
  border-radius: 999px !important;
  border: 1px solid #CBD5E1 !important;
  background: #FFFFFF !important;
  color: #334155 !important;
  font-weight: 600 !important;
  font-size: 13.5px !important;
  cursor: pointer;
  transition: all .2s ease;
}
.elementor-widget-taxonomy-filter .e-filter-item[aria-pressed="true"],
.elementor-widget-taxonomy-filter .e-filter-item.e-active,
.elementor-widget-taxonomy-filter .e-filter-item:hover {
  background: #090D16 !important;
  color: #FFFFFF !important;
  border-color: #090D16 !important;
}
/* Nested Tabs Device Controls */
.elementor-widget-n-tabs .e-n-tabs-heading {
  gap: 10px !important;
  flex-wrap: wrap !important;
}
.elementor-widget-n-tabs .e-n-tab-title {
  border-radius: 10px !important;
  border: 1px solid #CBD5E1 !important;
  background: #FFFFFF !important;
  color: #334155 !important;
  padding: 12px 22px !important;
  font-weight: 700 !important;
  cursor: pointer;
  transition: all .2s ease;
}
.elementor-widget-n-tabs .e-n-tab-title[aria-selected="true"] {
  background: #090D16 !important;
  color: #FFFFFF !important;
  border-color: #090D16 !important;
}
@media (max-width: 767px) {
  .ah-hide-mobile { display: none !important; }
  .ah-showcase-frame { max-height: 540px; }
}
@media (prefers-reduced-motion: reduce) {
  .ah-hero-reveal { animation: none !important; }
  .ah-proj-card, .ah-card, .ah-browser-chrome, .ah-cap-row, .ah-proj-thumb-stage img {
    transition: none !important;
    transform: none !important;
  }
}/* End custom CSS */