.card-bg-color {
  background-color: var(--bs-gray-200) !important; }

.blindata-logo-bg {
  background-image: url("/images/single-title-background-image.webp");
  background-position: 90% 50%;
  background-repeat: no-repeat;
  background-size: contain; }
  @media screen and (max-width: 512px) {
    .blindata-logo-bg {
      background-image: none; } }
.media-frame {
  margin: 2rem 0;
  border-radius: 1rem;
  overflow: hidden;
  border: 1px solid rgba(71, 86, 90, 0.1);
  box-shadow: 0 12px 32px rgba(71, 86, 90, 0.08);
  background: #FFFFFF;
  display: block;
  width: 100%;
  height: auto;
  vertical-align: middle; }

.content-card__read-more {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.5rem 0.75rem;
  border-radius: 0.75rem;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  text-decoration: none;
  color: rgba(0, 0, 0, 0.72);
  transition: background-color 0.15s ease, color 0.15s ease;
  display: inline-flex;
  width: auto;
  min-width: 10rem; }
  .content-card__read-more .bi {
    flex-shrink: 0;
    transition: transform 0.15s ease; }
  .content-card__read-more:hover, .content-card__read-more:focus-visible {
    background-color: rgba(48, 164, 196, 0.1);
    color: #30a4c4;
    text-decoration: none; }
    .content-card__read-more:hover .bi, .content-card__read-more:focus-visible .bi {
      transform: translateX(2px); }

.card.content-card,
a.card.content-card {
  background: #FFFFFF;
  border: 1px solid rgba(71, 86, 90, 0.08);
  border-radius: 2.25rem;
  box-shadow: 0 18px 48px rgba(71, 86, 90, 0.08);
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  border: 1px solid rgba(71, 86, 90, 0.08) !important;
  box-shadow: 0 18px 48px rgba(71, 86, 90, 0.08) !important; }
  .card.content-card:hover,
  a.card.content-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 56px rgba(71, 86, 90, 0.12); }
  .card.content-card > .card-body,
  a.card.content-card > .card-body {
    padding: 1.75rem; }
  .card.content-card hr,
  a.card.content-card hr {
    border-color: rgba(71, 86, 90, 0.08);
    opacity: 1; }
  .card.content-card .list-group,
  a.card.content-card .list-group {
    background-color: transparent !important;
    border-top: 1px solid rgba(71, 86, 90, 0.06); }
  .card.content-card .content-card__footer,
  a.card.content-card .content-card__footer {
    margin-top: auto;
    padding: 0.25rem 1rem 1.25rem; }
  .card.content-card .content-card__read-more,
  a.card.content-card .content-card__read-more {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.5rem 0.75rem;
    border-radius: 0.75rem;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    text-decoration: none;
    color: rgba(0, 0, 0, 0.72);
    transition: background-color 0.15s ease, color 0.15s ease;
    width: 100%; }
    .card.content-card .content-card__read-more .bi,
    a.card.content-card .content-card__read-more .bi {
      flex-shrink: 0;
      transition: transform 0.15s ease; }
  .card.content-card:not(.content-card--horizontal) .content-card__read-more:hover,
  a.card.content-card:not(.content-card--horizontal) .content-card__read-more:hover {
    background-color: rgba(48, 164, 196, 0.1);
    color: #30a4c4;
    text-decoration: none; }
    .card.content-card:not(.content-card--horizontal) .content-card__read-more:hover .bi,
    a.card.content-card:not(.content-card--horizontal) .content-card__read-more:hover .bi {
      transform: translateX(2px); }
  .card.content-card .list-group-item,
  a.card.content-card .list-group-item {
    border-color: rgba(71, 86, 90, 0.06);
    background-color: transparent !important; }
  .card.content-card .card-img-top,
  a.card.content-card .card-img-top {
    border-radius: 0; }

a.card.content-card {
  text-decoration: none;
  color: inherit;
  display: block; }
  a.card.content-card:hover {
    text-decoration: none;
    color: inherit; }
    a.card.content-card:hover:not(.content-card--horizontal) .content-card__read-more {
      background-color: rgba(48, 164, 196, 0.1);
      color: #30a4c4;
      text-decoration: none; }
      a.card.content-card:hover:not(.content-card--horizontal) .content-card__read-more .bi {
        transform: translateX(2px); }

.card.content-card.content-card--horizontal > .row,
a.card.content-card.content-card--horizontal > .row {
  flex: 1 1 auto;
  width: 100%;
  min-height: 100%;
  align-items: stretch; }

.card.content-card.content-card--horizontal > .row > .col-5,
a.card.content-card.content-card--horizontal > .row > .col-5 {
  display: flex; }
  .card.content-card.content-card--horizontal > .row > .col-5 .page-card-img-container,
  a.card.content-card.content-card--horizontal > .row > .col-5 .page-card-img-container {
    flex: 1 1 auto;
    width: 100%;
    min-height: 100%; }

.card.content-card.content-card--horizontal > .row > .col-7,
a.card.content-card.content-card--horizontal > .row > .col-7 {
  display: flex;
  flex-direction: column; }

.card.content-card.content-card--horizontal > .row > .col-7 > .card-body,
a.card.content-card.content-card--horizontal > .row > .col-7 > .card-body {
  padding: 1.75rem 1.75rem 0;
  align-items: stretch;
  flex: 1 1 auto;
  min-height: 100%; }

.card.content-card.content-card--horizontal .content-card__footer,
a.card.content-card.content-card--horizontal .content-card__footer {
  margin-top: auto;
  padding: 0.75rem 0 1.25rem;
  width: 100%;
  align-self: stretch; }

.card.content-card.content-card--horizontal .content-card__read-more,
a.card.content-card.content-card--horizontal .content-card__read-more {
  width: 100%;
  box-sizing: border-box;
  padding: 0;
  border-radius: 0;
  justify-content: space-between;
  align-items: center;
  font-size: 0.875rem;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: rgba(0, 0, 0, 0.72);
  transition: color 0.15s ease; }
  .card.content-card.content-card--horizontal .content-card__read-more span,
  a.card.content-card.content-card--horizontal .content-card__read-more span {
    color: inherit; }
  .card.content-card.content-card--horizontal .content-card__read-more .bi,
  a.card.content-card.content-card--horizontal .content-card__read-more .bi {
    flex-shrink: 0;
    color: inherit;
    transition: transform 0.15s ease, color 0.15s ease; }

a.card.content-card.content-card--horizontal {
  display: flex;
  flex-direction: column; }
  a.card.content-card.content-card--horizontal:hover .content-card__read-more, a.card.content-card.content-card--horizontal:focus-visible .content-card__read-more {
    background-color: transparent;
    color: #30a4c4; }
    a.card.content-card.content-card--horizontal:hover .content-card__read-more span,
    a.card.content-card.content-card--horizontal:hover .content-card__read-more .bi, a.card.content-card.content-card--horizontal:focus-visible .content-card__read-more span,
    a.card.content-card.content-card--horizontal:focus-visible .content-card__read-more .bi {
      color: #30a4c4; }
    a.card.content-card.content-card--horizontal:hover .content-card__read-more .bi, a.card.content-card.content-card--horizontal:focus-visible .content-card__read-more .bi {
      transform: translateX(3px); }

.card.content-card.solutions-item .list-group,
.card.content-card.product-item .list-group {
  border-top: none;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding-top: 0.25rem;
  margin-inline: -0.25rem; }

.card.content-card.solutions-item .list-group-item,
.card.content-card.product-item .list-group-item {
  border: none !important;
  border-radius: 0.75rem;
  padding: 0.5rem 0.75rem;
  height: auto !important;
  line-height: 1.35;
  font-size: 0.875rem;
  color: rgba(0, 0, 0, 0.61);
  transition: background-color 0.15s ease, color 0.15s ease; }
  .card.content-card.solutions-item .list-group-item:hover,
  .card.content-card.product-item .list-group-item:hover {
    background-color: rgba(48, 164, 196, 0.1) !important;
    color: #30a4c4 !important; }

.card.content-card.solutions-item {
  overflow: hidden; }

.content-card:not(.card) {
  background: #FFFFFF;
  border: 1px solid rgba(71, 86, 90, 0.08);
  border-radius: 2.25rem;
  box-shadow: 0 18px 48px rgba(71, 86, 90, 0.08);
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease; }
  .content-card:not(.card):hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 56px rgba(71, 86, 90, 0.12); }

.section-cards-surface {
  background-color: #F6FBFF; }

.section-cards-surface--panel {
  border-radius: 2.25rem;
  padding: 2.5rem 1.5rem;
  margin-top: 2rem;
  margin-bottom: 2rem; }

.accordion {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 1.5rem; }

.accordion-item {
  background: #FFFFFF;
  border: 1px solid rgba(71, 86, 90, 0.08);
  border-radius: 2.25rem;
  box-shadow: 0 18px 48px rgba(71, 86, 90, 0.08);
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  margin-bottom: 0;
  border: 1px solid rgba(71, 86, 90, 0.08) !important;
  border-radius: 1rem !important;
  box-shadow: 0 8px 24px rgba(71, 86, 90, 0.06) !important; }
  .accordion-item:not(:first-of-type) {
    border-top: 1px solid rgba(71, 86, 90, 0.08) !important; }
  .accordion-item:first-of-type, .accordion-item:last-of-type {
    border-radius: 1rem !important; }
    .accordion-item:first-of-type .accordion-button.collapsed, .accordion-item:last-of-type .accordion-button.collapsed {
      border-radius: 1rem !important; }
    .accordion-item:first-of-type .accordion-button:not(.collapsed), .accordion-item:last-of-type .accordion-button:not(.collapsed) {
      border-radius: 1rem 1rem 0 0 !important; }
  .accordion-item:last-of-type .accordion-collapse {
    border-radius: 0 0 1rem 1rem !important; }

.accordion-button {
  padding: 1.125rem 1.5rem;
  background-color: #FFFFFF !important;
  color: rgba(0, 0, 0, 0.72) !important;
  font-weight: 600;
  box-shadow: none !important;
  align-items: center;
  gap: 1rem; }
  .accordion-button:not(.collapsed) {
    background-color: #F6FBFF !important;
    color: #47565A !important;
    box-shadow: none !important;
    border-bottom: 1px solid rgba(71, 86, 90, 0.08); }
  .accordion-button:focus {
    box-shadow: none !important;
    border-color: transparent;
    outline: none; }
  .accordion-button:focus-visible {
    box-shadow: 0 0 0 0.2rem rgba(48, 164, 196, 0.15) !important;
    outline: none;
    z-index: 1; }
  .accordion-button::after {
    opacity: 0.65;
    background-size: 1rem;
    width: 1rem;
    height: 1rem;
    flex-shrink: 0; }
  .accordion-button:not(.collapsed)::after {
    opacity: 0.85; }
  .accordion-button .tiles-item-icon-wrap {
    flex-shrink: 0; }
  .accordion-button .tiles-item-icon {
    display: block; }

.accordion-body {
  padding: 1.25rem 1.5rem 1.5rem;
  background-color: #FFFFFF;
  color: rgba(0, 0, 0, 0.61);
  line-height: 1.6; }

.tiles-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.25rem;
  width: 100%;
  margin-top: 0.5rem;
  margin-bottom: 0.5rem; }
  @media (min-width: 576px) {
    .tiles-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  @media (min-width: 992px) {
    .tiles-grid {
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1.5rem; } }
.tiles-item {
  margin: 0;
  height: 100%;
  box-shadow: 0 8px 24px rgba(71, 86, 90, 0.06) !important; }
  .tiles-item:hover {
    box-shadow: 0 12px 28px rgba(71, 86, 90, 0.08) !important; }
  .tiles-item > .card-body {
    padding: 1.5rem;
    height: 100%; }

.tiles-item-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 0.75rem; }

.tiles-item-icon-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 0.875rem;
  background: rgba(48, 164, 196, 0.12);
  color: #30a4c4;
  flex-shrink: 0; }

.tiles-item-icon {
  display: block; }

.tiles-item-title {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.3;
  color: #47565A !important;
  margin-bottom: 0;
  flex: 1;
  min-width: 0; }

.tiles-item > .card-body > .card-text {
  flex-grow: 1;
  margin-bottom: 0;
  font-size: 0.9375rem;
  line-height: 1.6;
  color: rgba(0, 0, 0, 0.72); }

.percentages-item {
  margin: 16px;
  flex-grow: 1;
  width: 28rem !important;
  border: none !important; }

.percentages-item-progress-container {
  margin: 16px; }
  @media screen and (max-width: 512px) {
    .percentages-item-progress-container {
      display: none; } }
.percentages-item-progress {
  width: 110px;
  height: 110px;
  line-height: 150px;
  background: none;
  box-shadow: none;
  position: relative; }

.percentages-item-progress:after {
  content: "";
  width: 100%;
  height: 100%;
  border-radius: 50%;
  border: 12px solid transparent;
  position: absolute;
  top: 0;
  left: 0; }

.percentages-item-progress > span {
  width: 50%;
  height: 100%;
  overflow: hidden;
  position: absolute;
  top: 0;
  z-index: 1; }

.percentages-item-progress .percentages-item-progress-left {
  left: 0; }

.percentages-item-progress .percentages-item-progress-bar {
  width: 100%;
  height: 100%;
  background: none;
  border-width: 12px;
  border-style: solid;
  position: absolute;
  top: 0; }

.percentages-item-progress .percentages-item-progress-left .percentages-item-progress-bar {
  left: 100%;
  border-top-right-radius: 80px;
  border-bottom-right-radius: 80px;
  border-left: 0;
  -webkit-transform-origin: center left;
  transform-origin: center left; }

.percentages-item-progress .percentages-item-progress-right {
  right: 0; }

.percentages-item-progress .percentages-item-progress-right .percentages-item-progress-bar {
  left: -100%;
  border-top-left-radius: 80px;
  border-bottom-left-radius: 80px;
  border-right: 0;
  -webkit-transform-origin: center right;
  transform-origin: center right;
  animation: loading-100 1.8s linear forwards; }

.percentages-item-progress .percentages-item-progress-value {
  width: 90%;
  height: 90%;
  border-radius: 50%;
  background: transparent;
  font-size: 24px;
  color: #30a4c4;
  line-height: 100px;
  text-align: center;
  position: absolute;
  top: 5%;
  left: 5%; }

.percentages-item-progress.blue .percentages-item-progress-bar {
  border-color: #30a4c4; }

.percentages-item-progress.blue .percentages-item-progress-left .percentages-item-progress-bar {
  animation: loading-90 1.5s linear forwards 1.8s; }

.percentages-item-loading90 {
  animation: loading-90 1.5s linear forwards 1.8s !important; }

.percentages-item-loading100 {
  animation: loading-100 1.5s linear forwards 1.8s !important; }

.percentages-item-loading75 {
  animation: loading-75 1.5s linear forwards 1.8s !important; }

.percentages-item-loading60 {
  animation: loading-60 1.5s linear forwards 1.8s !important; }

.percentages-item-loading50 {
  animation: loading-50 1.5s linear forwards 1.8s !important; }

@keyframes loading-100 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg); } }

@keyframes loading-90 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(144deg);
    transform: rotate(144deg); } }

@keyframes loading-75 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg); } }

@keyframes loading-60 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(36deg);
    transform: rotate(36deg); } }

@keyframes loading-50 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); } }

@media only screen and (max-width: 990px) {
  .percentages-item-progress {
    margin-bottom: 20px; } }

