@charset "UTF-8";
/**
 * @file
 * About project styles — mobile-first.
 * Figma: Desktop 26:3310, Mobile 26:5735.
 *
 * Mobile: vertical stacked (title → body → cards stacked).
 * Desktop (>=992px): horizontal 2-col (text left + cards right).
 */
/* ==========================================================================
   Mobile base (xs)
   ========================================================================== */
.vel-about-project__inner {
  display: flex;
  flex-direction: column;
  gap: var(--vel-space-xl);
}

/* Order en mobile: title → cards → body */
.vel-about-project__text {
  order: 1;
}

.vel-about-project__cards {
  order: 2;
}

.vel-about-project__body {
  order: 3;
}

.vel-about-project__title {
  margin: 0;
  font-family: var(--vel-font-heading);
  font-size: var(--vel-text-3xl-plus);
  font-weight: 800;
  color: var(--vel-primary);
  letter-spacing: var(--vel-tracking-snug);
  line-height: 40px;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

.vel-about-project__title::after {
  content: "";
  display: block;
  width: 75px;
  height: 5px;
  margin-top: var(--vel-space-lg);
  background: var(--vel-accent);
}

.vel-about-project__body {
  font-family: var(--vel-font-body);
  font-size: var(--vel-text-lg); /* 18px */
  font-weight: 500;
  color: var(--vel-primary);
  line-height: var(--vel-leading-card-body);
  overflow-wrap: break-word;
  word-wrap: break-word;
}

/* Cards — stacked on mobile */
.vel-about-project__cards {
  display: flex;
  flex-direction: column;
  gap: var(--vel-space-xl);
  align-items: flex-end;
}

.vel-about-project__card {
  background: var(--vel-bg-white);
  border: 1px solid var(--vel-border);
  border-radius: var(--vel-card-radius-mobile); /* 24px */
  box-shadow: var(--vel-shadow-sm-mobile);
  padding: 16px 16px 24px;
  overflow: hidden;
}

/* Clickable variant: the entire card becomes a link to an external URL */
.vel-about-project__card--link {
  display: block;
  text-decoration: none;
  color: inherit;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  cursor: pointer;
}

.vel-about-project__card--link:hover,
.vel-about-project__card--link:focus-visible {
  transform: translateY(-2px);
  box-shadow: var(--vel-shadow-deep-mobile);
  text-decoration: none;
  color: inherit;
}

.vel-about-project__card--link:focus-visible {
  outline: 2px solid var(--vel-accent);
  outline-offset: 2px;
}

@media (min-width: 992px) {
  .vel-about-project__card--link:hover,
  .vel-about-project__card--link:focus-visible {
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.1);
  }
}
.vel-about-project__card-image-wrapper {
  border-radius: 20px;
  overflow: hidden;
  margin-bottom: var(--vel-space-md); /* 16px */
}

.vel-about-project__card-image {
  width: 100%;
  height: auto;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}

.vel-about-project__card-title {
  font-family: var(--vel-font-heading);
  font-size: var(--vel-text-base); /* 20px */
  font-weight: 800; /* ExtraBold — Figma exact */
  color: var(--vel-primary);
  margin: 0 0 var(--vel-space-sm);
  line-height: var(--vel-leading-relaxed);
}

