/* =========================================================
   LEGACY TRADERS GROUP — Estilos propios de cada página
   ========================================================= */
/* ---------- Hero ---------- */
.hero {
  position: relative; min-height: 100svh; display: flex; align-items: center;
  padding: calc(var(--header-h) + 3rem) 0 4rem; overflow: hidden;
  background: radial-gradient(ellipse at 80% 30%, #2A2210 0%, var(--tinta) 60%);
}
.hero__chart { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .55; }
.hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--tinta) 15%, rgba(11,11,11,.55) 55%, rgba(11,11,11,.05)); pointer-events: none; }
.hero__inner { position: relative; z-index: 1; }
.hero__kicker { color: var(--oro); font-weight: 600; margin-bottom: 1.2rem; }
.hero h1 { font-size: clamp(2.4rem, 5.2vw, 4.6rem); max-width: 14ch; letter-spacing: -.02em; font-weight: 600; }
.hero__lead { max-width: 52ch; color: var(--texto-suave); font-size: 1.15rem; margin-bottom: 2rem; }
.hero__cta { display: flex; flex-wrap: wrap; gap: .8rem; margin-bottom: 3.5rem; }
.hero__facts { display: flex; flex-wrap: wrap; gap: 2.5rem; margin: 0; }
.hero__facts div { border-left: 2px solid var(--oro); padding-left: 1rem; }
.hero__facts dt { font-size: .85rem; color: var(--texto-suave); order: 2; }
.hero__facts dd { margin: 0; font-family: var(--serif); font-size: 2.2rem; color: #fff; line-height: 1.1; }
.hero__facts dd::before { content: "+"; color: var(--oro); }
.hero__facts div { display: flex; flex-direction: column-reverse; }

/* ---------- Página legal ---------- */
.legal { padding: calc(var(--header-h) + 3rem) 0 5rem; }
.legal h1 { font-size: clamp(2.2rem, 5vw, 3.4rem); }
.legal h2 { font-size: 1.8rem; margin-top: 3rem; }
.legal p, .legal li { color: var(--texto-suave); max-width: 70ch; }
.legal ul { list-style: disc; padding-left: 1.2rem; display: grid; gap: .4rem; margin-bottom: 1em; }
.header--solid { background: rgba(8, 8, 8, .96); border-color: var(--linea); }

/* ---------- Encabezado de páginas internas ---------- */
.page-hero { padding: calc(var(--header-h) + 3.5rem) 0 3.5rem; background: radial-gradient(ellipse at 85% 0%, #2A2210 0%, var(--tinta) 65%); border-bottom: 1px solid var(--linea); }
.page-hero h1 { font-size: clamp(2.4rem, 5.4vw, 4.2rem); max-width: 18ch; letter-spacing: -.015em; }
.page-hero p { color: var(--texto-suave); font-size: 1.15rem; max-width: 58ch; margin: 0; }
.crumbs ol { display: flex; flex-wrap: wrap; gap: .4rem; font-size: .85rem; color: var(--texto-suave); margin-bottom: 1.5rem; }
.crumbs li + li::before { content: "/"; margin-right: .4rem; color: var(--linea); }
.crumbs a { color: var(--texto-suave); text-decoration: none; }
.crumbs a:hover { color: #fff; }
.crumbs [aria-current] { color: var(--oro-claro); }
.section__more { margin-top: 2.5rem; text-align: center; }


/* ---------- Blog ---------- */
.posts { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1.5rem; }
.post-card { border: 1px solid var(--linea); border-radius: var(--radio-m); padding: 1.8rem; background: var(--tinta-2); display: flex; flex-direction: column; }
.post-card time { font-size: .85rem; color: var(--texto-suave); }
.post-card h2 { font-size: 1.5rem; margin: .5rem 0 .8rem; }
.post-card h2 a { color: #fff; text-decoration: none; }
.post-card h2 a:hover { color: var(--oro-claro); }
.post-card p { color: var(--texto-suave); flex: 1; }
.article { font-size: 1.1rem; }
.article h2 { font-size: 1.8rem; margin-top: 2.5rem; }
.article p, .article li { color: #D6D4CE; line-height: 1.8; }
.article ul { list-style: disc; padding-left: 1.3rem; display: grid; gap: .5rem; margin-bottom: 1.2em; }
.article__meta { color: var(--texto-suave); font-size: .9rem; margin-top: 1rem; }
.article__cta { margin-top: 3rem; padding: 2rem; border: 1px solid var(--oro); border-radius: var(--radio-m); }
.article__cta h2 { margin-top: 0; font-size: 1.5rem; }
.notfound { text-align: center; min-height: 80vh; display: grid; place-content: center; }
.notfound p { margin-inline: auto; }


.hero h1 .oro { background: var(--degradado-oro); -webkit-background-clip: text; background-clip: text; color: transparent; font-style: italic; }
.hero__kicker { letter-spacing: .14em; text-transform: uppercase; font-size: .85rem; }
.hero__logo { width: clamp(120px, 14vw, 170px); height: auto; margin-bottom: 1.5rem; }
.notfound .footer__logo { margin: 0 auto 1rem; }

/* ---------- Sobre nosotros ---------- */
.eyebrow { color: var(--oro); font-weight: 700; font-size: .8rem; letter-spacing: .16em; text-transform: uppercase; margin-bottom: .8rem; }
.section--light .eyebrow { color: var(--oro-oscuro); }
.about-emblem { display: grid; place-items: center; padding: clamp(1rem, 4vw, 3rem); border: 1px solid var(--linea); border-radius: var(--radio-m); background: radial-gradient(circle at 50% 40%, #1d1708 0%, var(--tinta-3) 70%); }
.about-emblem img { width: min(100%, 420px); height: auto; }

.purpose { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
.purpose article { border: 1px solid var(--linea); border-top: 2px solid var(--oro); border-radius: var(--radio-m); padding: clamp(1.5rem, 3vw, 2.4rem); background: var(--tinta-2); }
.purpose h3 { font-size: clamp(1.35rem, 2.4vw, 1.7rem); }
.purpose p:last-child { color: var(--texto-suave); margin: 0; }

.stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin: 2.5rem 0 0; background: var(--linea); border: 1px solid var(--linea); border-radius: var(--radio-m); overflow: hidden; }
.stats div { background: var(--tinta-3); padding: 1.6rem 1.2rem; display: flex; flex-direction: column-reverse; text-align: center; }
.stats dd { margin: 0; font-family: var(--serif); font-size: clamp(2rem, 4vw, 2.8rem); line-height: 1.1; background: var(--degradado-oro); -webkit-background-clip: text; background-clip: text; color: transparent; }
.stats dd::before { content: "+"; }
.stats dt { color: var(--texto-suave); font-size: .88rem; }

.team { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; }
.mentor { display: flex; flex-direction: column; background: var(--tinta-2); border: 1px solid var(--linea); border-radius: var(--radio-m); overflow: hidden; transition: border-color .25s, transform .25s; }
.mentor:hover { border-color: var(--oro); transform: translateY(-4px); }
.mentor__photo { aspect-ratio: 4 / 5; background: #000; overflow: hidden; position: relative; }
.mentor__photo::after { content: ""; position: absolute; inset: auto 0 0; height: 35%; background: linear-gradient(transparent, var(--tinta-2)); }
.mentor__photo img { width: 100%; height: 100%; object-fit: cover; object-position: top center; transition: transform .4s; }
.mentor:hover .mentor__photo img { transform: scale(1.04); }
.mentor__body { padding: 1.2rem 1.4rem 1.5rem; display: flex; flex-direction: column; flex: 1; }
.mentor__body h3 { margin-bottom: .2rem; }
.mentor__role { color: var(--oro); font-weight: 600; font-size: .9rem; margin-bottom: .8rem; }
.mentor__body > p:not(.mentor__role) { color: var(--texto-suave); font-size: .93rem; }
.mentor__body .btn { margin-top: auto; }

.values { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem 2.5rem; margin-top: 2.5rem; }
.values li { border-top: 1px solid #D8D2C2; padding-top: 1.2rem; }
.values h3 { font-size: 1.25rem; }
.values h3::before { content: ""; display: inline-block; width: 8px; height: 8px; background: var(--oro); transform: rotate(45deg); margin: 0 .7rem .2rem 0; }
.values p { color: #55524A; margin: 0; }

@media (prefers-reduced-motion: reduce) { .mentor:hover, .mentor:hover .mentor__photo img { transform: none; } }