.media-carousel {
  margin: 2rem 0;
  border-radius: 1rem;
  overflow: hidden;
  border: 1px solid rgba(71, 86, 90, 0.1);
  box-shadow: 0 12px 32px rgba(71, 86, 90, 0.08);
  background: #FFFFFF; }
  .media-carousel .carousel-inner {
    border-radius: 1rem; }
  .media-carousel .carousel-item img,
  .media-carousel .carousel-item video {
    display: block;
    width: 100%;
    height: auto;
    vertical-align: middle; }
  .media-carousel .carousel-indicators {
    margin-bottom: 0.75rem; }
    .media-carousel .carousel-indicators [data-bs-target] {
      background-color: rgba(71, 86, 90, 0.25);
      opacity: 1; }
      .media-carousel .carousel-indicators [data-bs-target].active {
        background-color: #47565A; }
  .media-carousel .carousel-control-prev,
  .media-carousel .carousel-control-next {
    width: 10%;
    opacity: 0;
    transition: opacity 0.2s ease; }
  .media-carousel:hover .carousel-control-prev, .media-carousel:hover .carousel-control-next,
  .media-carousel .carousel-control-prev:focus,
  .media-carousel .carousel-control-next:focus {
    opacity: 0.85; }

.testimonial-card {
  position: relative;
  margin: 1.5rem 0 2.5rem;
  padding: 1.75rem 1.25rem 1.75rem 1.75rem; }
  .testimonial-card__quote {
    position: absolute;
    z-index: 2;
    pointer-events: none;
    line-height: 0; }
    .testimonial-card__quote img {
      display: block;
      width: 4.75rem;
      height: auto; }
    .testimonial-card__quote--open {
      top: 0;
      left: 0;
      opacity: 0.45; }
    .testimonial-card__quote--close {
      right: 0;
      bottom: 0; }
  .testimonial-card__body {
    position: relative;
    z-index: 1;
    padding: 2.25rem 2.5rem !important;
    text-align: left; }
    .testimonial-card__body:hover {
      transform: none;
      box-shadow: 0 18px 48px rgba(71, 86, 90, 0.08) !important; }
    .testimonial-card__body .card-text {
      line-height: 1.65;
      text-align: left; }

@media (max-width: 575.98px) {
  .testimonial-card {
    padding: 1.25rem 0.75rem 1.25rem 1.25rem; }
    .testimonial-card__quote img {
      width: 3.5rem; }
    .testimonial-card__body {
      padding: 1.75rem 1.5rem !important; } }

.testimonials-widget {
  margin-top: 1rem;
  margin-bottom: 1rem; }

.single-title {
  background-image: url("/images/single-title-background-image.webp");
  background-color: '$background-light';
  background-position: 85% 100%;
  background-repeat: no-repeat;
  background-size: contain; }

.single-title-bg-size-auto {
  background-size: auto; }
  @media screen and (max-width: 512px) {
    .single-title-bg-size-auto {
      background-size: contain; } }
.single-title-bg-size-contain {
  background-size: contain; }

.shadow {
  box-shadow: 0px 6px 10px 0px #000000; }

.full-w-img {
  height: 35rem; }

.page-cover-img {
  width: 100%;
  height: 100%;
  object-fit: cover; }

.page-cover-logo {
  width: 60% !important;
  max-width: 250px;
  height: auto !important;
  object-fit: cover !important;
  position: absolute;
  bottom: 1.5rem;
  left: 1.5rem;
  z-index: 10; }

.bg_filter {
  position: relative; }
  .bg_filter::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(0deg, #161719 0%, rgba(255, 255, 255, 0) 75%); }
  .bg_filter__primary::after {
    background: linear-gradient(0deg, #47565a 0%, rgba(255, 255, 255, 0) 75%); }
  .bg_filter__danger::after {
    background: linear-gradient(0deg, #30a4c4 0%, rgba(255, 255, 255, 0) 75%); }
  .bg_filter__lightblue::after {
    background: linear-gradient(0deg, #4da0d7 0%, rgba(255, 255, 255, 0) 75%); }

.page-card-img-container {
  width: 100%;
  height: 100%;
  background-image: url("/images/single-title-background-image.webp");
  background-repeat: no-repeat;
  background-size: cover;
  background-color: #F6FBFF;
  background-position: 50% 85%; }

.page-card-grid {
  display: flex;
  flex-direction: column;
  gap: 1.2rem; }

.page-card-grid-featured-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.2rem;
  margin-bottom: 1.2rem; }

.page-card-grid-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.2rem; }

.section.page-list .page-list__pagination {
  margin-top: 3rem;
  padding-top: 0.5rem; }
  .section.page-list .page-list__pagination .pagination {
    justify-content: center;
    margin-bottom: 0; }

@media (max-width: 991px) {
  .page-card-grid-list {
    grid-template-columns: 1fr 1fr; }
  .page-card-grid-featured-row {
    grid-template-columns: 1fr; } }

@media (max-width: 600px) {
  .page-card-grid-list {
    grid-template-columns: 1fr; } }

.card-img-top {
  object-fit: cover;
  aspect-ratio: 16/9;
  width: 100%;
  height: auto;
  margin: 0;
  border: none;
  display: block; }

.solutions-item__visual {
  display: block;
  margin-bottom: 0.75rem; }

.solutions-item {
  flex-grow: 1;
  height: 100%; }
  .solutions-item.tiles-item > .card-body {
    padding: 1.25rem 1.25rem 1.35rem; }
  .solutions-item .tiles-item-header {
    margin-bottom: 0.5rem; }
  .solutions-item > .card-body > .card-text {
    flex-grow: 0;
    margin-bottom: 0.85rem; }
  .solutions-item .list-group {
    padding-top: 0; }

.solutions-scene {
  position: relative;
  min-height: 7.75rem;
  padding: 0.15rem 0.25rem 0;
  overflow: hidden;
  background: #FFFFFF; }
  .solutions-scene--executives .solutions-scene__card--hub {
    border-color: rgba(39, 163, 255, 0.28);
    box-shadow: 0 6px 18px rgba(39, 163, 255, 0.14); }
    .solutions-scene--executives .solutions-scene__card--hub .bi {
      color: rgba(39, 163, 255, 0.92); }
  .solutions-scene--executives .solutions-scene__card--team .bi {
    color: rgba(39, 163, 255, 0.7); }
  .solutions-scene--executives .solutions-scene__links line {
    stroke: rgba(39, 163, 255, 0.42); }
  .solutions-scene--compliance .solutions-scene__shield {
    color: #c9782a;
    border-color: rgba(255, 159, 67, 0.35);
    box-shadow: 0 4px 14px rgba(255, 159, 67, 0.16); }
  .solutions-scene--compliance .solutions-scene__doc .bi {
    color: #c9782a; }
  .solutions-scene--compliance .solutions-scene__tags span {
    color: #a86824;
    border-color: rgba(255, 159, 67, 0.28);
    background: rgba(255, 159, 67, 0.12); }
  .solutions-scene--business .solutions-scene__bar {
    background: rgba(45, 154, 94, 0.35); }
    .solutions-scene--business .solutions-scene__bar:nth-child(3) {
      background: rgba(45, 154, 94, 0.52); }
    .solutions-scene--business .solutions-scene__bar:nth-child(4) {
      background: rgba(45, 154, 94, 0.68); }
  .solutions-scene--business .solutions-scene__insight {
    border-color: rgba(45, 154, 94, 0.22); }
    .solutions-scene--business .solutions-scene__insight .bi {
      color: #2d9a5e; }
  .solutions-scene--business .solutions-scene__avatars span {
    color: #2d9a5e;
    border-color: rgba(45, 154, 94, 0.25);
    background: rgba(45, 154, 94, 0.1); }
  .solutions-scene--professionals .solutions-scene__step .bi {
    color: rgba(108, 88, 190, 0.9); }
  .solutions-scene--professionals .solutions-scene__step--2 {
    border-color: rgba(155, 143, 217, 0.38);
    background: rgba(155, 143, 217, 0.1); }
  .solutions-scene--professionals .solutions-scene__flow line {
    stroke: rgba(155, 143, 217, 0.55); }
  .solutions-scene--professionals .solutions-scene__flow polygon {
    fill: rgba(155, 143, 217, 0.6); }
  .solutions-scene--professionals .solutions-scene__alert {
    color: rgba(108, 88, 190, 0.95);
    border-color: rgba(155, 143, 217, 0.32);
    background: rgba(155, 143, 217, 0.12); }

.solutions-scene__canvas {
  position: relative;
  width: 100%;
  min-height: 6.5rem;
  margin-inline: auto; }

.solutions-scene__canvas--executives {
  max-width: 14rem;
  height: 6.75rem; }

.solutions-scene__card {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.2rem;
  padding: 0.45rem 0.5rem;
  border-radius: 0.65rem;
  text-align: center;
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid rgba(71, 86, 90, 0.1);
  box-shadow: 0 4px 14px rgba(71, 86, 90, 0.08); }
  .solutions-scene__card .bi {
    font-size: 0.85rem;
    color: rgba(71, 86, 90, 0.72); }
  .solutions-scene__card span {
    font-size: 0.55rem;
    font-weight: 700;
    line-height: 1.2;
    color: rgba(0, 0, 0, 0.68); }
  .solutions-scene__card--hub {
    left: 50%;
    top: 38%;
    transform: translate(-50%, -50%);
    z-index: 2;
    min-width: 4.25rem;
    border-color: rgba(71, 86, 90, 0.18);
    box-shadow: 0 6px 18px rgba(71, 86, 90, 0.1); }
    .solutions-scene__card--hub .bi {
      font-size: 1rem;
      color: #47565A; }
  .solutions-scene__card--team {
    min-width: 3.5rem; }
  .solutions-scene__card--a {
    left: 4%;
    top: 8%; }
  .solutions-scene__card--b {
    right: 4%;
    top: 8%; }
  .solutions-scene__card--c {
    left: 50%;
    bottom: 2%;
    transform: translateX(-50%); }

.solutions-scene__links {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  pointer-events: none; }
  .solutions-scene__links line {
    stroke: rgba(71, 86, 90, 0.28);
    stroke-width: 1.5;
    stroke-dasharray: 4 3; }

.solutions-scene__canvas--compliance {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  max-width: 15rem; }

.solutions-scene__shield {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  font-size: 1.35rem;
  color: #47565A;
  background: #FFFFFF;
  border: 1px solid rgba(71, 86, 90, 0.14);
  box-shadow: 0 4px 12px rgba(71, 86, 90, 0.08); }

.solutions-scene__doc {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.4rem 0.5rem;
  border-radius: 0.55rem;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(71, 86, 90, 0.1);
  box-shadow: 0 4px 12px rgba(71, 86, 90, 0.07); }
  .solutions-scene__doc .bi {
    font-size: 0.8rem;
    color: rgba(71, 86, 90, 0.7); }
  .solutions-scene__doc span {
    font-size: 0.58rem;
    font-weight: 600;
    color: rgba(0, 0, 0, 0.68); }
  .solutions-scene__doc--left {
    left: 6%;
    top: 18%; }
  .solutions-scene__doc--right {
    right: 6%;
    top: 22%; }

.solutions-scene__tags {
  display: flex;
  gap: 0.35rem;
  margin-top: 0.25rem; }
  .solutions-scene__tags span {
    padding: 0.2rem 0.5rem;
    border-radius: 999px;
    font-size: 0.55rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: rgba(0, 0, 0, 0.62);
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(71, 86, 90, 0.1); }

.solutions-scene__canvas--business {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  max-width: 16rem;
  padding: 0 0.25rem; }

.solutions-scene__chart {
  display: flex;
  align-items: flex-end;
  gap: 0.3rem;
  height: 4rem;
  padding: 0.5rem 0.6rem;
  border-radius: 0.65rem;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(71, 86, 90, 0.1);
  box-shadow: 0 4px 12px rgba(71, 86, 90, 0.06); }

.solutions-scene__bar {
  flex: 1;
  min-width: 0.45rem;
  border-radius: 0.2rem 0.2rem 0 0;
  background: rgba(71, 86, 90, 0.22); }
  .solutions-scene__bar:nth-child(3) {
    background: rgba(71, 86, 90, 0.38); }
  .solutions-scene__bar:nth-child(4) {
    background: rgba(71, 86, 90, 0.52); }

.solutions-scene__insight {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  padding: 0.55rem 0.65rem;
  border-radius: 0.65rem;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(71, 86, 90, 0.12);
  box-shadow: 0 4px 12px rgba(71, 86, 90, 0.06); }
  .solutions-scene__insight .bi {
    font-size: 0.95rem;
    color: rgba(71, 86, 90, 0.75);
    margin-bottom: 0.15rem; }
  .solutions-scene__insight strong {
    font-size: 0.62rem;
    line-height: 1.2;
    color: #47565A; }
  .solutions-scene__insight span {
    font-size: 0.52rem;
    color: rgba(0, 0, 0, 0.55); }

.solutions-scene__avatars {
  position: absolute;
  bottom: 0.5rem;
  left: 0.65rem;
  display: flex;
  gap: 0.2rem; }
  .solutions-scene__avatars span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.35rem;
    height: 1.35rem;
    border-radius: 50%;
    font-size: 0.65rem;
    color: rgba(71, 86, 90, 0.65);
    background: #FFFFFF;
    border: 1px solid rgba(71, 86, 90, 0.12); }

.solutions-scene__canvas--professionals {
  max-width: 16rem;
  height: 6.25rem;
  display: flex;
  align-items: center;
  justify-content: center; }

.solutions-scene__step {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.15rem;
  padding: 0.4rem 0.45rem;
  border-radius: 0.55rem;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(71, 86, 90, 0.12);
  box-shadow: 0 4px 12px rgba(71, 86, 90, 0.06); }
  .solutions-scene__step .bi {
    font-size: 0.8rem;
    color: rgba(71, 86, 90, 0.72); }
  .solutions-scene__step span {
    font-size: 0.52rem;
    font-weight: 600;
    color: rgba(0, 0, 0, 0.65); }
  .solutions-scene__step--1 {
    left: 2%;
    top: 38%; }
  .solutions-scene__step--2 {
    left: 50%;
    top: 28%;
    transform: translateX(-50%);
    z-index: 2;
    border-color: rgba(71, 86, 90, 0.2); }
  .solutions-scene__step--3 {
    right: 2%;
    top: 38%; }

.solutions-scene__flow {
  position: absolute;
  left: 12%;
  right: 12%;
  top: 48%;
  width: 76%;
  height: auto;
  z-index: 1;
  pointer-events: none; }
  .solutions-scene__flow line {
    stroke: rgba(71, 86, 90, 0.3);
    stroke-width: 2; }
  .solutions-scene__flow polygon {
    fill: rgba(71, 86, 90, 0.35); }

.solutions-scene__alert {
  position: absolute;
  bottom: 6%;
  left: 50%;
  transform: translateX(-50%);
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.22rem 0.5rem;
  border-radius: 999px;
  font-size: 0.55rem;
  font-weight: 700;
  color: rgba(71, 86, 90, 0.75);
  background: #FFFFFF;
  border: 1px solid rgba(71, 86, 90, 0.12); }
  .solutions-scene__alert .bi {
    font-size: 0.65rem; }

@keyframes portfolio-gauge-draw {
  from {
    stroke-dashoffset: 289; }
  to {
    stroke-dashoffset: 18; } }

@keyframes portfolio-bar-grow {
  from {
    width: 0; }
  to {
    width: var(--bar-width, 80%); } }

@keyframes portfolio-bar-shimmer {
  from {
    transform: translateX(-120%); }
  to {
    transform: translateX(220%); } }

@keyframes portfolio-score-pop {
  0%,
  100% {
    transform: scale(1); }
  50% {
    transform: scale(1.06); } }

@keyframes portfolio-badge-glow {
  0%,
  100% {
    box-shadow: 0 0 0 rgba(45, 154, 94, 0); }
  50% {
    box-shadow: 0 0 0 0.35rem rgba(45, 154, 94, 0.12); } }

@keyframes portfolio-quality-flow {
  to {
    stroke-dashoffset: -24; } }

@keyframes portfolio-shield-lock {
  0%,
  100% {
    transform: scale(1); }
  50% {
    transform: scale(1.05); } }

@keyframes portfolio-compliance-tag {
  0%,
  100% {
    transform: translateY(0);
    box-shadow: 0 2px 8px rgba(39, 163, 255, 0.08); }
  50% {
    transform: translateY(-0.15rem);
    box-shadow: 0 6px 14px rgba(39, 163, 255, 0.16); } }

@keyframes portfolio-compliance-badge-glow {
  0%,
  100% {
    box-shadow: 0 0 0 rgba(39, 163, 255, 0); }
  50% {
    box-shadow: 0 0 0 0.35rem rgba(39, 163, 255, 0.12); } }

@keyframes portfolio-hub-pulse {
  0%,
  100% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 0.45; }
  50% {
    transform: translate(-50%, -50%) scale(1.12);
    opacity: 0.15; } }

@keyframes portfolio-glow {
  to {
    transform: rotate(360deg); } }

@keyframes portfolio-float {
  0%,
  100% {
    transform: translateY(0); }
  50% {
    transform: translateY(-0.45rem); } }

@keyframes portfolio-flow {
  to {
    stroke-dashoffset: -20; } }

@keyframes portfolio-pulse-dot {
  0%,
  100% {
    opacity: 0.35;
    transform: scale(1); }
  50% {
    opacity: 1;
    transform: scale(1.35); } }

@keyframes portfolio-orbit {
  to {
    transform: rotate(360deg); } }

@keyframes portfolio-fade-up {
  from {
    opacity: 0;
    transform: translateY(0.35rem); }
  to {
    opacity: 1;
    transform: translateY(0); } }

.industries-showcase-card {
  background: #FFFFFF;
  border: 1px solid rgba(71, 86, 90, 0.08);
  border-radius: 2.25rem;
  box-shadow: 0 18px 48px rgba(71, 86, 90, 0.08);
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  overflow: hidden;
  transition: box-shadow 0.2s ease, transform 0.2s ease; }
  .industries-showcase-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 56px rgba(71, 86, 90, 0.12);
    transform: translateY(-2px); }

.industries-showcase-card__visual-link {
  display: block;
  text-decoration: none; }
  .industries-showcase-card__visual-link:hover {
    text-decoration: none; }
  .industries-showcase-card__visual-link .portfolio__showcase {
    border-radius: 0;
    border: none;
    box-shadow: none;
    min-height: 11rem; }

.industries-showcase-card__body {
  flex: 1 1 auto; }

.industries-showcase-card__content {
  padding: 1.25rem 1.35rem 0.5rem; }

.industries-showcase-card__header {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem; }

.industries-showcase-card__icon-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.15rem;
  height: 2.15rem;
  border-radius: 0.65rem;
  color: #30a4c4;
  background: rgba(48, 164, 196, 0.1);
  border: 1px solid rgba(48, 164, 196, 0.14);
  flex-shrink: 0; }

.industries-showcase-card__title {
  font-size: 1.05rem;
  line-height: 1.3; }

.industries-showcase-card__text {
  font-size: 0.95rem;
  line-height: 1.55; }

.industries-showcase-card .content-card__footer {
  padding-left: 1.35rem;
  padding-right: 1.35rem; }

.industries-list {
  overflow: hidden;
  background-color: #FFFFFF; }
  .industries-list .portfolio__showcase {
    position: relative;
    width: 100%;
    min-height: 16rem;
    padding: 1.75rem 1.5rem;
    border-radius: 2.25rem;
    border: 1px solid rgba(71, 86, 90, 0.08);
    box-shadow: 0 24px 56px rgba(71, 86, 90, 0.1);
    overflow: hidden;
    background: #FFFFFF; }
    .industries-list .portfolio__showcase--compact {
      min-height: 11rem;
      padding: 1.15rem 1rem;
      border-radius: 0;
      box-shadow: none; }
    .industries-list .portfolio__showcase--purple {
      background: radial-gradient(ellipse at 18% 22%, rgba(155, 143, 217, 0.34) 0%, transparent 52%), radial-gradient(ellipse at 82% 78%, rgba(48, 164, 196, 0.14) 0%, transparent 48%), #FFFFFF; }
    .industries-list .portfolio__showcase--blue {
      background: radial-gradient(ellipse at 20% 28%, rgba(39, 163, 255, 0.22) 0%, transparent 54%), radial-gradient(ellipse at 78% 72%, rgba(48, 164, 196, 0.1) 0%, transparent 46%), #FFFFFF; }
    .industries-list .portfolio__showcase--green {
      background: radial-gradient(ellipse at 22% 24%, rgba(45, 154, 94, 0.2) 0%, transparent 52%), radial-gradient(ellipse at 80% 76%, rgba(39, 163, 255, 0.1) 0%, transparent 48%), #FFFFFF; }
    .industries-list .portfolio__showcase--amber {
      background: radial-gradient(ellipse at 18% 26%, rgba(255, 159, 67, 0.24) 0%, transparent 52%), radial-gradient(ellipse at 84% 74%, rgba(48, 164, 196, 0.1) 0%, transparent 46%), #FFFFFF; }
  .industries-list .portfolio__showcase-glow {
    position: absolute;
    inset: -45% -25%;
    background: conic-gradient(from 180deg at 50% 50%, rgba(48, 164, 196, 0.05), rgba(155, 143, 217, 0.07), rgba(255, 159, 67, 0.04), rgba(48, 164, 196, 0.05));
    animation: portfolio-glow 18s linear infinite;
    pointer-events: none; }
  .industries-list .portfolio__scene {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    min-height: 13rem; }
  .industries-list .portfolio__float {
    animation: portfolio-float 5s ease-in-out infinite; }
    .industries-list .portfolio__float--1 {
      animation-delay: 0s; }
    .industries-list .portfolio__float--2 {
      animation-delay: 1.4s; }
  .industries-list .portfolio__scene--analytics {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.85rem; }
  .industries-list .portfolio__lineage-canvas {
    width: 100%;
    max-width: 18rem; }
  .industries-list .portfolio__lineage-svg {
    width: 100%;
    height: auto;
    display: block; }
  .industries-list .portfolio__node--alert rect {
    fill: rgba(255, 159, 67, 0.2);
    stroke: rgba(255, 159, 67, 0.45); }
  .industries-list .portfolio__analytics-badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.45rem; }
  .industries-list .portfolio__analytics-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.3rem 0.55rem;
    border-radius: 999px;
    font-size: 0.58rem;
    font-weight: 700; }
    .industries-list .portfolio__analytics-badge .bi {
      font-size: 0.72rem; }
    .industries-list .portfolio__analytics-badge--warn {
      color: #c9782a;
      background: rgba(255, 159, 67, 0.14);
      border: 1px solid rgba(255, 159, 67, 0.22); }
    .industries-list .portfolio__analytics-badge--ok {
      color: #2d9a5e;
      background: rgba(45, 154, 94, 0.12);
      border: 1px solid rgba(45, 154, 94, 0.18); }
  .industries-list .portfolio__scene--financial {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem; }
  .industries-list .portfolio__financial-chart {
    position: relative;
    width: 100%;
    max-width: 14rem;
    height: 6.5rem;
    padding: 0.65rem 0.75rem;
    border-radius: 0.85rem;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(71, 86, 90, 0.1);
    box-shadow: 0 6px 18px rgba(71, 86, 90, 0.07); }
  .industries-list .portfolio__financial-bars {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0.35rem;
    height: 3.5rem;
    padding-bottom: 0.25rem; }
    .industries-list .portfolio__financial-bars span {
      flex: 1;
      border-radius: 0.25rem 0.25rem 0 0;
      background: linear-gradient(180deg, rgba(39, 163, 255, 0.55) 0%, rgba(39, 163, 255, 0.25) 100%); }
  .industries-list .portfolio__financial-trend {
    position: absolute;
    inset: 0.5rem 0.65rem 0.35rem;
    pointer-events: none; }
    .industries-list .portfolio__financial-trend svg {
      width: 100%;
      height: 100%; }
  .industries-list .portfolio__financial-line {
    fill: none;
    stroke: rgba(48, 164, 196, 0.65);
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round; }
  .industries-list .portfolio__financial-icons {
    display: flex;
    gap: 0.5rem; }
  .industries-list .portfolio__industry-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 0.65rem;
    font-size: 1rem;
    color: rgba(39, 163, 255, 0.85);
    background: rgba(39, 163, 255, 0.12);
    border: 1px solid rgba(39, 163, 255, 0.18); }
  .industries-list .portfolio__scene--utilities {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.85rem; }
  .industries-list .portfolio__utilities-grid {
    position: relative;
    width: 10rem;
    height: 7.5rem; }
  .industries-list .portfolio__utilities-node {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    font-size: 1rem;
    color: #2d9a5e;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(45, 154, 94, 0.22);
    box-shadow: 0 4px 12px rgba(71, 86, 90, 0.08); }
    .industries-list .portfolio__utilities-node--hub {
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%);
      width: 2.75rem;
      height: 2.75rem;
      font-size: 1.15rem;
      color: #2d9a5e;
      background: rgba(45, 154, 94, 0.14); }
    .industries-list .portfolio__utilities-node--a {
      top: 8%;
      left: 8%; }
    .industries-list .portfolio__utilities-node--b {
      top: 6%;
      right: 8%; }
    .industries-list .portfolio__utilities-node--c {
      bottom: 8%;
      left: 50%;
      transform: translateX(-50%); }
  .industries-list .portfolio__utilities-line {
    position: absolute;
    background: rgba(45, 154, 94, 0.25);
    pointer-events: none; }
    .industries-list .portfolio__utilities-line--1 {
      left: 22%;
      top: 28%;
      width: 28%;
      height: 1px;
      transform: rotate(25deg); }
    .industries-list .portfolio__utilities-line--2 {
      right: 22%;
      top: 28%;
      width: 28%;
      height: 1px;
      transform: rotate(-25deg); }
    .industries-list .portfolio__utilities-line--3 {
      left: 50%;
      top: 42%;
      width: 1px;
      height: 28%;
      transform: translateX(-50%); }
  .industries-list .portfolio__utilities-meter {
    width: 100%;
    max-width: 12rem;
    padding: 0.5rem 0.65rem;
    border-radius: 0.65rem;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(71, 86, 90, 0.08); }
  .industries-list .portfolio__utilities-meter-label {
    display: block;
    font-size: 0.55rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: rgba(0, 0, 0, 0.55);
    margin-bottom: 0.35rem; }
  .industries-list .portfolio__utilities-meter-bar {
    display: block;
    height: 0.35rem;
    border-radius: 999px;
    background: rgba(71, 86, 90, 0.08);
    overflow: hidden; }
    .industries-list .portfolio__utilities-meter-bar i {
      display: block;
      height: 100%;
      border-radius: inherit;
      background: linear-gradient(90deg, #2d9a5e 0%, #36ba71 100%); }
  .industries-list .portfolio__scene--life-sciences {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem; }
  .industries-list .portfolio__dna-svg {
    width: 100%;
    max-width: 11rem;
    height: auto;
    display: block; }
  .industries-list .portfolio__dna-strand {
    fill: none;
    stroke-width: 2.5;
    stroke-linecap: round; }
    .industries-list .portfolio__dna-strand--a {
      stroke: rgba(155, 143, 217, 0.65); }
    .industries-list .portfolio__dna-strand--b {
      stroke: rgba(48, 164, 196, 0.55); }
  .industries-list .portfolio__dna-bond {
    stroke: rgba(71, 86, 90, 0.18);
    stroke-width: 1.5; }
  .industries-list .portfolio__life-badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.4rem; }
    .industries-list .portfolio__life-badges span {
      padding: 0.22rem 0.55rem;
      border-radius: 999px;
      font-size: 0.55rem;
      font-weight: 700;
      letter-spacing: 0.03em;
      text-transform: uppercase;
      color: rgba(155, 143, 217, 0.9);
      background: rgba(155, 143, 217, 0.12);
      border: 1px solid rgba(155, 143, 217, 0.22); }
  .industries-list .portfolio__scene--retail {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.85rem; }
  .industries-list .portfolio__retail-bag {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 1rem;
    font-size: 1.65rem;
    color: #c9782a;
    background: rgba(255, 159, 67, 0.16);
    border: 1px solid rgba(255, 159, 67, 0.22);
    box-shadow: 0 8px 20px rgba(255, 159, 67, 0.14); }
  .industries-list .portfolio__retail-channels {
    display: flex;
    gap: 0.45rem;
    width: 100%;
    max-width: 16rem; }
  .industries-list .portfolio__retail-channel {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.15rem;
    padding: 0.5rem 0.35rem;
    border-radius: 0.65rem;
    text-align: center;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(71, 86, 90, 0.08);
    box-shadow: 0 4px 12px rgba(71, 86, 90, 0.05); }
    .industries-list .portfolio__retail-channel .bi {
      font-size: 0.85rem;
      color: rgba(255, 159, 67, 0.8); }
    .industries-list .portfolio__retail-channel span {
      font-size: 0.52rem;
      font-weight: 600;
      color: rgba(0, 0, 0, 0.55); }
    .industries-list .portfolio__retail-channel strong {
      font-size: 0.68rem;
      color: #2d9a5e; }
  .industries-list .portfolio__scene--manufacturing {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.85rem; }
  .industries-list .portfolio__factory-line {
    position: relative;
    width: 100%;
    max-width: 16rem;
    height: 5.5rem;
    padding: 1rem 0.75rem;
    border-radius: 0.85rem;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(71, 86, 90, 0.1);
    box-shadow: 0 6px 18px rgba(71, 86, 90, 0.07); }
  .industries-list .portfolio__factory-belt {
    position: absolute;
    left: 0.75rem;
    right: 0.75rem;
    top: 50%;
    height: 0.35rem;
    transform: translateY(-50%);
    border-radius: 999px;
    background: rgba(39, 163, 255, 0.12);
    border: 1px solid rgba(39, 163, 255, 0.16); }
  .industries-list .portfolio__factory-sensor {
    position: absolute;
    top: 42%;
    width: 0.45rem;
    height: 0.45rem;
    border-radius: 50%;
    background: #30a4c4;
    box-shadow: 0 0 0 3px rgba(48, 164, 196, 0.2);
    animation: portfolio-pulse-dot 2.2s ease-in-out infinite; }
    .industries-list .portfolio__factory-sensor--1 {
      left: 18%;
      animation-delay: 0s; }
    .industries-list .portfolio__factory-sensor--2 {
      left: 48%;
      animation-delay: 0.6s; }
    .industries-list .portfolio__factory-sensor--3 {
      right: 18%;
      animation-delay: 1.2s; }
  .industries-list .portfolio__factory-gear {
    position: absolute;
    right: 0.5rem;
    top: 0.5rem;
    font-size: 1.25rem;
    color: rgba(39, 163, 255, 0.7);
    animation: portfolio-orbit 12s linear infinite; }
  .industries-list .portfolio__factory-stats {
    display: flex;
    gap: 0.65rem;
    width: 100%;
    max-width: 14rem; }
  .industries-list .portfolio__factory-stat {
    flex: 1;
    padding: 0.45rem 0.55rem;
    border-radius: 0.65rem;
    text-align: center;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(71, 86, 90, 0.08); }
    .industries-list .portfolio__factory-stat span {
      display: block;
      font-size: 0.52rem;
      font-weight: 600;
      text-transform: uppercase;
      color: rgba(0, 0, 0, 0.55); }
    .industries-list .portfolio__factory-stat strong {
      font-size: 0.85rem;
      color: rgba(39, 163, 255, 0.9); }
  .industries-list .portfolio__scene--logistics {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem; }
  .industries-list .portfolio__logistics-map {
    width: 100%;
    max-width: 16rem;
    height: auto;
    display: block; }
  .industries-list .portfolio__logistics-route {
    fill: none;
    stroke: rgba(45, 154, 94, 0.45);
    stroke-width: 2.5;
    stroke-dasharray: 6 5;
    stroke-linecap: round;
    animation: portfolio-flow 3s linear infinite; }
  .industries-list .portfolio__logistics-dot {
    fill: rgba(45, 154, 94, 0.35); }
    .industries-list .portfolio__logistics-dot--hub {
      fill: #30a4c4; }
  .industries-list .portfolio__logistics-fleet {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.45rem; }
  .industries-list .portfolio__logistics-vehicle {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.3rem 0.55rem;
    border-radius: 999px;
    font-size: 0.58rem;
    font-weight: 700;
    color: rgba(0, 0, 0, 0.68);
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(71, 86, 90, 0.08); }
    .industries-list .portfolio__logistics-vehicle .bi {
      font-size: 0.8rem;
      color: rgba(45, 154, 94, 0.8); }

@media (prefers-reduced-motion: reduce) {
  .industries-list .portfolio__showcase-glow,
  .industries-list .portfolio__float,
  .industries-list .portfolio__edge--flow,
  .industries-list .portfolio__spoke--flow,
  .industries-list .portfolio__pulse-dot,
  .industries-list .portfolio__orbit,
  .industries-list .portfolio__shield-ring,
  .industries-list .portfolio__logistics-route,
  .industries-list .portfolio__factory-sensor,
  .industries-list .portfolio__factory-gear,
  .industries-list .portfolio__platform-spoke,
  .industries-list .portfolio__hub-ring,
  .industries-list .portfolio__compliance-spoke,
  .industries-list .portfolio__compliance-tag,
  .industries-list .portfolio__shield-ring,
  .industries-list .portfolio__shield-core,
  .industries-list .portfolio__doc-card,
  .industries-list .portfolio__compliance-badge {
    animation: none; }
  .industries-list .portfolio__platform-dot {
    opacity: 0; } }

.product-item {
  flex-grow: 1;
  height: 100%; }
  .product-item > .card-body > .card-text {
    flex-grow: 0;
    margin-bottom: 1rem; }

.products-item-img {
  background: white; }

.video-podcast-content {
  background-color: #F6FBFF;
  min-height: 100vh; }
  .video-podcast-content .row {
    padding-top: 16px;
    padding-bottom: 16px; }
  .video-podcast-content .col-lg-6, .video-podcast-content .col-lg-4, .video-podcast-content .col-md-6 {
    padding: 16px; }
  .video-podcast-content .row.no-padding {
    padding: 0; }

.section-title {
  font-size: 2.5rem;
  font-weight: 700;
  color: #212529;
  margin-bottom: 1rem;
  background: linear-gradient(135deg, #0d6efd, #6610f2);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text; }

.section-description {
  font-size: 1.1rem;
  color: #6c757d;
  margin-bottom: 2rem;
  line-height: 1.6; }

.featured-title {
  font-size: 1.8rem;
  font-weight: 600;
  color: #47565A;
  margin: 0;
  position: relative;
  padding: 0 0 0 1rem; }
  .featured-title::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 4px;
    height: 2rem;
    background: #30a4c4;
    border-radius: 2px; }

.section-subtitle {
  font-size: 1.5rem;
  font-weight: 600;
  color: #495057;
  margin: 0;
  padding: 0; }

.video-card-link {
  text-decoration: none;
  color: inherit;
  display: block; }
  .video-card-link:hover {
    text-decoration: none;
    color: inherit; }

.video-card {
  background: #FFFFFF;
  border: 1px solid rgba(71, 86, 90, 0.08);
  border-radius: 2.25rem;
  box-shadow: 0 18px 48px rgba(71, 86, 90, 0.08);
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  position: relative;
  padding: 0.75rem;
  margin: 8px;
  z-index: 1;
  height: 100%;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto; }
  .video-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 56px rgba(71, 86, 90, 0.12);
    z-index: 10; }
    .video-card:hover .video-thumbnail img {
      transform: scale(1.02); }

.video-thumbnail {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16/9; }
  .video-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease; }

.play-overlay {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: rgba(0, 0, 0, 0.7);
  border-radius: 50%;
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 1;
  cursor: pointer; }
  .play-overlay i {
    color: white;
    font-size: 1.5rem; }

.video-card:hover .play-overlay {
  transform: translate(-50%, -50%) !important; }

.video-info {
  padding: 1rem;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start; }
  .video-info .video-category {
    color: #0d6efd;
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 0.5rem; }
  .video-info .video-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: #212529;
    margin-bottom: 0;
    line-height: 1.4; }

.cta-section {
  background-color: #F6FBFF; }
  .cta-section h3 {
    color: #212529;
    font-weight: 600;
    margin-bottom: 1rem; }
  .cta-section .lead {
    color: #6c757d;
    margin-bottom: 2rem; }
  .cta-section .btn-primary {
    padding: 12px 32px;
    box-shadow: 0 4px 12px rgba(13, 110, 253, 0.3);
    transition: all 0.3s ease; }
    .cta-section .btn-primary:hover {
      transform: translateY(-2px);
      box-shadow: 0 8px 24px rgba(13, 110, 253, 0.4); }

@media (max-width: 768px) {
  .section-title {
    font-size: 2rem; }
  .featured-title {
    font-size: 1.5rem; }
  .video-podcast-tabs .nav-link {
    padding: 10px 16px;
    font-size: 0.9rem; }
  .video-card {
    margin-bottom: 1.5rem; } }

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px); }
  to {
    opacity: 1;
    transform: translateY(0); } }

.video-card:nth-child(1) {
  animation-delay: 0.1s; }

.video-card:nth-child(2) {
  animation-delay: 0.2s; }

.video-card:nth-child(3) {
  animation-delay: 0.3s; }

.video-card:nth-child(4) {
  animation-delay: 0.4s; }

.video-card:nth-child(5) {
  animation-delay: 0.5s; }

.video-detail-content {
  background-color: #F6FBFF;
  min-height: 100vh; }
  .video-detail-content .video-main-content {
    flex: 0 0 79.17%;
    max-width: 79.17%; }
  .video-detail-content .video-sidebar {
    flex: 0 0 20.83%;
    max-width: 20.83%; }
  .video-detail-content .video-player-container {
    background: #FFFFFF;
    border: 1px solid rgba(71, 86, 90, 0.08);
    border-radius: 2.25rem;
    box-shadow: 0 18px 48px rgba(71, 86, 90, 0.08);
    overflow: hidden;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    overflow: hidden; }
    .video-detail-content .video-player-container iframe {
      border-radius: 2.25rem; }
  .video-detail-content .video-description {
    background: #FFFFFF;
    border: 1px solid rgba(71, 86, 90, 0.08);
    border-radius: 2.25rem;
    box-shadow: 0 18px 48px rgba(71, 86, 90, 0.08);
    overflow: hidden;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    padding: 2rem; }
    .video-detail-content .video-description .video-meta .badge {
      font-size: 0.8rem;
      padding: 0.5rem 1rem;
      border-radius: 20px; }
    .video-detail-content .video-description .content {
      font-size: 1.1rem;
      line-height: 1.7;
      color: #495057; }
      .video-detail-content .video-description .content h2 {
        color: #212529;
        font-weight: 600;
        margin-top: 2rem;
        margin-bottom: 1rem; }
      .video-detail-content .video-description .content ul {
        padding-left: 1.5rem; }
        .video-detail-content .video-description .content ul li {
          margin-bottom: 0.5rem; }

.video-detail-title {
  width: 70%;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  text-align: left;
  word-break: break-word; }

@media (max-width: 768px) {
  .video-detail-title {
    width: 100%;
    text-align: left; } }

.video-detail-category {
  background: #30a4c4 !important;
  color: #fff !important;
  border-radius: 20px;
  padding: 0.5rem 1.2rem;
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-transform: uppercase; }

.video-detail-description {
  text-align: justify;
  font-size: 1rem; }

@media (max-width: 768px) {
  .video-detail-description {
    font-size: 0.95rem; } }

.podcast-platforms {
  background: #FFFFFF;
  border: 1px solid rgba(71, 86, 90, 0.08);
  border-radius: 2.25rem;
  box-shadow: 0 18px 48px rgba(71, 86, 90, 0.08);
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  padding: 1.5rem; }
  .podcast-platforms h4 {
    color: #212529;
    font-weight: 700;
    font-size: 1.2rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 1rem; }
  .podcast-platforms .platform-links {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    align-items: center; }
  .podcast-platforms .platform-link {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem;
    border-radius: 8px;
    text-decoration: none;
    color: #495057;
    transition: all 0.3s ease; }
    .podcast-platforms .platform-link:hover {
      text-decoration: none;
      color: #212529; }
    .podcast-platforms .platform-link .platform-icon {
      width: 120px;
      height: 32px;
      object-fit: contain; }
    .podcast-platforms .platform-link .platform-icon-mobile {
      display: none !important; }
    .podcast-platforms .platform-link .platform-icon-desktop {
      display: block !important; }
    @media (max-width: 768px) {
      .podcast-platforms .platform-link .platform-icon-mobile {
        display: block !important;
        width: 32px;
        height: 32px; }
      .podcast-platforms .platform-link .platform-icon-desktop {
        display: none !important; } }
    .podcast-platforms .platform-link span {
      font-weight: 600;
      font-size: 1rem; }

.related-videos {
  background: #FFFFFF;
  border: 1px solid rgba(71, 86, 90, 0.08);
  border-radius: 2.25rem;
  box-shadow: 0 18px 48px rgba(71, 86, 90, 0.08);
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  padding: 1.5rem; }
  .related-videos h4 {
    color: #212529;
    font-weight: 700;
    font-size: 1.2rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 1rem; }
  .related-videos .related-video-link {
    text-decoration: none;
    color: inherit;
    display: block;
    transition: all 0.3s ease; }
    .related-videos .related-video-link:hover {
      text-decoration: none;
      color: inherit;
      transform: translateY(-2px); }
  .related-videos .related-video-content {
    text-align: left; }
  .related-videos .related-video-title {
    font-size: 0.8rem;
    font-weight: 600;
    color: #212529;
    line-height: 1.3;
    margin-bottom: 0.25rem; }
  .related-videos .related-video-item {
    padding: 0.5rem;
    border-radius: 8px;
    transition: all 0.3s ease;
    margin-bottom: 0.5rem; }
    .related-videos .related-video-item:hover {
      background: rgba(13, 110, 253, 0.05); }

.platform-links-inline {
  display: flex;
  gap: 0;
  align-items: center; }
  .platform-links-inline .platform-intro {
    font-size: 1.1rem;
    color: #6c757d;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-right: 0.25rem; }
  .platform-links-inline .platform-link-inline {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem;
    border-radius: 8px;
    text-decoration: none;
    color: #495057;
    transition: all 0.3s ease; }
    .platform-links-inline .platform-link-inline:hover {
      text-decoration: none;
      color: #212529;
      transform: translateY(-1px); }
    .platform-links-inline .platform-link-inline .platform-icon-inline {
      width: 32px;
      height: 32px;
      object-fit: contain; }

@media (max-width: 768px) {
  .video-detail-content .video-description {
    padding: 1.5rem; }
    .video-detail-content .video-description .content {
      font-size: 1rem; }
  .video-detail-content .podcast-platforms,
  .video-detail-content .related-videos {
    padding: 1rem; }
    .video-detail-content .podcast-platforms h4,
    .video-detail-content .related-videos h4 {
      font-size: 0.9rem; }
  .platform-links-inline {
    gap: 0; }
    .platform-links-inline .platform-intro {
      font-size: 1rem;
      margin-right: 0.2rem; }
    .platform-links-inline .platform-link-inline {
      padding: 0.6rem; }
      .platform-links-inline .platform-link-inline .platform-icon-inline {
        width: 28px;
        height: 28px; } }

.blog-content p {
  text-align: justify; }

.blog-content table {
  width: 100%;
  margin: 1.75rem 0;
  border-collapse: collapse;
  font-size: 0.92em;
  line-height: 1.5;
  color: #47565A;
  background-color: #fff;
  border: 1px solid #e9ecef;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(71, 86, 90, 0.06); }
  .blog-content table thead th {
    background-color: #F6FBFF;
    color: #47565A;
    font-weight: 600;
    text-align: left;
    vertical-align: bottom;
    padding: 0.85rem 1rem;
    border-bottom: 2px solid #30a4c4; }
    @media (min-width: 992px) {
      .blog-content table thead th {
        white-space: nowrap; } }
  .blog-content table tbody tr {
    border-bottom: 1px solid #e9ecef;
    transition: background-color 0.15s ease; }
    .blog-content table tbody tr:last-child {
      border-bottom: none; }
    .blog-content table tbody tr:nth-child(even) {
      background-color: #fafbfc; }
    .blog-content table tbody tr:hover {
      background-color: rgba(48, 164, 196, 0.06); }
  .blog-content table tbody td {
    padding: 0.85rem 1rem;
    vertical-align: top;
    text-align: left;
    border-right: 1px solid #eef1f3; }
    .blog-content table tbody td:last-child {
      border-right: none; }
  .blog-content table tr:first-child th:first-child,
  .blog-content table tr:first-child td:first-child {
    border-top-left-radius: 8px; }
  .blog-content table tr:first-child th:last-child,
  .blog-content table tr:first-child td:last-child {
    border-top-right-radius: 8px; }

.blog-content .table-scroll {
  display: block;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 1.75rem 0; }
  .blog-content .table-scroll table {
    margin: 0;
    width: 100%; }
  @media (max-width: 991.98px) {
    .blog-content .table-scroll table {
      min-width: 520px; } }
@media (max-width: 767.98px) {
  .blog-content table {
    font-size: 0.85em; }
    .blog-content table thead th,
    .blog-content table tbody td {
      padding: 0.65rem 0.75rem; } }

.blog-content .highlight pre {
  padding: 16px;
  border-radius: 8px; }

.blog-content li::marker {
  font-family: 'bootstrap-icons';
  content: '\F138 ';
  color: #30a4c4; }

.blog-content li {
  padding-left: 8px; }

.blog-content h2, .blog-content h3, .blog-content h4, .blog-content h5, .blog-content h6 {
  scroll-margin-top: 2rem; }

.blog-single-layout {
  align-items: flex-start; }
  .blog-single-layout .blog-toc-column {
    align-self: stretch;
    position: relative;
    z-index: 20;
    min-width: 0; }
  .blog-single-layout .blog-content-column {
    position: relative;
    z-index: 1;
    min-width: 0; }

.blog-toc {
  position: sticky;
  top: 6rem;
  z-index: 20;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 100%;
  max-height: calc(100vh - 7rem);
  margin-bottom: 2rem;
  background-color: #ffffff;
  border: 1px solid #e9ecef;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  overflow: hidden; }
  .blog-toc .toc-header {
    flex-shrink: 0;
    margin: 0;
    padding: 1.25rem 1.25rem 0.875rem;
    background-color: #ffffff;
    border-bottom: 2px solid #30a4c4; }
  .blog-toc .toc-title {
    margin: 0;
    padding: 0;
    color: #47565A;
    font-size: 1.05rem;
    font-weight: 600;
    line-height: 1.3;
    display: flex;
    align-items: center;
    gap: 0.5rem; }
    .blog-toc .toc-title::before {
      content: '\F479';
      font-family: 'bootstrap-icons';
      color: #30a4c4;
      font-size: 1.15rem;
      line-height: 1;
      flex-shrink: 0; }
  .blog-toc .toc-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    background-color: #ffffff;
    padding: 0.75rem 0.75rem 1rem; }
    .blog-toc .toc-body::-webkit-scrollbar {
      width: 6px; }
    .blog-toc .toc-body::-webkit-scrollbar-track {
      background: #f1f1f1;
      border-radius: 3px; }
    .blog-toc .toc-body::-webkit-scrollbar-thumb {
      background: #30a4c4;
      border-radius: 3px; }
    .blog-toc .toc-body::-webkit-scrollbar-thumb:hover {
      background: #248aa3; }
  .blog-toc .toc-nav {
    background-color: #ffffff; }
  .blog-toc .toc-list {
    list-style: none;
    padding: 0;
    margin: 0; }
  .blog-toc .toc-item {
    margin: 0 0 0.35rem; }
    .blog-toc .toc-item:last-child {
      margin-bottom: 0; }
  .blog-toc .toc-link {
    display: block;
    padding: 0.5rem 0.65rem;
    color: #6c757d;
    font-size: 0.875rem;
    line-height: 1.4;
    text-decoration: none;
    border-radius: 6px;
    border-left: 3px solid transparent;
    background-color: #ffffff;
    overflow-wrap: anywhere;
    transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease; }
    .blog-toc .toc-link:hover {
      color: #30a4c4;
      background-color: #f8f9fa;
      text-decoration: none;
      border-left-color: #30a4c4; }
    .blog-toc .toc-link.active {
      color: #30a4c4;
      background-color: #e3f2fd;
      border-left-color: #30a4c4;
      font-weight: 500; }
  .blog-toc .toc-level-2 .toc-link {
    padding-left: 0.65rem;
    font-weight: 500; }
  .blog-toc .toc-level-3 .toc-link {
    padding-left: 1.25rem;
    font-size: 0.8125rem; }
  .blog-toc .toc-level-4 .toc-link {
    padding-left: 1.85rem;
    font-size: 0.8rem; }
  .blog-toc .toc-level-5 .toc-link {
    padding-left: 2.45rem;
    font-size: 0.775rem; }
  .blog-toc .toc-level-6 .toc-link {
    padding-left: 3.05rem;
    font-size: 0.75rem; }

.mobile-toc .btn {
  border-color: #30a4c4;
  color: #30a4c4;
  font-weight: 500; }
  .mobile-toc .btn:hover {
    background-color: #30a4c4;
    border-color: #30a4c4;
    color: white; }
  .mobile-toc .btn:focus {
    box-shadow: 0 0 0 0.2rem rgba(48, 164, 196, 0.25); }
  .mobile-toc .btn i {
    transition: transform 0.2s ease; }
  .mobile-toc .btn[aria-expanded="true"] i {
    transform: rotate(180deg); }

.mobile-toc .card {
  background: #FFFFFF;
  border: 1px solid rgba(71, 86, 90, 0.08);
  border-radius: 2.25rem;
  box-shadow: 0 18px 48px rgba(71, 86, 90, 0.08);
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease; }
  .mobile-toc .card:hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 56px rgba(71, 86, 90, 0.12); }
  .mobile-toc .card .card-body {
    padding: 1rem; }

.mobile-toc .blog-toc {
  position: static;
  max-height: none;
  box-shadow: none;
  border: none; }
  .mobile-toc .blog-toc .toc-header {
    padding: 0 0 0.75rem; }
  .mobile-toc .blog-toc .toc-body {
    overflow-y: visible;
    padding: 0; }
  .mobile-toc .blog-toc .toc-title {
    font-size: 1rem; }
  .mobile-toc .blog-toc .toc-link {
    padding: 0.4rem 0.5rem;
    font-size: 0.85rem; }

@media (max-width: 991.98px) {
  .blog-toc {
    position: static;
    max-height: none;
    margin-bottom: 1.5rem; }
    .blog-toc .toc-body {
      overflow-y: visible; } }

@media (max-width: 767.98px) {
  .blog-content {
    font-size: 1rem !important; }
  .mobile-toc {
    margin-bottom: 1.5rem; } }

@keyframes tocFadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

.blog-toc {
  animation: tocFadeIn 0.3s ease-out; }

.page-content table {
  width: 100%;
  margin: 1.75rem 0;
  border-collapse: collapse;
  font-size: 0.92em;
  line-height: 1.5;
  color: #47565A;
  background-color: #fff;
  border: 1px solid #e9ecef;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(71, 86, 90, 0.06); }
  .page-content table thead th {
    background-color: #F6FBFF;
    color: #47565A;
    font-weight: 600;
    text-align: left;
    vertical-align: bottom;
    padding: 0.85rem 1rem;
    border-bottom: 2px solid #30a4c4; }
    @media (min-width: 992px) {
      .page-content table thead th {
        white-space: nowrap; } }
  .page-content table tbody tr {
    border-bottom: 1px solid #e9ecef;
    transition: background-color 0.15s ease; }
    .page-content table tbody tr:last-child {
      border-bottom: none; }
    .page-content table tbody tr:nth-child(even) {
      background-color: #fafbfc; }
    .page-content table tbody tr:hover {
      background-color: rgba(48, 164, 196, 0.06); }
  .page-content table tbody td {
    padding: 0.85rem 1rem;
    vertical-align: top;
    text-align: left;
    border-right: 1px solid #eef1f3; }
    .page-content table tbody td:last-child {
      border-right: none; }
  .page-content table tr:first-child th:first-child,
  .page-content table tr:first-child td:first-child {
    border-top-left-radius: 8px; }
  .page-content table tr:first-child th:last-child,
  .page-content table tr:first-child td:last-child {
    border-top-right-radius: 8px; }

.page-content .table-scroll {
  display: block;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 1.75rem 0; }
  .page-content .table-scroll table {
    margin: 0;
    width: 100%; }
  @media (max-width: 991.98px) {
    .page-content .table-scroll table {
      min-width: 520px; } }
@media (max-width: 767.98px) {
  .page-content table {
    font-size: 0.85em; }
    .page-content table thead th,
    .page-content table tbody td {
      padding: 0.65rem 0.75rem; } }

.section.gen-ai-agents {
  background-color: #F6FBFF;
  overflow: hidden; }
  .section.gen-ai-agents .gen-ai-agents__title {
    line-height: 1.15; }
  .section.gen-ai-agents .gen-ai-agents__track-wrapper {
    position: relative;
    padding-bottom: 1rem; }
    .section.gen-ai-agents .gen-ai-agents__track-wrapper::before, .section.gen-ai-agents .gen-ai-agents__track-wrapper::after {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      width: 4rem;
      z-index: 1;
      pointer-events: none; }
    .section.gen-ai-agents .gen-ai-agents__track-wrapper::before {
      left: 0;
      background: linear-gradient(90deg, #F6FBFF 0%, transparent 100%); }
    .section.gen-ai-agents .gen-ai-agents__track-wrapper::after {
      right: 0;
      background: linear-gradient(270deg, #F6FBFF 0%, transparent 100%); }
  .section.gen-ai-agents .gen-ai-agents__nav {
    position: absolute;
    top: 50%;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    min-width: 2.75rem;
    min-height: 2.75rem;
    padding: 0;
    border: 1px solid rgba(71, 86, 90, 0.18);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.95);
    color: #47565A;
    box-shadow: 0 4px 12px rgba(71, 86, 90, 0.08);
    transform: translateY(-50%);
    transition: opacity 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease; }
    .section.gen-ai-agents .gen-ai-agents__nav:hover:not(:disabled), .section.gen-ai-agents .gen-ai-agents__nav:focus-visible {
      background: #FFFFFF;
      box-shadow: 0 6px 16px rgba(71, 86, 90, 0.1); }
    .section.gen-ai-agents .gen-ai-agents__nav:focus-visible {
      outline: 2px solid rgba(48, 164, 196, 0.5);
      outline-offset: 2px; }
    .section.gen-ai-agents .gen-ai-agents__nav:disabled {
      opacity: 0;
      pointer-events: none; }
    .section.gen-ai-agents .gen-ai-agents__nav--prev {
      left: 0.75rem; }
    .section.gen-ai-agents .gen-ai-agents__nav--next {
      right: 0.75rem; }
    @media (min-width: 1200px) {
      .section.gen-ai-agents .gen-ai-agents__nav--prev {
        left: calc(calc((100vw - 71.25rem) / 2) + 0.25rem); }
      .section.gen-ai-agents .gen-ai-agents__nav--next {
        right: calc(calc((100vw - 71.25rem) / 2) + 0.25rem); } }
  .section.gen-ai-agents .gen-ai-agents__track {
    display: flex;
    gap: 1.25rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 1rem;
    padding: 0.5rem 1rem 1.5rem;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none; }
    @media (min-width: 1200px) {
      .section.gen-ai-agents .gen-ai-agents__track {
        scroll-padding-inline: calc(calc((100vw - 71.25rem) / 2) + 0.75rem);
        padding-left: calc(calc((100vw - 71.25rem) / 2) + 0.75rem);
        padding-right: calc(calc((100vw - 71.25rem) / 2) + 0.75rem); } }
    .section.gen-ai-agents .gen-ai-agents__track::-webkit-scrollbar {
      display: none; }
    .section.gen-ai-agents .gen-ai-agents__track:focus-visible {
      outline: 2px solid rgba(48, 164, 196, 0.35);
      outline-offset: 4px; }
  .section.gen-ai-agents .gen-ai-agents__card {
    background: #FFFFFF;
    border: 1px solid rgba(71, 86, 90, 0.08);
    border-radius: 2.25rem;
    box-shadow: 0 18px 48px rgba(71, 86, 90, 0.08);
    overflow: hidden;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 8px 24px rgba(71, 86, 90, 0.06);
    flex: 0 0 82vw;
    width: 82vw;
    max-width: 22rem;
    scroll-snap-align: center;
    display: flex;
    flex-direction: column;
    min-height: 26rem;
    padding: 1.75rem;
    text-decoration: none;
    color: inherit; }
    .section.gen-ai-agents .gen-ai-agents__card:hover, .section.gen-ai-agents .gen-ai-agents__card:focus-visible {
      transform: translateY(-4px);
      box-shadow: 0 24px 56px rgba(71, 86, 90, 0.12);
      box-shadow: 0 12px 28px rgba(71, 86, 90, 0.08);
      color: inherit; }
    .section.gen-ai-agents .gen-ai-agents__card:focus-visible {
      outline: 2px solid rgba(48, 164, 196, 0.5);
      outline-offset: 2px; }
  .section.gen-ai-agents .gen-ai-agents__label {
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.01em; }
  .section.gen-ai-agents .gen-ai-agents__card-title {
    line-height: 1.25;
    margin-bottom: 1.5rem; }
  .section.gen-ai-agents .gen-ai-agents__visual {
    margin-top: auto;
    flex: 1;
    min-height: 11rem;
    display: flex;
    align-items: center;
    justify-content: center; }
  .section.gen-ai-agents .gen-ai-agents__search-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.75rem;
    width: 100%;
    max-width: 15rem;
    margin-inline: auto; }
  .section.gen-ai-agents .gen-ai-agents__search-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1;
    border-radius: 1rem;
    background: rgba(48, 164, 196, 0.12);
    color: #47565A;
    font-size: 1.1rem;
    box-shadow: 0 2px 8px rgba(71, 86, 90, 0.05); }
    .section.gen-ai-agents .gen-ai-agents__search-icon--2 {
      background: rgba(39, 163, 255, 0.16); }
    .section.gen-ai-agents .gen-ai-agents__search-icon--3 {
      background: rgba(173, 168, 214, 0.35); }
    .section.gen-ai-agents .gen-ai-agents__search-icon--4 {
      background: rgba(180, 209, 196, 0.55); }
    .section.gen-ai-agents .gen-ai-agents__search-icon--5 {
      background: rgba(48, 164, 196, 0.2); }
    .section.gen-ai-agents .gen-ai-agents__search-icon--6 {
      background: rgba(246, 222, 157, 0.55); }
    .section.gen-ai-agents .gen-ai-agents__search-icon--7 {
      background: rgba(255, 135, 176, 0.2); }
    .section.gen-ai-agents .gen-ai-agents__search-icon--8 {
      background: rgba(39, 163, 255, 0.22); }
  .section.gen-ai-agents .gen-ai-agents__context-graph {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    width: 100%;
    max-width: 17rem;
    margin-inline: auto; }
  .section.gen-ai-agents .gen-ai-agents__context-graph-canvas {
    position: relative;
    width: 100%;
    aspect-ratio: 240 / 156;
    border-radius: 1.15rem;
    background: radial-gradient(circle at 50% 18%, rgba(48, 164, 196, 0.07) 0%, transparent 42%), linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(71, 86, 90, 0.03) 100%);
    border: 1px solid rgba(71, 86, 90, 0.08);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
    overflow: hidden; }
  .section.gen-ai-agents .gen-ai-agents__context-graph-svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%; }
  .section.gen-ai-agents .gen-ai-agents__context-edge {
    stroke-width: 2;
    stroke-linecap: round; }
    .section.gen-ai-agents .gen-ai-agents__context-edge--muted {
      stroke: rgba(71, 86, 90, 0.12); }
    .section.gen-ai-agents .gen-ai-agents__context-edge--path {
      stroke: rgba(48, 164, 196, 0.55);
      stroke-dasharray: 5 4;
      animation: gen-ai-context-path 2.8s linear infinite; }

@keyframes gen-ai-context-path {
  to {
    stroke-dashoffset: -18; } }
  .section.gen-ai-agents .gen-ai-agents__context-node {
    position: absolute;
    transform: translate(-50%, -50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.28rem 0.55rem;
    border-radius: 999px;
    font-size: 0.58rem;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
    box-shadow: 0 2px 8px rgba(71, 86, 90, 0.06); }
    .section.gen-ai-agents .gen-ai-agents__context-node--agent {
      left: 16.5%;
      top: 84.5%;
      width: 1.85rem;
      height: 1.85rem;
      padding: 0;
      border-radius: 50%;
      background: linear-gradient(135deg, rgba(71, 86, 90, 0.92) 0%, #3a4649 100%);
      color: #FFFFFF;
      box-shadow: 0 4px 12px rgba(71, 86, 90, 0.2); }
      .section.gen-ai-agents .gen-ai-agents__context-node--agent .bi {
        font-size: 0.85rem; }
    .section.gen-ai-agents .gen-ai-agents__context-node--ontology {
      left: 50%;
      top: 21.5%;
      background: rgba(48, 164, 196, 0.12);
      color: #2889a3;
      border: 1px solid rgba(48, 164, 196, 0.22); }
    .section.gen-ai-agents .gen-ai-agents__context-node--product {
      left: 78.5%;
      top: 46%;
      background: rgba(173, 168, 214, 0.38);
      color: #564da3;
      border: 1px solid rgba(173, 168, 214, 0.48); }
    .section.gen-ai-agents .gen-ai-agents__context-node--catalog {
      left: 70%;
      top: 72%;
      background: rgba(39, 163, 255, 0.14);
      color: #0074ca;
      border: 1px solid rgba(39, 163, 255, 0.24); }
    .section.gen-ai-agents .gen-ai-agents__context-node--dim {
      padding: 0.22rem 0.45rem;
      background: rgba(71, 86, 90, 0.04);
      color: rgba(0, 0, 0, 0.45);
      border: 1px dashed rgba(71, 86, 90, 0.12);
      box-shadow: none;
      font-weight: 600; }
    .section.gen-ai-agents .gen-ai-agents__context-node--lineage {
      left: 21.5%;
      top: 46%; }
    .section.gen-ai-agents .gen-ai-agents__context-node--quality {
      left: 81.5%;
      top: 75.5%; }
  .section.gen-ai-agents .gen-ai-agents__context-graph-caption {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.12rem;
    margin: 0;
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1.25;
    text-align: center;
    color: rgba(0, 0, 0, 0.62); }
  .section.gen-ai-agents .gen-ai-agents__panel {
    width: 100%;
    max-width: 17rem;
    padding: 1rem;
    border-radius: 1.25rem;
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid rgba(71, 86, 90, 0.08);
    box-shadow: 0 4px 12px rgba(71, 86, 90, 0.06); }
    .section.gen-ai-agents .gen-ai-agents__panel--governance .gen-ai-agents__panel-title {
      color: #47565A; }
  .section.gen-ai-agents .gen-ai-agents__panel-title {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin-bottom: 0.85rem;
    font-size: 0.8rem;
    font-weight: 700;
    color: #30a4c4; }
  .section.gen-ai-agents .gen-ai-agents__panel-item {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.55rem 0;
    font-size: 0.78rem;
    color: rgba(0, 0, 0, 0.75);
    border-top: 1px solid rgba(71, 86, 90, 0.06); }
    .section.gen-ai-agents .gen-ai-agents__panel-item:first-of-type {
      border-top: none; }
  .section.gen-ai-agents .gen-ai-agents__semaphore {
    flex-shrink: 0;
    width: 0.7rem;
    height: 0.7rem;
    border-radius: 50%;
    box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.12); }
    .section.gen-ai-agents .gen-ai-agents__semaphore--green {
      background: #2d9a5e;
      box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.12), 0 0 0 2px rgba(45, 154, 94, 0.18); }
    .section.gen-ai-agents .gen-ai-agents__semaphore--yellow {
      background: #d4a017;
      box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.12), 0 0 0 2px rgba(212, 160, 23, 0.2); }
    .section.gen-ai-agents .gen-ai-agents__semaphore--red {
      background: #d64545;
      box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.12), 0 0 0 2px rgba(214, 69, 69, 0.18); }
  .section.gen-ai-agents .gen-ai-agents__policy-badge {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.15rem;
    height: 1.15rem;
    border-radius: 50%;
    font-size: 0.65rem;
    font-weight: 700; }
    .section.gen-ai-agents .gen-ai-agents__policy-badge--pass {
      background: rgba(45, 154, 94, 0.14);
      color: #2d9a5e;
      box-shadow: 0 0 0 2px rgba(45, 154, 94, 0.16); }
    .section.gen-ai-agents .gen-ai-agents__policy-badge--warn {
      background: rgba(212, 160, 23, 0.16);
      color: #af8413;
      box-shadow: 0 0 0 2px rgba(212, 160, 23, 0.18); }
    .section.gen-ai-agents .gen-ai-agents__policy-badge--fail {
      background: rgba(214, 69, 69, 0.12);
      color: #d64545;
      box-shadow: 0 0 0 2px rgba(214, 69, 69, 0.16); }
  .section.gen-ai-agents .gen-ai-agents__blueprint {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    width: 100%;
    max-width: 17rem;
    margin-inline: auto; }
  .section.gen-ai-agents .gen-ai-agents__blueprint-shift {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0.25rem 0.55rem;
    border-radius: 999px;
    background: rgba(39, 163, 255, 0.12);
    border: 1px solid rgba(39, 163, 255, 0.22);
    font-size: 0.68rem;
    font-weight: 700;
    color: #0074ca;
    letter-spacing: 0.01em; }
    .section.gen-ai-agents .gen-ai-agents__blueprint-shift .bi {
      font-size: 1rem;
      line-height: 1; }
  .section.gen-ai-agents .gen-ai-agents__blueprint-sheet {
    border-radius: 1rem;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.98);
    border: 1px solid rgba(71, 86, 90, 0.1);
    box-shadow: 0 4px 14px rgba(71, 86, 90, 0.07), inset 0 1px 0 rgba(255, 255, 255, 0.9); }
  .section.gen-ai-agents .gen-ai-agents__blueprint-header {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.55rem 0.75rem;
    font-size: 0.72rem;
    font-weight: 700;
    color: rgba(0, 0, 0, 0.7);
    background: rgba(71, 86, 90, 0.04);
    border-bottom: 1px solid rgba(71, 86, 90, 0.06);
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; }
    .section.gen-ai-agents .gen-ai-agents__blueprint-header .bi {
      color: #2d9a5e;
      font-size: 0.85rem; }
  .section.gen-ai-agents .gen-ai-agents__blueprint-body {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    padding: 0.85rem 0.75rem 1rem;
    min-height: 5.5rem; }
  .section.gen-ai-agents .gen-ai-agents__blueprint-line {
    display: block;
    height: 0.42rem;
    border-radius: 999px;
    background: rgba(71, 86, 90, 0.08); }
    .section.gen-ai-agents .gen-ai-agents__blueprint-line--indent {
      width: 72%;
      margin-left: 0.65rem; }
    .section.gen-ai-agents .gen-ai-agents__blueprint-line--short {
      width: 48%; }
    .section.gen-ai-agents .gen-ai-agents__blueprint-line:not(.gen-ai-agents__blueprint-line--indent):not(.gen-ai-agents__blueprint-line--short) {
      width: 88%; }
  .section.gen-ai-agents .gen-ai-agents__blueprint-pins {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 0.15rem; }
  .section.gen-ai-agents .gen-ai-agents__blueprint-pin {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.22rem 0.45rem;
    border-radius: 0.45rem;
    font-size: 0.62rem;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
    box-shadow: 0 2px 6px rgba(71, 86, 90, 0.06); }
    .section.gen-ai-agents .gen-ai-agents__blueprint-pin .bi {
      font-size: 0.68rem; }
    .section.gen-ai-agents .gen-ai-agents__blueprint-pin--contract {
      background: rgba(173, 168, 214, 0.35);
      color: #564da3;
      border: 1px solid rgba(173, 168, 214, 0.45); }
    .section.gen-ai-agents .gen-ai-agents__blueprint-pin--policy {
      background: rgba(48, 164, 196, 0.1);
      color: #2889a3;
      border: 1px solid rgba(48, 164, 196, 0.18); }
    .section.gen-ai-agents .gen-ai-agents__blueprint-pin--descriptor {
      background: rgba(180, 209, 196, 0.55);
      color: #406a55;
      border: 1px solid rgba(180, 209, 196, 0.75); }
  .section.gen-ai-agents .gen-ai-agents__blueprint-pipeline {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding-top: 0.1rem; }
  .section.gen-ai-agents .gen-ai-agents__blueprint-stage {
    flex-shrink: 0;
    padding: 0.28rem 0.55rem;
    border-radius: 999px;
    font-size: 0.62rem;
    font-weight: 700;
    color: rgba(0, 0, 0, 0.55);
    background: rgba(71, 86, 90, 0.05);
    border: 1px solid rgba(71, 86, 90, 0.08); }
    .section.gen-ai-agents .gen-ai-agents__blueprint-stage--active {
      color: #47565A;
      background: rgba(255, 255, 255, 0.98);
      border-color: rgba(39, 163, 255, 0.28);
      box-shadow: 0 2px 8px rgba(39, 163, 255, 0.12); }
  .section.gen-ai-agents .gen-ai-agents__blueprint-rail {
    flex: 1;
    max-width: 2rem;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(71, 86, 90, 0.12) 0%, rgba(71, 86, 90, 0.28) 100%); }
  .section.gen-ai-agents .gen-ai-agents__blueprint-gate {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.35rem;
    height: 1.35rem;
    border-radius: 0.35rem;
    transform: rotate(45deg);
    background: rgba(45, 154, 94, 0.14);
    border: 1px solid rgba(45, 154, 94, 0.28);
    box-shadow: 0 2px 6px rgba(45, 154, 94, 0.12); }
    .section.gen-ai-agents .gen-ai-agents__blueprint-gate .bi {
      transform: rotate(-45deg);
      font-size: 0.62rem;
      color: #2d9a5e; }
  .section.gen-ai-agents .gen-ai-agents__chat-panel {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    width: 100%;
    max-width: 17rem; }
  .section.gen-ai-agents .gen-ai-agents__chat-bubble {
    padding: 0.75rem 0.9rem;
    border-radius: 1rem;
    font-size: 0.76rem;
    line-height: 1.4;
    color: rgba(0, 0, 0, 0.82); }
    .section.gen-ai-agents .gen-ai-agents__chat-bubble--user {
      align-self: flex-end;
      max-width: 92%;
      background: rgba(71, 86, 90, 0.06);
      border: 1px solid rgba(71, 86, 90, 0.08);
      border-bottom-right-radius: 0.35rem; }
    .section.gen-ai-agents .gen-ai-agents__chat-bubble--assistant {
      align-self: flex-start;
      max-width: 96%;
      background: rgba(255, 255, 255, 0.98);
      border: 1px solid rgba(48, 164, 196, 0.12);
      border-bottom-left-radius: 0.35rem;
      box-shadow: 0 3px 10px rgba(71, 86, 90, 0.05); }
  .section.gen-ai-agents .gen-ai-agents__chat-label {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    margin-bottom: 0.35rem;
    font-size: 0.68rem;
    font-weight: 700;
    color: #30a4c4; }
    .section.gen-ai-agents .gen-ai-agents__chat-label .bi {
      font-size: 0.75rem; }
  .section.gen-ai-agents .gen-ai-agents__mcp-bridge {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.55rem;
    width: 100%;
    max-width: 17rem;
    margin-inline: auto; }
  .section.gen-ai-agents .gen-ai-agents__mcp-clients {
    display: flex;
    justify-content: space-between;
    gap: 0.35rem; }
  .section.gen-ai-agents .gen-ai-agents__mcp-client {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
    padding: 0.45rem 0.25rem;
    border-radius: 0.75rem;
    background: rgba(255, 255, 255, 0.98);
    border: 1px solid rgba(71, 86, 90, 0.08);
    box-shadow: 0 2px 8px rgba(71, 86, 90, 0.05);
    font-size: 0.58rem;
    font-weight: 700;
    color: rgba(0, 0, 0, 0.72);
    text-align: center;
    line-height: 1.2; }
    .section.gen-ai-agents .gen-ai-agents__mcp-client .bi {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 1.5rem;
      height: 1.5rem;
      border-radius: 0.45rem;
      background: rgba(71, 86, 90, 0.07);
      color: #47565A;
      font-size: 0.8rem; }
    .section.gen-ai-agents .gen-ai-agents__mcp-client:nth-child(2) .bi {
      background: rgba(48, 164, 196, 0.1);
      color: #30a4c4; }
    .section.gen-ai-agents .gen-ai-agents__mcp-client:nth-child(3) .bi {
      background: rgba(39, 163, 255, 0.14);
      color: #0086e9; }
  .section.gen-ai-agents .gen-ai-agents__mcp-link {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 2rem; }
  .section.gen-ai-agents .gen-ai-agents__mcp-link-arm {
    position: absolute;
    top: 0;
    width: 38%;
    height: 1.1rem;
    border-bottom: 2px solid rgba(71, 86, 90, 0.14);
    border-radius: 0 0 0.75rem 0.75rem; }
    .section.gen-ai-agents .gen-ai-agents__mcp-link-arm--left {
      left: 12%;
      border-left: 2px solid rgba(71, 86, 90, 0.14);
      border-right: none; }
    .section.gen-ai-agents .gen-ai-agents__mcp-link-arm--right {
      right: 12%;
      border-right: 2px solid rgba(71, 86, 90, 0.14);
      border-left: none; }
  .section.gen-ai-agents .gen-ai-agents__mcp-badge {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.75rem;
    padding: 0.28rem 0.65rem;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(71, 86, 90, 0.92) 0%, #3a4649 100%);
    color: #FFFFFF;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    box-shadow: 0 4px 12px rgba(71, 86, 90, 0.18); }
  .section.gen-ai-agents .gen-ai-agents__mcp-hub {
    padding: 0.75rem 0.85rem;
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(48, 164, 196, 0.12);
    box-shadow: 0 4px 12px rgba(71, 86, 90, 0.06); }
  .section.gen-ai-agents .gen-ai-agents__mcp-hub-title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    margin-bottom: 0.55rem;
    font-size: 0.72rem;
    font-weight: 700;
    color: #30a4c4; }
    .section.gen-ai-agents .gen-ai-agents__mcp-hub-title .bi {
      font-size: 0.8rem; }
  .section.gen-ai-agents .gen-ai-agents__mcp-tools {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.35rem; }
  .section.gen-ai-agents .gen-ai-agents__mcp-tool {
    padding: 0.22rem 0.5rem;
    border-radius: 999px;
    background: rgba(71, 86, 90, 0.06);
    border: 1px solid rgba(71, 86, 90, 0.1);
    font-size: 0.62rem;
    font-weight: 700;
    color: #47565A; }
  @media (prefers-reduced-motion: reduce) {
    .section.gen-ai-agents .gen-ai-agents__card,
    .section.gen-ai-agents .gen-ai-agents__nav {
      transition: none; }
    .section.gen-ai-agents .gen-ai-agents__card:hover,
    .section.gen-ai-agents .gen-ai-agents__card:focus-visible {
      transform: none; }
    .section.gen-ai-agents .gen-ai-agents__context-edge--path {
      animation: none; } }
.section.information-architecture {
  background-color: #F6FBFF;
  overflow: hidden; }
  .section.information-architecture .information-architecture__title,
  .section.information-architecture .information-architecture__title-accent,
  .section.information-architecture .information-architecture__tagline {
    line-height: 1.15; }
  .section.information-architecture .information-architecture__tagline-ai {
    background: linear-gradient(105deg, #30a4c4 0%, #27a3ff 22%, #9b8fd9 44%, #ff9f43 66%, #4ab5d3 82%, #27a3ff 100%);
    background-size: 220% auto;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    animation: eia-ai-gradient 7s linear infinite; }
    @media (prefers-reduced-motion: reduce) {
      .section.information-architecture .information-architecture__tagline-ai {
        animation: none;
        background-size: 100% auto; } }
  .section.information-architecture .information-architecture__subtitle {
    line-height: 1.5;
    max-width: 36rem;
    margin-inline: auto; }
  .section.information-architecture .information-architecture__showcase {
    position: relative;
    width: 100%;
    max-width: 58rem;
    margin-inline: auto;
    padding: 2.25rem 2.5rem 2.5rem;
    border-radius: 2.25rem;
    background: radial-gradient(ellipse at 15% 25%, rgba(48, 164, 196, 0.18) 0%, transparent 52%), radial-gradient(ellipse at 85% 75%, rgba(155, 143, 217, 0.22) 0%, transparent 48%), radial-gradient(ellipse at 55% 45%, rgba(255, 159, 67, 0.1) 0%, transparent 50%), #FFFFFF;
    border: 1px solid rgba(71, 86, 90, 0.06);
    box-shadow: 0 28px 72px rgba(71, 86, 90, 0.1);
    overflow: hidden; }
    .section.information-architecture .information-architecture__showcase::before {
      content: "";
      position: absolute;
      inset: -40% -20%;
      background: conic-gradient(from 200deg at 50% 50%, rgba(48, 164, 196, 0.06), rgba(155, 143, 217, 0.08), rgba(255, 159, 67, 0.04), rgba(48, 164, 196, 0.06));
      animation: eia-glow 14s linear infinite;
      pointer-events: none; }
  .section.information-architecture .information-architecture__cards {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 16.5rem);
    justify-content: center;
    gap: 1.25rem;
    width: 100%;
    margin-inline: auto; }
    @media (min-width: 992px) {
      .section.information-architecture .information-architecture__cards {
        grid-template-columns: repeat(3, 16.5rem);
        gap: 1.5rem; } }
  .section.information-architecture .information-architecture__card {
    background: #FFFFFF;
    border: 1px solid rgba(71, 86, 90, 0.08);
    border-radius: 2.25rem;
    box-shadow: 0 18px 48px rgba(71, 86, 90, 0.08);
    overflow: hidden;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 8px 24px rgba(71, 86, 90, 0.06);
    width: 100%;
    max-width: 16.5rem;
    justify-self: center;
    display: flex;
    flex-direction: column;
    min-height: 17.5rem;
    padding: 1.15rem;
    text-decoration: none;
    color: inherit; }
    .section.information-architecture .information-architecture__card:hover, .section.information-architecture .information-architecture__card:focus-visible {
      transform: translateY(-4px);
      box-shadow: 0 24px 56px rgba(71, 86, 90, 0.12);
      box-shadow: 0 12px 28px rgba(71, 86, 90, 0.08);
      color: inherit; }
    .section.information-architecture .information-architecture__card:focus-visible {
      outline: 2px solid rgba(48, 164, 196, 0.5);
      outline-offset: 2px; }
  .section.information-architecture .information-architecture__label {
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    margin-bottom: 0.35rem !important; }
  .section.information-architecture .information-architecture__card-title {
    line-height: 1.25;
    margin-bottom: 0.75rem; }
  .section.information-architecture .information-architecture__visual {
    margin-top: auto;
    flex: 1;
    min-height: 7.5rem;
    display: flex;
    align-items: center;
    justify-content: center; }
  .section.information-architecture .information-architecture__marketplace {
    width: 100%;
    max-width: 13.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.55rem; }
  .section.information-architecture .information-architecture__marketplace-search {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.45rem 0.6rem;
    border-radius: 0.5rem;
    font-size: 0.65rem;
    font-weight: 500;
    color: rgba(0, 0, 0, 0.45);
    background: #FFFFFF;
    border: 1px solid rgba(71, 86, 90, 0.12);
    box-shadow: 0 1px 3px rgba(71, 86, 90, 0.04); }
    .section.information-architecture .information-architecture__marketplace-search .bi {
      font-size: 0.7rem;
      color: rgba(71, 86, 90, 0.4); }
  .section.information-architecture .information-architecture__dp-card {
    width: 100%;
    max-width: none;
    padding: 0.7rem 0.75rem 0.65rem;
    border-radius: 0.75rem;
    background: #FFFFFF;
    border: 1px solid rgba(71, 86, 90, 0.12);
    box-shadow: 0 2px 8px rgba(71, 86, 90, 0.05); }
  .section.information-architecture .information-architecture__dp-title {
    margin: 0 0 0.2rem;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.2;
    color: #000000; }
  .section.information-architecture .information-architecture__dp-domain {
    display: flex;
    align-items: center;
    gap: 0.3rem;
    margin: 0 0 0.45rem;
    font-size: 0.58rem;
    font-weight: 500;
    color: rgba(0, 0, 0, 0.55); }
  .section.information-architecture .information-architecture__dp-hex {
    font-size: 0.62rem;
    color: #e07a86; }
  .section.information-architecture .information-architecture__dp-desc {
    margin: 0 0 0.55rem;
    font-size: 0.58rem;
    line-height: 1.4;
    color: rgba(0, 0, 0, 0.58); }
  .section.information-architecture .information-architecture__dp-meta {
    display: flex;
    align-items: center;
    gap: 0.3rem;
    padding-top: 0.45rem;
    border-top: 1px solid rgba(71, 86, 90, 0.08); }
  .section.information-architecture .information-architecture__dp-port {
    font-size: 0.72rem;
    color: rgba(0, 0, 0, 0.45); }
  .section.information-architecture .information-architecture__dp-version {
    font-size: 0.58rem;
    font-weight: 600;
    color: rgba(0, 0, 0, 0.62); }
  .section.information-architecture .information-architecture__dp-status {
    font-size: 0.58rem;
    font-weight: 600;
    color: #30a4c4; }
  .section.information-architecture .information-architecture__dp-badge {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.15rem;
    height: 1.15rem;
    border-radius: 999px;
    font-size: 0.48rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: #FFFFFF;
    background: #30a4c4; }
  .section.information-architecture .information-architecture__panel {
    width: 100%;
    max-width: 13.5rem;
    padding: 0.75rem;
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid rgba(71, 86, 90, 0.08);
    box-shadow: 0 4px 12px rgba(71, 86, 90, 0.06); }
  .section.information-architecture .information-architecture__panel-title {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    margin-bottom: 0.55rem;
    font-size: 0.72rem;
    font-weight: 700;
    color: #30a4c4; }
  .section.information-architecture .information-architecture__panel-item {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 0.35rem 0;
    font-size: 0.68rem;
    color: rgba(0, 0, 0, 0.75);
    border-top: 1px solid rgba(71, 86, 90, 0.06); }
    .section.information-architecture .information-architecture__panel-item:first-of-type {
      border-top: none; }
  .section.information-architecture .information-architecture__check {
    flex-shrink: 0;
    margin-top: 0.05rem;
    font-size: 0.75rem;
    color: #2d9a5e; }
  .section.information-architecture .information-architecture__ontology {
    width: 100%;
    height: 100%;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center; }
  .section.information-architecture .information-architecture__visual--knowledge {
    align-items: center;
    justify-content: center;
    min-height: 8.5rem; }
  .section.information-architecture .information-architecture__ontology-svg {
    display: block;
    width: 100%;
    height: auto;
    overflow: visible; }
  .section.information-architecture .information-architecture__ontology-edges line {
    stroke: rgba(71, 86, 90, 0.24);
    stroke-width: 1.25;
    fill: none; }
  .section.information-architecture .information-architecture__ontology-arrowhead {
    fill: rgba(71, 86, 90, 0.3); }
  .section.information-architecture .information-architecture__ontology-edge-labels text {
    fill: rgba(0, 0, 0, 0.42);
    font-family: "Cairo", sans-serif;
    font-size: 7px;
    font-weight: 600;
    text-anchor: middle;
    dominant-baseline: middle; }
  .section.information-architecture .information-architecture__ontology-node rect {
    fill: rgba(255, 255, 255, 0.98);
    stroke: rgba(71, 86, 90, 0.14);
    stroke-width: 1; }
  .section.information-architecture .information-architecture__ontology-node text {
    fill: #47565A;
    font-family: "Cairo", sans-serif;
    font-size: 8px;
    font-weight: 600;
    text-anchor: middle;
    dominant-baseline: middle; }
  .section.information-architecture .information-architecture__ontology-node--highlight rect {
    fill: rgba(48, 164, 196, 0.1);
    stroke: rgba(48, 164, 196, 0.34);
    stroke-width: 1.25; }
  .section.information-architecture .information-architecture__ontology-node--highlight text {
    fill: #30a4c4;
    font-weight: 700;
    font-size: 8.5px; }
  @media (prefers-reduced-motion: reduce) {
    .section.information-architecture .information-architecture__showcase::before {
      animation: none; }
    .section.information-architecture .information-architecture__card {
      transition: none; }
    .section.information-architecture .information-architecture__card:hover,
    .section.information-architecture .information-architecture__card:focus-visible {
      transform: none; } }
@keyframes eia-glow {
  to {
    transform: rotate(360deg); } }

@keyframes eia-ai-gradient {
  0% {
    background-position: 0% center; }
  100% {
    background-position: 220% center; } }

@keyframes portfolio-gauge-draw {
  from {
    stroke-dashoffset: 289; }
  to {
    stroke-dashoffset: 18; } }

@keyframes portfolio-bar-grow {
  from {
    width: 0; }
  to {
    width: var(--bar-width, 80%); } }

@keyframes portfolio-bar-shimmer {
  from {
    transform: translateX(-120%); }
  to {
    transform: translateX(220%); } }

@keyframes portfolio-score-pop {
  0%,
  100% {
    transform: scale(1); }
  50% {
    transform: scale(1.06); } }

@keyframes portfolio-badge-glow {
  0%,
  100% {
    box-shadow: 0 0 0 rgba(45, 154, 94, 0); }
  50% {
    box-shadow: 0 0 0 0.35rem rgba(45, 154, 94, 0.12); } }

@keyframes portfolio-quality-flow {
  to {
    stroke-dashoffset: -24; } }

@keyframes portfolio-shield-lock {
  0%,
  100% {
    transform: scale(1); }
  50% {
    transform: scale(1.05); } }

@keyframes portfolio-compliance-tag {
  0%,
  100% {
    transform: translateY(0);
    box-shadow: 0 2px 8px rgba(39, 163, 255, 0.08); }
  50% {
    transform: translateY(-0.15rem);
    box-shadow: 0 6px 14px rgba(39, 163, 255, 0.16); } }

@keyframes portfolio-compliance-badge-glow {
  0%,
  100% {
    box-shadow: 0 0 0 rgba(39, 163, 255, 0); }
  50% {
    box-shadow: 0 0 0 0.35rem rgba(39, 163, 255, 0.12); } }

@keyframes portfolio-hub-pulse {
  0%,
  100% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 0.45; }
  50% {
    transform: translate(-50%, -50%) scale(1.12);
    opacity: 0.15; } }

@keyframes portfolio-glow {
  to {
    transform: rotate(360deg); } }

@keyframes portfolio-float {
  0%,
  100% {
    transform: translateY(0); }
  50% {
    transform: translateY(-0.45rem); } }

@keyframes portfolio-flow {
  to {
    stroke-dashoffset: -20; } }

@keyframes portfolio-pulse-dot {
  0%,
  100% {
    opacity: 0.35;
    transform: scale(1); }
  50% {
    opacity: 1;
    transform: scale(1.35); } }

@keyframes portfolio-orbit {
  to {
    transform: rotate(360deg); } }

@keyframes portfolio-fade-up {
  from {
    opacity: 0;
    transform: translateY(0.35rem); }
  to {
    opacity: 1;
    transform: translateY(0); } }

.section.portfolio {
  overflow: hidden;
  background-color: #FFFFFF; }
  .section.portfolio .portfolio__title,
  .section.portfolio .portfolio__subtitle {
    line-height: 1.15; }
  .section.portfolio .portfolio__subtitle {
    line-height: 1.5;
    max-width: 40rem;
    margin-inline: auto; }
  .section.portfolio .portfolio-feature {
    min-height: 18rem; }
    @media (min-width: 992px) {
      .section.portfolio .portfolio-feature {
        min-height: 22rem; } }
    @media (min-width: 1200px) {
      .section.portfolio .portfolio-feature {
        min-height: 26rem;
        flex-direction: row !important; } }
    @media (min-width: 1200px) {
      .section.portfolio .portfolio-feature:nth-child(odd) {
        flex-direction: row !important; } }
  .section.portfolio .portfolio-feature__title {
    line-height: 1.15; }
    .section.portfolio .portfolio-feature__title strong,
    .section.portfolio .portfolio-feature__title b {
      color: #30a4c4;
      font-weight: 700; }
    .section.portfolio .portfolio-feature__title p {
      margin-bottom: 0; }
  .section.portfolio .portfolio-feature__text {
    line-height: 1.55;
    max-width: 34rem; }
  .section.portfolio .portfolio__showcase {
    position: relative;
    width: 100%;
    min-height: 16rem;
    padding: 1.75rem 1.5rem;
    border-radius: 2.25rem;
    border: 1px solid rgba(71, 86, 90, 0.08);
    box-shadow: 0 24px 56px rgba(71, 86, 90, 0.1);
    overflow: hidden;
    background: #FFFFFF; }
    .section.portfolio .portfolio__showcase--compact {
      min-height: 11rem;
      padding: 1.15rem 1rem;
      border-radius: 0;
      box-shadow: none; }
    .section.portfolio .portfolio__showcase--purple {
      background: radial-gradient(ellipse at 18% 22%, rgba(155, 143, 217, 0.34) 0%, transparent 52%), radial-gradient(ellipse at 82% 78%, rgba(48, 164, 196, 0.14) 0%, transparent 48%), #FFFFFF; }
    .section.portfolio .portfolio__showcase--blue {
      background: radial-gradient(ellipse at 20% 28%, rgba(39, 163, 255, 0.22) 0%, transparent 54%), radial-gradient(ellipse at 78% 72%, rgba(48, 164, 196, 0.1) 0%, transparent 46%), #FFFFFF; }
    .section.portfolio .portfolio__showcase--green {
      background: radial-gradient(ellipse at 22% 24%, rgba(45, 154, 94, 0.2) 0%, transparent 52%), radial-gradient(ellipse at 80% 76%, rgba(39, 163, 255, 0.1) 0%, transparent 48%), #FFFFFF; }
    .section.portfolio .portfolio__showcase--amber {
      background: radial-gradient(ellipse at 18% 26%, rgba(255, 159, 67, 0.24) 0%, transparent 52%), radial-gradient(ellipse at 84% 74%, rgba(48, 164, 196, 0.1) 0%, transparent 46%), #FFFFFF; }
  .section.portfolio .portfolio__showcase-glow {
    position: absolute;
    inset: -45% -25%;
    background: conic-gradient(from 180deg at 50% 50%, rgba(48, 164, 196, 0.05), rgba(155, 143, 217, 0.07), rgba(255, 159, 67, 0.04), rgba(48, 164, 196, 0.05));
    animation: portfolio-glow 18s linear infinite;
    pointer-events: none; }
  .section.portfolio .portfolio__scene {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    min-height: 13rem; }
  .section.portfolio .portfolio__float {
    animation: portfolio-float 5s ease-in-out infinite; }
    .section.portfolio .portfolio__float--1 {
      animation-delay: 0s; }
    .section.portfolio .portfolio__float--2 {
      animation-delay: 1.4s; }
  .section.portfolio .portfolio__scene--knowledge {
    display: grid;
    place-items: center; }
  .section.portfolio .portfolio__glossary-card {
    width: 9.5rem;
    padding: 0.65rem 0.75rem;
    border-radius: 0.85rem;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(71, 86, 90, 0.1);
    box-shadow: 0 8px 20px rgba(71, 86, 90, 0.08);
    display: flex;
    flex-direction: column;
    gap: 0.2rem; }
    .section.portfolio .portfolio__glossary-card strong {
      font-size: 0.72rem;
      line-height: 1.25;
      color: #47565A; }
    .section.portfolio .portfolio__glossary-card--linked {
      border-color: rgba(155, 143, 217, 0.35);
      box-shadow: 0 10px 24px rgba(155, 143, 217, 0.16); }
  .section.portfolio .portfolio__glossary-label {
    font-size: 0.55rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgba(0, 0, 0, 0.5); }
  .section.portfolio .portfolio__glossary-meta {
    font-size: 0.58rem;
    color: rgba(0, 0, 0, 0.58); }
  .section.portfolio .portfolio__scene--knowledge .portfolio__float--1 {
    position: absolute;
    top: 4%;
    left: 4%;
    z-index: 2; }
  .section.portfolio .portfolio__scene--knowledge .portfolio__float--2 {
    position: absolute;
    top: 10%;
    right: 6%;
    z-index: 2; }
  .section.portfolio .portfolio__graph-canvas {
    position: relative;
    width: 100%;
    max-width: 18rem;
    aspect-ratio: 280 / 180; }
  .section.portfolio .portfolio__graph-svg {
    width: 100%;
    height: 100%;
    display: block; }
  .section.portfolio .portfolio__edge {
    stroke: rgba(71, 86, 90, 0.16);
    stroke-width: 1.5; }
    .section.portfolio .portfolio__edge--flow {
      stroke: rgba(155, 143, 217, 0.55);
      stroke-dasharray: 6 5;
      animation: portfolio-flow 3s linear infinite; }
  .section.portfolio .portfolio__arrowhead {
    fill: rgba(155, 143, 217, 0.55); }
  .section.portfolio .portfolio__node rect {
    fill: rgba(255, 255, 255, 0.98);
    stroke: rgba(71, 86, 90, 0.14);
    stroke-width: 1; }
  .section.portfolio .portfolio__node text {
    fill: rgba(0, 0, 0, 0.72);
    font-size: 9px;
    font-weight: 700; }
  .section.portfolio .portfolio__node--hub rect {
    fill: rgba(155, 143, 217, 0.78);
    stroke: rgba(155, 143, 217, 0.42); }
  .section.portfolio .portfolio__orbit {
    position: absolute;
    border: 2px dashed rgba(155, 143, 217, 0.22);
    border-radius: 50%;
    pointer-events: none; }
    .section.portfolio .portfolio__orbit--1 {
      inset: 8%;
      animation: portfolio-orbit 22s linear infinite; }
    .section.portfolio .portfolio__orbit--2 {
      inset: 18%;
      animation: portfolio-orbit 16s linear infinite reverse; }
  .section.portfolio .portfolio__scene--platform {
    display: grid;
    place-items: center;
    min-height: auto; }
  .section.portfolio .portfolio__platform-canvas {
    position: relative;
    width: 100%;
    height: 11.625rem;
    max-height: 11.625rem; }
  .section.portfolio .portfolio__platform-flow {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
    overflow: visible; }
  .section.portfolio .portfolio__platform-spoke {
    fill: none;
    stroke: rgba(39, 163, 255, 0.28);
    stroke-width: 1.5;
    stroke-dasharray: 4 5;
    animation: portfolio-quality-flow 2.6s linear infinite; }
    .section.portfolio .portfolio__platform-spoke--a {
      animation-delay: 0s; }
    .section.portfolio .portfolio__platform-spoke--b {
      animation-delay: 0.45s; }
    .section.portfolio .portfolio__platform-spoke--c {
      animation-delay: 0.9s; }
  .section.portfolio .portfolio__platform-dot {
    fill: #27a3ff;
    filter: drop-shadow(0 0 2px rgba(39, 163, 255, 0.75)); }
  .section.portfolio .portfolio__scene--platform .portfolio__pod {
    min-width: 0;
    padding: 0.4rem 0.45rem;
    gap: 0.2rem; }
  .section.portfolio .portfolio__scene--platform .portfolio__pod--a,
  .section.portfolio .portfolio__scene--platform .portfolio__pod--b {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 0.25rem;
    row-gap: 0.2rem; }
    .section.portfolio .portfolio__scene--platform .portfolio__pod--a .portfolio__pod-label,
    .section.portfolio .portfolio__scene--platform .portfolio__pod--b .portfolio__pod-label {
      grid-column: 1 / -1; }
  .section.portfolio .portfolio__scene--platform .portfolio__pod--a {
    position: absolute;
    top: 2%;
    left: 0;
    width: 31%;
    z-index: 2; }
  .section.portfolio .portfolio__scene--platform .portfolio__pod--b {
    position: absolute;
    top: 2%;
    right: 0;
    width: 31%;
    z-index: 2; }
  .section.portfolio .portfolio__scene--platform .portfolio__pod--c {
    position: absolute;
    bottom: 2%;
    left: 50%;
    transform: translateX(-50%);
    width: 32%;
    z-index: 2; }
  .section.portfolio .portfolio__scene--platform .portfolio__hub-wrap {
    position: absolute;
    top: 26%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 3; }
  .section.portfolio .portfolio__scene--platform .portfolio__hub-ring {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 5.25rem;
    height: 5.25rem;
    border-radius: 50%;
    border: 2px solid rgba(39, 163, 255, 0.22);
    transform: translate(-50%, -50%);
    pointer-events: none;
    animation: portfolio-hub-pulse 3s ease-in-out infinite; }
    .section.portfolio .portfolio__scene--platform .portfolio__hub-ring--1 {
      animation-delay: 0s; }
    .section.portfolio .portfolio__scene--platform .portfolio__hub-ring--2 {
      width: 5.25rem;
      height: 5.25rem;
      border-color: rgba(39, 163, 255, 0.12);
      animation-delay: 1.5s; }
  .section.portfolio .portfolio__scene--platform .portfolio__hub {
    position: relative;
    width: auto;
    min-width: 4.75rem;
    padding: 0.4rem 0.5rem;
    font-size: 0.75rem;
    z-index: 1; }
    .section.portfolio .portfolio__scene--platform .portfolio__hub .bi {
      font-size: 0.95rem; }
  .section.portfolio .portfolio__scene--platform .portfolio__dp-card {
    padding: 0.32rem 0.35rem; }
  .section.portfolio .portfolio__scene--platform .portfolio__dp-title {
    margin-bottom: 0.05rem;
    font-size: 0.54rem; }
  .section.portfolio .portfolio__scene--platform .portfolio__dp-domain {
    font-size: 0.48rem; }
  .section.portfolio .portfolio__hub {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    padding: 0.75rem 0.85rem;
    border-radius: 1rem;
    text-align: center;
    font-size: 0.62rem;
    font-weight: 700;
    line-height: 1.25;
    color: #2889a3;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(48, 164, 196, 0.22);
    box-shadow: 0 6px 16px rgba(48, 164, 196, 0.1); }
    .section.portfolio .portfolio__hub .bi {
      font-size: 1.25rem; }
  .section.portfolio .portfolio__pod {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    padding: 0.65rem 0.7rem;
    border-radius: 0.85rem;
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid rgba(71, 86, 90, 0.1);
    box-shadow: 0 6px 18px rgba(71, 86, 90, 0.07); }
  .section.portfolio .portfolio__pod-label {
    font-size: 0.58rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: rgba(0, 0, 0, 0.55); }
  .section.portfolio .portfolio__dp-card {
    padding: 0.55rem 0.6rem;
    border-radius: 0.75rem;
    background: #FFFFFF;
    border: 1px solid rgba(71, 86, 90, 0.12);
    box-shadow: 0 2px 8px rgba(71, 86, 90, 0.05); }
  .section.portfolio .portfolio__dp-title {
    margin: 0 0 0.15rem;
    font-size: 0.65rem;
    font-weight: 700;
    line-height: 1.2;
    color: #000000; }
  .section.portfolio .portfolio__dp-domain {
    display: flex;
    align-items: center;
    gap: 0.28rem;
    margin: 0;
    font-size: 0.52rem;
    font-weight: 500;
    line-height: 1.3;
    color: rgba(0, 0, 0, 0.55); }
  .section.portfolio .portfolio__dp-hex {
    flex-shrink: 0;
    font-size: 0.55rem; }
    .section.portfolio .portfolio__dp-hex--coral {
      color: #e07a86; }
    .section.portfolio .portfolio__dp-hex--blue {
      color: #1f8fd4; }
    .section.portfolio .portfolio__dp-hex--purple {
      color: #9b8fd9; }
  .section.portfolio .portfolio__pod-chip {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 0.15rem 0.45rem;
    border-radius: 999px;
    font-size: 0.55rem;
    font-weight: 600;
    color: rgba(0, 0, 0, 0.68);
    background: rgba(39, 163, 255, 0.1);
    border: 1px solid rgba(39, 163, 255, 0.16); }
  .section.portfolio .portfolio__spoke-svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 1; }
  .section.portfolio .portfolio__spoke {
    stroke: rgba(39, 163, 255, 0.2);
    stroke-width: 1.5; }
    .section.portfolio .portfolio__spoke--flow {
      stroke: rgba(48, 164, 196, 0.45);
      stroke-dasharray: 5 4;
      animation: portfolio-flow 2.6s linear infinite; }
  .section.portfolio .portfolio__pulse-dot {
    fill: #30a4c4;
    animation: portfolio-pulse-dot 2.2s ease-in-out infinite; }
    .section.portfolio .portfolio__pulse-dot--1 {
      animation-delay: 0s; }
    .section.portfolio .portfolio__pulse-dot--2 {
      animation-delay: 0.7s; }
    .section.portfolio .portfolio__pulse-dot--3 {
      animation-delay: 1.4s; }
  .section.portfolio .portfolio__scene--decisions {
    display: grid;
    place-items: center;
    min-height: auto; }
  .section.portfolio .portfolio__decisions-canvas {
    position: relative;
    width: 100%;
    height: 11.625rem;
    max-height: 11.625rem; }
  .section.portfolio .portfolio__quality-signal {
    position: absolute;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.4rem 0.6rem;
    border-radius: 999px;
    font-size: 0.62rem;
    font-weight: 700;
    line-height: 1.2;
    color: #2d9a5e;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(45, 154, 94, 0.2);
    box-shadow: 0 6px 16px rgba(45, 154, 94, 0.1); }
    .section.portfolio .portfolio__quality-signal .bi {
      font-size: 0.72rem; }
  .section.portfolio .portfolio__scene--decisions .portfolio__float--1 {
    top: 6%;
    left: 5%; }
  .section.portfolio .portfolio__scene--decisions .portfolio__float--2 {
    top: 6%;
    right: 5%; }
  .section.portfolio .portfolio__trust-gauge {
    position: relative;
    flex-shrink: 0; }
    .section.portfolio .portfolio__trust-gauge svg {
      width: 100%;
      height: 100%;
      transform: rotate(-90deg); }
    .section.portfolio .portfolio__trust-gauge--hero {
      position: absolute;
      top: 50%;
      left: 18%;
      width: 6.25rem;
      height: 6.25rem;
      transform: translate(-50%, -50%);
      z-index: 1; }
  .section.portfolio .portfolio__gauge-orbit {
    position: absolute;
    border-radius: 50%;
    border: 2px dashed rgba(45, 154, 94, 0.22);
    pointer-events: none; }
    .section.portfolio .portfolio__gauge-orbit--1 {
      inset: -8%;
      animation: portfolio-orbit 18s linear infinite; }
    .section.portfolio .portfolio__gauge-orbit--2 {
      inset: 4%;
      border-color: rgba(45, 154, 94, 0.14);
      animation: portfolio-orbit 12s linear infinite reverse; }
  .section.portfolio .portfolio__gauge-dot {
    position: absolute;
    width: 0.35rem;
    height: 0.35rem;
    border-radius: 50%;
    background: #2d9a5e;
    box-shadow: 0 0 0 2px rgba(45, 154, 94, 0.15);
    animation: portfolio-pulse-dot 2.4s ease-in-out infinite; }
    .section.portfolio .portfolio__gauge-dot--1 {
      top: 0%;
      left: 50%;
      transform: translateX(-50%); }
    .section.portfolio .portfolio__gauge-dot--2 {
      bottom: 18%;
      left: 6%;
      animation-delay: 0.8s; }
    .section.portfolio .portfolio__gauge-dot--3 {
      bottom: 18%;
      right: 6%;
      animation-delay: 1.6s; }
  .section.portfolio .portfolio__gauge-track {
    fill: none;
    stroke: rgba(71, 86, 90, 0.08);
    stroke-width: 8; }
  .section.portfolio .portfolio__gauge-fill {
    fill: none;
    stroke: #2d9a5e;
    stroke-width: 8;
    stroke-linecap: round;
    stroke-dasharray: 289;
    stroke-dashoffset: 18; }
    .section.portfolio .portfolio__gauge-fill--animated {
      stroke-dashoffset: 289;
      animation: portfolio-gauge-draw 1.8s cubic-bezier(0.4, 0, 0.2, 1) forwards 0.15s; }
  .section.portfolio .portfolio__gauge-label {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    line-height: 1.1; }
    .section.portfolio .portfolio__gauge-label strong {
      font-size: 1.35rem;
      color: #47565A; }
    .section.portfolio .portfolio__gauge-label span {
      font-size: 0.62rem;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.03em;
      color: rgba(0, 0, 0, 0.55); }
  .section.portfolio .portfolio__gauge-score {
    animation: portfolio-score-pop 3s ease-in-out infinite 1.8s; }
  .section.portfolio .portfolio__quality-rail {
    position: absolute;
    top: 50%;
    right: 5%;
    left: 36%;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    z-index: 1; }
  .section.portfolio .portfolio__bar-row {
    display: grid;
    grid-template-columns: 5.25rem 1fr;
    align-items: center;
    gap: 0.65rem;
    font-size: 0.72rem;
    font-weight: 600;
    color: rgba(0, 0, 0, 0.62);
    opacity: 0;
    animation: portfolio-fade-up 0.55s ease forwards; }
    .section.portfolio .portfolio__bar-row--1 {
      animation-delay: 0.55s; }
    .section.portfolio .portfolio__bar-row--2 {
      animation-delay: 0.75s; }
    .section.portfolio .portfolio__bar-row--3 {
      animation-delay: 0.95s; }
  .section.portfolio .portfolio__bar {
    position: relative;
    display: block;
    height: 0.45rem;
    border-radius: 999px;
    background: rgba(71, 86, 90, 0.08);
    overflow: hidden; }
  .section.portfolio .portfolio__bar-fill {
    position: relative;
    display: block;
    height: 100%;
    width: 0;
    border-radius: inherit;
    background: linear-gradient(90deg, #2d9a5e 0%, #39c176 100%);
    animation: portfolio-bar-grow 1.1s cubic-bezier(0.4, 0, 0.2, 1) forwards; }
    .section.portfolio .portfolio__bar-fill::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.55) 50%, transparent 100%);
      transform: translateX(-120%);
      animation: portfolio-bar-shimmer 2.4s ease-in-out infinite 1.4s; }
  .section.portfolio .portfolio__bar-row--1 .portfolio__bar-fill {
    animation-delay: 0.7s; }
  .section.portfolio .portfolio__bar-row--2 .portfolio__bar-fill {
    animation-delay: 0.9s; }
  .section.portfolio .portfolio__bar-row--3 .portfolio__bar-fill {
    animation-delay: 1.1s; }
  .section.portfolio .portfolio__trust-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.32rem 0.6rem;
    border-radius: 999px;
    font-size: 0.54rem;
    font-weight: 700;
    color: #2d9a5e;
    background: rgba(45, 154, 94, 0.12);
    border: 2px solid rgba(45, 154, 94, 0.18); }
    .section.portfolio .portfolio__trust-badge .bi {
      font-size: 0.75rem; }
    .section.portfolio .portfolio__trust-badge--pulse {
      position: absolute;
      bottom: 10%;
      left: 50%;
      transform: translateX(-50%);
      z-index: 2;
      white-space: nowrap;
      padding: 0.38rem 0.7rem;
      font-size: 0.62rem;
      animation: portfolio-badge-glow 2.8s ease-in-out infinite 1.6s; }

@keyframes portfolio-fade-up {
  from {
    opacity: 0;
    transform: translateY(0.35rem); }
  to {
    opacity: 1;
    transform: translateY(0); } }
  .section.portfolio .portfolio__decisions-canvas:not(.is-in-view) .portfolio__gauge-fill--animated {
    animation: none;
    stroke-dashoffset: 289; }
  .section.portfolio .portfolio__decisions-canvas:not(.is-in-view) .portfolio__bar-fill {
    animation: none;
    width: 0; }
    .section.portfolio .portfolio__decisions-canvas:not(.is-in-view) .portfolio__bar-fill::after {
      animation: none; }
  .section.portfolio .portfolio__decisions-canvas:not(.is-in-view) .portfolio__bar-row {
    animation: none;
    opacity: 0;
    transform: translateY(0.35rem); }
  .section.portfolio .portfolio__decisions-canvas:not(.is-in-view) .portfolio__gauge-score,
  .section.portfolio .portfolio__decisions-canvas:not(.is-in-view) .portfolio__trust-badge--pulse,
  .section.portfolio .portfolio__decisions-canvas:not(.is-in-view) .portfolio__gauge-orbit,
  .section.portfolio .portfolio__decisions-canvas:not(.is-in-view) .portfolio__gauge-dot,
  .section.portfolio .portfolio__decisions-canvas:not(.is-in-view) .portfolio__float {
    animation: none; }
  @media (prefers-reduced-motion: reduce) {
    .section.portfolio .portfolio__decisions-canvas .portfolio__gauge-fill--animated,
    .section.portfolio .portfolio__decisions-canvas .portfolio__bar-fill,
    .section.portfolio .portfolio__decisions-canvas .portfolio__bar-row,
    .section.portfolio .portfolio__decisions-canvas .portfolio__gauge-score,
    .section.portfolio .portfolio__decisions-canvas .portfolio__trust-badge--pulse,
    .section.portfolio .portfolio__decisions-canvas .portfolio__gauge-orbit,
    .section.portfolio .portfolio__decisions-canvas .portfolio__gauge-dot,
    .section.portfolio .portfolio__decisions-canvas .portfolio__float {
      animation: none !important; }
    .section.portfolio .portfolio__decisions-canvas .portfolio__gauge-fill--animated {
      stroke-dashoffset: 18; }
    .section.portfolio .portfolio__decisions-canvas .portfolio__bar-fill {
      width: var(--bar-width, 80%); }
    .section.portfolio .portfolio__decisions-canvas .portfolio__bar-row {
      opacity: 1;
      transform: none; } }
  .section.portfolio .portfolio__scene--protect {
    display: grid;
    place-items: center;
    min-height: auto; }
  .section.portfolio .portfolio__compliance-canvas {
    position: relative;
    width: 100%;
    height: 11.625rem;
    max-height: 11.625rem; }
  .section.portfolio .portfolio__compliance-flow {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 1;
    overflow: visible; }
  .section.portfolio .portfolio__compliance-spoke {
    fill: none;
    stroke: rgba(39, 163, 255, 0.32);
    stroke-width: 1.5;
    stroke-dasharray: 4 5;
    animation: portfolio-quality-flow 2.8s linear infinite; }
    .section.portfolio .portfolio__compliance-spoke--a {
      animation-delay: 0s; }
    .section.portfolio .portfolio__compliance-spoke--b {
      animation-delay: 0.5s; }
    .section.portfolio .portfolio__compliance-spoke--c {
      animation-delay: 1s; }
  .section.portfolio .portfolio__compliance-signal {
    position: absolute;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.38rem 0.58rem;
    border-radius: 999px;
    font-size: 0.58rem;
    font-weight: 700;
    line-height: 1.2;
    color: #0074ca;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(39, 163, 255, 0.24);
    box-shadow: 0 6px 14px rgba(39, 163, 255, 0.1); }
    .section.portfolio .portfolio__compliance-signal .bi {
      font-size: 0.68rem; }
  .section.portfolio .portfolio__scene--protect .portfolio__float--1 {
    top: 6%;
    left: 5%; }
  .section.portfolio .portfolio__scene--protect .portfolio__float--2 {
    top: 6%;
    right: 5%; }
  .section.portfolio .portfolio__compliance-hub {
    position: absolute;
    top: 4%;
    left: 50%;
    transform: translateX(-50%);
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem; }
  .section.portfolio .portfolio__shield-wrap {
    position: relative;
    width: 5.5rem;
    height: 5.5rem; }
  .section.portfolio .portfolio__shield-ring {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 1px solid rgba(39, 163, 255, 0.22); }
    .section.portfolio .portfolio__shield-ring--outer {
      animation: portfolio-orbit 20s linear infinite; }
    .section.portfolio .portfolio__shield-ring--mid {
      inset: 12%;
      border-color: rgba(48, 164, 196, 0.18);
      animation: portfolio-orbit 14s linear infinite reverse; }
    .section.portfolio .portfolio__shield-ring--pulse {
      inset: -6%;
      border-color: rgba(39, 163, 255, 0.16);
      animation: portfolio-hub-pulse 3.2s ease-in-out infinite; }
  .section.portfolio .portfolio__shield-core {
    position: absolute;
    inset: 24%;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 1.55rem;
    color: #0074ca;
    background: rgba(39, 163, 255, 0.16);
    box-shadow: 0 8px 24px rgba(39, 163, 255, 0.18);
    animation: portfolio-shield-lock 3.5s ease-in-out infinite 0.5s; }
    .section.portfolio .portfolio__shield-core .bi {
      filter: drop-shadow(0 1px 2px rgba(39, 163, 255, 0.25)); }
  .section.portfolio .portfolio__compliance-docs {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none; }
  .section.portfolio .portfolio__doc-card {
    position: absolute;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.55rem 0.65rem;
    border-radius: 0.75rem;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(71, 86, 90, 0.1);
    box-shadow: 0 6px 16px rgba(71, 86, 90, 0.07);
    min-width: 0;
    max-width: 11.5rem; }
    .section.portfolio .portfolio__doc-card .bi {
      flex-shrink: 0;
      font-size: 1rem;
      color: #0074ca; }
    .section.portfolio .portfolio__doc-card strong {
      display: block;
      font-size: 0.68rem;
      line-height: 1.25;
      color: #47565A; }
    .section.portfolio .portfolio__doc-card span {
      font-size: 0.54rem;
      color: rgba(0, 0, 0, 0.58); }
    .section.portfolio .portfolio__doc-card--ropa {
      bottom: 24%;
      left: 5%; }
    .section.portfolio .portfolio__doc-card--policy {
      bottom: 24%;
      right: 5%; }
  .section.portfolio .portfolio__doc-status {
    flex-shrink: 0;
    margin-left: auto;
    padding: 0.14rem 0.4rem;
    border-radius: 999px;
    font-size: 0.48rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase; }
    .section.portfolio .portfolio__doc-status--ok {
      color: #2d9a5e;
      background: rgba(45, 154, 94, 0.12);
      border: 1px solid rgba(45, 154, 94, 0.18); }
  .section.portfolio .portfolio__compliance-orbit {
    position: absolute;
    bottom: 6%;
    left: 5%;
    right: 5%;
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
    z-index: 2; }
  .section.portfolio .portfolio__compliance-tag {
    padding: 0.28rem 0.65rem;
    border-radius: 999px;
    font-size: 0.58rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: rgba(0, 0, 0, 0.62);
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(39, 163, 255, 0.2);
    box-shadow: 0 2px 8px rgba(39, 163, 255, 0.08);
    animation: portfolio-compliance-tag 3.6s ease-in-out infinite; }
    .section.portfolio .portfolio__compliance-tag--1 {
      animation-delay: 0s; }
    .section.portfolio .portfolio__compliance-tag--2 {
      animation-delay: 0.6s; }
    .section.portfolio .portfolio__compliance-tag--3 {
      animation-delay: 1.2s; }
  .section.portfolio .portfolio__compliance-badge {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.65rem;
    border-radius: 999px;
    font-size: 0.58rem;
    font-weight: 700;
    white-space: nowrap;
    color: #0074ca;
    background: rgba(39, 163, 255, 0.12);
    border: 1px solid rgba(39, 163, 255, 0.22);
    animation: portfolio-compliance-badge-glow 2.8s ease-in-out infinite 1s; }
    .section.portfolio .portfolio__compliance-badge .bi {
      font-size: 0.65rem;
      color: #27a3ff; }
  .section.portfolio .portfolio__shield-stack {
    position: relative;
    width: 7rem;
    height: 7rem; }

@media (prefers-reduced-motion: reduce) {
  .section.portfolio .portfolio__showcase-glow,
  .section.portfolio .portfolio__float,
  .section.portfolio .portfolio__edge--flow,
  .section.portfolio .portfolio__spoke--flow,
  .section.portfolio .portfolio__pulse-dot,
  .section.portfolio .portfolio__orbit,
  .section.portfolio .portfolio__shield-ring,
  .section.portfolio .portfolio__logistics-route,
  .section.portfolio .portfolio__factory-sensor,
  .section.portfolio .portfolio__factory-gear,
  .section.portfolio .portfolio__platform-spoke,
  .section.portfolio .portfolio__hub-ring,
  .section.portfolio .portfolio__compliance-spoke,
  .section.portfolio .portfolio__compliance-tag,
  .section.portfolio .portfolio__shield-ring,
  .section.portfolio .portfolio__shield-core,
  .section.portfolio .portfolio__doc-card,
  .section.portfolio .portfolio__compliance-badge {
    animation: none; }
  .section.portfolio .portfolio__platform-dot {
    opacity: 0; } }

.section.portfolio .portfolio__visual {
  position: relative;
  width: 100%;
  display: grid;
  place-items: center; }

.section.portfolio .portfolio__showcase-glow {
  display: none; }

.section.portfolio .portfolio__showcase--purple, .section.portfolio .portfolio__showcase--blue, .section.portfolio .portfolio__showcase--green, .section.portfolio .portfolio__showcase--amber {
  background: #FFFFFF; }

.section.portfolio .portfolio__bar i {
  background: #2d9a5e; }

.section.text-carousel {
  background-color: #FFFFFF; }
  .section.text-carousel .text-carousel__title,
  .section.text-carousel .text-carousel__subtitle {
    line-height: 1.15; }
  .section.text-carousel .text-carousel__subtitle {
    line-height: 1.55;
    max-width: 40rem;
    margin-inline: auto; }
  .section.text-carousel > .container > .row:first-child {
    position: relative;
    z-index: 2;
    isolation: isolate;
    background-color: #FFFFFF;
    padding-bottom: 2.5rem !important; }
  .section.text-carousel .text-carousel__tabs {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.75rem;
    position: relative;
    z-index: 1;
    margin-top: 0.75rem;
    margin-bottom: 1.25rem;
    padding-bottom: 0.25rem; }
    @media (max-width: 1199.98px) {
      .section.text-carousel .text-carousel__tabs {
        display: flex;
        gap: 0.65rem;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        padding-top: 0.25rem;
        padding-bottom: 0.35rem;
        scrollbar-width: none;
        -ms-overflow-style: none; }
        .section.text-carousel .text-carousel__tabs::-webkit-scrollbar {
          display: none; } }
  .section.text-carousel .text-carousel__tab {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.55rem;
    width: 100%;
    min-width: 0;
    padding: 1rem 1.1rem;
    border: 1px solid rgba(71, 86, 90, 0.08);
    border-radius: 1.25rem;
    background: #FFFFFF;
    text-align: left;
    color: inherit;
    box-shadow: 0 8px 24px rgba(71, 86, 90, 0.06);
    transition: transform 0.2s ease, box-shadow 0.2s ease; }
    @media (max-width: 1199.98px) {
      .section.text-carousel .text-carousel__tab {
        flex: 0 0 14.5rem;
        scroll-snap-align: start;
        box-shadow: 0 4px 12px rgba(71, 86, 90, 0.05); } }
    @media (hover: hover) {
      .section.text-carousel .text-carousel__tab:hover:not(.text-carousel__tab--active) {
        z-index: 2;
        transform: translateY(-4px);
        box-shadow: 0 24px 56px rgba(71, 86, 90, 0.12); } }
@media (hover: hover) and (max-width: 1199.98px) {
  .section.text-carousel .text-carousel__tab:hover:not(.text-carousel__tab--active) {
    transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(71, 86, 90, 0.07); } }
    .section.text-carousel .text-carousel__tab:focus-visible {
      outline: 2px solid rgba(48, 164, 196, 0.45);
      outline-offset: 2px; }
    .section.text-carousel .text-carousel__tab--active {
      z-index: 2;
      background: #F6FBFF;
      box-shadow: 0 12px 28px rgba(71, 86, 90, 0.08); }
      @media (max-width: 1199.98px) {
        .section.text-carousel .text-carousel__tab--active {
          box-shadow: 0 6px 16px rgba(71, 86, 90, 0.06); } }
      .section.text-carousel .text-carousel__tab--active .text-carousel__tab-title {
        color: #30a4c4; }
  .section.text-carousel .text-carousel__tab-head {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    min-width: 0; }
  .section.text-carousel .text-carousel__tab-icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 0.55rem;
    font-size: 1rem;
    color: #47565A;
    background: rgba(71, 86, 90, 0.08); }
    .section.text-carousel .text-carousel__tab-icon--purple {
      background: rgba(155, 143, 217, 0.28); }
    .section.text-carousel .text-carousel__tab-icon--coral {
      background: rgba(48, 164, 196, 0.16);
      color: #2889a3; }
    .section.text-carousel .text-carousel__tab-icon--green {
      background: rgba(45, 154, 94, 0.16);
      color: #2d9a5e; }
    .section.text-carousel .text-carousel__tab-icon--blue {
      background: rgba(39, 163, 255, 0.16);
      color: #1f8fd4; }
    .section.text-carousel .text-carousel__tab-icon--amber {
      background: rgba(255, 159, 67, 0.18);
      color: #c9782a; }
  .section.text-carousel .text-carousel__tab-title {
    min-width: 0;
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.25;
    color: #47565A;
    overflow-wrap: break-word; }
  .section.text-carousel .text-carousel__tab-text {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    font-size: 0.8125rem;
    line-height: 1.45;
    color: rgba(0, 0, 0, 0.62); }
  .section.text-carousel .text-carousel__panel {
    position: relative;
    z-index: 0;
    min-height: 22rem;
    padding: 1.75rem;
    border-radius: 1.5rem;
    background: #FFFFFF;
    border: 1px solid rgba(71, 86, 90, 0.1);
    box-shadow: 0 8px 24px rgba(71, 86, 90, 0.06); }
    @media (min-width: 992px) {
      .section.text-carousel .text-carousel__panel {
        min-height: 24rem;
        padding: 2rem 2.25rem; } }
  .section.text-carousel .text-carousel__pane {
    display: none;
    grid-template-columns: 1fr;
    gap: 1.5rem;
    align-items: center; }
    @media (min-width: 992px) {
      .section.text-carousel .text-carousel__pane {
        grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.35fr);
        gap: 2rem; } }
    .section.text-carousel .text-carousel__pane--active {
      display: grid; }
  .section.text-carousel .text-carousel__pane-copy {
    max-width: 28rem; }
  .section.text-carousel .text-carousel__pane-title {
    margin-bottom: 1rem;
    font-size: 1.35rem;
    font-weight: 700;
    line-height: 1.2;
    color: #47565A; }
  .section.text-carousel .text-carousel__pane-text {
    margin-bottom: 0;
    font-size: 1rem;
    line-height: 1.6; }
    .section.text-carousel .text-carousel__pane-text p:last-child {
      margin-bottom: 0; }
    .section.text-carousel .text-carousel__pane-text p + p {
      margin-top: 0.75rem; }
  .section.text-carousel .text-carousel__pane-highlights {
    margin: 1.25rem 0 0;
    padding-left: 1.15rem;
    font-size: 0.9375rem;
    line-height: 1.55;
    color: rgba(0, 0, 0, 0.72); }
    .section.text-carousel .text-carousel__pane-highlights li + li {
      margin-top: 0.35rem; }
  .section.text-carousel .text-carousel__pane-copy .content-card__read-more {
    margin-top: 1.25rem; }
  .section.text-carousel .text-carousel__pane-media {
    border-radius: 1rem;
    overflow: hidden;
    background: #FFFFFF;
    border: 1px solid rgba(71, 86, 90, 0.08);
    box-shadow: 0 12px 32px rgba(71, 86, 90, 0.08); }
  .section.text-carousel .text-carousel__video {
    display: block;
    width: 100%;
    height: auto;
    vertical-align: middle; }
  @media (max-width: 991.98px) {
    .section.text-carousel .text-carousel__tab-text {
      -webkit-line-clamp: 3; }
    .section.text-carousel .text-carousel__pane-copy {
      max-width: none; } }
  @media (prefers-reduced-motion: reduce) {
    .section.text-carousel .text-carousel__tab {
      transition: none; } }
.whitepaper-landing {
  position: relative;
  min-height: 100vh;
  background-image: url("/images/single-title-background-image.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  color: #f8fafc;
  padding: 3rem 0 4rem; }
  .whitepaper-landing::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(15, 23, 42, 0.92) 0%, rgba(15, 23, 42, 0.88) 50%, rgba(30, 41, 59, 0.9) 100%);
    z-index: 0; }
  @media (min-width: 992px) {
    .whitepaper-landing {
      padding: 4rem 0 5rem; } }
.whitepaper-container {
  position: relative;
  z-index: 1;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 1.5rem; }
  @media (min-width: 768px) {
    .whitepaper-container {
      padding: 0 2rem; } }
.whitepaper-grid {
  display: flex;
  flex-direction: column;
  gap: 2.5rem; }
  .whitepaper-grid .whitepaper-hero-mobile {
    order: 0; }
  .whitepaper-grid .whitepaper-content {
    order: 1; }
  .whitepaper-grid .whitepaper-form-column {
    order: 2; }
  @media (min-width: 992px) {
    .whitepaper-grid {
      flex-direction: row;
      align-items: flex-start;
      gap: 3rem; }
      .whitepaper-grid .whitepaper-hero-mobile {
        display: none; }
      .whitepaper-grid .whitepaper-form-column {
        order: 2; }
      .whitepaper-grid .whitepaper-content {
        order: 1; } }
.whitepaper-content {
  flex: 1; }
  @media (min-width: 992px) {
    .whitepaper-content {
      flex: 0 0 calc((100% - 3rem) * 0.58);
      max-width: 58%; } }
.whitepaper-hero {
  margin-bottom: 2rem; }

@media (max-width: 991.98px) {
  .whitepaper-hero-desktop {
    display: none; } }

.whitepaper-title {
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.2;
  color: #f8fafc;
  margin-bottom: 1rem;
  letter-spacing: -0.02em; }
  @media (min-width: 768px) {
    .whitepaper-title {
      font-size: 2.25rem; } }
  @media (min-width: 992px) {
    .whitepaper-title {
      font-size: 2.5rem; } }
.whitepaper-subheadline {
  font-size: 1.125rem;
  line-height: 1.6;
  color: #94a3b8;
  margin: 0; }

.whitepaper-intro {
  margin-bottom: 2.5rem; }
  .whitepaper-intro p {
    font-size: 1.0625rem;
    line-height: 1.7;
    color: rgba(248, 250, 252, 0.9);
    margin: 0; }

.whitepaper-benefits {
  display: flex;
  flex-direction: column;
  gap: 1.75rem;
  margin-bottom: 2.5rem; }

.whitepaper-benefit-item {
  display: flex;
  gap: 1.25rem;
  align-items: flex-start; }

.whitepaper-benefit-icon {
  flex-shrink: 0;
  width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(48, 164, 196, 0.15);
  color: #30a4c4;
  border-radius: 0.5rem;
  font-size: 1.5rem; }

.whitepaper-benefit-content {
  flex: 1; }

.whitepaper-benefit-title {
  font-size: 1.125rem;
  font-weight: 600;
  color: #f8fafc;
  margin: 0 0 0.5rem; }

.whitepaper-benefit-text {
  font-size: 0.9375rem;
  line-height: 1.6;
  color: #94a3b8;
  margin: 0; }

.whitepaper-closing p {
  font-size: 1rem;
  line-height: 1.65;
  color: rgba(248, 250, 252, 0.85);
  margin: 0; }

@media (min-width: 992px) {
  .whitepaper-form-column {
    flex: 0 0 calc((100% - 3rem) * 0.38);
    max-width: 38%;
    position: sticky;
    top: 6rem;
    align-self: flex-start; } }

.whitepaper-form-embed {
  background-color: rgba(15, 23, 42, 0.5);
  border-radius: 0.5rem;
  padding: 0;
  min-height: 200px;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2); }
  .whitepaper-form-embed iframe {
    width: 100%;
    min-height: 1100px;
    border: none;
    border-radius: 0.375rem;
    display: block; }

.sticky-footer-bar-wrapper {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1099; }

.announcement-bar {
  background-color: #0f172a;
  color: #ffffff;
  font-family: "Cairo", sans-serif;
  font-size: 0.9rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2); }
  .announcement-bar.announcement-bar-bottom {
    box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.2); }

.announcement-bar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.5rem 1rem;
  max-width: 1440px;
  margin: 0 auto; }
  @media (min-width: 768px) {
    .announcement-bar-inner {
      padding: 0.6rem 1.5rem; } }
.announcement-bar-content {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  flex: 1;
  min-width: 0;
  text-align: right;
  align-items: flex-end;
  padding-left: 5rem; }
  @media (min-width: 768px) {
    .announcement-bar-content {
      flex-direction: row;
      align-items: center;
      justify-content: center;
      gap: 0.75rem;
      text-align: center; } }
.announcement-bar-badge {
  display: inline-block;
  font-weight: 700;
  font-size: 0.8rem;
  color: #30a4c4;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  white-space: nowrap; }

.announcement-bar-message {
  flex: 1;
  line-height: 1.4;
  color: #ffffff; }

.announcement-bar-cta {
  color: #30a4c4;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.2s ease, opacity 0.2s ease; }
  .announcement-bar-cta:hover {
    color: #5abcd7;
    text-decoration: underline; }

.announcement-bar-close {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  padding: 0;
  background: transparent;
  border: none;
  color: rgba(255, 255, 255, 0.7);
  cursor: pointer;
  border-radius: 0.25rem;
  transition: color 0.2s ease, background-color 0.2s ease; }
  .announcement-bar-close:hover {
    color: #ffffff;
    background-color: rgba(255, 255, 255, 0.08); }
  .announcement-bar-close .bi-x-lg {
    font-size: 1rem; }
