.elementor-238 .elementor-element.elementor-element-a16e089{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:nowrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS for html, class: .elementor-element-c0ca69e */@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@400;500;600;700;800;900&display=swap');

/* WordPress / Elementor Safety */
html,
body {
  overflow-x: hidden !important;
}

html.tc-modal-open {
  overflow: hidden !important;
}

.entry-title,
.page-title {
  display: none !important;
}

.elementor-widget-html,
.elementor-widget-html > .elementor-widget-container {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.e-con,
.e-con-inner,
.elementor-section,
.elementor-container,
.elementor-column,
.elementor-widget-wrap {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Core */
.tc-page,
.tc-page * {
  box-sizing: border-box;
  font-family: "Cairo", system-ui, sans-serif !important;
}

.tc-page {
  --tc-primary: #3764f0;
  --tc-primary-dark: #244fe3;
  --tc-primary-soft: #dbe5ff;
  --tc-bg: #f4f7ff;
  --tc-white: #ffffff;
  --tc-dark: #081025;
  --tc-text: #66738c;
  --tc-border: #cddcff;
  --tc-footer: #101829;
  --tc-shadow: 0 20px 48px rgba(55, 100, 240, 0.13);

  direction: rtl;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-right: calc(50% - 50vw) !important;
  margin-left: calc(50% - 50vw) !important;
  overflow-x: hidden !important;
  background: var(--tc-bg);
  color: var(--tc-dark);
  line-height: 1.8;
}

.tc-page a {
  text-decoration: none;
  color: inherit;
}

.tc-page img {
  display: block;
  max-width: 100%;
}

.tc-page h1,
.tc-page h2,
.tc-page h3,
.tc-page p {
  margin: 0;
}

.tc-container {
  width: min(1280px, calc(100% - 48px));
  margin-inline: auto;
}

/* Header */
.tc-header {
  position: sticky;
  top: 0;
  z-index: 9999;
  width: 100%;
  height: 82px;
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid #dce6ff;
  box-shadow: 0 8px 22px rgba(8, 16, 37, 0.035);
}

body.admin-bar .tc-header {
  top: 32px;
}

.tc-nav {
  height: 82px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 36px;
}

.tc-logo {
  display: flex;
  align-items: center;
}

.tc-logo img {
  width: 166px;
  height: auto;
}

.tc-menu {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 34px;
}

.tc-menu a {
  color: #68758e;
  font-size: 15px;
  font-weight: 800;
  transition: 0.25s ease;
}

.tc-menu a:hover {
  color: var(--tc-primary);
}

.tc-nav-cta {
  height: 54px;
  min-width: 154px;
  padding: 0 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 16px;
  background: linear-gradient(135deg, var(--tc-primary), #4b55ed);
  color: #fff !important;
  font-size: 15px;
  font-weight: 900;
  box-shadow: 0 16px 34px rgba(55, 100, 240, 0.28);
  transition: 0.28s ease;
}

.tc-nav-cta:hover {
  transform: translateY(-3px);
  box-shadow: 0 20px 44px rgba(55, 100, 240, 0.34);
}

.tc-menu-btn {
  display: none;
  width: 46px;
  height: 46px;
  border: 1px solid var(--tc-border);
  border-radius: 14px;
  background: #fff;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
}

.tc-menu-btn span {
  width: 20px;
  height: 2px;
  border-radius: 99px;
  background: var(--tc-primary);
  transition: 0.25s ease;
}

/* Buttons */
.tc-btn {
  min-height: 58px;
  padding: 0 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  font-size: 16px;
  font-weight: 900;
  transition: 0.28s ease;
  white-space: nowrap;
}

.tc-btn-primary {
  background: linear-gradient(135deg, var(--tc-primary), #4b55ed);
  color: #fff !important;
  box-shadow: 0 18px 38px rgba(55, 100, 240, 0.28);
}

.tc-btn-primary:hover {
  transform: translateY(-3px);
  box-shadow: 0 22px 48px rgba(55, 100, 240, 0.35);
}

.tc-btn-outline {
  color: var(--tc-primary) !important;
  border: 1px solid var(--tc-border);
  background: rgba(255, 255, 255, 0.82);
}

.tc-btn-outline:hover {
  border-color: var(--tc-primary);
  transform: translateY(-3px);
}

.tc-btn-whatsapp {
  min-height: 50px;
  background: #10c96a;
  color: #fff !important;
  box-shadow: 0 16px 34px rgba(16, 201, 106, 0.22);
}

/* Hero */
.tc-hero {
  position: relative;
  min-height: 730px;
  padding: 112px 0 100px;
  background:
    radial-gradient(circle at 5% 0%, rgba(55, 100, 240, 0.13), transparent 23%),
    radial-gradient(circle at 96% 79%, rgba(55, 100, 240, 0.10), transparent 17%),
    linear-gradient(180deg, #fbfdff 0%, #f4f7ff 100%);
  overflow: hidden;
}

.tc-hero-grid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  align-items: center;
  gap: 72px;
}

.tc-hero-content {
  max-width: 670px;
  text-align: center;
  margin-inline: auto;
}

.tc-pill {
  width: fit-content;
  min-height: 34px;
  margin: 0 auto 26px;
  padding: 5px 16px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  border-radius: 999px;
  border: 1px solid #bcd0ff;
  background: rgba(235, 241, 255, 0.92);
  color: var(--tc-primary);
  font-size: 13px;
  font-weight: 900;
}

.tc-pill i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--tc-primary);
  display: block;
}

.tc-hero h1 {
  font-size: clamp(48px, 4.2vw, 66px);
  line-height: 1.18;
  font-weight: 900;
  letter-spacing: -1.6px;
  color: var(--tc-dark);
  margin-bottom: 22px;
}

.tc-hero h1 span,
.tc-why-content h2 span {
  position: relative;
  display: inline-block;
  color: var(--tc-primary);
  z-index: 1;
  white-space: nowrap;
}

.tc-hero h1 span::after,
.tc-why-content h2 span::after {
  content: "";
  position: absolute;
  width: calc(100% + 18px);
  height: 8px;
  right: -8px;
  bottom: 4px;
  background: #d6e1ff;
  border-radius: 3px;
  transform: rotate(-1.7deg) skewX(-12deg);
  transform-origin: right center;
  clip-path: polygon(3% 36%, 100% 0%, 97% 100%, 0 100%);
  z-index: -1;
}

.tc-hero-content > p {
  max-width: 650px;
  margin: 0 auto 34px;
  color: var(--tc-text);
  font-size: 18px;
  line-height: 2;
  font-weight: 600;
}

.tc-hero-actions {
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 38px;
}

.tc-stats {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 54px;
}

.tc-stats div {
  text-align: center;
}

.tc-stats strong {
  display: block;
  color: var(--tc-primary);
  font-size: 32px;
  line-height: 1.1;
  font-weight: 900;
}

.tc-stats small {
  color: var(--tc-text);
  font-size: 13px;
  font-weight: 800;
}

.tc-hero-visual {
  position: relative;
  min-height: 450px;
}

.tc-hero-image {
  width: 565px;
  max-width: 100%;
  height: 382px;
  margin-inline: auto;
  border-radius: 26px;
  border: 1px solid #d5e1ff;
  overflow: hidden;
  background: #eaf1ff;
  box-shadow: 0 24px 56px rgba(55, 100, 240, 0.14);
}

.tc-hero-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.tc-float-card {
  position: absolute;
  min-width: 130px;
  padding: 13px 16px;
  text-align: center;
  border-radius: 17px;
  border: 1px solid #dbe6ff;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 18px 40px rgba(8, 16, 37, 0.10);
  animation: tcFloat 4s ease-in-out infinite;
}

.tc-float-card strong {
  display: block;
  color: var(--tc-dark);
  font-size: 14px;
  font-weight: 900;
  line-height: 1.4;
}

.tc-float-card small {
  color: var(--tc-text);
  font-size: 12px;
  font-weight: 800;
}

.tc-float-top {
  top: -24px;
  right: 8%;
}

.tc-float-mid {
  top: 168px;
  right: 0;
  animation-delay: 0.4s;
}

.tc-float-bottom {
  left: 3%;
  bottom: 8px;
  animation-delay: 0.8s;
}

/* Sections */
.tc-section {
  padding: 106px 0;
  scroll-margin-top: 96px;
}

.tc-soft {
  background: var(--tc-bg);
}

.tc-white {
  background: #fff;
}

.tc-section-head {
  max-width: 820px;
  margin: 0 auto 54px;
  text-align: center;
}

.tc-section-head h2 {
  font-size: clamp(34px, 3.1vw, 50px);
  line-height: 1.25;
  font-weight: 900;
  letter-spacing: -0.9px;
  margin-bottom: 14px;
  color: var(--tc-dark);
}

.tc-section-head p {
  color: var(--tc-text);
  font-size: 17px;
  font-weight: 600;
}

.tc-section-head em {
  display: none;
  margin-top: 16px;
  padding: 5px 14px;
  border-radius: 999px;
  border: 1px solid var(--tc-border);
  color: var(--tc-primary);
  background: #eef3ff;
  font-style: normal;
  font-size: 12px;
  font-weight: 900;
}

/* Services */
.tc-services-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 26px;
}

.tc-service-card {
  position: relative;
  min-height: 258px;
  padding: 36px;
  border-radius: 24px;
  border: 1px solid var(--tc-border);
  background: #fff;
  box-shadow: 0 8px 28px rgba(55, 100, 240, 0.055);
  transition: 0.28s ease;
}

.tc-service-card:hover {
  transform: translateY(-7px);
  border-color: #9fb9ff;
  box-shadow: var(--tc-shadow);
}

.tc-service-card b {
  position: absolute;
  top: 18px;
  right: 18px;
  padding: 5px 13px;
  border-radius: 999px;
  background: var(--tc-primary);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}

.tc-service-icon {
  width: 60px;
  height: 60px;
  margin-bottom: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 18px;
  background: #eef3ff;
  color: var(--tc-primary);
  font-size: 24px;
  font-weight: 900;
}

.tc-service-card h3 {
  font-size: 22px;
  font-weight: 900;
  color: var(--tc-dark);
  margin-bottom: 12px;
}

.tc-service-card p {
  color: var(--tc-text);
  font-size: 15px;
  line-height: 1.9;
  font-weight: 600;
  margin-bottom: 18px;
}

.tc-service-card a {
  color: var(--tc-primary);
  font-size: 15px;
  font-weight: 900;
}

/* Why */
.tc-why-grid {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: 72px;
  align-items: center;
}

.tc-why-content {
  max-width: 660px;
  margin-inline: auto;
  text-align: center;
}

.tc-why-content h2 {
  font-size: clamp(36px, 3.2vw, 52px);
  line-height: 1.26;
  font-weight: 900;
  letter-spacing: -1px;
  color: var(--tc-dark);
  margin-bottom: 22px;
}

.tc-why-content p {
  color: var(--tc-text);
  font-size: 17px;
  line-height: 2;
  font-weight: 600;
  margin-bottom: 30px;
}

.tc-features {
  display: grid;
  gap: 18px;
  max-width: 640px;
  margin-inline: auto;
}

.tc-feature-card {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 23px 24px;
  border-radius: 21px;
  border: 1px solid var(--tc-border);
  background: #fff;
  box-shadow: 0 8px 24px rgba(55, 100, 240, 0.055);
  transition: 0.26s ease;
}

.tc-feature-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--tc-shadow);
}

