/* Standalone “Features” section styles (namespaced).
   Scope: Only affects markup inside .aigocy-features.
   Dependencies (optional for exact match): Urbanist font, GSAP + ScrollTrigger for scroll animations.
*/

/* Theme variables (scoped to the section to avoid collisions) */
.aigocy-features {
  --white: #ffffff;
  --black: #000000;
  --primary: #09090B;
  --secondary: #71717A;
  /* Use site theme blue (defined in assets/css/style.css) */
  --brand: var(--primary-color1);
  --brand-opc: var(--primary-color1-opc);
  --neutral-50: #FAFAFA;
  --neutral-100: #F4F4F5;
  --neutral-200: #E4E4E7;
  --neutral-300: #D4D4D8;
  --neutral-400: #A1A1AA;
  --neutral-500: #71717A;
  --neutral-600: #52525B;
  --neutral-700: #3F3F46;
  --neutral-800: #27272A;
  --neutral-900: #18181B;
  --neutral-950: #09090B;
  --body: #EDECEC;

  font-family: "Urbanist", sans-serif;
  color: var(--primary);
}

.aigocy-features,
.aigocy-features * {
  box-sizing: border-box;
}

.aigocy-features img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

/* Minimal utilities used by the section (Bootstrap-like subset) */
.aigocy-features .container {
  width: 100%;
  padding-left: 12px;
  padding-right: 12px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 576px) {
  .aigocy-features .container { max-width: 540px; }
}
@media (min-width: 768px) {
  .aigocy-features .container { max-width: 720px; }
}
@media (min-width: 992px) {
  .aigocy-features .container { max-width: 960px; }
}
@media (min-width: 1200px) {
  .aigocy-features .container { max-width: 1140px; }
}
@media (min-width: 1400px) {
  .aigocy-features .container { max-width: 1320px; }
}

.aigocy-features .row {
  display: flex;
  flex-wrap: wrap;
  margin-left: -12px;
  margin-right: -12px;
}
.aigocy-features .row > * {
  padding-left: 12px;
  padding-right: 12px;
}
.aigocy-features .col-lg-4 {
  width: 100%;
}
@media (min-width: 992px) {
  .aigocy-features .col-lg-4 { width: 33.333333%; }
}

.aigocy-features .mx-auto {
  margin-left: auto !important;
  margin-right: auto !important;
}

.aigocy-features .position-relative { position: relative !important; }
.aigocy-features .z-5 { z-index: 5; }
.aigocy-features .container.z-5 {
  position: relative;
  z-index: 5;
}
.aigocy-features .justify-content-between { justify-content: space-between !important; }
.aigocy-features .flex-shrink { flex-shrink: 0 !important; }
.aigocy-features .overflow-hidden { overflow: hidden; }

.aigocy-features .d-none { display: none !important; }
@media (min-width: 992px) {
  .aigocy-features .d-lg-block { display: block !important; }
}

  .aigocy-features .pt-0 { padding-top: 0 !important; }
  .aigocy-features.pt-0 { padding-top: 0 !important; }

@media (max-width: 991px) {
  .aigocy-features .lg-mb-24 { margin-bottom: 24px; }
}

.aigocy-features .fw-semibold { font-weight: 600 !important; }
.aigocy-features .text-secondary { color: var(--secondary) !important; }

