/*=========== TABLE OF CONTENTS ===========
1. Reset CSS
2. CSS Variables
3. Utility CSS
4. Page CSS
5. Component CSS
6. Fonts CSS
==========================================*/

html, body {
  overflow-x: hidden; /* Prevent horizontal scroll */
  width: 100%;
  position: relative;
}

/*-------------------------------------
  1. Reset CSS
--------------------------------------*/
body {
  margin: 0;
  padding: 0;
  font-family: 'DM Sans', sans-serif; /* Changed from Inter to DM Sans */
}

* {
  box-sizing: border-box;
  line-height: normal;
  font-family: inherit;
  margin: unset;
}

a {
  text-decoration: none;
  display: block;
}

img {
  max-width: 100%;
  height: auto;
}

ul {
  margin: 0;
  margin-inline: unset !important;
  padding: 0;
  list-style: none;
}

[type="text"],
input:where(:not([type])),
[type="email"],
[type="url"],
[type="password"],
[type="number"],
[type="date"],
[type="datetime-local"],
[type="month"],
[type="search"],
[type="tel"],
[type="time"],
[type="week"],
[multiple],
textarea,
select,
button {
  appearance: none;
  background-color: transparent;
  border-color: unset;
  border-width: 0;
  border-radius: unset;
  padding: unset;
  font-size: unset;
  line-height: unset;
  color: inherit;
}
input:focus-visible,
[multiple]:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: none;
}

/*-------------------------------------
  2. CSS Variables
--------------------------------------*/
:root {
  /*------Color variables------*/
  --black_900: #000000;
  --black_900_99: #00000099;
  --blue_100: #d2dcff;
  --blue_400: #3bb0e1;
  --blue_50: #eaeefe;
  --blue_900: #183ec2;
  --gray_400: #bcbcbc;
  --gray_600: #7b7b7b;
  --gray_900: #010d3e;
  --gray_900_01: #24262b;
  --gray_900_14: #1b1b1b14;
  --gray_900_19: #22222219;
  --indigo_900: #001254;
  --indigo_a200: #5e7bea;
  --purple_100: #e8c7fc;
  --red_100: #fedfcb;
  --teal_a400: #18e8d9;
  --white_a700: #ffffff;

  /*------Shadow variables------*/
  --shadow-xs: 0 7px 24px 0 #24262b;

  /*------Border radius variables------*/
  --radius-xs: 4px;
  --radius-sm: 10px;
  --radius-md: 20px;
  --radius-lg: 60px;

  /*------Spacing variables------*/
  --space-xs: 4px;
  --space-sm: 6px;
  --space-md: 8px;
  --space-lg: 10px;
  --space-xl: 20px;
  --space-2xl: 22px;
  --space-3xl: 24px;
  --space-4xl: 40px;
}

/*-------------------------------------
  3. Utility CSS
--------------------------------------*/
.flex-col-center-center {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

/*-------------------------------------
  4. Page CSS
--------------------------------------*/
.desktop {
  background-color: var(--white_a700);
  width: 100%;
}

.columnheaderlog {
  margin-bottom: 0px;
}

.header {
  background-color: var(--blue_50);
  padding: var(--space-xl);
}

.header__top-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-xl);
  @media only screen and (max-width: 1050px) {
    flex-direction: column;
  }
}

.header__logo {
  height: 40px;
  width: 154px;
  object-fit: contain;
}

.header__navigation {
  gap: var(--space-3xl);
  display: flex;
  justify-content: center;
  align-items: center;
  @media only screen and (max-width: 1050px) {
    width: 100%;
  }

  @media only screen and (max-width: 550px) {
    flex-direction: column;
  }
}

.header__menu {
  flex: 1;
  display: flex;
  justify-content: center;
  @media only screen and (max-width: 550px) {
    align-self: stretch;
  }
}

.header__menu-list {
  gap: var(--space-3xl);
  display: flex;
  flex-wrap: wrap;
}

.header__button--join {
  color: var(--white_a700) !important;
  padding-left: 14px;
  padding-right: 14px;
  letter-spacing: -0.32px;
  font-size: 16px;
  font-weight: 500;
  background-color: var(--black_900) !important;
  height: 38px;
  min-width: 82px;
  border-radius: 10px !important;
}