.tc-feature-main {
  border-color: #9fb9ff;
  background: linear-gradient(135deg, #fff, #eef4ff);
}

.tc-feature-card > div {
  width: 52px;
  height: 52px;
  flex: 0 0 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: var(--tc-primary);
  background: #eef3ff;
  font-size: 20px;
  font-weight: 900;
}

.tc-feature-card h3 {
  font-size: 18px;
  font-weight: 900;
  color: var(--tc-dark);
  margin-bottom: 4px;
}

.tc-feature-card p {
  color: var(--tc-text);
  font-size: 14.5px;
  line-height: 1.9;
  font-weight: 600;
}

/* Process */
.tc-process {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 18px;
}

.tc-process article {
  text-align: center;
  padding: 10px;
}

.tc-process strong {
  width: 52px;
  height: 52px;
  margin: 0 auto 18px;
  border-radius: 15px;
  background: var(--tc-primary);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  box-shadow: 0 15px 30px rgba(55, 100, 240, 0.28);
}

.tc-process h3 {
  font-size: 15px;
  color: var(--tc-dark);
  font-weight: 900;
  margin-bottom: 8px;
}

.tc-process p {
  color: var(--tc-text);
  font-size: 13px;
  line-height: 1.8;
  font-weight: 600;
}

.tc-center {
  text-align: center;
  margin-top: 44px;
}

/* Portfolio */
.tc-filter {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-bottom: 38px;
  flex-wrap: wrap;
}

.tc-filter button {
  min-width: 96px;
  height: 42px;
  padding: 0 18px;
  border-radius: 999px;
  border: 1px solid var(--tc-border);
  background: #fff;
  color: var(--tc-text);
  cursor: pointer;
  font-size: 14px;
  font-weight: 900;
  transition: 0.25s ease;
}

.tc-filter button.active,
.tc-filter button:hover {
  background: var(--tc-primary);
  color: #fff;
  box-shadow: 0 12px 24px rgba(55, 100, 240, 0.20);
}

.tc-projects {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 26px;
}

.tc-project-card {
  overflow: hidden;
  border-radius: 24px;
  border: 1px solid var(--tc-border);
  background: #fff;
  box-shadow: 0 8px 26px rgba(55, 100, 240, 0.06);
  transition: 0.28s ease;
}

.tc-project-card:hover {
  transform: translateY(-7px);
  box-shadow: var(--tc-shadow);
}

.tc-project-image {
  height: 190px;
  position: relative;
  background:
    linear-gradient(135deg, rgba(55, 100, 240, 0.15), rgba(255, 255, 255, 0.55)),
    #e9f0ff;
  background-size: cover;
  background-position: center;
  border-bottom: 1px solid var(--tc-border);
}

.tc-project-image.has-image::after {
  display: none;
}

.tc-project-card section {
  padding: 22px;
}

.tc-card-tags {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
  margin-bottom: 15px;
}

.tc-card-tags span {
  display: inline-flex;
  padding: 4px 10px;
  border-radius: 999px;
  background: #eef3ff;
  color: var(--tc-primary);
  font-size: 11px;
  font-weight: 900;
}

.tc-project-card h3 {
  font-size: 18px;
  font-weight: 900;
  color: var(--tc-dark);
  margin-bottom: 9px;
}

.tc-project-card p {
  color: var(--tc-text);
  font-size: 13.5px;
  line-height: 1.8;
  font-weight: 600;
  margin-bottom: 16px;
}

.tc-project-open {
  border: 0;
  background: transparent;
  color: var(--tc-primary);
  font-size: 14px;
  font-weight: 900;
  cursor: pointer;
  padding: 0;
  font-family: inherit;
}

.tc-project-open:hover {
  color: var(--tc-primary-dark);
}

.tc-portfolio-cta {
  margin: 50px auto 0;
  max-width: 760px;
  padding: 34px;
  border-radius: 28px;
  background: linear-gradient(135deg, #fff, #eef4ff);
  border: 1px solid var(--tc-border);
  text-align: center;
  box-shadow: 0 16px 36px rgba(55, 100, 240, 0.10);
}

.tc-portfolio-cta h3 {
  font-size: 28px;
  font-weight: 900;
  margin-bottom: 8px;
}

.tc-portfolio-cta p {
  color: var(--tc-text);
  font-size: 15px;
  font-weight: 700;
  margin-bottom: 22px;
}

/* Fluent Form Card */
.tc-fluent-form-card {
  max-width: 790px;
  margin: 0 auto;
  padding: 42px;
  border-radius: 30px;
  border: 1px solid var(--tc-border);
  background: #fff;
  box-shadow: 0 24px 60px rgba(55, 100, 240, 0.12);
}

.tc-fluent-form-wrap {
  width: 100%;
}

/* Fluent Form Reset Inside Talal Code */
.tc-fluent-form-card .fluentform,
.tc-fluent-form-card .fluentform *,
.tc-fluent-form-card .frm-fluent-form,
.tc-fluent-form-card .frm-fluent-form * {
  font-family: "Cairo", system-ui, sans-serif !important;
  box-sizing: border-box;
}

/* Fluent Form Labels */
.tc-fluent-form-card .ff-el-input--label,
.tc-fluent-form-card .ff-el-input--label label,
.tc-fluent-form-card .ff-el-group label {
  color: var(--tc-dark) !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  margin-bottom: 8px !important;
  line-height: 1.6 !important;
}

/* Required mark */
.tc-fluent-form-card .ff-el-is-required.asterisk-right label:after,
.tc-fluent-form-card .ff-el-is-required.asterisk-left label:before,
.tc-fluent-form-card .ff-el-input--label label:after {
  color: #ff3b3b !important;
}

/* Groups spacing */
.tc-fluent-form-card .ff-el-group {
  margin-bottom: 20px !important;
}

/* Inputs */
.tc-fluent-form-card input[type="text"],
.tc-fluent-form-card input[type="email"],
.tc-fluent-form-card input[type="tel"],
.tc-fluent-form-card input[type="number"],
.tc-fluent-form-card input[type="url"],
.tc-fluent-form-card input[type="date"],
.tc-fluent-form-card input[type="time"],
.tc-fluent-form-card select,
.tc-fluent-form-card textarea,
.tc-fluent-form-card .ff-el-form-control {
  width: 100% !important;
  min-height: 56px !important;
  border-radius: 17px !important;
  border: 1px solid #cddcff !important;
  background: #f3f7ff !important;
  padding: 0 18px !important;
  color: var(--tc-dark) !important;
  outline: none !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  box-shadow: none !important;
  transition: 0.22s ease !important;
  direction: rtl !important;
  text-align: right !important;
}

.tc-fluent-form-card textarea,
.tc-fluent-form-card textarea.ff-el-form-control {
  min-height: 122px !important;
  padding-top: 16px !important;
  resize: vertical !important;
  line-height: 1.8 !important;
}

.tc-fluent-form-card input:focus,
.tc-fluent-form-card select:focus,
.tc-fluent-form-card textarea:focus,
.tc-fluent-form-card .ff-el-form-control:focus {
  background: #fff !important;
  border-color: var(--tc-primary) !important;
  box-shadow: 0 0 0 4px rgba(55, 100, 240, 0.10) !important;
}

/* Placeholder */
.tc-fluent-form-card input::placeholder,
.tc-fluent-form-card textarea::placeholder {
  color: #8b99b6 !important;
  opacity: 1 !important;
}

/* Fluent Form Row / Column Support */
.tc-fluent-form-card .ff-el-form-top,
.tc-fluent-form-card .ff-el-form-bottom {
  margin: 0 !important;
}

.tc-fluent-form-card .ff-t-container {
  gap: 20px !important;
  margin-bottom: 0 !important;
}

.tc-fluent-form-card .ff-t-cell {
  padding: 0 !important;
}

/* Submit Button */
.tc-fluent-form-card .ff-btn-submit,
.tc-fluent-form-card button[type="submit"],
.tc-fluent-form-card input[type="submit"] {
  width: 100% !important;
  min-height: 60px !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, var(--tc-primary), #4b55ed) !important;
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  box-shadow: 0 18px 38px rgba(55, 100, 240, 0.28) !important;
  cursor: pointer !important;
  transition: 0.28s ease !important;
  font-family: "Cairo", system-ui, sans-serif !important;
}

.tc-fluent-form-card .ff-btn-submit:hover,
.tc-fluent-form-card button[type="submit"]:hover,
.tc-fluent-form-card input[type="submit"]:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 22px 48px rgba(55, 100, 240, 0.35) !important;
}

/* Fluent Form Messages */
.tc-fluent-form-card .ff-message-success {
  border-radius: 18px !important;
  border: 1px solid #bdeed2 !important;
  background: #effff5 !important;
  color: #0d7a3c !important;
  font-weight: 800 !important;
  padding: 16px 18px !important;
}

.tc-fluent-form-card .error,
.tc-fluent-form-card .text-danger,
.tc-fluent-form-card .ff-el-is-error .text-danger {
  color: #e63946 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  margin-top: 6px !important;
}

.tc-form-note {
  text-align: center;
  margin-top: 15px !important;
  color: var(--tc-text);
  font-size: 13px;
  font-weight: 800;
}

/* FAQ */
.tc-faq {
  max-width: 790px;
  margin: 0 auto;
}

.tc-faq-item {
  overflow: hidden;
  margin-bottom: 14px;
  border-radius: 19px;
  border: 1px solid var(--tc-border);
  background: #fff;
}

.tc-faq-item button {
  width: 100%;
  min-height: 68px;
  border: 0;
  background: transparent;
  cursor: pointer;
  text-align: right;
  padding: 0 24px;
  color: var(--tc-dark);
  font-size: 16px;
  font-weight: 900;
  position: relative;
  font-family: inherit;
}

.tc-faq-item button::before {
  content: "⌄";
  position: absolute;
  left: 24px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--tc-primary);
  font-size: 22px;
}

