/* ===================================================================
   MENTALIDADE HUNTER — hunter.css
   Page-specific styles. Base tokens/components from styles.css +
   temporada.css (flow, mode-rail, chip-grid, crit-block, etc).
   =================================================================== */

/* —— Hero —— */
.hn-hero h1 { font-size: clamp(27px, 8vw, 40px); line-height: 1.02; letter-spacing: -.01em; }
.hn-hero h1 .l { display: block; }
.hn-hero h1 .l:last-child { color: var(--accent); margin-top: 4px; }
.hn-hero { background: radial-gradient(130% 95% at 50% -5%, #1a1614, #0b0b0d 62%); }

/* —— Wolf motif (símbolo da mentalidade, contido) —— */
.hn-wolf { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -54%); width: 340px; height: 340px; color: var(--accent); opacity: .07; pointer-events: none; z-index: 1; }
.hn-wolf svg { width: 100%; height: 100%; }
.hn-wolf.fc { width: 300px; height: 300px; opacity: .06; transform: translate(-50%, -52%); }
.hn-hero .hero-inner, .final-cta .fc-inner { position: relative; z-index: 2; }

/* —— Card grid (O que é · Pilares) —— */
.hn-card-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }
.hn-card { position: relative; background: var(--graphite); border: 1px solid var(--line); border-radius: 16px; padding: 16px 15px 15px; overflow: hidden; transition: border-color .22s, transform .22s; }
.hn-card:hover { border-color: var(--accent); transform: translateY(-3px); }
.hn-card::after { content: ""; position: absolute; left: 0; top: 0; width: 3px; height: 100%; background: linear-gradient(var(--accent), transparent); opacity: .55; }
.hn-card .hc-ico { width: 38px; height: 38px; border-radius: 11px; display: grid; place-items: center; background: rgba(224,168,46,.12); border: 1px solid rgba(224,168,46,.28); color: var(--accent); margin-bottom: 11px; }
.hn-card .hc-ico svg { width: 20px; height: 20px; }
.hn-card h3 { font-family: var(--font-display); font-weight: 400; font-size: 18px; letter-spacing: .01em; text-transform: uppercase; color: var(--txt); margin: 0 0 5px; line-height: 1.02; }
.hn-card p { font-size: 11.5px; line-height: 1.45; color: var(--txt-dim); margin: 0; text-wrap: pretty; }

