@charset "UTF-8";
/**
 * @file
 * Cyber card styles — mobile-first.
 * Figma: Desktop 26:1893/26:1898, Mobile 26:5466.
 *
 * Tall cards with background image + gradient overlay.
 * Text positioned at the bottom.
 */
/* ==========================================================================
   Mobile base (xs)
   ========================================================================== */
.vel-cyber-card {
  position: relative;
  border-radius: var(--vel-card-radius-mobile); /* 24px */
  overflow: hidden;
  background: var(--vel-gradient-section);
  width: 100%;
  max-width: 361px;
  height: 268px; /* Figma mobile */
  display: flex;
  box-shadow: var(--vel-shadow-deep-mobile);
  text-decoration: none;
  color: var(--vel-bg-white);
}

.vel-cyber-card__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 0;
}

.vel-cyber-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(138.8deg, rgba(41, 131, 169, 0.7) 14%, rgba(24, 71, 111, 0.7) 76%);
  z-index: 1;
}

.vel-cyber-card__content {
  position: relative;
  z-index: 2;
  padding: var(--vel-space-xl); /* 32px mobile */
  color: var(--vel-bg-white);
  display: flex;
  flex-direction: column;
  gap: var(--vel-space-md); /* 16px between title/body/link */
  width: 100%;
  height: 100%;
  box-sizing: border-box;
}

/* Link text — visible on mobile, hidden on desktop */
.vel-cyber-card__link {
  margin-top: auto; /* Push to bottom */
}

.vel-cyber-card__title {
  font-family: var(--vel-font-heading);
  font-size: var(--vel-text-2xl); /* 24px */
  font-weight: 700;
  color: var(--vel-bg-white);
  margin: 0;
  line-height: 28px;
}

.vel-cyber-card__body {
  font-family: var(--vel-font-body);
  font-size: var(--vel-text-base);
  font-weight: 500;
  color: rgba(255, 255, 255, 0.9);
  line-height: 24px;
  margin: 0;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

.vel-cyber-card__link {
  font-family: var(--vel-font-body);
  font-size: var(--vel-text-base); /* 16px */
  font-weight: 700;
  color: var(--vel-bg-white);
  line-height: 17px;
  letter-spacing: -0.222px;
  text-decoration: underline;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}

.vel-cyber-card__link:hover,
.vel-cyber-card__link:focus {
  color: var(--vel-bg-white);
  opacity: 0.8;
}

/* ==========================================================================
   sm (576px)
   ========================================================================== */
@media (min-width: 576px) {
  .vel-cyber-card {
    height: 400px;
  }
}
/* ==========================================================================
   md (768px)
   ========================================================================== */
@media (min-width: 768px) {
  .vel-cyber-card {
    height: 450px;
  }
  .vel-cyber-card__content {
    gap: var(--vel-space-lg);
    padding: var(--vel-space-xl) var(--vel-space-xl) var(--vel-space-2xl);
  }
  .vel-cyber-card__title {
    font-size: 32px;
    line-height: 34px;
  }
  .vel-cyber-card__body {
    font-size: var(--vel-text-lg);
    line-height: var(--vel-leading-card-body);
  }
}
/* ==========================================================================
   lg (992px) — Desktop
   ========================================================================== */
/* Decoration overlay (e.g. SVG map) — visible on all breakpoints */
.vel-cyber-card__decoration {
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}

.vel-cyber-card__decoration-img {
  position: absolute;
  top: 0;
  right: -8%;
  width: 370px;
  height: 252px;
  transform: rotate(-15deg);
  -o-object-fit: contain;
     object-fit: contain;
}

@media (min-width: 992px) {
  .vel-cyber-card {
    border-radius: var(--vel-card-radius-lg); /* 40px */
    max-width: none;
    height: 380px;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25), 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  }
  .vel-cyber-card__overlay {
    background: linear-gradient(122.97deg, rgba(41, 131, 169, 0.7) 14%, rgba(24, 71, 111, 0.7) 76%);
  }
  .vel-cyber-card__content {
    padding: var(--vel-space-lg) var(--vel-space-xl) var(--vel-space-xl);
    gap: var(--vel-space-md);
    justify-content: flex-end;
  }
  .vel-cyber-card__title {
    font-size: 28px;
    line-height: var(--vel-leading-card-title);
  }
  .vel-cyber-card__body {
    font-size: var(--vel-text-sm);
    line-height: 22px;
  }
  /* Link hidden on desktop — card itself is clickable */
  .vel-cyber-card__link {
    display: none;
  }
  /* Figma desktop: container 915×735 at left:-166, top:-109 on 509×602 card */
  .vel-cyber-card__decoration {
    inset: auto; /* Reset mobile inset:0 */
    top: -18.1%; /* -109/602 */
    left: -32.6%; /* -166/509 */
    width: 179.8%; /* 915/509 */
    height: 122.1%; /* 735/602 */
  }
  .vel-cyber-card__decoration-img {
    top: 12%;
    right: 5%;
    width: 90%;
    height: 70%;
  }
}
/* ==========================================================================
   xl (1200px)
   ========================================================================== */
@media (min-width: 1200px) {
  .vel-cyber-card {
    height: 460px;
  }
  .vel-cyber-card__content {
    padding: var(--vel-space-xl) var(--vel-space-xl) var(--vel-space-2xl);
    gap: var(--vel-space-lg);
  }
  .vel-cyber-card__title {
    font-size: var(--vel-text-3xl-plus);
    line-height: 40px;
  }
  .vel-cyber-card__body {
    font-size: var(--vel-text-base);
    line-height: 24px;
  }
}
/* ==========================================================================
   xxl (1600px) — Full Figma spec sizes (509x602px cards)
   ========================================================================== */
@media (min-width: 1600px) {
  .vel-cyber-card {
    width: 509px;
    flex: 0 0 509px;
    height: 602px;
  }
  .vel-cyber-card__content {
    max-width: 424px;
    margin: 0 auto;
    padding: 0 0 var(--vel-space-2xl);
    gap: var(--vel-space-lg);
  }
  .vel-cyber-card__title {
    font-size: 48px;
    line-height: 48px;
  }
  .vel-cyber-card__body {
    font-size: var(--vel-text-lg);
    line-height: var(--vel-leading-card-body);
  }
}
/*# sourceMappingURL=cyber-card.css.map */