.tc-faq-item.active button::before {
  content: "⌃";
}

.tc-faq-item div {
  max-height: 0;
  overflow: hidden;
  transition: 0.28s ease;
}

.tc-faq-item.active div {
  max-height: 190px;
}

.tc-faq-item p {
  padding: 0 24px 24px;
  color: var(--tc-text);
  font-size: 15px;
  line-height: 1.9;
  font-weight: 600;
}

.tc-faq-cta p {
  color: var(--tc-text);
  margin-bottom: 14px;
  font-weight: 700;
}

/* Footer */
.tc-footer {
  background: var(--tc-footer);
  color: #dce5ff;
  padding: 82px 0 30px;
}

.tc-footer-grid {
  display: grid;
  grid-template-columns: 1.35fr 1fr 1fr 1fr;
  gap: 58px;
}

.tc-footer-brand img {
  width: 196px;
  height: auto;
  margin-bottom: 22px;
  background: transparent !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}

.tc-footer h3 {
  color: #fff;
  font-size: 17px;
  font-weight: 900;
  margin-bottom: 20px;
}

.tc-footer p,
.tc-footer a {
  display: block;
  color: #aebada;
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 12px;
}

.tc-footer a:hover {
  color: #fff;
}

/* Premium Social Icons */
.tc-social {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 24px;
}

