/*
 * Landing V2 — capa aislada del resto de páginas públicas.
 * Los colores, espaciados y fondos viven bajo .landing-v2 o .landing-v2-header
 * para no alterar el catálogo de recursos, roadmap, artículos ni el chat.
 */

:root {
  --v2-ink: #050b18;
  --v2-panel: #0d172b;
  --v2-panel-raised: #101f39;
  --v2-line: rgba(91, 157, 221, .28);
  --v2-text: #edf6ff;
  --v2-muted: #9eb2cc;
  --v2-cyan: #22d9f6;
  --v2-blue: #3188ff;
  --v2-violet: #8c3dff;
  --v2-magenta: #ec43f5;
  --v2-green: #55e8bb;
  --v2-radius: 22px;
  --v2-shadow: 0 20px 60px rgba(0, 0, 0, .34);
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.landing-v2-header {
  position: sticky;
  top: 0;
  z-index: 50;
  width: 100%;
  min-height: 82px;
  margin: 0;
  padding: 10px clamp(14px, 2.4vw, 34px);
  border: 0;
  border-bottom: 1px solid rgba(72, 128, 189, .22);
  border-radius: 0;
  background: rgba(4, 10, 23, .9);
  box-shadow: 0 12px 30px rgba(0, 0, 0, .16);
  backdrop-filter: blur(18px);
  transition: min-height .2s ease, padding .2s ease, background .2s ease;
}

.landing-v2-header .landing-v2-header-inner {
  display: flex;
  width: min(1420px, 100%);
  min-height: 60px;
  margin: auto;
  align-items: center;
  gap: clamp(14px, 2vw, 32px);
}

.landing-v2-header .brand {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--v2-text);
  text-decoration: none;
}

.landing-v2-header .brand-mark {
  display: grid;
  width: 52px;
  height: 52px;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(63, 204, 255, .5);
  border-radius: 15px;
  background: linear-gradient(145deg, rgba(17, 70, 115, .7), rgba(44, 18, 89, .74));
  box-shadow: 0 0 20px rgba(40, 195, 255, .14);
}