/* —— Trilha Hunter (etapas verticais com conector) —— */
.trilha { display: flex; flex-direction: column; gap: 0; position: relative; }
.trilha .tr-step { display: flex; align-items: center; gap: 13px; padding: 4px 0; }
.trilha .tr-rail { flex: 0 0 36px; display: flex; flex-direction: column; align-items: center; align-self: stretch; }
.trilha .tr-dot { width: 36px; height: 36px; border-radius: 50%; flex: 0 0 36px; display: grid; place-items: center; background: var(--graphite); border: 1.5px solid var(--line); color: var(--txt-dim); font-family: var(--font-display); font-size: 15px; transition: all .22s; }
.trilha .tr-line { flex: 1; width: 2px; background: linear-gradient(var(--line), var(--line)); min-height: 18px; }
.trilha .tr-body { flex: 1; background: var(--graphite); border: 1px solid var(--line); border-radius: 13px; padding: 13px 16px; margin: 5px 0; transition: border-color .22s, transform .22s; }
.trilha .tr-body b { font-family: var(--font-display); font-weight: 400; font-size: 19px; letter-spacing: .01em; text-transform: uppercase; color: var(--txt); }
.trilha .tr-body span { display: block; font-family: var(--font-cond); font-weight: 600; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--txt-faint); margin-top: 2px; }
.trilha .tr-step:hover .tr-body { border-color: var(--accent); transform: translateX(3px); }
.trilha .tr-step:hover .tr-dot { border-color: var(--accent); color: var(--accent); }
/* etapa final (Legend) em destaque dourado */
.trilha .tr-step.peak .tr-dot { background: var(--accent); border-color: var(--accent); color: #0a0a0a; box-shadow: 0 0 0 4px rgba(224,168,46,.16); }
.trilha .tr-step.peak .tr-body { background: linear-gradient(120deg, rgba(224,168,46,.2), var(--graphite)); border-color: rgba(224,168,46,.45); }
.trilha .tr-step.peak .tr-body b { color: var(--gold-bright); }

/* —— Benefícios (o que o atleta ganha) —— */
.hn-benef { display: flex; flex-direction: column; gap: 9px; }
.hn-benef .bn-row { display: flex; align-items: center; gap: 12px; background: var(--graphite); border: 1px solid var(--line); border-radius: 13px; padding: 14px 16px; transition: border-color .22s, transform .22s; }
.hn-benef .bn-row:hover { border-color: var(--accent); transform: translateX(3px); }
.hn-benef .bn-ic { flex: 0 0 22px; width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; background: rgba(224,168,46,.14); color: var(--accent); }
.hn-benef .bn-ic svg { width: 13px; height: 13px; }
.hn-benef .bn-row span { font-family: var(--font-cond); font-weight: 600; font-size: 14px; line-height: 1.3; color: var(--sand); }

@media (max-width: 360px) {
  .hn-card-grid { grid-template-columns: 1fr; }
}

/* —— Prose (parágrafos de manifesto) —— */
.hn-prose p { font-size: 14.5px; line-height: 1.62; color: var(--sand); margin: 0 0 12px; text-wrap: pretty; }
.hn-prose p:last-child { margin-bottom: 0; }
.hn-prose p:first-child { color: var(--txt); font-family: var(--font-cond); font-weight: 600; font-size: 16px; }

/* —— Manifesto (frase de destaque entre aspas) —— */
.hn-manifesto { position: relative; margin-top: 18px; padding: 20px 22px; border-radius: 16px; background: linear-gradient(150deg, rgba(224,168,46,.14), var(--graphite)); border: 1px solid rgba(224,168,46,.32); border-left: 3px solid var(--accent); font-family: var(--font-display); font-weight: 400; font-size: clamp(19px, 5.6vw, 24px); line-height: 1.18; letter-spacing: .005em; text-transform: uppercase; color: var(--gold-bright); text-wrap: balance; }
.hn-manifesto .mf-mark { color: rgba(224,168,46,.45); font-size: 1.1em; line-height: 0; }

/* —— Foe / item grid (a primeira vitória · excelência) —— */
.hn-foe-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 4px; }
.hn-foe-grid .foe { display: flex; align-items: center; gap: 9px; background: var(--graphite); border: 1px solid var(--line); border-radius: 12px; padding: 12px 13px; font-family: var(--font-cond); font-weight: 600; font-size: 13px; color: var(--sand); }
.hn-foe-grid .foe .x { flex: 0 0 19px; width: 19px; height: 19px; border-radius: 50%; display: grid; place-items: center; font-size: 11px; background: rgba(214,90,74,.16); color: var(--neg); }
.hn-foe-grid .foe.ok .x { background: rgba(224,168,46,.16); color: var(--accent); }

/* —— O Código Hunter (8 princípios) —— */
.hn-codigo { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 4px; }
.cod-card { position: relative; background: var(--graphite); border: 1px solid var(--line); border-radius: 15px; padding: 16px 15px 15px; overflow: hidden; transition: border-color .22s, transform .22s; }
.cod-card:hover { border-color: var(--accent); transform: translateY(-3px); }
.cod-card .cod-no { display: block; font-family: var(--font-display); font-weight: 400; font-size: 30px; line-height: 1; color: rgba(224,168,46,.5); margin-bottom: 9px; }
.cod-card p { font-family: var(--font-cond); font-weight: 600; font-size: 13.5px; line-height: 1.32; color: var(--txt); margin: 0; text-wrap: pretty; }
.cod-card::after { content: ""; position: absolute; right: -16px; bottom: -16px; width: 52px; height: 52px; border-radius: 50%; background: radial-gradient(circle, rgba(224,168,46,.1), transparent 70%); }
@media (max-width: 360px) { .hn-codigo, .hn-foe-grid { grid-template-columns: 1fr; } }