.tc-social-link {
  width: 42px !important;
  height: 42px !important;
  margin: 0 !important;
  border-radius: 50% !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  color: #ffffff !important;
  background:
    linear-gradient(135deg, rgba(55, 100, 240, 0.22), rgba(75, 85, 237, 0.12)) !important;

  border: 1px solid rgba(255, 255, 255, 0.10) !important;
  box-shadow: 0 10px 26px rgba(55, 100, 240, 0.12) !important;

  transition: 0.28s ease !important;
  position: relative;
  overflow: hidden;
}

.tc-social-link::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, var(--tc-primary), #4b55ed);
  opacity: 0;
  transition: 0.28s ease;
}

.tc-social-link svg {
  width: 19px;
  height: 19px;
  fill: currentColor;
  position: relative;
  z-index: 2;
  transition: 0.28s ease;
}

.tc-social-link:hover {
  transform: translateY(-4px) scale(1.04);
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.22) !important;
  box-shadow: 0 16px 36px rgba(55, 100, 240, 0.28) !important;
}

.tc-social-link:hover::before {
  opacity: 1;
}

.tc-social-link:hover svg {
  transform: scale(1.08);
}

/* Mobile */
@media (max-width: 767px) {
  .tc-social {
    gap: 10px;
  }

  .tc-social-link {
    width: 40px !important;
    height: 40px !important;
  }

  .tc-social-link svg {
    width: 18px;
    height: 18px;
  }
}