@media (max-width: 575px) {
  .vel-about-project__card-title {
    margin: 0;
  }
}
.vel-about-project__card-body {
  font-family: var(--vel-font-body);
  font-size: var(--vel-text-base); /* 16px */
  font-weight: 500;
  color: var(--vel-primary); /* Figma: #00466E, NOT muted gray */
  line-height: var(--vel-leading-snug);
  margin: 0;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

/* ==========================================================================
   sm (576px)
   ========================================================================== */
@media (min-width: 576px) {
  .vel-about-project__title {
    font-size: var(--vel-text-4xl); /* 48px */
    line-height: var(--vel-leading-heading-md);
  }
  .vel-about-project__cards {
    flex-direction: row;
    gap: var(--vel-space-lg);
  }
  .vel-about-project__card {
    flex: 1;
  }
}
/* ==========================================================================
   md (768px)
   ========================================================================== */
@media (min-width: 768px) {
  .vel-about-project__inner {
    gap: var(--vel-space-2xl);
  }
  .vel-about-project__body {
    font-size: var(--vel-text-xl); /* 20px */
    line-height: var(--vel-leading-loose); /* 32.5px */
  }
  .vel-about-project__cards {
    gap: var(--vel-space-xl);
  }
  .vel-about-project__card {
    border-radius: 32px;
    padding: 16px 16px 24px;
  }
  .vel-about-project__card-image-wrapper {
    border-radius: 24px;
  }
  .vel-about-project__card-title {
    font-size: var(--vel-text-2xl); /* 24px */
    line-height: 28px;
  }
  .vel-about-project__card-body {
    font-size: var(--vel-text-lg); /* 18px */
    line-height: var(--vel-leading-card-body);
  }
}
/* ==========================================================================
   lg (992px) — Desktop 2-col layout
   ========================================================================== */
@media (min-width: 992px) {
  .vel-about-project__title {
    font-size: 64px;
    line-height: 68px;
    letter-spacing: var(--vel-tracking-tight);
    margin: 0;
  }
  .vel-about-project__title::after {
    height: 10px;
    margin-top: var(--vel-space-xl);
  }
  .vel-about-project__body {
    font-size: var(--vel-text-xl);
    line-height: var(--vel-leading-loose);
  }
  .vel-about-project__cards {
    gap: 40px;
  }
  .vel-about-project__card {
    border-radius: var(--vel-card-radius-lg); /* 40px */
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.04);
    padding: 24px 21px 44px;
    width: 340px;
  }
  .vel-about-project__card-image-wrapper {
    border-radius: 27px;
  }
  .vel-about-project__card-title {
    font-size: var(--vel-text-2xl); /* 24px */
    line-height: var(--vel-leading-card-title);
  }
}
/* ==========================================================================
   xl (1200px)
   ========================================================================== */
@media (min-width: 1200px) {
  .vel-about-project__card {
    width: 380px;
  }
}
/* ==========================================================================
   l (992px)
   ========================================================================== */
@media (min-width: 992px) {
  .vel-about-project__inner {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: 0fr 1fr;
    grid-template-areas: "text cards" "body cards";
    -moz-column-gap: 60px;
         column-gap: 60px;
    row-gap: var(--vel-space-xl);
  }
  /* Reset order en desktop — usar grid areas */
  .vel-about-project__text {
    grid-area: text;
    order: unset;
  }
  .vel-about-project__body {
    grid-area: body;
    order: unset;
  }
  .vel-about-project__cards {
    grid-area: cards;
    order: unset;
    gap: 48px;
  }
  .vel-about-project__card-image-wrapper {
    height: 208px;
    overflow: hidden;
  }
  .vel-about-project__card-image {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 27px;
  }
}
/* ==========================================================================
   xxl (1600px) — Full Figma spec sizes
   ========================================================================== */
@media (min-width: 1600px) {
  .vel-about-project__title {
    font-size: var(--vel-text-6xl); /* 80px */
    line-height: var(--vel-leading-heading-xl);
  }
  .vel-about-project__card {
    width: 412px; /* Figma exact */
  }
  .vel-about-project__cards {
    gap: 54px; /* Figma exact */
    align-items: start;
  }
}
/* ==========================================================================
   laptop (1366–1599px) — Card #109. Figma laptop 272:3052.
   A 1366 el grid (activado en 1327) hereda cards de 380px (xl) y deja el texto
   en ~338px; Figma quiere texto fijo 530 + 2 cards ~254 (gap 24). Título 48px
   y body 14px ya los da la #99; el gap título↔línea azul va al refactor #113.
   ========================================================================== */
@media (min-width: 992px) and (max-width: 1599px) {
  .vel-about-project__cards {
    gap: 24px; /* 48 → 24 */
  }
  .vel-about-project__card {
    flex: 0 0 260px; /* anula flex:1 (de 576) que
   ignoraba el width y estiraba
   la card a ~310px */
    width: 260px; /* 380 → 260 (Figma exacto) */
    height: 308px; /* alto fijo Figma (272:3061) */
    padding: 19.49px; /* 24 21 44 → uniforme */
    border-radius: 32.48px; /* 40 → 32.48 */
    box-shadow: 0 16.24px 16.24px rgba(0, 0, 0, 0.04);
  }
  .vel-about-project__card-title {
    margin: 0; /* el gap título↔body de la card lo da el gap del footer, no un margin */
  }
  .vel-about-project__card-image-wrapper {
    height: 169px; /* 208 → 169 */
  }
  .vel-about-project__card-image {
    border-radius: 22.24px; /* 27 → 22.24 */
  }
}
/*# sourceMappingURL=about-project.css.map */