.landing-v2-header .brand-avatar { width: 100%; height: 100%; object-fit: cover; }
.landing-v2-header .brand-copy { display: grid; gap: 1px; line-height: 1.1; }
.landing-v2-header .brand-copy strong { color: #fff; font-size: 1rem; letter-spacing: .01em; }
.landing-v2-header .brand-copy small { color: #9fb5d1; font-size: .68rem; font-weight: 700; }
.landing-v2-header .brand-summary { display: none; }

/* La especialidad se conserva legible sin invadir la navegación de escritorio. */
@media (min-width: 1231px) {
  .landing-v2-header .brand { flex: 0 0 435px; min-width: 0; }
  .landing-v2-header .brand-copy { min-width: 0; }
  .landing-v2-header .brand-copy small {
    display: -webkit-box;
    max-width: 360px;
    overflow: hidden;
    line-height: 1.28;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  .landing-v2-header .site-nav { flex: 0 0 auto; flex-wrap: nowrap; white-space: nowrap; }
}

@media (min-width: 1025px) and (max-width: 1230px) {
  .landing-v2-header .brand { flex: 0 0 340px; min-width: 0; }
  .landing-v2-header .brand-copy { min-width: 0; }
  .landing-v2-header .brand-copy small {
    display: -webkit-box;
    max-width: 265px;
    overflow: hidden;
    font-size: .61rem;
    line-height: 1.25;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  .landing-v2-header .site-nav { flex: 0 0 auto; flex-wrap: nowrap; white-space: nowrap; }
}

.landing-v2-header .site-nav {
  display: flex;
  min-width: 0;
  margin-left: auto;
  align-items: center;
  justify-content: flex-end;
  gap: 3px;
}

.landing-v2-header .site-nav a {
  display: inline-flex;
  min-height: 42px;
  padding: 0 9px;
  align-items: center;
  gap: 6px;
  border: 1px solid transparent;
  border-radius: 11px;
  color: #b7c9df;
  font-size: .75rem;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  transition: color .18s ease, border-color .18s ease, background .18s ease, transform .18s ease;
}

.landing-v2-header .site-nav a > i { color: #69dfff; font-size: .72rem; }
.landing-v2-header .site-nav a:hover,
.landing-v2-header .site-nav a:focus-visible,
.landing-v2-header .site-nav a.is-active {
  border-color: rgba(47, 211, 255, .48);
  background: rgba(22, 91, 143, .22);
  color: #f5fbff;
}
.landing-v2-header .site-nav .nav-cta {
  margin-left: 5px;
  border-color: rgba(168, 90, 255, .58);
  background: linear-gradient(110deg, rgba(8, 194, 238, .16), rgba(122, 48, 215, .28));
  color: #fff;
}
.landing-v2-header .site-nav .nav-cta i { color: #f0bcff; }
.landing-v2-header .site-nav .nav-cta:hover { transform: translateY(-1px); box-shadow: 0 0 20px rgba(131, 68, 255, .24); }
.landing-v2-header .menu-toggle { display: none; margin-left: auto; }
.landing-v2-header.is-compact { min-height: 66px; padding-block: 5px; background: rgba(3, 8, 19, .97); }
.landing-v2-header.is-compact .landing-v2-header-inner { min-height: 54px; }
.landing-v2-header.is-compact .brand-mark { width: 46px; height: 46px; border-radius: 13px; }

.landing-v2 {
  overflow: clip;
  color: var(--v2-text);
  background:
    radial-gradient(circle at 12% 5%, rgba(19, 94, 168, .19), transparent 23rem),
    radial-gradient(circle at 90% 45%, rgba(111, 36, 161, .15), transparent 28rem),
    var(--v2-ink);
}

.landing-v2-container { width: min(1280px, calc(100% - 48px)); margin-inline: auto; }
.landing-v2 :is(h1, h2, h3, h4, p) { margin-top: 0; }
.landing-v2 a:focus-visible,
.landing-v2 button:focus-visible,
.landing-v2 input:focus-visible,
.landing-v2 select:focus-visible { outline: 3px solid rgba(65, 224, 255, .92); outline-offset: 3px; }

.landing-v2-hero {
  position: relative;
  min-height: 790px;
  padding: clamp(58px, 8vw, 104px) 0 28px;
  isolation: isolate;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(3, 9, 21, .98) 0%, rgba(3, 9, 21, .9) 34%, rgba(3, 9, 21, .2) 72%, rgba(3, 9, 21, .64) 100%),
    linear-gradient(0deg, var(--v2-ink), transparent 27%),
    url("../img/brand/landing-v2-hero.a92b2e5fed24.png") center 44% / cover no-repeat;
}

.landing-v2-hero::after {
  position: absolute;
  z-index: -1;
  inset: auto 0 0;
  height: 190px;
  content: "";
  background: linear-gradient(transparent, var(--v2-ink));
}

.landing-v2-hero-shell {
  display: grid;
  min-height: 500px;
  grid-template-columns: minmax(0, 1fr) minmax(280px, .42fr);
  align-items: center;
  gap: clamp(32px, 7vw, 100px);
}

.landing-v2-hero-copy { max-width: 605px; padding: 18px 0; }
.landing-v2-kicker,
.landing-v2-section-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--v2-cyan);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .12em;
}
.landing-v2-kicker { margin-bottom: 18px; }
.landing-v2-kicker i { color: #ad76ff; }

.landing-v2-hero-title {
  display: grid;
  grid-auto-flow: row;
  grid-auto-rows: max-content;
  margin-bottom: 22px;
  font-size: clamp(3.2rem, 7vw, 6.7rem);
  font-weight: 950;
  letter-spacing: -.075em;
  line-height: .83;
  text-wrap: balance;
}
.landing-v2-hero-title > span { display: block; }
.landing-v2-hero-title span:nth-child(1) { color: #f8fcff; }
.landing-v2-hero-title span:nth-child(2) { color: var(--v2-cyan); }
.landing-v2-hero-title span:nth-child(3) { color: #b66aff; }
.landing-v2-hero-title span:nth-child(4) { color: #fff; }
.landing-v2-hero-copy > p { max-width: 510px; margin-bottom: 28px; color: #c1d0e3; font-size: clamp(.96rem, 1.35vw, 1.13rem); line-height: 1.65; }

.landing-v2-hero-actions,
.landing-v2-contact-actions { display: flex; flex-wrap: wrap; gap: 11px; }
.landing-v2-button {
  display: inline-flex;
  min-height: 47px;
  padding: 0 18px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 1px solid transparent;
  border-radius: 13px;
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-size: .83rem;
  font-weight: 900;
  text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.landing-v2-button:hover { transform: translateY(-2px); }
.landing-v2-button-primary { background: linear-gradient(112deg, #09c9ed, #287df7 52%, #9c33ef); box-shadow: 0 12px 25px rgba(33, 122, 237, .28); }
.landing-v2-button-primary:hover { box-shadow: 0 16px 32px rgba(46, 109, 255, .45); }
.landing-v2-button-secondary { border-color: rgba(86, 172, 237, .63); background: rgba(9, 24, 48, .84); }
.landing-v2-button-secondary:hover { border-color: var(--v2-cyan); box-shadow: 0 11px 24px rgba(20, 178, 245, .16); }

.landing-v2-hero-side { display: grid; gap: 12px; align-self: end; margin-bottom: 12px; }
.landing-v2-hero-fact {
  display: grid;
  grid-template-columns: 43px minmax(0, 1fr);
  gap: 11px;
  padding: 13px;
  border: 1px solid rgba(100, 167, 227, .32);
  border-radius: 15px;
  background: linear-gradient(135deg, rgba(7, 30, 60, .86), rgba(19, 20, 56, .68));
  box-shadow: 0 10px 30px rgba(0, 0, 0, .2);
  backdrop-filter: blur(10px);
}
.landing-v2-hero-fact-icon { display: grid; width: 43px; height: 43px; place-items: center; border-radius: 12px; color: var(--v2-cyan); background: rgba(27, 151, 204, .2); }
.landing-v2-hero-fact:nth-child(2) .landing-v2-hero-fact-icon { color: #cb67ff; background: rgba(124, 45, 193, .22); }
.landing-v2-hero-fact:nth-child(3) .landing-v2-hero-fact-icon { color: #61ebc1; background: rgba(20, 149, 123, .18); }
.landing-v2-hero-fact div { display: grid; gap: 3px; min-width: 0; }
.landing-v2-hero-fact small { color: #7da1c5; font-size: .63rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.landing-v2-hero-fact strong { overflow: hidden; color: #f4f8ff; font-size: .8rem; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.landing-v2-hero-fact span:last-child { color: #b5c8dd; font-size: .67rem; line-height: 1.35; }

.landing-v2-service-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 11px; }
.landing-v2-service-card { display: flex; min-height: 75px; padding: 13px; align-items: center; gap: 11px; border: 1px solid rgba(82, 156, 215, .34); border-radius: 16px; background: rgba(8, 25, 50, .72); backdrop-filter: blur(10px); }
.landing-v2-service-card > span { display: grid; flex: 0 0 38px; width: 38px; height: 38px; place-items: center; border-radius: 11px; color: var(--v2-cyan); background: rgba(18, 147, 205, .18); }
.landing-v2-service-card:nth-child(2) > span { color: #ce77ff; background: rgba(125, 56, 191, .18); }.landing-v2-service-card:nth-child(3) > span { color: #67edc8; background: rgba(32, 150, 126, .18); }.landing-v2-service-card:nth-child(4) > span { color: #79aaff; background: rgba(50, 83, 209, .18); }
.landing-v2-service-card div { display: grid; gap: 3px; min-width: 0; }.landing-v2-service-card strong { color: #f3f9ff; font-size: .78rem; }.landing-v2-service-card small { overflow: hidden; color: #93aac6; font-size: .64rem; line-height: 1.28; text-overflow: ellipsis; white-space: nowrap; }

.landing-v2-section { padding: clamp(72px, 9vw, 128px) 0; }
.landing-v2-section-heading { max-width: 720px; margin-bottom: 37px; }
.landing-v2-section-heading h2,
.landing-v2-contact h2 { margin: 11px 0 12px; color: #fff; font-size: clamp(2rem, 4vw, 3.5rem); letter-spacing: -.055em; line-height: 1.03; }
.landing-v2-section-heading h2 span { color: var(--v2-cyan); }.landing-v2-section-heading p,.landing-v2-contact p { margin-bottom: 0; color: var(--v2-muted); font-size: 1rem; line-height: 1.65; }
.landing-v2-heading-split { display: flex; max-width: none; align-items: end; justify-content: space-between; gap: 28px; }.landing-v2-heading-split > div { max-width: 720px; }

.landing-v2-journey { position: relative; background: linear-gradient(180deg, var(--v2-ink), #071327 48%, var(--v2-ink)); }
.landing-v2-career-list { display: grid; gap: 16px; }
.landing-v2-career-card { position: relative; display: grid; grid-template-columns: 35px 210px minmax(0, 1fr); gap: 16px; padding: 20px; border: 1px solid var(--v2-line); border-radius: var(--v2-radius); background: linear-gradient(115deg, rgba(11, 31, 59, .96), rgba(7, 18, 37, .95)); box-shadow: var(--v2-shadow); }
.landing-v2-career-card:hover { border-color: rgba(56, 211, 255, .56); }
.landing-v2-career-rail { position: relative; display: grid; justify-content: center; }.landing-v2-career-rail::before { width: 2px; height: calc(100% + 36px); content: ""; background: linear-gradient(var(--v2-cyan), rgba(143, 57, 255, .15)); }.landing-v2-career-card:last-child .landing-v2-career-rail::before { height: 54%; }.landing-v2-career-rail span { position: absolute; top: 12px; width: 15px; height: 15px; border: 3px solid #0b2545; border-radius: 50%; background: var(--v2-cyan); box-shadow: 0 0 16px var(--v2-cyan); }
.landing-v2-career-company { display: grid; align-content: start; gap: 7px; padding: 5px 8px 5px 0; }.landing-v2-career-logo { display: grid; width: 61px; height: 61px; place-items: center; overflow: hidden; border: 1px solid rgba(77, 168, 239, .38); border-radius: 15px; color: var(--v2-cyan); background: rgba(20, 76, 119, .25); }.landing-v2-career-logo img { width: 100%; height: 100%; object-fit: contain; padding: 7px; }.landing-v2-career-company strong { color: #f7fbff; font-size: .94rem; }.landing-v2-career-company small { color: #87a2c1; font-size: .72rem; line-height: 1.45; }
.landing-v2-career-content { min-width: 0; }.landing-v2-career-title-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }.landing-v2-status { display: inline-flex; padding: 4px 8px; border: 1px solid rgba(148, 173, 204, .35); border-radius: 99px; color: #b2c2d7; background: rgba(72, 97, 135, .17); font-size: .61rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }.landing-v2-status.is-current { border-color: rgba(67, 237, 187, .52); color: #6bf2c9; background: rgba(31, 148, 116, .14); }.landing-v2-career-content h3 { margin: 9px 0 0; color: #fff; font-size: clamp(1.18rem, 2vw, 1.6rem); }.landing-v2-detail-button { display: inline-flex; flex: 0 0 auto; min-height: 36px; padding: 0 10px; align-items: center; gap: 7px; border: 1px solid rgba(69, 168, 234, .5); border-radius: 9px; color: #89ddff; background: rgba(13, 38, 70, .8); cursor: pointer; font: inherit; font-size: .7rem; font-weight: 900; }.landing-v2-detail-button:hover,.landing-v2-detail-button.is-expanded { border-color: var(--v2-cyan); background: rgba(17, 102, 148, .36); color: #fff; }.landing-v2-detail-button i { transition: transform .18s ease; }.landing-v2-detail-button.is-expanded i { transform: rotate(90deg); }.landing-v2-career-summary { margin: 12px 0; color: #b4c7dc; line-height: 1.55; }.landing-v2-career-badges,.landing-v2-chip-list { display: flex; flex-wrap: wrap; gap: 7px; }.landing-v2-career-badges span,.landing-v2-chip-list span { display: inline-flex; min-height: 27px; padding: 0 9px; align-items: center; gap: 5px; border: 1px solid rgba(72, 146, 212, .35); border-radius: 99px; color: #d4e5f7; background: rgba(15, 46, 83, .6); font-size: .66rem; font-weight: 800; }.landing-v2-career-badges i { color: var(--v2-cyan); }.landing-v2-chip-list { margin-top: 9px; }.landing-v2-chip-list span { color: #c99bff; background: rgba(75, 38, 125, .25); }.landing-v2-career-details { margin-top: 17px; padding: 15px; border-top: 1px solid rgba(86, 144, 199, .28); border-radius: 0 0 12px 12px; background: rgba(3, 12, 28, .42); }.landing-v2-career-details h4 { margin-bottom: 10px; color: #76e2ff; font-size: .78rem; }.landing-v2-career-details ul { display: grid; gap: 8px; padding-left: 18px; margin: 0; color: #b8c9dc; font-size: .84rem; line-height: 1.52; }.landing-v2-career-details li::marker { color: var(--v2-cyan); }

.landing-v2-skills { background: radial-gradient(circle at 70% 18%, rgba(89, 45, 194, .16), transparent 27rem), #071124; }.landing-v2-skill-metrics,.landing-v2-learning-metrics { display: flex; gap: 10px; margin: 0; }.landing-v2-skill-metrics div,.landing-v2-learning-metrics div { min-width: 88px; padding: 10px 12px; border: 1px solid rgba(74, 139, 206, .35); border-radius: 14px; background: rgba(8, 29, 58, .67); }.landing-v2-skill-metrics dt,.landing-v2-learning-metrics dt { color: var(--v2-cyan); font-size: 1.25rem; font-weight: 950; }.landing-v2-skill-metrics dd,.landing-v2-learning-metrics dd { margin: 3px 0 0; color: #9fb3cc; font-size: .62rem; font-weight: 800; text-transform: uppercase; }
.landing-v2-carousel-shell { position: relative; }.landing-v2-carousel-actions { display: flex; gap: 7px; }.landing-v2-carousel-shell > .landing-v2-carousel-actions { position: absolute; z-index: 2; top: -55px; right: 0; }.landing-v2-carousel-actions button,.landing-v2-tech-carousel button { display: grid; width: 35px; height: 35px; place-items: center; border: 1px solid rgba(77, 159, 225, .5); border-radius: 10px; color: #aee8ff; background: rgba(8, 31, 62, .9); cursor: pointer; }.landing-v2-carousel-actions button:hover,.landing-v2-tech-carousel button:hover { border-color: var(--v2-cyan); color: #fff; }.landing-v2-carousel-actions button.is-disabled,.landing-v2-tech-carousel button.is-disabled { opacity: .4; cursor: not-allowed; }
.landing-v2-carousel-track,.landing-v2-tool-track,.landing-v2-area-track,.landing-v2-tech-track { scrollbar-width: thin; scrollbar-color: rgba(43, 209, 243, .55) transparent; }.landing-v2-skill-track { display: flex; gap: 14px; overflow-x: auto; padding: 4px 2px 11px; scroll-behavior: smooth; scroll-snap-type: x mandatory; }.landing-v2-skill-category-card { flex: 0 0 min(370px, calc(100vw - 70px)); min-height: 274px; padding: 19px; scroll-snap-align: start; border: 1px solid rgba(80, 153, 221, .39); border-radius: 19px; background: linear-gradient(145deg, rgba(14, 39, 77, .96), rgba(11, 21, 53, .93)); }.landing-v2-skill-category-head { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 12px; }.landing-v2-skill-category-head > span { display: grid; width: 52px; height: 52px; place-items: center; border-radius: 15px; color: #6ee6ff; background: linear-gradient(145deg, rgba(17, 165, 205, .34), rgba(27, 75, 153, .35)); font-size: 1.28rem; }.landing-v2-skill-category-head h3 { margin: 2px 0 6px; color: #fff; font-size: 1.05rem; }.landing-v2-skill-category-head p { display: -webkit-box; overflow: hidden; margin: 0; color: #9fb3cd; font-size: .76rem; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }.landing-v2-skill-level { height: 7px; overflow: hidden; margin: 18px 0; border-radius: 99px; background: rgba(85, 132, 188, .24); }.landing-v2-skill-level span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--v2-cyan), #388dff, var(--v2-violet)); }.landing-v2-tech-carousel { display: grid; grid-template-columns: 30px minmax(0, 1fr) 30px; gap: 8px; align-items: center; }.landing-v2-tech-carousel button { width: 29px; height: 29px; border-radius: 8px; font-size: .64rem; }.landing-v2-tech-track { display: flex; gap: 7px; overflow: auto hidden; scroll-snap-type: x mandatory; }.landing-v2-tech-track > span { display: inline-flex; flex: 0 0 auto; min-height: 35px; padding: 0 9px; align-items: center; gap: 5px; scroll-snap-align: start; border: 1px solid rgba(93, 150, 210, .33); border-radius: 9px; color: #d0e0f3; background: rgba(4, 18, 40, .54); font-size: .68rem; font-weight: 800; }.landing-v2-tech-track i { color: #70e4ff; }.landing-v2-tech-track .is-empty { color: #879ebd; }
.landing-v2-featured-tools,.landing-v2-learning-areas { position: relative; margin-top: 22px; padding: 19px; border: 1px solid rgba(74, 144, 206, .27); border-radius: 18px; background: rgba(7, 22, 45, .7); }.landing-v2-featured-tools-heading,.landing-v2-learning-areas header { margin-bottom: 14px; }.landing-v2-featured-tools-heading span,.landing-v2-learning-areas header span { color: #bc87ff; font-size: .68rem; font-weight: 900; letter-spacing: .1em; }.landing-v2-featured-tools-heading p,.landing-v2-learning-areas header p { margin: 5px 0 0; color: #9db0ca; font-size: .75rem; }.landing-v2-featured-tools > .landing-v2-carousel-actions,.landing-v2-learning-areas > .landing-v2-carousel-actions { position: absolute; top: 16px; right: 17px; }.landing-v2-tool-track { display: flex; gap: 9px; overflow-x: auto; padding-bottom: 4px; scroll-snap-type: x mandatory; }.landing-v2-tool-track > span { display: inline-flex; flex: 0 0 auto; min-height: 41px; padding: 0 13px; align-items: center; gap: 8px; scroll-snap-align: start; border: 1px solid rgba(101, 110, 238, .38); border-radius: 11px; color: #e3e7ff; background: linear-gradient(135deg, rgba(35, 45, 101, .66), rgba(28, 17, 62, .66)); font-size: .72rem; font-weight: 800; }.landing-v2-tool-track i { color: #db8bff; }

.landing-v2-learning { background: #071020; }.landing-v2-learning-metrics div:first-child dt { color: var(--v2-magenta); }.landing-v2-learning-metrics div:nth-child(2) dt { color: var(--v2-cyan); }.landing-v2-learning-metrics div:nth-child(3) dt { color: #9f8dff; }.landing-v2-learning-metrics div:nth-child(4) dt { color: var(--v2-green); }.landing-v2-learning-toolbar { display: grid; grid-template-columns: auto minmax(190px, 1fr) 150px; gap: 10px; margin-bottom: 22px; }.landing-v2-learning-tabs { display: flex; flex-wrap: wrap; gap: 6px; }.landing-v2-learning-tabs button { min-height: 40px; padding: 0 11px; border: 1px solid rgba(79, 140, 201, .39); border-radius: 10px; color: #afc2d9; background: rgba(8, 26, 52, .8); cursor: pointer; font: inherit; font-size: .7rem; font-weight: 900; }.landing-v2-learning-tabs button.is-active { border-color: rgba(46, 223, 247, .72); color: #03233a; background: linear-gradient(105deg, #40ddf7, #5c91ff); }.landing-v2-search { position: relative; display: block; }.landing-v2-search i { position: absolute; top: 13px; left: 13px; color: #72e0fa; font-size: .76rem; }.landing-v2-search input,.landing-v2-sort select { width: 100%; min-height: 40px; padding: 0 11px; border: 1px solid rgba(78, 143, 204, .4); border-radius: 10px; color: #e6f4ff; background: rgba(9, 28, 55, .84); font: inherit; font-size: .75rem; }.landing-v2-search input { padding-left: 34px; }.landing-v2-learning-track { display: flex; gap: 13px; overflow-x: auto; padding: 3px 2px 11px; scroll-behavior: smooth; scroll-snap-type: x mandatory; }.landing-v2-learning-card { display: grid; flex: 0 0 min(265px, calc(100vw - 70px)); min-height: 245px; padding: 16px; align-content: start; scroll-snap-align: start; border: 1px solid rgba(80, 149, 216, .37); border-radius: 17px; background: linear-gradient(145deg, rgba(14, 40, 77, .94), rgba(9, 18, 42, .96)); }.landing-v2-learning-card[hidden] { display: none; }.landing-v2-learning-card-top { display: flex; min-height: 54px; align-items: flex-start; justify-content: space-between; gap: 7px; }.landing-v2-learning-card-top > img,.landing-v2-learning-card-top > span:first-child { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 12px; color: #6ae2ff; background: rgba(17, 120, 166, .22); object-fit: contain; padding: 5px; }.landing-v2-learning-type { padding: 4px 7px; border: 1px solid rgba(192, 100, 255, .45); border-radius: 99px; color: #d79aff; background: rgba(90, 31, 132, .2); font-size: .57rem; font-weight: 900; text-transform: uppercase; }.landing-v2-learning-card small { display: block; color: #71dfff; font-size: .67rem; font-weight: 800; }.landing-v2-learning-card h3 { display: -webkit-box; overflow: hidden; margin: 7px 0; color: #f3f7ff; font-size: .92rem; line-height: 1.32; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }.landing-v2-learning-card p { margin: 0; color: #9eb4ce; font-size: .72rem; }.landing-v2-learning-card a { margin-top: auto; padding-top: 12px; color: #72e5ff; font-size: .71rem; font-weight: 900; text-decoration: none; }.landing-v2-learning-card a:hover { color: #fff; }.landing-v2-learning-empty { margin: 11px 0 0; color: #afbed1; text-align: center; }.landing-v2-area-track { display: flex; gap: 10px; overflow-x: auto; padding-bottom: 4px; scroll-snap-type: x mandatory; }.landing-v2-area-track article { display: grid; flex: 0 0 168px; min-height: 116px; padding: 15px; align-content: center; gap: 5px; scroll-snap-align: start; border: 1px solid rgba(91, 134, 213, .4); border-radius: 14px; background: linear-gradient(135deg, rgba(23, 45, 94, .75), rgba(27, 17, 60, .71)); }.landing-v2-area-track i { margin-bottom: 3px; color: #a976ff; font-size: 1.2rem; }.landing-v2-area-track strong { color: #f1f6ff; font-size: .78rem; }.landing-v2-area-track span { color: #9bb0ca; font-size: .65rem; }

.landing-v2-blog { background: linear-gradient(180deg, #071020, #07162c 52%, #050b18); }.landing-v2-heading-row { display: flex; max-width: none; align-items: flex-end; justify-content: space-between; gap: 25px; }.landing-v2-heading-row > div { max-width: 720px; }.landing-v2-text-link { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 8px; color: #78e3ff; font-size: .78rem; font-weight: 900; text-decoration: none; }.landing-v2-text-link:hover { color: #fff; }.landing-v2-blog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }.landing-v2-blog-card { overflow: hidden; border: 1px solid rgba(80, 148, 215, .35); border-radius: 18px; background: rgba(9, 27, 52, .77); }.landing-v2-blog-card:hover { border-color: rgba(72, 223, 247, .7); transform: translateY(-3px); }.landing-v2-blog-cover { display: grid; height: 170px; place-items: center; overflow: hidden; background: linear-gradient(135deg, #10365a, #321466); color: #caf1ff; text-decoration: none; }.landing-v2-blog-cover img { width: 100%; height: 100%; object-fit: cover; }.landing-v2-blog-cover span { padding: 20px; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .84rem; text-align: center; }.landing-v2-blog-card > div { padding: 16px; }.landing-v2-blog-card > div > span { color: #75dfff; font-size: .64rem; font-weight: 900; text-transform: uppercase; }.landing-v2-blog-card h3 { margin: 8px 0; font-size: 1rem; line-height: 1.3; }.landing-v2-blog-card h3 a { color: #fff; text-decoration: none; }.landing-v2-blog-card h3 a:hover { color: #69e8ff; }.landing-v2-blog-card p { display: -webkit-box; overflow: hidden; margin: 0; color: #9fb5cf; font-size: .78rem; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }

.landing-v2-contact { position: relative; min-height: 520px; padding: clamp(72px, 10vw, 130px) 0; overflow: hidden; background: linear-gradient(90deg, rgba(3, 9, 21, .96) 0%, rgba(3, 9, 21, .76) 47%, rgba(3, 9, 21, .13) 100%), url("../img/brand/landing-v2-contact.ba675a21f1ee.png") center / cover no-repeat; }.landing-v2-contact-shell { display: flex; min-height: 290px; align-items: center; }.landing-v2-contact-shell > div { max-width: 610px; }.landing-v2-contact h2 { font-size: clamp(2.3rem, 5vw, 4.6rem); }.landing-v2-contact > p { max-width: 560px; }.landing-v2-contact-actions { margin-top: 27px; }.landing-v2-social-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }.landing-v2-social-links a { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid rgba(99, 165, 225, .42); border-radius: 11px; color: #b9eaff; background: rgba(7, 26, 52, .62); text-decoration: none; }.landing-v2-social-links a:hover { border-color: var(--v2-cyan); color: #fff; background: rgba(20, 108, 155, .5); }.landing-v2-empty-note { margin: 0; padding: 24px; border: 1px dashed rgba(98, 149, 209, .42); border-radius: 15px; color: var(--v2-muted); text-align: center; }

@media (max-width: 1230px) {
  .landing-v2-header .site-nav a { padding-inline: 7px; font-size: .68rem; }.landing-v2-header .site-nav a > i { display: none; }.landing-v2-header .site-nav .nav-cta { margin-left: 1px; }
  .landing-v2-hero-shell { gap: 24px; }
}

@media (max-width: 1024px) {
  .landing-v2-header { display: block; }
  .landing-v2-header .landing-v2-header-inner { position: relative; display: flex; width: 100%; min-width: 0; max-width: 100%; }
  .landing-v2-header .brand { max-width: calc(100% - 58px); }
  .landing-v2-header .menu-toggle { flex: 0 0 45px; margin-left: auto; }
  .landing-v2-header .menu-toggle { display: inline-flex; flex-direction: column; width: 45px; height: 45px; padding: 11px; align-items: stretch; justify-content: space-around; border: 1px solid rgba(73, 158, 226, .48); border-radius: 12px; background: rgba(9, 31, 60, .84); cursor: pointer; }.landing-v2-header .menu-toggle span { display: block; height: 2px; border-radius: 99px; background: #70e4ff; }.landing-v2-header .site-nav { position: absolute; top: calc(100% + 7px); right: 14px; display: none; width: min(340px, calc(100vw - 28px)); padding: 10px; align-items: stretch; border: 1px solid rgba(71, 154, 222, .46); border-radius: 16px; background: rgba(5, 15, 33, .98); box-shadow: 0 22px 52px rgba(0, 0, 0, .45); }.landing-v2-header .site-nav.is-open { display: grid; }.landing-v2-header .site-nav a { min-height: 43px; padding-inline: 11px; justify-content: flex-start; font-size: .78rem; }.landing-v2-header .site-nav a > i { display: inline-block; width: 16px; }.landing-v2-header .site-nav .nav-cta { justify-content: center; }
  .landing-v2-hero { min-height: 735px; }.landing-v2-service-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }.landing-v2-career-card { grid-template-columns: 28px 180px minmax(0, 1fr); }.landing-v2-learning-toolbar { grid-template-columns: 1fr 1fr; }.landing-v2-learning-tabs { grid-column: 1 / -1; }.landing-v2-blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
  .landing-v2-container { width: min(100% - 28px, 1280px); }.landing-v2-header { min-height: 66px; padding: 5px 14px; }.landing-v2-header .landing-v2-header-inner { min-height: 54px; }.landing-v2-header .brand-mark { width: 44px; height: 44px; border-radius: 13px; }.landing-v2-header .brand-copy small { max-width: 138px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .landing-v2-hero { min-height: auto; padding: 56px 0 23px; background: linear-gradient(90deg, rgba(3, 9, 21, .98), rgba(3, 9, 21, .76) 74%, rgba(3, 9, 21, .46)), url("../img/brand/landing-v2-hero.a92b2e5fed24.png") 59% center / auto 100% no-repeat; }.landing-v2-hero-shell { min-height: 550px; grid-template-columns: 1fr; }.landing-v2-hero-copy { max-width: 430px; align-self: start; }.landing-v2-hero-title { font-size: clamp(3rem, 16vw, 4.6rem); }.landing-v2-hero-copy > p { font-size: .9rem; }.landing-v2-hero-side { grid-template-columns: 1fr; margin: 0; }.landing-v2-hero-fact { background: rgba(6, 23, 47, .82); }.landing-v2-service-row { grid-template-columns: 1fr 1fr; }.landing-v2-service-card { min-height: 67px; padding: 10px; }.landing-v2-service-card > span { flex-basis: 33px; width: 33px; height: 33px; }.landing-v2-service-card small { display: none; }
  .landing-v2-section { padding: 69px 0; }.landing-v2-heading-split,.landing-v2-heading-row { display: grid; align-items: start; }.landing-v2-skill-metrics,.landing-v2-learning-metrics { width: 100%; overflow-x: auto; }.landing-v2-skill-metrics div,.landing-v2-learning-metrics div { flex: 1 0 88px; }.landing-v2-career-card { grid-template-columns: 24px minmax(0, 1fr); gap: 10px; padding: 15px; }.landing-v2-career-company { grid-column: 2; grid-row: 1; grid-template-columns: 56px minmax(0, 1fr); align-items: center; padding: 0; }.landing-v2-career-logo { grid-row: span 2; width: 52px; height: 52px; }.landing-v2-career-company small { grid-column: 2; }.landing-v2-career-content { grid-column: 2; }.landing-v2-career-rail::before { height: calc(100% + 38px); }.landing-v2-career-title-row { gap: 10px; }.landing-v2-career-content h3 { font-size: 1.12rem; }.landing-v2-detail-button { min-height: 32px; padding-inline: 8px; font-size: .63rem; }.landing-v2-career-summary { font-size: .83rem; }
  .landing-v2-carousel-shell > .landing-v2-carousel-actions { position: static; justify-content: flex-end; margin: -16px 0 12px; }.landing-v2-skill-category-card { flex-basis: min(330px, calc(100vw - 42px)); }.landing-v2-learning-toolbar { grid-template-columns: 1fr; }.landing-v2-learning-tabs { grid-column: auto; overflow-x: auto; flex-wrap: nowrap; padding-bottom: 2px; }.landing-v2-learning-tabs button { flex: 0 0 auto; }.landing-v2-blog-grid { grid-template-columns: 1fr; }.landing-v2-blog-cover { height: 160px; }.landing-v2-contact { min-height: 500px; background-position: 61% center; }.landing-v2-contact-shell { min-height: 350px; align-items: flex-start; }.landing-v2-contact-shell > div { padding-top: 8px; }.landing-v2-contact h2 { font-size: clamp(2.3rem, 13vw, 3.6rem); }.landing-v2-contact p { font-size: .92rem; }
}

@media (max-width: 450px) {
  .landing-v2-header .brand-copy small { display: none; }.landing-v2-header .brand-copy strong { font-size: .88rem; }.landing-v2-hero-actions,.landing-v2-contact-actions { display: grid; grid-template-columns: 1fr; }.landing-v2-button { width: 100%; }.landing-v2-service-row { grid-template-columns: 1fr; }.landing-v2-service-card small { display: block; }.landing-v2-hero { background-position: 63% center; }.landing-v2-hero-shell { min-height: 590px; }.landing-v2-hero-side { gap: 8px; }.landing-v2-hero-fact { padding: 10px; }.landing-v2-hero-fact strong { white-space: normal; }.landing-v2-section-heading h2 { font-size: 2rem; }.landing-v2-career-badges span,.landing-v2-chip-list span { max-width: 100%; white-space: normal; }.landing-v2-featured-tools,.landing-v2-learning-areas { padding: 14px; }.landing-v2-featured-tools > .landing-v2-carousel-actions,.landing-v2-learning-areas > .landing-v2-carousel-actions { position: static; margin-top: 10px; justify-content: flex-end; }.landing-v2-blog-card > div { padding: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  .landing-v2 *, .landing-v2-header * { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* El contenedor histórico de páginas públicas limita el ancho a 1220px y usa
 * CSS grid. La home V2 necesita ocupar el viewport sin convertir el ancho
 * intrínseco de sus carruseles en una columna gigante. */
.page-shell:has(main.landing-v2) { width: 100%; max-width: none; padding: 0 0 3rem; }
main.landing-v2 { display: block; width: 100%; min-width: 0; }
main.landing-v2 > section { min-width: 0; max-width: 100%; }

/* Landing V2 — segunda pasada de fidelidad visual (mockups NUEVO LAND 2). */
:root { --v2-page-gutter: clamp(12px, 1.7vw, 28px); --v2-section-gap: clamp(14px, 1.8vw, 26px); }
body:has(.landing-v2) { background: #030916; }
body:has(.landing-v2) .landing-v2-header { width: calc(100% - 2 * var(--v2-page-gutter)); margin: var(--v2-page-gutter) auto 0; border: 1px solid rgba(64, 129, 224, .46); border-radius: 17px; }
.landing-v2 { padding: var(--v2-section-gap) var(--v2-page-gutter); background: #030916; overflow: clip; }
.landing-v2 > :is(.landing-v2-hero,.landing-v2-section,.landing-v2-contact,.home-roadmap-section,.home-geek-resources) { position: relative; margin: 0 auto var(--v2-section-gap); border: 1px solid rgba(60, 111, 197, .33); border-radius: 23px; overflow: hidden; }
.landing-v2-container { width: min(1420px, calc(100% - clamp(32px, 5vw, 90px))); }
.landing-v2-hero { min-height: min(790px, calc(100svh - 124px)); padding: clamp(24px, 3vw, 48px) 0 19px; background-position: center; }
.landing-v2-hero-shell { min-height: clamp(370px, 59svh, 590px); grid-template-columns: minmax(0, 1fr) minmax(265px, .37fr); align-items: start; gap: 22px; }
.landing-v2-hero-copy { padding: 0; max-width: 620px; }
.landing-v2-kicker { padding: 8px 13px; border: 1px solid rgba(29, 202, 249, .36); border-radius: 999px; background: rgba(3, 29, 55, .73); font-size: .65rem; }
.landing-v2-hero-title { margin: 10px 0 13px; font-size: clamp(3rem, 5.4vw, 5.4rem); line-height: .94; letter-spacing: -.055em; font-weight: 900; }
.landing-v2-hero-title span:nth-child(1) { color: #12d8f5; }
.landing-v2-hero-title span:nth-child(2) { color: #358bff; }
.landing-v2-hero-title span:nth-child(3) { color: #b268ff; }
.landing-v2-hero-copy > p { max-width: 490px; margin-bottom: 17px; font-size: clamp(.8rem, 1vw, 1rem); line-height: 1.5; }
.landing-v2-hero-side { align-self: start; margin: 0; gap: 12px; }
.landing-v2-hero-fact { min-height: 96px; padding: 14px; border-color: rgba(45, 159, 246, .65); background: rgba(4, 20, 49, .83); box-shadow: 0 0 20px rgba(23, 114, 242, .12); }
.landing-v2-hero-fact:nth-child(2) { border-color: rgba(191, 61, 249, .65); }
.landing-v2-hero-fact:nth-child(3) { border-color: rgba(144, 72, 244, .7); }
.landing-v2-hero-fact strong { white-space: normal; font-size: .86rem; }
.landing-v2-service-row { margin-top: 10px; }
.landing-v2-section { padding: clamp(32px, 4.2vw, 62px) 0; }
.landing-v2-section-heading { max-width: none; margin-bottom: 22px; }
.landing-v2-section-heading h2 { font-size: clamp(1.75rem, 2.75vw, 2.9rem); line-height: 1.12; letter-spacing: -.045em; }
.landing-v2-section-heading p { max-width: 850px; font-size: clamp(.82rem, 1vw, .98rem); }
.landing-v2-heading-split > div:first-child { flex: 1; min-width: 0; }
.landing-v2-heading-split > div:first-child p { max-width: 780px; }
.landing-v2-skill-category-card { display: flex; flex-direction: column; flex-basis: min(310px, calc(100vw - 70px)); min-height: 278px; padding: 17px; border-color: rgba(48, 163, 242, .58); box-shadow: inset 0 1px rgba(130, 193, 255, .08); }
.landing-v2-skill-category-card:nth-child(2n) { border-color: rgba(156, 73, 244, .55); }
.landing-v2-skill-category-head { grid-template-columns: 45px 1fr; }
.landing-v2-skill-category-head > span { width: 45px; height: 45px; }
.landing-v2-skill-category-head p { -webkit-line-clamp: 3; }
.landing-v2-tech-carousel { margin-top: 18px; }
.landing-v2-tech-track > span { flex-direction: column; min-width: 52px; min-height: 59px; padding: 7px; justify-content: center; border: 0; background: transparent; font-size: .57rem; text-align: center; }
.landing-v2-tech-track img,.landing-v2-tool-track img { display: block; width: 25px; height: 25px; object-fit: contain; }
.landing-v2-tech-track i { font-size: 1.3rem; }
.landing-v2-tech-track b { max-width: 75px; overflow: hidden; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.landing-v2-skill-level { height: 5px; margin: auto 0 9px; }
.landing-v2-skill-footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.landing-v2-skill-footer small { color: #b4c8e3; font-size: .65rem; }
.landing-v2-skill-category-card.is-expanded .landing-v2-tech-carousel { grid-template-columns: 1fr; }
.landing-v2-skill-category-card.is-expanded .landing-v2-tech-carousel > button { display: none; }
.landing-v2-featured-tools-heading span,.landing-v2-learning-areas header span { font-size: .83rem; }
.landing-v2-featured-tools-heading p,.landing-v2-learning-areas header p { font-size: .8rem; }
.landing-v2-tool-track > span { display: grid; min-width: 82px; min-height: 72px; padding: 10px; place-items: center; gap: 6px; text-align: center; font-size: .66rem; }
.landing-v2-tool-track i { font-size: 1.45rem; }
.landing-v2-learning-metrics div { display: grid; min-width: 98px; grid-template-columns: 22px 1fr; column-gap: 6px; align-items: center; }
.landing-v2-learning-metrics div > i { grid-row: 1 / 3; color: #72dfff; font-size: 1.2rem; }
.landing-v2-learning-toolbar { grid-template-columns: minmax(0, 1fr) minmax(160px, 235px) 145px; }
.landing-v2-learning-tabs button { min-height: 35px; padding-inline: 9px; }
.landing-v2-search input,.landing-v2-sort select { min-height: 35px; }
.landing-v2-search i { top: 11px; }
.landing-v2-learning .landing-v2-carousel-shell > .landing-v2-carousel-actions { top: 50%; left: -15px; right: -15px; transform: translateY(-50%); justify-content: space-between; pointer-events: none; }
.landing-v2-learning .landing-v2-carousel-shell > .landing-v2-carousel-actions button { pointer-events: auto; border-radius: 50%; }
.landing-v2-learning-card { flex-basis: min(270px, calc(100vw - 70px)); min-height: 255px; padding: 14px; grid-template-rows: auto auto 1fr auto; gap: 11px; }
.landing-v2-learning-card-top { min-height: auto; align-items: center; }
.landing-v2-learning-card-top small { color: #b2c9e5; font-size: .66rem; }
.landing-v2-learning-card-main { display: flex; gap: 10px; align-items: flex-start; }
.landing-v2-learning-card-main > img,.landing-v2-course-icon { flex: 0 0 41px; width: 41px; height: 41px; padding: 6px; border-radius: 10px; background: rgba(27, 105, 192, .24); object-fit: contain; }
.landing-v2-course-icon { display: grid; place-items: center; color: #72dfff; }
.landing-v2-learning-card-main h3 { margin: 0; font-size: .94rem; line-height: 1.3; }
.landing-v2-learning-card .landing-v2-learning-description { display: -webkit-box; overflow: hidden; margin: 0; color: #a6b8d3; font-size: .72rem; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.landing-v2-learning-card-bottom { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-top: 10px; border-top: 1px solid rgba(83, 145, 219, .23); }
.landing-v2-learning-card-bottom span { color: #80e0b4; font-size: .72rem; }
.landing-v2-learning-card-bottom a { color: #a9e9ff; }
.landing-v2-learning-dots { display: flex; min-height: 25px; align-items: center; justify-content: center; gap: 7px; }
.landing-v2-learning-dots button { width: 7px; height: 7px; padding: 0; border: 0; border-radius: 99px; background: #4b6289; cursor: pointer; }
.landing-v2-learning-dots button.is-active { width: 20px; background: linear-gradient(90deg,#00d8f8,#a34cff); }
.landing-v2-area-track > article { min-width: 130px; text-align: center; }
.landing-v2-area-track > article > i { display: block; margin: 0 auto 10px; font-size: 1.5rem; }
.landing-v2-contact { min-height: 390px; padding: 40px 0; border-color: rgba(83, 120, 252, .65) !important; background-position: center; }
.landing-v2-contact-shell { min-height: 305px; }
.landing-v2-contact-badge { padding: 7px 12px; border: 1px solid rgba(19, 205, 247, .5); border-radius: 99px; background: rgba(5, 31, 60, .7); }
.landing-v2-contact h2 { max-width: 640px; font-size: clamp(2.1rem, 3.4vw, 3.65rem); line-height: 1.08; }
.landing-v2-contact h2 span { background: linear-gradient(100deg,#12cffa,#447aff,#d844ee); -webkit-background-clip: text; background-clip: text; color: transparent; }
.landing-v2-contact-shell > div > p { max-width: 565px; font-size: .91rem; }
.landing-v2-contact-actions .landing-v2-button { min-height: 46px; }
.landing-v2-contact-actions .landing-v2-button small { display: block; color: #9db8d3; font-size: .6rem; line-height: 1.3; text-align: left; }
.landing-v2-social-links { margin-top: 17px; }
@media(max-width:1024px) { .landing-v2-hero { min-height: 0; } .landing-v2-hero-shell { min-height: 520px; } .landing-v2-learning-toolbar { grid-template-columns: 1fr 160px; } .landing-v2-learning-tabs { grid-column: 1 / -1; } }
@media(max-width:767px) { .landing-v2 { padding: 12px; } .landing-v2-container { width: calc(100% - 28px); } .landing-v2-hero { padding: 30px 0 20px; } .landing-v2-hero-shell { min-height: 0; gap: 25px; grid-template-columns: 1fr; } .landing-v2-hero-title { font-size: clamp(2.8rem, 11vw, 4.5rem); } .landing-v2-hero-side { align-self: auto; } .landing-v2-section { padding: 34px 0; } .landing-v2-learning-toolbar { grid-template-columns: 1fr; } .landing-v2-learning-tabs { grid-column: auto; } .landing-v2-learning .landing-v2-carousel-shell > .landing-v2-carousel-actions { position: static; transform: none; margin: 0 0 10px; justify-content: space-between; } .landing-v2-contact { padding: 35px 0; } .landing-v2-contact-shell { min-height: 340px; } }

.landing-v2-learning-card:not(:has(.landing-v2-learning-description)) { grid-template-rows: auto 1fr auto; }
/* Trayectoria: encabezado ancho y cards compactas, sin alterar datos reales. */
.landing-v2-trajectory .landing-v2-section-heading { max-width: 100%; }
.landing-v2-trajectory .landing-v2-section-heading h2 { max-width: 1100px; font-size: clamp(1.8rem, 2.6vw, 2.75rem); }
.landing-v2-trajectory .landing-v2-section-heading p { max-width: 1000px; }
.landing-v2-career-card { border-color: rgba(78, 124, 219, .48); box-shadow: inset 0 1px rgba(129, 177, 255, .06); }
.landing-v2-featured-tools { border-color: rgba(106, 71, 209, .52); }
.landing-v2-learning-areas { border-color: rgba(111, 72, 208, .45); }
.landing-v2-learning-areas header span i { margin-right: 7px; color: #23d8f4; }
.landing-v2-learning-areas .landing-v2-area-track > article { flex: 0 0 140px; min-height: 105px; }

/* Refinamiento visual según mockups de octubre 2026 */
.landing-v2 .landing-v2-section-kicker {display:inline-flex;align-items:center;gap:10px;padding:8px 15px;border:1px solid rgba(0,207,255,.42);border-radius:999px;background:linear-gradient(100deg,rgba(0,196,255,.10),rgba(119,45,241,.15));color:#26d8fa;letter-spacing:.11em;font-weight:800}
.landing-v2 .landing-v2-section-heading h2 {font-weight:900;letter-spacing:-.045em;color:#f8faff}
.landing-v2-skills #skills-title span,.landing-v2-learning #learning-title {background:linear-gradient(100deg,#f9faff 10%,#00d9f8 42%,#527dff 70%,#d02afa);-webkit-background-clip:text;background-clip:text;color:transparent}
.landing-v2-heading-split {align-items:center;gap:24px}
.landing-v2-skill-metrics div,.landing-v2-learning-metrics div {display:grid;grid-template-columns:36px auto;align-content:center;column-gap:10px;min-height:76px;min-width:165px;border-radius:13px;background:rgba(3,18,44,.78);border:1px solid rgba(38,127,231,.43)}
.landing-v2-skill-metrics div>i,.landing-v2-learning-metrics div>i {grid-column:1;grid-row:1/3;align-self:center;font-size:1.8rem;color:#228aff;filter:drop-shadow(0 0 8px rgba(0,131,255,.45))}
.landing-v2-skill-metrics dt,.landing-v2-learning-metrics dt {grid-column:2;font-size:1.3rem;color:#fff}
.landing-v2-skill-metrics dd,.landing-v2-learning-metrics dd {grid-column:2;font-size:.66rem;text-transform:none;font-weight:500}
.landing-v2-skill-track {align-items:stretch}
.landing-v2-skill-category-card {flex-basis:calc((100% - 28px)/3);min-height:310px;min-width:245px;gap:12px;border:1px solid #187cda;border-radius:16px;background:linear-gradient(160deg,rgba(6,30,66,.94),rgba(3,13,33,.96))}
.landing-v2-skill-category-card:nth-child(2n) {border-color:#a437ef}
.landing-v2-skill-category-head {display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.landing-v2-skill-category-head>span {width:51px;height:51px;border:1px solid #00cffa;border-radius:12px;color:#03e1f3;box-shadow:0 0 14px rgba(0,213,255,.2)}
.landing-v2-skill-category-head h3 {font-size:1rem;margin:0 0 8px}
.landing-v2-skill-category-head p {font-size:.78rem;line-height:1.4;min-height:42px}
.landing-v2-tech-carousel {margin-top:auto}
.landing-v2-tech-track>span {border:1px solid rgba(44,131,221,.32);border-radius:9px;background:rgba(0,17,43,.8)}
.landing-v2-tech-track img,.landing-v2-tool-track img {width:32px;height:32px}
.landing-v2-skill-level {margin:7px 0 0;height:7px}
.landing-v2-skill-footer small {display:flex;align-items:center;gap:8px}
.landing-v2-skill-footer small i {color:#12d9fa;font-size:1rem}
.landing-v2-skills .landing-v2-carousel-shell>.landing-v2-carousel-actions {left:-27px;right:-27px;top:48%;justify-content:space-between;pointer-events:none}
.landing-v2-skills .landing-v2-carousel-shell>.landing-v2-carousel-actions button {pointer-events:auto;border-radius:50%}
.landing-v2-featured-tools {margin-top:34px;border:1px solid #9142f1;border-radius:16px;background:linear-gradient(110deg,rgba(0,35,62,.7),rgba(20,6,49,.6))}
.landing-v2-featured-tools-heading span {color:#fff;font-size:1.08rem;font-weight:800}
.landing-v2-featured-tools-heading span i {color:#6c65ff;font-size:1.45rem;margin-right:10px}
.landing-v2-featured-tools-heading p {color:#bfd0eb}
.landing-v2-tool-track>span {background:rgba(2,19,44,.75);border:1px solid rgba(30,118,216,.45);border-radius:10px;color:#dceaff}
.landing-v2-learning-metrics {gap:12px}
.landing-v2-learning-metrics div {min-width:150px}
.landing-v2-learning-tabs button {border-radius:10px}
.landing-v2-learning-card {border-radius:15px;border:1px solid #167ce5;background:linear-gradient(160deg,#061e43,#040e23)}
.landing-v2-learning-card:nth-child(3n) {border-color:#05cdbb}
.landing-v2-learning-card:nth-child(4n) {border-color:#a334f1}
.landing-v2-learning-card-bottom {margin-top:auto}
.landing-v2-learning-card-main>img {object-fit:contain;background:rgba(22,110,225,.17)}
.landing-v2-learning-areas header span {color:#fff;font-size:1.04rem;font-weight:800}
.landing-v2-learning-areas header span i {font-size:1.4rem}
.landing-v2-learning-areas .landing-v2-area-track>article {min-height:105px;flex:0 0 140px;border:1px solid rgba(35,119,220,.4);border-radius:12px;background:rgba(4,22,49,.65)}
.landing-v2-chip-list .landing-v2-stack-chip {display:inline-flex;align-items:center;gap:6px;padding:6px 10px}
.landing-v2-stack-chip img {width:19px;height:19px;object-fit:contain}
.landing-v2-stack-chip i {color:#29caff;font-size:1rem}
.landing-v2-journey .landing-v2-career-card {border:1px solid rgba(28,130,240,.52);border-radius:17px;background:linear-gradient(110deg,rgba(5,30,67,.92),rgba(3,12,31,.92))}
.landing-v2 .home-roadmap-section,.landing-v2 .home-geek-resources {width:min(1420px,calc(100% - clamp(32px,5vw,90px)));margin-inline:auto;box-sizing:border-box}
.landing-v2-contact h2 {max-width:none;font-size:clamp(1.7rem,3.1vw,3.5rem);letter-spacing:-.04em;white-space:nowrap}
.landing-v2-contact-shell>div {max-width:min(100%,980px)}
.landing-v2-contact-actions .landing-v2-button {display:inline-flex;align-items:center;justify-content:center;gap:14px;border-radius:999px;padding:12px 22px}
.landing-v2-contact-actions .landing-v2-button>i:first-child {font-size:1.5rem}
.landing-v2-contact-actions .landing-v2-button>i:last-child {margin-left:12px}
@media(max-width:1100px) {.landing-v2-skill-category-card {flex-basis:calc((100% - 18px)/2)}.landing-v2-heading-split {flex-wrap:wrap}.landing-v2-contact h2 {white-space:normal}}
@media(max-width:767px) {.landing-v2-skill-category-card {flex-basis:85%}.landing-v2-skill-metrics div,.landing-v2-learning-metrics div {min-width:130px}.landing-v2-skills .landing-v2-carousel-shell>.landing-v2-carousel-actions {position:static;justify-content:space-between;margin-bottom:10px}.landing-v2-contact h2 {font-size:clamp(1.9rem,8vw,2.7rem)}.landing-v2 .home-roadmap-section,.landing-v2 .home-geek-resources {width:calc(100% - 28px)}}

/* Landing V3: una única capa de ajustes para fidelidad, sin tocar datos editoriales. */
.landing-v2 { overflow-x: clip; }
.landing-v2-hero-title { font-weight: 950; letter-spacing: -.065em; }
.landing-v2-hero-title span:nth-child(1) { color: #20d9f5; }
.landing-v2-hero-title span:nth-child(2) { color: #347eff; }
.landing-v2-hero-title span:nth-child(3) { background: linear-gradient(100deg, #a96dff, #d247f4); -webkit-background-clip: text; background-clip: text; color: transparent; }
.landing-v2-hero-title span:nth-child(4) { color: #fbfdff; }
.landing-v2-hero-actions .landing-v2-button { min-height: 52px; padding-inline: 22px; border-radius: 999px; }
.landing-v2-hero-actions .landing-v2-button-primary { color: #031525; }
.landing-v2-hero-actions .landing-v2-button-primary i { color: #041b32; }
.landing-v2-hero-actions .landing-v2-button-secondary { border-color: rgba(73, 152, 234, .58); background: rgba(4, 18, 44, .66); }

.landing-v2-career-list { position: relative; gap: 20px; }
.landing-v2-career-list::before { position: absolute; z-index: 0; top: 35px; bottom: 35px; left: 37px; width: 2px; content: ""; background: repeating-linear-gradient(to bottom, #20d9f5 0 5px, transparent 5px 11px); opacity: .8; }
.landing-v2-career-card { position: relative; z-index: 1; min-height: 192px; grid-template-columns: 38px 170px minmax(0, 1fr) minmax(185px, .34fr); align-items: stretch; gap: 16px; padding: 18px; border-color: rgba(46, 146, 244, .55); background: linear-gradient(105deg, rgba(5, 31, 69, .94), rgba(4, 13, 34, .94)); }
.landing-v2-career-rail::before { display: none; }
.landing-v2-career-rail span { top: 14px; z-index: 2; border-color: #071a38; }
.landing-v2-career-company { min-width: 0; padding: 4px 0; border: 1px solid rgba(45, 119, 198, .32); border-radius: 14px; background: rgba(5, 19, 45, .6); text-align: center; align-content: center; justify-items: center; }
.landing-v2-career-company small { max-width: 100%; }
.landing-v2-career-content { display: flex; flex-direction: column; justify-content: center; }
.landing-v2-career-title-row { align-items: flex-start; }
.landing-v2-career-content h3 { font-size: clamp(1.1rem, 1.55vw, 1.48rem); }
.landing-v2-career-summary { max-width: 650px; font-size: .84rem; }
.landing-v2-career-badges { margin-top: auto; }
.landing-v2-chip-list { align-content: center; padding: 14px; border: 1px solid rgba(60, 117, 199, .28); border-radius: 14px; background: rgba(4, 16, 38, .58); }
.landing-v2-stack-chip { color: #f1f6ff !important; }
.landing-v2-stack-chip i.fa-python, .landing-v2-tech-track .fa-python, .landing-v2-tool-track .fa-python { color: #ffd343; }
.landing-v2-stack-chip i.fa-react, .landing-v2-tech-track .fa-react, .landing-v2-tool-track .fa-react { color: #61dafb; }
.landing-v2-stack-chip i.fa-js, .landing-v2-tech-track .fa-js, .landing-v2-tool-track .fa-js { color: #f7df1e; }
.landing-v2-stack-chip i.fa-docker, .landing-v2-tech-track .fa-docker, .landing-v2-tool-track .fa-docker { color: #2496ed; }
.landing-v2-stack-chip i.fa-aws, .landing-v2-tech-track .fa-aws, .landing-v2-tool-track .fa-aws { color: #ff9900; }
.landing-v2-stack-chip i.fa-git-alt, .landing-v2-tech-track .fa-git-alt, .landing-v2-tool-track .fa-git-alt { color: #f1502f; }
.landing-v2-stack-chip i.fa-gitlab, .landing-v2-tech-track .fa-gitlab, .landing-v2-tool-track .fa-gitlab { color: #fc6d26; }

.landing-v2-skills #skills-title { white-space: nowrap; }
.landing-v2-skills #skills-title .landing-v2-title-white { color: #f8fbff; }
.landing-v2-skills #skills-title .landing-v2-title-cyan { color: #20d9f5; }
.landing-v2-skills #skills-title .landing-v2-title-gradient { background: linear-gradient(95deg, #20d9f5, #397fff 50%, #d63cf2); -webkit-background-clip: text; background-clip: text; color: transparent; }
.landing-v2-skill-category-card { min-height: 330px; padding: 20px; }
.landing-v2-skill-category-head { display: grid; grid-template-columns: 52px minmax(0, 1fr); align-items: start; gap: 13px; }
.landing-v2-skill-category-head > span { width: 52px; height: 52px; }
.landing-v2-skill-category-head h3 { margin: 2px 0 6px; font-size: 1.04rem; }
.landing-v2-skill-category-head p { min-height: 0; margin: 0; }
.landing-v2-tech-track > span { color: #fff; }
.landing-v2-tech-track img, .landing-v2-tool-track img { object-fit: contain; }
.landing-v2-skill-footer small { min-height: 26px; color: #dcecff; }
.landing-v2-featured-tools { padding: 20px; }
.landing-v2-tool-track > span { color: #f4f8ff; }

.landing-v2-learning .landing-v2-heading-split { flex-wrap: wrap; align-items: flex-start; }
.landing-v2-learning .landing-v2-heading-split > div:first-child { flex: 1 1 680px; }
.landing-v2-learning .landing-v2-learning-metrics { flex: 0 1 auto; }
.landing-v2-learning #learning-title { white-space: normal; text-wrap: balance; background: linear-gradient(98deg, #f7fbff 4%, #22dcf5 38%, #477dff 67%, #dc45ef); -webkit-background-clip: text; background-clip: text; color: transparent; }
.landing-v2-learning-metrics div { min-width: 128px; min-height: 68px; padding: 9px 11px; }
.landing-v2-learning-tabs { align-items: stretch; }
.landing-v2-learning-tabs button { display: inline-flex; align-items: center; gap: 7px; }
.landing-v2-learning-tabs button i { color: #8ddfff; }
.landing-v2-learning-tabs button.is-active { box-shadow: 0 0 0 1px #c142ff inset, 0 0 18px rgba(178, 58, 255, .28); }
.landing-v2-learning-card { flex-basis: min(244px, calc(100vw - 64px)); min-height: 206px; padding: 13px; gap: 9px; }
.landing-v2-learning-card-top { min-height: 23px; }
.landing-v2-learning-card-main h3 { font-size: .9rem; line-height: 1.25; }
.landing-v2-learning-description { min-height: 0; -webkit-line-clamp: 3; }
.landing-v2-learning-card-bottom button { display: grid; width: 31px; height: 31px; place-items: center; border: 1px solid rgba(85, 191, 245, .55); border-radius: 9px; color: #9ce9ff; background: rgba(8, 47, 83, .65); cursor: pointer; }
.landing-v2-learning-card-bottom button:hover { border-color: #28d9f7; background: rgba(16, 104, 154, .65); }
.landing-v2-learning-dots { margin-top: 12px; }
.landing-v2-learning-areas { padding: 20px; }
.landing-v2-area-track > article { color: #f4f8ff; }

.landing-v2-evidence-modal { position: fixed; z-index: 100; inset: 0; display: grid; padding: 16px; place-items: center; background: rgba(1, 6, 16, .8); backdrop-filter: blur(8px); }
.landing-v2-evidence-modal[hidden] { display: none; }
.landing-v2-evidence-dialog { position: relative; width: min(1180px, 100%); max-height: calc(100dvh - 32px); overflow: hidden; padding: 18px 22px 16px; border: 1px solid rgba(47, 208, 248, .66); border-radius: 20px; background: #07152e; box-shadow: 0 26px 80px rgba(0, 0, 0, .55); }
.landing-v2-evidence-topbar { display: grid; grid-template-columns: minmax(220px, 1fr) auto auto; align-items: center; gap: 12px; margin-bottom: 12px; }
.landing-v2-evidence-dialog h2 { margin: 0; color: #f6fbff; font-size: clamp(1.05rem, 2vw, 1.35rem); line-height: 1.28; }
.landing-v2-evidence-meta { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.landing-v2-evidence-meta > span { display: grid; gap: 1px; padding: 5px 9px; border: 1px solid rgba(75, 143, 207, .48); border-radius: 9px; background: rgba(8, 31, 62, .78); }
.landing-v2-evidence-meta small { color: #82b7df; font-size: .56rem; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
.landing-v2-evidence-meta strong { color: #f1f7ff; font-size: .72rem; line-height: 1.15; white-space: nowrap; }
.landing-v2-evidence-dialog [data-v2-evidence-content] { display: grid; min-height: 0; place-items: center; }
.landing-v2-evidence-dialog img { max-width: 100%; max-height: min(68dvh, 650px); object-fit: contain; }
.landing-v2-evidence-dialog iframe { width: 100%; min-height: min(66dvh, 620px); border: 0; background: #fff; }
.landing-v2-evidence-close { display: grid; flex: none; width: 34px; height: 34px; place-items: center; border: 1px solid rgba(98, 172, 234, .5); border-radius: 50%; color: #d7edff; background: #102446; cursor: pointer; }
.landing-v2-evidence-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 12px; }.landing-v2-evidence-actions a,.landing-v2-evidence-actions span { display: inline-flex; align-items: center; gap: 7px; min-height: 38px; padding: 0 12px; border: 1px solid rgba(69, 184, 233, .56); border-radius: 10px; color: #9eeeff; background: rgba(8, 42, 78, .68); font-size: .78rem; font-weight: 800; text-decoration: none; }.landing-v2-evidence-actions [hidden] { display: none; }.landing-v2-evidence-actions a:hover { border-color: #28d9f7; color: #fff; background: rgba(19, 101, 151, .72); }.landing-v2-evidence-actions span { border-color: rgba(110, 141, 172, .4); color: #a7b9cb; background: rgba(22, 39, 61, .68); }
.landing-v2-learning-card { cursor: pointer; }
.landing-v2-learning-card:focus-visible { outline: 2px solid #3de0fa; outline-offset: 3px; }
.landing-v2-learning-modal-details { width: 100%; display: grid; gap: 0; }
.landing-v2-learning-modal-description { margin: 0; color: #c5d7ec; font-size: .92rem; line-height: 1.55; }
.landing-v2-learning-modal-details dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0; }
.landing-v2-learning-modal-details dl div { padding: 8px 10px; border: 1px solid rgba(75, 143, 207, .44); border-radius: 10px; background: rgba(8, 31, 62, .72); }
.landing-v2-learning-modal-details dt { color: #82b7df; font-size: .65rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.landing-v2-learning-modal-details dd { margin: 4px 0 0; color: #f1f7ff; font-size: .8rem; font-weight: 800; }
.landing-v2-learning-modal-evidence { display: grid; gap: 8px; padding: 0; border: 0; }
.landing-v2-learning-modal-evidence h3 { margin: 0; color: #71e3fb; font-size: .92rem; }
.landing-v2-learning-modal-evidence p,.landing-v2-learning-modal-unavailable { margin: 0; color: #a8bfd7; font-size: .8rem; line-height: 1.45; }
.landing-v2-learning-modal-evidence img { width: 100%; height: min(68dvh, 650px); max-height: min(68dvh, 650px); border: 1px solid rgba(74, 147, 211, .45); border-radius: 12px; background: #06142b; object-fit: contain; }
.landing-v2-learning-modal-evidence iframe { min-height: min(66dvh, 620px); border: 1px solid rgba(74, 147, 211, .45); border-radius: 12px; }
.landing-v2-career-modal { position: fixed; z-index: 101; inset: 0; display: grid; padding: 24px; place-items: center; background: rgba(1, 6, 16, .8); backdrop-filter: blur(8px); }
.landing-v2-career-modal[hidden] { display: none; }
.landing-v2-career-modal-dialog { position: relative; width: min(800px, 100%); max-height: min(720px, 90vh); overflow: auto; padding: 30px; border: 1px solid rgba(47, 208, 248, .66); border-radius: 20px; background: #07152e; box-shadow: 0 26px 80px rgba(0, 0, 0, .55); }
.landing-v2-career-modal-kicker { margin: 0 42px 6px 0; color: #6fe4ff; font-size: .72rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.landing-v2-career-modal-dialog h2 { margin: 0 42px 20px 0; color: #f6fbff; font-size: clamp(1.1rem, 2.3vw, 1.45rem); line-height: 1.28; }
.landing-v2-career-modal-content .landing-v2-career-details { display: block; margin: 0; padding: 18px; border: 1px solid rgba(76, 144, 205, .35); border-radius: 14px; background: rgba(4, 18, 40, .65); }
.landing-v2-career-modal-content .landing-v2-career-details h4 { margin-top: 0; }
.landing-v2-career-modal-content .landing-v2-career-details ul { gap: 12px; font-size: .88rem; }

@media (max-width: 1100px) {
  .landing-v2-career-card { grid-template-columns: 32px 145px minmax(0, 1fr); }
  .landing-v2-chip-list { grid-column: 2 / -1; }
  .landing-v2-skills #skills-title, .landing-v2-learning #learning-title { white-space: normal; }
}
@media (max-width: 767px) {
  .landing-v2-career-list::before { left: 27px; }
  .landing-v2-career-card { grid-template-columns: 28px minmax(0, 1fr); padding: 15px; }
  .landing-v2-career-company { grid-column: 2; justify-items: start; grid-template-columns: 54px minmax(0, 1fr); padding: 9px; text-align: left; }
  .landing-v2-career-company small { grid-column: 2; }
  .landing-v2-career-content, .landing-v2-chip-list { grid-column: 2; }
  .landing-v2-chip-list { padding: 10px; }
  .landing-v2-skill-category-card { min-height: 315px; }
  .landing-v2-learning-card { flex-basis: min(270px, calc(100vw - 52px)); }
  .landing-v2-evidence-modal { padding: 10px; }
  .landing-v2-evidence-dialog { padding: 18px 14px 14px; }
  .landing-v2-evidence-topbar { grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
  .landing-v2-evidence-meta { grid-column: 1 / -1; grid-row: 2; justify-content: flex-start; }
  .landing-v2-evidence-meta > span { padding: 4px 7px; }
  .landing-v2-evidence-dialog img, .landing-v2-learning-modal-evidence img { height: min(58dvh, 440px); max-height: min(58dvh, 440px); }
  .landing-v2-evidence-dialog iframe, .landing-v2-learning-modal-evidence iframe { min-height: min(56dvh, 400px); }
  .landing-v2-career-modal { padding: 14px; }
  .landing-v2-career-modal-dialog { max-height: 92vh; padding: 22px 16px; }
  .landing-v2-learning-modal-details dl { grid-template-columns: 1fr; }
}

/* Ajuste puntual de trayectoria: tres zonas según el mockup institucional. */
.landing-v2-career-list::before {
  top: 42px;
  bottom: 42px;
  left: 48px;
}
.landing-v2-career-card,
.landing-v2-career-card.has-decorative-image {
  grid-template-columns: minmax(252px, 278px) minmax(0, 1fr);
  min-height: 0;
  gap: 14px;
  padding: 14px;
}
.landing-v2-career-card.has-decorative-image {
  grid-template-columns: minmax(252px, 278px) minmax(0, 1fr) minmax(290px, 34%);
  padding-right: 0;
}
.landing-v2-career-left {
  position: relative;
  display: grid;
  min-width: 0;
  padding: 2px 14px 2px 48px;
  align-content: start;
  gap: 10px;
  border-right: 1px solid rgba(54, 149, 229, .4);
}
.landing-v2-career-rail {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 13px;
  display: block;
  width: 2px;
  min-height: 100%;
  background: repeating-linear-gradient(to bottom, #20d9f5 0 7px, transparent 7px 14px);
}
.landing-v2-career-rail span {
  top: 10px;
  left: 50%;
  width: 19px;
  height: 19px;
  transform: translateX(-50%);
  border: 4px solid #071a38;
  background: #27dcf8;
  box-shadow: 0 0 0 2px rgba(39, 220, 248, .28), 0 0 20px 7px rgba(26, 202, 244, .35);
}
.landing-v2-career-date {
  display: block;
  min-height: 27px;
  padding-top: 3px;
  color: #bed5ed;
  font-size: .72rem;
  font-weight: 750;
  line-height: 1.45;
}
.landing-v2-career-company {
  display: grid;
  min-width: 0;
  padding: 0;
  justify-items: start;
  align-content: start;
  gap: 14px;
  border: 0;
  border-radius: 0;
  background: transparent;
  text-align: left;
}
.landing-v2-career-logo {
  width: 62px;
  height: 62px;
  padding: 6px;
  border-color: rgba(83, 178, 245, .66);
  border-radius: 16px;
  background: rgba(11, 43, 80, .78);
}
.landing-v2-career-logo img { padding: 0; }
.landing-v2-career-company strong {
  max-width: 100%;
  color: #f1f7ff;
  font-size: .82rem;
  font-weight: 800;
  line-height: 1.38;
  overflow-wrap: anywhere;
}
.landing-v2-career-content {
  justify-content: start;
  padding: 1px 0 8px;
}
.landing-v2-career-content h3 {
  max-width: 820px;
  margin-top: 5px;
  font-size: clamp(1.25rem, 1.7vw, 1.7rem);
  line-height: 1.12;
}
.landing-v2-career-summary {
  max-width: 100%;
  margin: 7px 0 8px;
  color: #b8cae2;
  font-size: clamp(.8rem, 1vw, .94rem);
}
.landing-v2-career-badges { gap: 5px; margin: 0 0 7px; }
.landing-v2-career-title-row + .landing-v2-career-badges,
.landing-v2-career-title-row + .landing-v2-chip-list { margin-top: 16px; }
.landing-v2-career-badges span {
  min-height: 29px;
  padding-inline: 10px;
  font-size: .66rem;
}
.landing-v2-chip-list {
  min-height: 50px;
  margin-top: auto;
  gap: 5px;
  padding: 7px 10px;
  border-color: rgba(56, 132, 209, .42);
  border-radius: 18px;
  background: rgba(2, 13, 34, .76);
}
.landing-v2-chip-list span {
  min-height: 29px;
  padding-inline: 9px;
  border-color: rgba(101, 100, 221, .58);
  background: linear-gradient(110deg, rgba(33, 49, 117, .62), rgba(48, 25, 96, .48));
  color: #f2f6ff;
  font-size: .66rem;
}
.landing-v2-career-visual {
  position: relative;
  min-height: 220px;
  overflow: hidden;
  border-radius: 0 20px 20px 0;
  background: #07162f;
}
.landing-v2-career-card.has-decorative-image .landing-v2-career-visual {
  background:
    linear-gradient(90deg, #06172f 0%, rgba(6, 23, 47, .52) 20%, transparent 62%);
}
.landing-v2-career-visual::after {
  position: absolute;
  inset: 0;
  content: "";
  pointer-events: none;
  background: linear-gradient(90deg, #06172f 0%, rgba(6, 23, 47, .62) 15%, transparent 56%), linear-gradient(0deg, rgba(4, 11, 27, .28), transparent 50%);
}
.landing-v2-career-visual img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 63% center;
}
.landing-v2-career-visual.is-webuggers-visual img { object-position: 82% center; }
.landing-v2-career-visual .landing-v2-detail-button {
  position: absolute;
  z-index: 1;
  top: 14px;
  right: 14px;
  min-height: 38px;
  padding-inline: 13px;
  border-radius: 13px;
  color: #9ee7ff;
  font-size: .73rem;
}
.landing-v2-career-card:not(.has-decorative-image) > .landing-v2-career-content .landing-v2-detail-button {
  min-height: 37px;
  padding-inline: 12px;
  border-radius: 10px;
  font-size: .7rem;
}

@media (max-width: 1100px) {
  .landing-v2-career-card.has-decorative-image { grid-template-columns: minmax(215px, 245px) minmax(0, 1fr) minmax(220px, 27%); }
  .landing-v2-career-card,
  .landing-v2-career-card.has-decorative-image { gap: 18px; padding: 20px; }
  .landing-v2-career-card.has-decorative-image { padding-right: 0; }
  .landing-v2-career-left { padding-left: 54px; padding-right: 16px; }
  .landing-v2-career-content h3 { font-size: clamp(1.38rem, 2.6vw, 1.8rem); }
  .landing-v2-career-visual { min-height: 208px; }
}
@media (max-width: 767px) {
  .landing-v2-career-list::before { left: 22px; }
  .landing-v2-career-card,
  .landing-v2-career-card.has-decorative-image { grid-template-columns: 1fr; gap: 16px; padding: 17px; }
  .landing-v2-career-card.has-decorative-image { padding-bottom: 0; }
  .landing-v2-career-left {
    display: block;
    padding: 0 0 16px 43px;
    border-right: 0;
    border-bottom: 1px solid rgba(54, 149, 229, .4);
  }
  .landing-v2-career-rail { left: 4px; }
  .landing-v2-career-rail span { top: 4px; }
  .landing-v2-career-date { display: block; min-height: 0; margin-bottom: 12px; padding: 0; font-size: .78rem; }
  .landing-v2-career-left .landing-v2-career-company {
    display: grid;
    grid-column: auto;
    grid-row: auto;
    grid-template-columns: 53px minmax(0, 1fr);
    align-items: center;
    gap: 11px;
  }
  .landing-v2-career-logo { width: 53px; height: 53px; padding: 6px; border-radius: 12px; }
  .landing-v2-career-company strong { font-size: .87rem; }
  .landing-v2-career-content { grid-column: auto; padding: 0 0 5px; }
  .landing-v2-career-content h3 { font-size: 1.3rem; }
  .landing-v2-career-summary { font-size: .88rem; }
  .landing-v2-career-title-row { gap: 12px; }
  .landing-v2-career-badges span { min-height: 32px; padding-inline: 10px; font-size: .69rem; }
  .landing-v2-chip-list { min-height: 0; padding: 12px; border-radius: 13px; }
  .landing-v2-chip-list span { min-height: 32px; padding-inline: 10px; font-size: .67rem; }
  .landing-v2-career-visual { min-height: 180px; margin-inline: -17px; border-radius: 0 0 17px 17px; }
  .landing-v2-career-visual .landing-v2-detail-button { top: 14px; right: 14px; min-height: 38px; padding-inline: 13px; font-size: .72rem; }
}

/* Stack: cada desplazamiento del carrusel presenta hasta seis tecnologías en dos filas. */
.landing-v2-skills .landing-v2-skill-category-card { display:grid; height:392px; min-height:392px; padding:20px; grid-template-rows:132px 126px 7px minmax(32px,1fr); gap:6px; }
.landing-v2-skills .landing-v2-skill-category-head { display:grid; min-height:0; grid-template-rows:51px minmax(0,1fr); gap:7px; }
.landing-v2-skills .landing-v2-skill-category-head > div { display:grid; min-width:0; min-height:0; grid-template-rows:40px minmax(0,1fr); gap:5px; }
.landing-v2-skills .landing-v2-skill-category-head > span { grid-row:1; }
.landing-v2-skills .landing-v2-skill-category-head h3 { display:-webkit-box; grid-row:auto; margin:0; overflow:hidden; line-height:1.2; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.landing-v2-skills .landing-v2-skill-category-head p { display:-webkit-box; grid-row:auto; min-height:0; margin:0; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.landing-v2-skills .landing-v2-tech-carousel { min-height:126px; margin:0; }
.landing-v2-skills .landing-v2-skill-level { align-self:center; margin:0; }
.landing-v2-skills .landing-v2-skill-footer { align-self:end; min-height:32px; }
.landing-v2-skills .landing-v2-tech-track {
  display: flex;
  min-height: 126px;
  padding: 0 1px 4px;
  gap: 8px;
  overflow: hidden;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
}
.landing-v2-skills .landing-v2-tech-page {
  display: grid;
  flex: 0 0 100%;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: repeat(2, 59px);
  gap: 8px;
  scroll-snap-align: start;
}
.landing-v2-skills .landing-v2-tech-page > span {
  display: flex;
  min-width: 0;
  min-height: 59px;
  padding: 6px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  overflow: hidden;
  border: 1px solid rgba(41, 136, 226, .58);
  border-radius: 10px;
  background: linear-gradient(145deg, rgba(6, 29, 62, .92), rgba(4, 17, 42, .94));
  box-shadow: inset 0 1px rgba(126, 200, 255, .07);
  color: #fff;
  font-size: .54rem;
  text-align: center;
}
.landing-v2-skills .landing-v2-tech-page > span img {
  width: 24px;
  height: 24px;
}
.landing-v2-skills .landing-v2-tech-page > span i { font-size: 1.05rem; }
.landing-v2-skills .landing-v2-tech-page > span b {
  max-width: 100%;
  font-size: inherit;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 767px) {
  .landing-v2-skills .landing-v2-skill-category-card { height:auto; min-height:377px; }
}

/* Las rutas y recursos usan el mismo gutter exterior que el header y el resto de bloques. */
.landing-v2 .home-roadmap-section,
.landing-v2 .home-geek-resources {
  width: 100%;
  max-width: none;
}

/* El Roadmap público comparte el marco de la landing sin cambiar su contenido. */
.page-shell:has(main.roadmap-page) {
  width: 100%;
  max-width: none;
  padding: 0 0 3rem;
}
body:has(main.roadmap-page) .landing-v2-header {
  width: calc(100% - 2 * var(--v2-page-gutter));
  margin: var(--v2-page-gutter) auto 0;
  border: 1px solid rgba(64, 129, 224, .46);
  border-radius: 17px;
}
main.roadmap-page {
  width: calc(100% - 2 * var(--v2-page-gutter));
  max-width: none;
  margin: var(--v2-section-gap) auto 5rem;
}

.page-shell:has(main.resources-page) {
  width: 100%;
  max-width: none;
  padding: 0 0 3rem;
}
body:has(main.resources-page) .landing-v2-header {
  width: calc(100% - 2 * var(--v2-page-gutter));
  margin: var(--v2-page-gutter) auto 0;
  border: 1px solid rgba(64, 129, 224, .46);
  border-radius: 17px;
}
main.resources-page {
  width: calc(100% - 2 * var(--v2-page-gutter));
  max-width: none;
  margin: var(--v2-section-gap) auto 4rem;
}

@media (max-width: 767px) {
  main.roadmap-page,
  main.resources-page { width: calc(100% - 24px); }
  main.resources-page > * { min-width: 0; }
  main.resources-page .resource-tabs {
    display: flex;
    max-width: 100%;
    overflow-x: auto;
  }
  main.resources-page .resource-tab { flex: 0 0 142px; }
}

/* Réplica pública de Recursos Geek, sin acciones administrativas. */
.page-shell:has(.public-geek-library){width:100%;max-width:none;padding-bottom:3rem}.public-geek-library{width:calc(100% - 2 * var(--v2-page-gutter));max-width:1420px;margin:var(--v2-section-gap) auto 4rem;display:grid;gap:.8rem;color:#edf5ff}.public-geek-library *{box-sizing:border-box}.public-geek-hero{min-height:208px;padding:1.25rem 1.4rem;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;border:1px solid rgba(51,191,255,.42);border-radius:16px;background:linear-gradient(90deg,rgba(2,12,29,.96),rgba(3,13,31,.84) 39%,rgba(3,13,31,.35) 75%,rgba(3,13,31,.62)),url("../img/brand/geek-resources-hero.7efbb00acbfa.png") center/cover;box-shadow:inset 0 1px rgba(118,215,255,.13),0 14px 30px rgba(0,0,0,.19)}.public-geek-breadcrumb{display:flex;gap:.42rem;margin:0 0 .85rem;color:#a5bad4;font-size:.75rem}.public-geek-breadcrumb a{color:#72dfff;text-decoration:none}.public-geek-hero-copy{display:flex;align-items:center;gap:.85rem;max-width:670px}.public-geek-hero-icon{display:grid;flex:0 0 44px;width:44px;height:44px;place-items:center;border:1px solid rgba(33,210,250,.42);border-radius:12px;background:linear-gradient(145deg,rgba(16,123,173,.52),rgba(9,35,72,.82));color:#25d9ff;font-size:1.35rem}.public-geek-hero h1{margin:0;color:#fff;font-size:clamp(1.65rem,2.8vw,2.42rem);line-height:1.08}.public-geek-hero p{max-width:600px;margin:.36rem 0 0;color:#c3d3e8;font-size:.88rem;line-height:1.45}.public-geek-categories{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.58rem}.public-geek-category{display:flex;min-width:0;min-height:69px;align-items:center;gap:.58rem;padding:.68rem .62rem;border:1px solid rgba(46,132,201,.48);border-radius:11px;background:linear-gradient(145deg,rgba(8,31,62,.93),rgba(5,19,40,.95));color:#e9f4ff;text-decoration:none}.public-geek-category.is-active,.public-geek-category:hover{border-color:#20dbff;box-shadow:0 0 18px rgba(23,205,255,.16)}.public-geek-category>i{display:grid;flex:0 0 30px;width:30px;height:30px;place-items:center;border-radius:8px;background:rgba(24,152,207,.16);color:#24d9ff;font-size:1.12rem}.public-geek-category.is-violet>i{color:#c078ff}.public-geek-category.is-green>i{color:#43e5a5}.public-geek-category.is-pink>i{color:#ff71ba}.public-geek-category.is-yellow>i{color:#ffcf4a}.public-geek-category span{display:grid;min-width:0;gap:.12rem}.public-geek-category strong{overflow:hidden;font-size:.73rem;text-overflow:ellipsis;white-space:nowrap}.public-geek-category small{color:#91abc9;font-size:.62rem}.public-geek-layout{display:grid;grid-template-columns:minmax(0,1fr) 252px;align-items:start;gap:.8rem}.public-geek-catalog,.public-geek-side>section{border:1px solid rgba(48,121,183,.46);border-radius:13px;background:linear-gradient(155deg,rgba(7,27,56,.96),rgba(4,17,38,.97))}.public-geek-catalog{padding:1rem}.public-geek-catalog-head{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.public-geek-eyebrow{margin:0 0 .22rem;color:#24d9ff;font-size:.64rem;font-weight:900;letter-spacing:.1em}.public-geek-catalog h2{display:flex;align-items:center;gap:.5rem;margin:0;color:#fff;font-size:1.18rem}.public-geek-catalog h2 small{padding:.18rem .42rem;border-radius:999px;background:rgba(17,177,225,.2);color:#42e0ff;font-size:.66rem}.public-geek-view-toggle{display:flex;gap:.36rem}.public-geek-view-toggle a{display:grid;width:34px;height:34px;place-items:center;border:1px solid rgba(68,146,207,.52);border-radius:8px;color:#bed4ef;text-decoration:none}.public-geek-view-toggle a.is-active{border-color:#27ddff;background:linear-gradient(135deg,rgba(17,174,227,.3),rgba(87,63,199,.28));color:#fff}.public-geek-filter{display:grid;grid-template-columns:minmax(190px,1fr) 150px 150px 140px auto auto;gap:.45rem;margin:.85rem 0 1rem}.public-geek-filter input,.public-geek-filter select,.public-geek-filter button,.public-geek-filter>a{min-width:0;height:36px;padding:0 .62rem;border:1px solid rgba(57,125,183,.54);border-radius:8px;background:#081b37;color:#dbeaff;font:inherit;font-size:.72rem}.public-geek-filter>a{display:inline-flex;align-items:center;text-decoration:none}.public-geek-filter button{border-color:#1bd7f4;background:linear-gradient(120deg,#13cce9,#6b45ec);color:#031327;font-weight:900}.public-geek-search{position:relative}.public-geek-search i{position:absolute;top:11px;left:.7rem;color:#55ddff;font-size:.72rem}.public-geek-search input{width:100%;padding-left:2rem}.public-geek-resource-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.62rem}.public-geek-resource-card{display:grid;grid-template-columns:39% minmax(0,1fr);min-height:157px;overflow:hidden;border:1px solid rgba(45,120,181,.5);border-radius:10px;background:rgba(5,21,46,.92)}.public-geek-resource-cover{position:relative;display:grid;min-height:100%;place-items:center;overflow:hidden;background:radial-gradient(circle at 60% 30%,#174d77,#07152b 68%);color:#4ae0ff;font-size:1.65rem}.public-geek-resource-cover img{width:100%;height:100%;object-fit:cover}.public-geek-type-pill{position:absolute;bottom:.35rem;left:.35rem;padding:.19rem .34rem;border:1px solid rgba(45,215,251,.65);border-radius:5px;background:rgba(4,68,105,.92);color:#89edff;font-size:.53rem;font-weight:800}.public-geek-resource-body{display:flex;min-width:0;padding:.52rem .55rem;flex-direction:column}.public-geek-resource-body h3{margin:0;font-size:.82rem;line-height:1.18}.public-geek-resource-body h3 a{color:#fff;text-decoration:none}.public-geek-resource-body>small{margin-top:.13rem;color:#94aecb;font-size:.62rem}.public-geek-resource-body p{display:-webkit-box;margin:.28rem 0;overflow:hidden;color:#afc3da;font-size:.61rem;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:3}.public-geek-resource-meta{display:flex;justify-content:space-between;width:100%;gap:.25rem;margin-top:auto;color:#ffe172;font-size:.59rem}.public-geek-status{color:#58e9ac}.public-geek-tags{display:flex;flex-wrap:wrap;gap:.22rem;margin-top:.35rem}.public-geek-tags a,.public-geek-popular-tags a{padding:.15rem .32rem;border:1px solid rgba(53,112,165,.52);border-radius:5px;background:#09213f;color:#bdd3eb;font-size:.54rem;text-decoration:none}.public-geek-resource-grid.is-list{grid-template-columns:1fr}.public-geek-resource-grid.is-list .public-geek-resource-card{grid-template-columns:110px minmax(0,1fr);min-height:112px}.public-geek-empty{padding:3.2rem 1rem;text-align:center;color:#aabfd7}.public-geek-pagination{display:flex;justify-content:center;gap:.3rem;margin-top:1rem}.public-geek-pagination a{display:grid;min-width:31px;height:31px;place-items:center;border:1px solid rgba(59,131,189,.56);border-radius:7px;background:#091c38;color:#b9d1ea;text-decoration:none}.public-geek-pagination a.is-active{border-color:#26dcff;background:linear-gradient(125deg,rgba(13,192,225,.42),rgba(102,54,224,.44));color:#fff}.public-geek-side{display:grid;gap:.7rem}.public-geek-side>section{padding:.8rem}.public-geek-side h2{margin:0 0 .65rem;padding-bottom:.58rem;border-bottom:1px solid rgba(57,120,176,.38);color:#f4f8ff;font-size:.86rem}.public-geek-side h2 i,.public-geek-recent>i{color:#35deff}.public-geek-recent{display:flex;gap:.45rem;padding:.43rem 0;border-bottom:1px solid rgba(46,99,151,.28);color:#dceafe;text-decoration:none}.public-geek-recent span{display:grid;min-width:0}.public-geek-recent strong{overflow:hidden;color:#eff7ff;font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.public-geek-recent small{color:#8da9c8;font-size:.58rem}.public-geek-popular-tags{display:flex;flex-wrap:wrap;gap:.32rem}.public-geek-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem;margin:0}.public-geek-stats div{padding:.42rem .25rem;border-radius:7px;background:rgba(8,40,76,.72);text-align:center}.public-geek-stats dt{color:#8ea9c7;font-size:.56rem}.public-geek-stats dd{margin:.18rem 0 0;color:#45e2ff;font-size:.95rem;font-weight:900}@media(max-width:1220px){.public-geek-categories{grid-template-columns:repeat(4,minmax(0,1fr))}.public-geek-resource-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:940px){.public-geek-layout{grid-template-columns:1fr}.public-geek-side{grid-template-columns:repeat(3,minmax(0,1fr)}.public-geek-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-geek-filter{grid-template-columns:minmax(200px,1fr) repeat(3,minmax(130px,1fr)) auto auto}}@media(max-width:680px){.public-geek-library{width:calc(100% - 24px);margin-top:.7rem}.public-geek-hero{min-height:230px;padding:1rem;background-position:59% center}.public-geek-categories{display:flex;overflow-x:auto}.public-geek-category{flex:0 0 145px}.public-geek-filter{grid-template-columns:1fr 1fr}.public-geek-search{grid-column:1/-1}.public-geek-resource-grid{grid-template-columns:1fr}.public-geek-resource-card{grid-template-columns:105px minmax(0,1fr)}.public-geek-side{grid-template-columns:1fr}}

/* Las páginas públicas reutilizan el marco y el gutter del header de Inicio. */
.page-shell:has(.public-roadmap-library),.page-shell:has(.article-page),.page-shell:has(.articles-page){width:100%;max-width:none;padding-bottom:3rem}body:has(.public-roadmap-library) .landing-v2-header,body:has(.article-page) .landing-v2-header,body:has(.articles-page) .landing-v2-header,body:has(.public-geek-library) .landing-v2-header{width:calc(100% - 2 * var(--v2-page-gutter));margin:var(--v2-page-gutter) auto 0;border:1px solid rgba(64,129,224,.46);border-radius:17px}.public-roadmap-library{width:calc(100% - 2 * var(--v2-page-gutter));max-width:1420px;margin:var(--v2-section-gap) auto 4rem}
/* Roadmap público: réplica del centro editorial, sin herramientas privadas. */
.public-roadmap-library{width:min(1500px,calc(100% - 2.7rem));margin:0 auto;padding:1.35rem 0 3.5rem;color:#d9e9f8}.public-roadmap-hero{display:flex;align-items:flex-end;min-height:238px;padding:1.25rem 1.45rem;border:1px solid rgba(43,183,247,.44);border-radius:16px;background:linear-gradient(90deg,rgba(3,12,28,.72),rgba(3,12,28,.5) 36%,rgba(3,12,28,.12) 72%,rgba(3,12,28,.04)),url("/static/img/brand/roadmap-evolution-path.9289dd26de64.png") center 69%/cover}.public-roadmap-hero-copy{max-width:720px;text-shadow:0 2px 8px #000}.public-roadmap-breadcrumb{display:flex;gap:.42rem;margin:0 0 .45rem;color:#b8d0e7;font-size:.72rem}.public-roadmap-breadcrumb a{color:#51e0fa;text-decoration:none}.public-roadmap-hero h1{margin:0;color:#f4faff;font-size:clamp(1.5rem,2.5vw,2.2rem)}.public-roadmap-hero h1 i{margin-right:.55rem;color:#41daf8}.public-roadmap-hero p{max-width:680px;margin:.5rem 0 0;color:#e4efff;font-size:.83rem;line-height:1.45}.public-roadmap-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.65rem;margin:1rem 0 1.35rem}.public-roadmap-metrics article{display:flex;gap:.65rem;align-items:center;padding:.72rem;border:1px solid #17527e;border-radius:10px;background:linear-gradient(135deg,#081a31,#091a30)}.public-roadmap-metrics article>i{display:grid;place-items:center;flex:0 0 auto;width:37px;height:37px;border:1px solid currentColor;border-radius:9px;background:rgba(22,76,114,.25)}.public-roadmap-metrics strong,.public-roadmap-metrics span{display:block}.public-roadmap-metrics strong{color:#f1f9ff;font-size:1.14rem}.public-roadmap-metrics span{margin-top:.2rem;color:#a9bbce;font-size:.67rem}.public-roadmap-metrics .is-purple{color:#d36cff}.public-roadmap-metrics .is-cyan{color:#35e0f9}.public-roadmap-metrics .is-blue{color:#5fb6ff}.public-roadmap-metrics .is-green{color:#4ce5a3}.public-roadmap-metrics .is-magenta{color:#ee69f3}.public-roadmap-layout{display:grid;grid-template-columns:minmax(0,1fr) 286px;gap:1rem}.public-roadmap-head{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:.5rem;align-items:center;margin-bottom:.8rem}.public-roadmap-head h2,.public-roadmap-side h2,.public-roadmap-series-section h2{margin:0;color:#f7fbff;font-size:1.08rem}.public-roadmap-head h2 b,.public-roadmap-series-section h2 b{display:inline-grid;place-items:center;min-width:23px;height:23px;margin-left:.35rem;border-radius:50%;background:#173c60;color:#d5efff;font-size:.68rem}.public-roadmap-filters{display:flex;min-width:0;gap:.35rem;align-items:center;justify-content:flex-end}.public-roadmap-search{display:flex;align-items:center;gap:.48rem;flex:1 1 150px;max-width:230px;height:36px;padding:0 .7rem;border:1px solid #185784;border-radius:9px;background:#07182d}.public-roadmap-search i{color:#4bdcf8}.public-roadmap-search input{width:100%;min-width:0;border:0!important;background:transparent!important;color:#edf8ff!important;font-size:.7rem;box-shadow:none!important}.public-roadmap-filters select{height:36px;min-width:0;max-width:124px;padding:.25rem .45rem;border:1px solid #1b527e;border-radius:8px;background:#091b34;color:#bed0e2;font-size:.67rem}.public-roadmap-filter-button,.public-roadmap-view-button{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border:1px solid #1b527e;border-radius:8px;background:#091b34;color:#a7d6ed;text-decoration:none}.public-roadmap-view-button.is-active{border-color:#45dff8;background:linear-gradient(135deg,#113e6e,#382067);color:#fff}.public-roadmap-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.public-roadmap-category-card{position:relative;min-width:0;overflow:hidden;border:1px solid #1a5b88;border-radius:12px;background:linear-gradient(145deg,#07172c,#091d35)}.public-roadmap-category-open{position:absolute;z-index:1;inset:0}.public-roadmap-category-card>header{position:relative;z-index:2;display:flex;align-items:center;min-height:94px;padding:.75rem;border-bottom:1px solid rgba(38,101,146,.6);background:radial-gradient(circle at 70% 20%,rgba(192,54,255,.38),transparent 40%),linear-gradient(135deg,#111752,#06182c);pointer-events:none}.public-roadmap-category-card>header>i{color:rgba(56,216,248,.6);font-size:3.1rem}.public-roadmap-category-state{position:absolute;bottom:.6rem;left:.65rem;padding:.2rem .42rem;border:1px solid #27d995;border-radius:999px;background:rgba(28,165,109,.13);color:#6eeebb;font-size:.59rem}.public-roadmap-category-card>div{position:relative;z-index:2;padding:.75rem;pointer-events:none}.public-roadmap-category-card h3{margin:0;overflow:hidden;color:#f3f9ff;font-size:.9rem;text-overflow:ellipsis;white-space:nowrap}.public-roadmap-category-card p{min-height:31px;margin:.35rem 0;color:#9cb2ca;font-size:.65rem;line-height:1.36}.public-roadmap-category-card section{display:grid;grid-template-columns:1fr auto;gap:.3rem;color:#c2d3e4;font-size:.62rem}.public-roadmap-category-card section>i{grid-column:1/-1;display:block;height:7px;overflow:hidden;border-radius:8px;background:#122d4b}.public-roadmap-category-card section>i>i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#28dff8,#4e71ff,#d33beb)}.public-roadmap-category-card footer{display:flex;gap:.58rem;margin-top:.68rem;padding-top:.55rem;border-top:1px solid rgba(48,103,145,.4);color:#a9c1d6;font-size:.6rem}.public-roadmap-category-card footer i{color:#44dff6}.public-roadmap-empty{grid-column:1/-1;padding:2rem;border:1px dashed #2b658c;border-radius:12px;color:#aac0d3;text-align:center}.public-roadmap-series-section{margin-top:1.3rem;padding-top:1rem;border-top:1px solid rgba(42,104,148,.42)}.public-roadmap-series-section>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.public-roadmap-series-section p{margin:.3rem 0 .75rem;color:#9cb2ca;font-size:.7rem}.public-roadmap-series-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.public-roadmap-series-card{position:relative;min-height:146px;padding:.8rem;border:1px solid #1b527e;border-radius:10px;background:linear-gradient(145deg,#07172c,#091b34)}.public-roadmap-series-card>a{position:absolute;inset:0;z-index:2}.public-roadmap-series-card>i{color:#44dff6;font-size:1.25rem}.public-roadmap-series-card>span{display:block;margin-top:.3rem;color:#71daf7;font-size:.62rem}.public-roadmap-series-card h3{margin:.3rem 0;color:#effaff;font-size:.81rem}.public-roadmap-series-card p{min-height:34px;margin:0;color:#9cb2ca;font-size:.64rem}.public-roadmap-series-card footer{display:flex;justify-content:space-between;margin-top:.65rem;color:#9ec0d9;font-size:.61rem}.public-roadmap-series-card footer em{color:#51def7;font-style:normal}.public-roadmap-side{display:grid;align-content:start;gap:.8rem}.public-roadmap-side section{padding:.85rem;border:1px solid #17527e;border-radius:11px;background:linear-gradient(145deg,#07172c,#091a2f)}.public-roadmap-side h2{display:flex;gap:.45rem;align-items:center;font-size:.82rem}.public-roadmap-side h2 i{color:#38def7}.public-roadmap-side section>a{display:grid;grid-template-columns:26px minmax(0,1fr) 10px;gap:.42rem;align-items:center;padding:.62rem 0;border-bottom:1px solid rgba(37,90,129,.4);color:inherit;text-decoration:none}.public-roadmap-side section b,.public-roadmap-side section small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.public-roadmap-side section b{color:#edf8ff;font-size:.68rem}.public-roadmap-side section small{margin-top:.16rem;color:#94acc3;font-size:.57rem}.public-roadmap-tags{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.7rem}.public-roadmap-tags a{padding:.32rem .5rem;border:1px solid #2c78a7;border-radius:6px;background:#0b243e;color:#e2f2ff;text-decoration:none;font-size:.62rem}.public-roadmap-tags b{color:#75def5}.public-roadmap-statistics dl{margin:.45rem 0 0}.public-roadmap-statistics dl div{display:flex;align-items:center;justify-content:space-between;padding:.43rem 0;border-bottom:1px solid rgba(43,102,144,.38)}.public-roadmap-statistics dt{color:#9db7cf;font-size:.66rem}.public-roadmap-statistics dd{margin:0;color:#e7f5ff;font-size:.73rem}.public-roadmap-category-grid.is-list{grid-template-columns:1fr}.public-roadmap-category-grid.is-list .public-roadmap-category-card{display:grid;grid-template-columns:180px minmax(0,1fr);min-height:150px}.public-roadmap-category-grid.is-list .public-roadmap-category-card>header{min-height:100%;border-right:1px solid rgba(38,101,146,.6);border-bottom:0}.public-roadmap-series-grid.is-list{grid-template-columns:1fr}@media(max-width:1280px){.public-roadmap-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.public-roadmap-category-grid,.public-roadmap-series-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-roadmap-head{grid-template-columns:1fr}.public-roadmap-filters{justify-content:flex-start}}@media(max-width:980px){.public-roadmap-library{width:min(100% - 1.5rem,1500px)}.public-roadmap-layout{grid-template-columns:1fr}.public-roadmap-side{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.public-roadmap-library{width:min(100% - 1rem,1500px);padding-top:.75rem}.public-roadmap-hero{min-height:205px;padding:1rem;background-position:58% center}.public-roadmap-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.public-roadmap-metrics article{padding:.55rem}.public-roadmap-filters{width:100%;flex-wrap:wrap}.public-roadmap-search{flex:1 1 170px;max-width:none}.public-roadmap-filters select{flex:1 1 120px;max-width:none}.public-roadmap-category-grid,.public-roadmap-series-grid,.public-roadmap-side{grid-template-columns:1fr}.public-roadmap-category-grid.is-list .public-roadmap-category-card{grid-template-columns:110px minmax(0,1fr)}.public-roadmap-category-card footer{flex-wrap:wrap}.public-roadmap-series-section>div:first-child{display:block}}