.tc-footer-btn {
  width: fit-content;
  min-height: 48px;
  padding: 0 24px;
  border-radius: 15px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--tc-primary), #4b55ed);
  color: #fff !important;
  margin-top: 14px;
}

.tc-footer-bottom {
  margin-top: 60px;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,0.11);
  display: flex;
  justify-content: space-between;
  gap: 20px;
  color: #7e8aaa;
  font-size: 13px;
  font-weight: 700;
}

/* Modal */
.tc-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 26px;
}

.tc-modal.is-open {
  display: flex;
}

.tc-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(8, 16, 37, 0.62);
  backdrop-filter: blur(10px);
}

.tc-modal-dialog {
  position: relative;
  z-index: 2;
  width: min(1180px, 96vw);
  max-height: 92vh;
  overflow: auto;
  border-radius: 30px;
  background: #fff;
  border: 1px solid rgba(205, 220, 255, 0.9);
  box-shadow: 0 30px 90px rgba(8, 16, 37, 0.28);
  display: grid;
  grid-template-columns: 1fr;
}

.tc-modal-close {
  position: absolute !important;
  top: 18px !important;
  left: 18px !important;
  right: auto !important;
  z-index: 30 !important;
  width: 44px !important;
  height: 44px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  border: 1px solid #cddcff !important;
  background: #ffffff !important;
  color: #081025 !important;
  font-size: 28px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  font-family: Arial, sans-serif !important;
  cursor: pointer !important;
  box-shadow: 0 12px 28px rgba(8, 16, 37, 0.14) !important;
}