/* Spacing used by wrapper */
.aigocy-features.flat-spacing {
  padding-top: 120px;
  padding-bottom: 120px;
}
@media (max-width: 1439px) {
  .aigocy-features.flat-spacing {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}
@media (max-width: 991px) {
  .aigocy-features.flat-spacing {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
@media (max-width: 767px) {
  .aigocy-features.flat-spacing {
    padding-top: 50px;
    padding-bottom: 50px;
  }
}

/* Typography subset for this section */
.aigocy-features h6 {
  font-family: "Urbanist", sans-serif;
  font-weight: 400;
  letter-spacing: 0;
  color: var(--black);
  font-size: 24px;
  line-height: 32px;
  margin: 0;
}
@media (max-width: 767px) {
  .aigocy-features h6 {
    font-size: 20px;
    line-height: 26px;
  }
}

.aigocy-features p {
  margin: 0;
}

/* Heading section */
.aigocy-features .heading-section .heading-sub {
  display: flex;
  position: relative;
  width: max-content;
  border-radius: 8px;
  color: var(--brand);
  padding: 6px 16px 6px 30px;
  background: radial-gradient(62.56% 62.56% at 28.14% -10.42%, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0) 100%),
    linear-gradient(0deg, #F5F5F5, #F5F5F5);
  box-shadow: 0px -3px 0px 0px #E9E9E9 inset, 0px 1px 0px 0px rgba(255, 255, 255, 0.6980392157) inset,
    0px 3px 3px 0px rgba(0, 0, 0, 0.1411764706);
  margin-bottom: 32px;
}
.aigocy-features .heading-section .heading-sub::before {
  position: absolute;
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 99px;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  background-color: var(--brand);
}
.aigocy-features .heading-section .heading-title {
  font-weight: 600;
  font-size: 72px;
  line-height: 72px;
  letter-spacing: -0.03em;
  margin: 0;
}
@media (max-width: 767px) {
  .aigocy-features .heading-section .heading-title {
    font-size: 40px;
    line-height: 48px;
  }
  .aigocy-features .heading-section .heading-title br {
    display: none;
  }
}
.aigocy-features .heading-section.center {
  text-align: center;
}
.aigocy-features .heading-section.center .heading-sub {
  margin-left: auto;
  margin-right: auto;
}
.aigocy-features .heading-section.mb-64 {
  margin-bottom: 64px;
}
@media (max-width: 767px) {
  .aigocy-features .heading-section.mb-64 {
    margin-bottom: 24px;
  }
}

/* Gradient text */
.aigocy-features .text-gradient-3 {
  background: linear-gradient(95.5deg, #61666A 1.91%, #292C2E 43.92%);
  -webkit-background-clip: text;
  -webkit-text-stroke: 0px transparent;
  -webkit-text-fill-color: transparent;
  padding-bottom: 7px;
  margin-bottom: -7px;
}

/* Scroll reveal helpers */
.aigocy-features .effectFade { opacity: 0; }
.aigocy-features .effectFade,
.aigocy-features .overflow-hidden > * {
  will-change: transform, opacity;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Features layout */
.aigocy-features .features-wrap {
  display: flex;
  align-items: center;
}
.aigocy-features .features-wrap .features-col {
  display: grid;
  gap: 32px;
  width: 32%;
}
@media (max-width: 991px) {
  .aigocy-features .features-wrap {
    flex-direction: column;
  }
  .aigocy-features .features-wrap .features-center {
    display: none;
  }
  .aigocy-features .features-wrap .features-col {
    width: 100%;
    gap: 24px;
  }
}

.aigocy-features .features-item {
  padding: 32px;
  border-radius: 32px;
  background-color: var(--neutral-100);
  position: relative;
  z-index: 2;
  box-shadow: 0px 7.77px 16px 0px rgba(0, 0, 0, 0.0588235294), 0px 3px 3px 0px rgba(0, 0, 0, 0.1019607843),
    0px -8px 0px 0px rgba(0, 0, 0, 0.0509803922) inset, 0px 4px 0px 0px rgba(255, 255, 255, 0.6) inset;
}
.aigocy-features .features-item .icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  font-size: 32px;
  color: var(--white);
  margin-bottom: 32px;
  border-radius: 16px;
  background-color: #272727;
  box-shadow: 0px -3px 0px 0px #080808 inset, 0px 1px 0px 0px rgba(255, 255, 255, 0.3019607843) inset,
    0px 2.77px 2.21px 0px rgba(0, 0, 0, 0.1215686275), 0px 3px 3px 0px rgba(0, 0, 0, 0.1411764706),
    0px 12.52px 10.02px 0px rgba(0, 0, 0, 0.1333333333), 0px 22.34px 17.87px 0px rgba(0, 0, 0, 0.1411764706),
    0px 41.78px 33.42px 0px rgba(0, 0, 0, 0.1490196078), 0px 100px 80px 0px rgba(0,  0, 0, 0.1490196078);
}
.aigocy-features .features-item .title {
  margin-bottom: 8px;
}
@media (max-width: 991px) {
  .aigocy-features .features-item {
    padding: 24px !important;
    border-radius: 24px;
  }
}

.aigocy-features .features-center {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 208px;
  height: 160px;
  border-radius: 32px;
  background: var(--white);
  box-shadow: 0px -3px 0px 0px rgba(0, 0, 0, 0.0588235294) inset, 0px 1px 0px 0px rgba(255, 255, 255, 0.8) inset,
    0px 3.44px 5.57px 0px rgba(0, 0, 0, 0.0862745098), 0px 22px 37px 0px rgba(0, 0, 0, 0.08),
    0px 76px 123px 0px rgba(0, 0, 0, 0.05), 0px 14px 34px 0px rgba(0, 0, 0, 0.08),
    0px 1px 2px 0px rgba(0, 0, 0, 0.10);
}

.aigocy-features .features-center img {
  max-width: 120px;
  max-height: 120px;
  width: auto;
  height: auto;
  object-fit: contain;
}

/* Side line */
.aigocy-features .side-line-main {
  position: absolute;
  top: 16%;
  left: 0;
  right: 0;
  bottom: 15%;
  z-index: 0;
  pointer-events: none;
}
.aigocy-features .side-line-main .side-line-wrap {
  margin-left: -20px;
  margin-right: -20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
}
.aigocy-features .side-line-main div:not(.link-break-center) {
  height: 100%;
}
.aigocy-features .side-line-main .link-break-line {
  width: 66px;
  border: 1px solid #D4D4D8;
  height: 100%;
  border-radius: 0px 20px 20px 0px;
  border-left: 0;
  position: relative;
  overflow: hidden;
}
.aigocy-features .side-line-main .link-break-line::after {
  content: "";
  position: absolute;
  inset: 0 1px 1.5px 0px;
  background: var(--neutral-50);
  border-radius: 0px 20px 20px 0px;
}
.aigocy-features .side-line-main .link-break-line.right {
  transform: rotate(180deg);
}
.aigocy-features .side-line-main .link-break-line .item {
  position: absolute;
  left: 0;
  right: 0;
  margin-right: -1px;
  width: 100%;
  animation-iteration-count: infinite;
  animation-duration: 4s;
  animation-delay: 1.3s;
}
.aigocy-features .side-line-main .link-break-line .item.top {
  background: radial-gradient(circle at top right, var(--brand) 0%, transparent 90%);
  animation-name: lineRunTop;
}
.aigocy-features .side-line-main .link-break-line .item.bottom {
  background: radial-gradient(circle at bottom right, var(--brand) 0%, transparent 90%);
  animation-name: lineRunBottom;
}
.aigocy-features .side-line-main .link-break-center {
  border: 1.5px solid #D4D4D8;
  width: 100%;
  position: absolute;
  left: 0;
  right: 0;
  z-index: 1;
}
.aigocy-features .side-line-main .link-break-center::before,
.aigocy-features .side-line-main .link-break-center::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
  height: 8px;
  border-radius: 50px;
  background: #D5D0D4;
  z-index: 2;
}
.aigocy-features .side-line-main .link-break-center::before { left: 60px; }
.aigocy-features .side-line-main .link-break-center::after { right: 60px; }

.aigocy-features .side-line-main .simu-electric {
  position: absolute;
  height: 1.5px;
  width: 50px;
  top: 50%;
  transform: translateY(-50%);
}
.aigocy-features .side-line-main .simu-electric.left {
  background: linear-gradient(to right, var(--brand) 0%, transparent 100%);
  animation-name: left50To0;
  animation-duration: 4s;
  animation-iteration-count: infinite;
}
.aigocy-features .side-line-main .simu-electric.right {
  background: linear-gradient(to left, var(--brand) 0%, transparent 100%);
  animation-name: right50To0;
  animation-duration: 4s;
  animation-iteration-count: infinite;
}

@keyframes lineRunBottom {
  0% { bottom: 50%; height: 0px; }
  30% { height: 66px; }
  100% { bottom: -30%; }
}
@keyframes lineRunTop {
  0% { top: 50%; height: 0px; }
  30% { height: 66px; }
  100% { top: -30%; }
}
@keyframes left50To0 {
  0% { left: 50%; }
  100% { left: -10%; }
}
@keyframes right50To0 {
  0% { right: 50%; }
  100% { right: -10%; }
}

/* Icon font subset (icomoon) — expects fonts in assets/icon/icomoon/fonts */
@font-face {
  font-family: "icomoon";
  src: url("../icon/icomoon/fonts/icomoon%EF%B9%96etsisj.eot");
  src: url("../icon/icomoon/fonts/icomoon%EF%B9%96etsisj.eot#iefix") format("embedded-opentype"),
    url("../icon/icomoon/fonts/icomoon%EF%B9%96etsisj.ttf") format("truetype"),
    url("../icon/icomoon/fonts/icomoon%EF%B9%96etsisj.woff") format("woff"),
    url("../icon/icomoon/fonts/icomoon%EF%B9%96etsisj.svg#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

.aigocy-features [class^="icon-"],
.aigocy-features [class*=" icon-"] {
  font-family: "icomoon" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.aigocy-features .icon-book-solid:before { content: "\\e90c"; }
.aigocy-features .icon-clipboard-check-solid:before { content: "\\e913"; }
.aigocy-features .icon-plug-solid:before { content: "\\e943"; }
.aigocy-features .icon-robot-solid:before { content: "\\e947"; }
.aigocy-features .icon-shield-alt-solid:before { content: "\\e949"; }
.aigocy-features .icon-user-check-solid:before { content: "\\e955"; }