.rowwhat_we_do {
  background: linear-gradient(186deg, #eaeefe, #183ec2);
  display: flex;
  justify-content: center;
  align-items: center;
  padding: var(--space-md) var(--space-4xl);
  @media only screen and (max-width: 1050px) {
    flex-direction: column;
  }
}

.hero-content {
  margin-bottom: 56px;
  gap: 28px;
  align-self: flex-end;
  display: flex;
  width: 42%;
  flex-direction: column;
  align-items: flex-start;
  @media only screen and (max-width: 1050px) {
    width: 100%;
  }
}

.hero-content__button--what-we-do {
  color: var(--black_900) !important;
  padding-left: 13px;
  padding-right: 13px;
  letter-spacing: -0.33px;
  font-size: 13px;
  font-weight: 500;
  height: 28px;
  min-width: 100px;
  border-radius: 10px !important;
  border: 1px solid var(--gray_900_19) !important;
}

.hero-content__title {
  color: transparent !important;
  font-family: 'DM Sans', sans-serif !important; /* Updated to use DM Sans without fallback */
  background: linear-gradient(180deg, #1340CC 0%, #000 100%);
  background-clip: text;
  width: 100%;
  line-height: 90px;
}

.hero-content__description {
  color: var(--white_a700) !important;
  width: 92%;
  line-height: 31px;
  @media only screen and (max-width: 1050px) {
    width: 100%;
  }
}

.hero-content__about {
  align-self: stretch;
  display: flex;
  align-items: center;
}

.hero-content__button--about-us {
  color: var(--white_a700) !important;
  padding-left: 14px;
  padding-right: 14px;
  letter-spacing: -0.32px;
  font-size: 16px;
  font-weight: 500;
  background-color: var(--black_900) !important;
  height: 38px;
  min-width: 96px;
  border-radius: 10px !important;
}

.hero-content__links {
  flex: 1;
  display: flex;
  align-items: center;
  padding: var(--space-md) 16px;
}

.hero-content__icon {
  height: 20px;
}

.stack {
  height: 658px;
  margin-bottom: 32px;
  margin-left: -172px;
  position: relative;
  width: 54%;
  @media only screen and (max-width: 1050px) {
    width: 100%;
    margin-left: 0px;
  }
}

.stack__image--cylinder {
  height: 196px;
  width: 28%;
  object-fit: contain;
  position: absolute;
  left: 0px;
  top: 0px;
  margin: auto;
}

.stack__image--visual {
  height: 648px;
  width: 86%;
  object-fit: contain;
  position: absolute;
  right: 0px;
  bottom: 0px;
  top: 0px;
  margin-top: auto;
  margin-bottom: auto;
}

.columnhalftorus {
  margin-top: -274px;
  z-index: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

.image {
  height: 318px;
  z-index: 2;
  width: 20%;
  position: relative;
  object-fit: contain;
}

.columntorusone {
  margin-top: -44px;
  padding-top: 112px;
  padding-bottom: 112px;
  position: relative;
  background: linear-gradient(180deg, #ffffff, #d2dcff);
  align-self: stretch;
  @media only screen and (max-width: 1050px) {
    padding-top: var(--space-xl);
    padding-bottom: var(--space-xl);
  }
}

.stacktorusone {
  height: auto;  /* Change from fixed 1422px to auto */
  margin-bottom: 8px; /* Add some consistent bottom margin */
  position: relative;
  align-content: center;
  @media only screen and (max-width: 1050px) {
    height: auto;
  }
}

.rowtorusone_one {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin: 0 auto; /* Center the row */
  padding: 0; /* Remove any padding that might cause offset */
  @media only screen and (max-width: 1050px) {
    flex-direction: column;
  }
}

.torusone_one {
  height: 248px;
  margin-bottom: 0; /* Remove the 476px bottom margin */
  align-self: center; /* Change from flex-end to center for better alignment */
  object-fit: contain;
  max-width: 100%; /* Ensure responsive behavior */
}

.section-1 {
  gap: var(--space-4xl);
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 20px; /* Add consistent padding */
  width: 100%;
  box-sizing: border-box;
  @media only screen and (max-width: 1050px) {
    padding-left: var(--space-xl);
    padding-right: var(--space-xl);
  }
}

.section__content-1 {
  gap: 30px;
  display: flex;
  width: 100%; /* Changed from 48% to 100% for better mobile responsiveness */
  max-width: 800px; /* Add max-width for larger screens */
  flex-direction: column;
  align-items: center;
}

.section__images {
  gap: 12px;
  display: flex;
  width: auto; /* Changed from 14% */
  max-width: 100px;
  flex-direction: column;
  align-items: center;
  margin-bottom: 20px;
}

.section__image--vector {
  height: 66px;
  margin-left: 12px;
  margin-right: 12px;
  object-fit: cover;
  @media only screen and (max-width: 1050px) {
    margin-left: 0px;
    margin-right: 0px;
  }
}

.section__product-image {
  width: 100%;
  object-fit: cover;
  @media only screen and (max-width: 1050px) {
    height: auto;
  }
}

.pyramidone_one {
  height: 262px;
  object-fit: contain;
  position: absolute;
  right: 1px;
  top: 29%;
  margin: auto;
}

.column {
  margin-top: 92px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.section {
  padding-left: 54px;
  padding-right: 54px;
  gap: 60px;
  display: flex;
  flex-direction: column;
  align-items: center;
  @media only screen and (max-width: 1050px) {
    padding-left: var(--space-xl);
    padding-right: var(--space-xl);
  }

  @media only screen and (max-width: 550px) {
    gap: 30px;
  }
}

.section__content {
  gap: var(--space-xl);
  display: flex;
  width: 54%;
  flex-direction: column;
  align-items: center;
  @media only screen and (max-width: 1050px) {
    width: 100%;
  }
}

.row_three {
  margin-top: 92px;
}

.row_one {
  gap: 50px;
  background: linear-gradient(180deg, #ffffff, #d2dcff);
  display: flex;
  align-items: flex-start;
  @media only screen and (max-width: 1050px) {
    flex-direction: column;
  }
}

.image-1 {
  height: 294px;
  width: 24%;
  object-fit: contain;
  @media only screen and (max-width: 1050px) {
    width: 100%;
  }
}

.newsletter-section {
  margin-top: 112px;
  flex: 1;
  display: flex;
  align-items: flex-start;
  @media only screen and (max-width: 1050px) {
    align-self: stretch;
    flex-direction: column;
    padding-left: var(--space-xl);
    padding-right: var(--space-xl);
  }
}

.newsletter-section__column {
  margin-top: 12px;
  gap: var(--space-4xl);
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  @media only screen and (max-width: 1050px) {
    align-self: stretch;
  }
}

.newsletter-section__content {
  gap: var(--space-xs);
  display: flex;
  align-self: stretch;
  flex-direction: column;
  align-items: center;
}

.newsletter-section__title {
  color: transparent !important;
  background: linear-gradient(180deg, #000000, #001254);
  background-clip: text;
}

.newsletter-section__button {
  color: var(--white_a700) !important;
  padding-left: 14px;
  padding-right: 14px;
  letter-spacing: -0.32px;
  font-size: 16px;
  font-weight: 500;
  background-color: var(--black_900) !important;
  height: 38px;
  min-width: 120px;
  border-radius: 10px !important;
}

.newsletter-section__image {
  height: 358px;
  margin-left: -32px;
  align-self: center;
  position: relative;
  width: 40%;
  object-fit: contain;
  @media only screen and (max-width: 1050px) {
    width: 100%;
    margin-left: 0px;
  }
}

.footerl {
  padding-top: 30px;
  padding-bottom: 30px;
  background-color: var(--black_900);
  display: flex;
  justify-content: center;
  @media only screen and (max-width: 550px) {
    padding-top: var(--space-xl);
  }
}

.content-section {
  margin-top: 10px;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  @media only screen and (max-width: 1050px) {
    flex-direction: column;
    padding-left: var(--space-xl);
    padding-right: var(--space-xl);
  }
}

.content-section__column--socials {
  gap: 110px;
  align-self: center;
  display: flex;
  width: 100%;
  flex-direction: column;
  @media only screen and (max-width: 1050px) {
    gap: 82px;
  }

  @media only screen and (max-width: 550px) {
    gap: 55px;
  }
}

.content-section__image--feature {
  height: 40px;
  width: 28%;
  object-fit: contain;
}

.content-section__text--description {
  color: var(--gray_400) !important;
  width: 52%;
  line-height: 16px;
  @media only screen and (max-width: 1050px) {
    width: 100%;
  }
}

.content-section__row--social-links {
  gap: 11px;
  display: flex;
}

.content-section__row--product-info {
  gap: 48px;
  width: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
}

.content-section__column--company {
  gap: var(--space-xl);
  align-self: center;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.header__menu-item--about {
  color: var(--black_900_99) !important;
}

.section__header {
  width: 30%;
  display: flex;
  justify-content: center;
  border-radius: var(--radius-sm);
  border: 1px solid var(--gray_900_19);
  @media only screen and (max-width: 1050px) {
    width: 100%;
  }
}

.section__description-wrapper {
  gap: var(--space-xl);
  display: flex;
  align-self: stretch;
  flex-direction: column;
  align-items: center;
}

.section__subtitle {
  color: transparent !important;
  text-align: center;
  background: linear-gradient(180deg, #000000, #001254);
  background-clip: text;
  line-height: 60px;
}

.section__description {
  color: var(--gray_900) !important;
  text-align: center;
  align-self: stretch;
  line-height: 31px;
}

.section__footer-list {
  gap: var(--space-xl);
  display: flex;
  align-self: stretch;
  @media only screen and (max-width: 1050px) {
    flex-direction: column;
  }
}

.agent-builder-ui-1 {
  margin-top: 40px;
  margin-bottom: 40px;
  padding-top: var(--space-4xl);
  padding-bottom: var(--space-4xl);
  gap: var(--space-xs);
  display: flex;
  width: 24%;
  flex-direction: column;
  @media only screen and (max-width: 1050px) {
    width: 100%;
    margin-bottom: 0px;
    margin-top: 0px;
  }

  @media only screen and (max-width: 550px) {
    padding-top: var(--space-xl);
    padding-bottom: var(--space-xl);
  }
}

.agent-builder-ui {
  margin-top: 40px;
  margin-bottom: 40px;
  gap: var(--space-xs);
  display: flex;
  width: 24%;
  flex-direction: column;
  @media only screen and (max-width: 1050px) {
    width: 100%;
    margin-bottom: 0px;
    margin-top: 0px;
  }
}

.agent-builder-ui__column {
  gap: var(--space-lg);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.content-section__image--social-icon {
  height: 24px;
}

.agent-builder-ui__description {
  margin-bottom: 30px;
  line-height: 23px;
}

.profile {
  gap: var(--space-3xl);
  display: flex;
  box-shadow: var(--shadow-xs);
  width: 50%;
  flex-direction: column;
  align-items: center;
  padding: var(--space-4xl);
  border-radius: var(--radius-md);
  border: 1px solid var(--gray_900_14);
  @media only screen and (max-width: 1050px) {
    width: 100%;
  }

  @media only screen and (max-width: 550px) {
    padding: var(--space-xl);
  }
}

.profile__images {
  margin-left: 52px;
  margin-right: 52px;
  align-self: stretch;
  @media only screen and (max-width: 1050px) {
    margin-left: 0px;
    margin-right: 0px;
  }

  @media only screen and (max-width: 550px) {
    padding: var(--space-xl);
  }
}

.profile__images__vector {
  height: 122px;
  width: 52%;
  object-fit: contain;
}

.profile__images__logo {
  height: 44px;
  width: 76%;
  object-fit: contain;
}

.profile__description {
  padding-left: var(--space-xs);
  padding-right: var(--space-xs);
  gap: var(--space-sm);
  display: flex;
  align-self: stretch;
  flex-direction: column;
  align-items: center;
}

.profile__description__title {
  color: transparent !important;
  margin-top: 12px;
  background: linear-gradient(180deg, #000000, #001254);
  background-clip: text;
}

.profile__button {
  color: var(--white_a700) !important;
  padding-left: var(--space-md);
  padding-right: var(--space-md);
  font-family: 'DM Sans', sans-serif; /* Changed from DM Sans to 'DM Sans', sans-serif */
  font-size: 14px;
  font-weight: 600;
  background-color: var(--black_900) !important;
  height: 34px;
  min-width: 76px;
  border-radius: 4px !important;
}

.footer {
  background-color: var(--white_a700);
}

.profile__description__text {
  color: var(--gray_900) !important;
  text-align: center;
  align-self: stretch;
  line-height: 23px;
}

.content-section__column--main {
  gap: var(--space-xl);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.content-section__text--product-title {
  color: var(--white_a700) !important;
  margin-bottom: 10px;
}

/*-------------------------------------
  5. Component CSS
--------------------------------------*/
/*------Button CSS------*/
.ui.button.round {
  border-radius: var(--radius-sm);
}

.ui.button.size-xs {
  height: 28px;
  padding-left: 14px;
  padding-right: 14px;
  font-size: 13px;
}

.ui.button.size-sm {
  height: 34px;
  padding-left: var(--space-md);
  padding-right: var(--space-md);
  font-size: 14px;
}

.ui.button.size-md {
  height: 38px;
  padding-left: 14px;
  padding-right: 14px;
  font-size: 16px;
}

.ui.button.outline.gray_900_19 {
  color: var(--black_900);
  border: 1px solid var(--gray_900_19);
}

.ui.button.fill.black_900 {
  background-color: var(--black_900);
  color: var(--white_a700);
}

.ui.button {
  text-align: center;
  display: flex;
  cursor: pointer;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}

/*------Text CSS------*/
.ui.text.size-body_large {
  letter-spacing: -0.79px;
  font-size: 22px;
  font-weight: 400;
}

.ui.text.size-body_s {
  font-size: 14px;
  font-weight: 400;
}

.ui.text {
  color: var(--gray_600);
  font-family: 'DM Sans', sans-serif; /* Changed from Inter to DM Sans */
}

/*------Heading CSS------*/
.ui.heading.size-body_medium {
  letter-spacing: -0.16px;
  font-size: 16px;
  font-weight: 500;
}

.ui.heading.size-body_bold {
  letter-spacing: -0.32px;
  font-size: 16px;
  font-weight: 500;
}

.ui.heading.size-tag {
  letter-spacing: -0.33px;
  font-size: 13px;
  font-weight: 500;
}

.ui.heading.size-h5 {
  letter-spacing: -0.56px;
  font-family: 'DM Sans', sans-serif; /* Kept as DM Sans but with better format */
  font-size: 18px;
  font-weight: 700;
}

.ui.heading.size-h2 {
  font-family: 'DM Sans', sans-serif; /* Kept as DM Sans but with better format */
  font-size: 54px;
  font-weight: 700;
  @media only screen and (max-width: 1050px) {
    font-size: 46px;
  }

  @media only screen and (max-width: 550px) {
    font-size: 40px;
  }
}

.ui.heading.size-h4 {
  letter-spacing: -1.04px;
  font-family: 'DM Sans', sans-serif; /* Kept as DM Sans but with better format */
  font-size: 26px;
  font-weight: 700;
  @media only screen and (max-width: 1050px) {
    font-size: 24px;
  }

  @media only screen and (max-width: 550px) {
    font-size: 22px;
  }
}

.ui.heading.size-body_s_bold {
  font-size: 14px;
  font-weight: 700;
}

.ui.heading.size-headingxs {
  font-size: 85px;
  font-weight: 700;
  @media only screen and (max-width: 1050px) {
    font-size: 48px;
  }
}

.ui.heading {
  color: var(--black_900);
  font-family: 'DM Sans', sans-serif; /* Changed from Inter to DM Sans */
}

/*------Container CSS------*/
.container-xs {
  max-width: 1100px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

.container-xs2 {
  max-width: 1100px;
  width: 100%;
  margin-left: 10%;
  margin-right: 20%;
  box-sizing: border-box;
}
/*-------------------------------------
  6. Fonts CSS
--------------------------------------*/
@font-face {
  font-display: swap;
  font-style: normal;
  src: url("../public/fonts/DMSansMedium.ttf");
  font-family: "DM Sans";
  font-weight: 500;
}
@font-face {
  font-display: swap;
  font-style: normal;
  src: url("../public/fonts/DMSansBold.ttf");
  font-family: "DM Sans";
  font-weight: 700;
}
@font-face {
  font-display: swap;
  font-style: normal;
  src: url("../public/fonts/DMSansRegular.ttf");
  font-family: "DM Sans";
  font-weight: 400;
}
@font-face {
  font-display: swap;
  font-style: normal;
  src: url("../public/fonts/DMSansSemiBold.ttf");
  font-family: "DM Sans";
  font-weight: 600;
}

/* Video Player Styles */

/* Container to maintain aspect ratio and position for controls */
.video-container {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

/* Video styling */
.section__product-video {
  width: 100%;
  display: block;
  cursor: pointer;
  object-fit: cover;
}

/* Controls overlay */
.video-controls {
  position: absolute;
  bottom: 15px;
  right: 15px;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Sound toggle button */
.sound-toggle {
  background: rgba(0, 0, 0, 0.6);
  color: white;
  border: none;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
}

.sound-toggle:hover {
  background: rgba(0, 0, 0, 0.8);
  transform: scale(1.05);
}

/* Sound icon styles */
.sound-icon {
  width: 20px;
  height: 20px;
}

/* Sound notification toast */
.sound-notification {
  position: absolute;
  top: 20px;
  left: 50%;
  transform: translateX(-50%) translateY(-100px);
  background: rgba(0, 0, 0, 0.75);
  color: white;
  padding: 10px 20px;
  border-radius: 30px;
  font-size: 14px;
  display: flex;
  align-items: center;
  opacity: 0;
  transition: all 0.5s ease;
  z-index: 20;
  pointer-events: none;
}

.sound-notification.show {
  transform: translateX(-50%) translateY(0);
  opacity: 1;
}

.notification-content {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* Video container hover effect */
.video-container:hover .sound-toggle {
  opacity: 1;
}

/* Responsive adjustments */
@media only screen and (max-width: 768px) {
  .sound-toggle {
    width: 36px;
    height: 36px;
  }
  
  .sound-icon {
    width: 18px;
    height: 18px;
  }
  
  .sound-notification {
    font-size: 12px;
    padding: 8px 16px;
  }
}