.tc-modal-image {
  width: 100%;
  height: 430px;
  min-height: 430px;
  border-bottom: 1px solid #dbe6ff;
  background:
    radial-gradient(circle at 20% 20%, rgba(55, 100, 240, 0.14), transparent 35%),
    linear-gradient(135deg, #eef4ff, #ffffff);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 22px;
  overflow: hidden;
}

.tc-modal-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  border-radius: 22px;
  box-shadow: 0 18px 48px rgba(8, 16, 37, 0.12);
}

.tc-modal-content {
  padding: 38px 46px 46px;
}

.tc-modal-tags {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}

.tc-modal-tags span {
  display: inline-flex;
  padding: 5px 12px;
  border-radius: 999px;
  background: #eef3ff;
  color: var(--tc-primary);
  font-size: 12px;
  font-weight: 900;
}

.tc-modal-content h2 {
  font-size: clamp(30px, 3vw, 44px);
  line-height: 1.25;
  color: var(--tc-dark);
  font-weight: 900;
  margin-bottom: 6px;
}

.tc-modal-type {
  color: var(--tc-primary);
  font-size: 14px;
  font-weight: 900;
  margin-bottom: 18px !important;
}

.tc-modal-summary {
  color: var(--tc-text);
  font-size: 15.5px;
  line-height: 2;
  font-weight: 700;
  margin-bottom: 24px !important;
}

.tc-modal-block {
  padding: 18px 0;
  border-top: 1px solid #e6eeff;
}

.tc-modal-block h3 {
  font-size: 18px;
  color: var(--tc-dark);
  font-weight: 900;
  margin-bottom: 8px;
}

.tc-modal-block p,
.tc-modal-block li {
  color: var(--tc-text);
  font-size: 14.5px;
  line-height: 1.9;
  font-weight: 650;
}

.tc-modal-block ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.tc-modal-block li {
  padding: 10px 12px;
  border-radius: 14px;
  background: #f4f7ff;
  border: 1px solid #e0e9ff;
}

.tc-modal-result {
  background: linear-gradient(135deg, #fff, #eef4ff);
  border: 1px solid var(--tc-border);
  border-radius: 20px;
  padding: 18px;
  margin-top: 14px;
}

.tc-modal-cta {
  margin-top: 24px;
  padding: 24px;
  border-radius: 24px;
  text-align: center;
  background: var(--tc-footer);
  color: #fff;
}

.tc-modal-cta h3 {
  color: #fff;
  font-size: 24px;
  font-weight: 900;
  margin-bottom: 8px;
}

.tc-modal-cta p {
  color: #bfc9e5;
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 18px;
}

/* Animation */
.tc-reveal {
  opacity: 0;
  transform: translateY(22px);
  transition: 0.7s ease;
}

.tc-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@keyframes tcFloat {
  0%, 100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-10px);
  }
}

/* Responsive */
@media (max-width: 1200px) {
  .tc-hero-grid,
  .tc-why-grid {
    gap: 48px;
  }

  .tc-projects {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 992px) {
  .tc-container {
    width: min(100% - 36px, 760px);
  }

  .tc-header {
    height: 68px;
  }

  .tc-nav {
    height: 68px;
    grid-template-columns: auto auto;
    justify-content: space-between;
  }

  .tc-logo img {
    width: 142px;
  }

  .tc-menu-btn {
    display: flex;
  }

  .tc-nav-cta {
    display: none;
  }

  .tc-menu {
    position: absolute;
    top: 76px;
    right: 18px;
    left: 18px;
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 14px;
    border-radius: 22px;
    border: 1px solid var(--tc-border);
    background: #fff;
    box-shadow: var(--tc-shadow);
  }

  .tc-menu.is-open {
    display: flex;
  }

  .tc-menu a {
    padding: 13px 16px;
    border-radius: 14px;
  }

  .tc-menu a:hover {
    background: #f1f5ff;
  }

  .tc-hero {
    min-height: auto;
    padding: 72px 0 76px;
  }

  .tc-hero-grid,
  .tc-why-grid {
    grid-template-columns: 1fr;
  }

  .tc-hero-content {
    order: 1;
  }

  .tc-hero-visual {
    order: 2;
  }

  .tc-services-grid,
  .tc-projects {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tc-process {
    grid-template-columns: repeat(4, minmax(170px, 1fr));
  }

  .tc-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Mobile */
@media (max-width: 767px) {
  body.admin-bar .tc-header {
    top: 0;
  }

  .tc-container {
    width: calc(100% - 24px);
  }

  .tc-header {
    height: 64px;
  }

  .tc-nav {
    height: 64px;
  }

  .tc-logo img {
    width: 128px;
  }

  .tc-menu {
    top: 70px;
  }

  .tc-hero {
    padding: 46px 0 58px;
  }

  .tc-pill {
    min-height: 30px;
    padding: 5px 12px;
    font-size: 11.5px;
    margin-bottom: 18px;
  }

  .tc-hero h1 {
    font-size: clamp(31px, 8.4vw, 40px);
    line-height: 1.25;
    letter-spacing: -0.7px;
    margin-bottom: 18px;
  }

  .tc-hero h1 span,
  .tc-why-content h2 span {
    white-space: normal;
  }

  .tc-hero h1 span::after,
  .tc-why-content h2 span::after {
    height: 6px;
    bottom: 2px;
    right: -4px;
    width: calc(100% + 10px);
  }

  .tc-hero-content > p {
    font-size: 14.5px;
    line-height: 2;
    margin-bottom: 26px;
  }

  .tc-hero-actions {
    flex-direction: column;
    gap: 12px;
    margin-bottom: 30px;
  }

  .tc-hero-actions .tc-btn {
    width: 100%;
  }

  .tc-btn {
    min-height: 52px;
    font-size: 14.5px;
    padding: 0 22px;
  }

  .tc-stats {
    flex-direction: column;
    gap: 18px;
  }

  .tc-stats strong {
    font-size: 26px;
  }

  .tc-hero-visual {
    min-height: 310px;
    margin-top: 34px;
  }

  .tc-hero-image {
    width: 100%;
    height: 264px;
    border-radius: 22px;
  }

  .tc-float-card {
    min-width: 112px;
    padding: 10px 12px;
  }

  .tc-float-card strong {
    font-size: 12.5px;
  }

  .tc-float-card small {
    font-size: 10.5px;
  }

  .tc-float-top {
    top: -18px;
    right: 10px;
  }

  .tc-float-mid {
    top: 126px;
    right: 0;
  }

  .tc-float-bottom {
    left: 0;
    bottom: -2px;
  }

  .tc-section {
    padding: 70px 0;
  }

  .tc-section-head {
    margin-bottom: 34px;
  }

  .tc-section-head h2 {
    font-size: clamp(27px, 7.4vw, 36px);
    line-height: 1.35;
  }

  .tc-section-head p {
    font-size: 14.5px;
    line-height: 2;
  }

  .tc-section-head em {
    display: inline-flex;
  }

  .tc-mobile-scroll {
    display: flex !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    gap: 16px !important;
    scroll-snap-type: x mandatory;
    padding: 4px 2px 18px;
    margin-inline: -2px;
    -webkit-overflow-scrolling: touch;
  }

  .tc-mobile-scroll::-webkit-scrollbar {
    display: none;
  }

  .tc-service-card,
  .tc-process article,
  .tc-project-card {
    flex: 0 0 84%;
    scroll-snap-align: center;
  }

  .tc-service-card {
    min-height: 286px;
    padding: 28px 24px;
  }

  .tc-service-icon {
    width: 56px;
    height: 56px;
    margin-bottom: 26px;
  }

  .tc-service-card h3 {
    font-size: 20px;
  }

  .tc-service-card p {
    font-size: 14px;
  }

  .tc-why-grid {
    gap: 36px;
  }

  .tc-why-content {
    width: 100%;
    max-width: 100%;
  }

  .tc-why-content h2 {
    font-size: clamp(29px, 8vw, 38px);
    line-height: 1.3;
    letter-spacing: -0.5px;
  }

  .tc-why-content p {
    font-size: 14.5px;
    line-height: 2;
  }

  .tc-features {
    width: 100%;
    max-width: 100%;
    gap: 14px;
  }

  .tc-feature-card {
    width: 100%;
    padding: 18px 16px;
    gap: 14px;
    border-radius: 18px;
  }

  .tc-feature-card:hover {
    transform: none;
  }

  .tc-feature-card > div {
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
  }

  .tc-feature-card h3 {
    font-size: 16.5px;
  }

  .tc-feature-card p {
    font-size: 13px;
  }

  .tc-process {
    display: flex;
  }

  .tc-process article {
    min-height: 210px;
    padding: 24px 18px;
    border-radius: 20px;
    border: 1px solid var(--tc-border);
    background: #fff;
  }

  .tc-project-card {
    flex-basis: 86%;
  }

  .tc-project-image {
    height: 188px;
  }

  .tc-portfolio-cta {
    padding: 26px 18px;
    border-radius: 24px;
  }

  .tc-portfolio-cta h3 {
    font-size: 23px;
  }

  .tc-fluent-form-card {
    padding: 24px 16px;
    border-radius: 24px;
  }

  .tc-fluent-form-card .ff-t-container {
    display: block !important;
  }

  .tc-fluent-form-card .ff-t-cell {
    width: 100% !important;
    max-width: 100% !important;
  }

  .tc-fluent-form-card input[type="text"],
  .tc-fluent-form-card input[type="email"],
  .tc-fluent-form-card input[type="tel"],
  .tc-fluent-form-card input[type="number"],
  .tc-fluent-form-card input[type="url"],
  .tc-fluent-form-card input[type="date"],
  .tc-fluent-form-card input[type="time"],
  .tc-fluent-form-card select,
  .tc-fluent-form-card textarea,
  .tc-fluent-form-card .ff-el-form-control {
    min-height: 52px !important;
    border-radius: 15px !important;
  }

  .tc-footer {
    padding: 60px 0 26px;
  }

  .tc-footer-grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .tc-footer-brand img {
    width: 168px;
  }

  .tc-footer-bottom {
    margin-top: 38px;
    flex-direction: column;
    text-align: center;
  }

  .tc-modal {
    padding: 12px;
  }

  .tc-modal-dialog {
    width: 100%;
    max-height: 92vh;
    border-radius: 24px;
  }

  .tc-modal-image {
    height: 230px;
    min-height: 230px;
    padding: 14px;
  }

  .tc-modal-image img {
    border-radius: 16px;
  }

  .tc-modal-content {
    padding: 24px 18px 28px;
  }

  .tc-modal-block ul {
    grid-template-columns: 1fr;
  }

  .tc-modal-close {
    top: 14px !important;
    left: 14px !important;
    width: 40px !important;
    height: 40px !important;
    font-size: 26px !important;
  }
}

@media (max-width: 420px) {
  .tc-container {
    width: calc(100% - 18px);
  }

  .tc-logo img {
    width: 122px;
  }

  .tc-menu-btn {
    width: 42px;
    height: 42px;
  }

  .tc-hero h1 {
    font-size: 30px;
  }

  .tc-service-card,
  .tc-project-card {
    flex-basis: 88%;
  }
}/* End custom CSS */