/* ═══ INTRO ═══ */
.section-intro { padding:4.5rem 3rem 3rem; }
.intro-cols { display:grid; grid-template-columns:1.4fr 1fr; gap:4rem; align-items:center; max-width:var(--max-w); margin:0 auto; }
.intro-lead { font-size:1.2rem; color:var(--text); line-height:1.75; margin-bottom:1.2rem; }
.intro-lead strong { color:var(--accent); }
.intro-col-text p { color:var(--text-dim); line-height:1.85; font-size:0.95rem; }
.intro-col-numbers { display:grid; gap:1.25rem; }
.intro-num { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius-md); padding:1.5rem 1.8rem; display:flex; align-items:baseline; gap:1rem; transition:border-color 0.3s, transform 0.3s var(--ease); }
.intro-num:hover { border-color:var(--border-accent); transform:translateX(6px); }
.intro-num span { font-family:var(--font-mono); font-size:1.8rem; font-weight:500; color:var(--accent); }
.intro-num small { font-size:0.82rem; color:var(--text-dim); }

/* ═══ SECTION-DARK ═══ */
.section-dark { background:var(--bg-card); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }

/* ═══ MAPA ═══ */
.mapa-wrapper { display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:start; }
.chip-heading { font-family:var(--font-display); font-size:1.4rem; margin-bottom:1.5rem; }
.estados-grid-compact { display:grid; grid-template-columns:repeat(auto-fill, minmax(78px,1fr)); gap:5px; }
.uf-chip { background:var(--bg); border:1px solid var(--border); border-radius:8px; padding:0.55rem 0.35rem; text-align:center; cursor:pointer; transition:all 0.25s var(--ease); display:block; }
.uf-chip:hover { border-color:var(--accent); background:var(--accent-subtle); transform:translateY(-2px); }
.uf-sigla { font-family:var(--font-mono); font-size:0.95rem; font-weight:600; color:var(--accent); display:block; }
.uf-nome { font-size:0.58rem; color:var(--text-dim); display:block; margin-top:1px; line-height:1.15; }
.mapa-container { position:relative; width:100%; aspect-ratio:1/1.02; max-width:540px; margin:0 auto; padding:0.8rem; border-radius:var(--radius-xl); background:radial-gradient(circle at 50% 38%, rgba(205,163,73,0.07), rgba(205,163,73,0.015) 35%, transparent 70%); }
.mapa-container svg { display:block; width:100%; height:100%; overflow:visible; }
.mapa-container .estado { fill:rgba(22,22,30,0.95); stroke:rgba(205,163,73,0.15); stroke-width:1.2; vector-effect:non-scaling-stroke; cursor:pointer; transition:fill 0.2s, stroke 0.2s, filter 0.2s; filter:drop-shadow(0 0 1px rgba(205,163,73,0.12)); }
.mapa-container .estado:hover, .mapa-container .estado.ativo { fill:rgba(205,163,73,0.12); stroke:var(--accent); filter:drop-shadow(0 0 3px rgba(205,163,73,0.5)) drop-shadow(0 0 12px rgba(205,163,73,0.18)); }
.mapa-tooltip { position:absolute; background:rgba(8,8,11,0.94); border:1px solid rgba(205,163,73,0.4); border-radius:8px; padding:0.5rem 0.85rem; font-size:0.78rem; font-weight:600; color:var(--accent); pointer-events:none; opacity:0; transform:translateY(4px); transition:opacity 0.15s, transform 0.15s; white-space:nowrap; z-index:10; backdrop-filter:blur(8px); }
.mapa-tooltip.visible { opacity:1; transform:translateY(0); }

/* ═══ CIDADES DESTAQUE ═══ */
.destaque-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; }
.destaque-card { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius-lg); padding:2.5rem 2rem; transition:all 0.4s var(--ease); cursor:pointer; display:block; position:relative; overflow:hidden; }
.destaque-card::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(90deg, var(--accent), var(--accent2)); transform:scaleX(0); transform-origin:left; transition:transform 0.5s var(--ease); }
.destaque-card:hover::before { transform:scaleX(1); }
.destaque-card:hover { border-color:var(--border-accent); transform:translateY(-4px); box-shadow:var(--shadow-hover); }
.destaque-card.destaque-featured { grid-column:span 2; background:linear-gradient(135deg, var(--bg-card) 0%, rgba(205,163,73,0.03) 100%); }
.destaque-header { display:flex; align-items:center; gap:0.75rem; margin-bottom:1rem; }
.destaque-uf { font-family:var(--font-mono); font-size:0.78rem; font-weight:700; color:var(--accent); background:var(--accent-subtle); border:1px solid var(--border-accent); padding:0.3rem 0.65rem; border-radius:6px; }
.destaque-badge { font-size:0.65rem; font-weight:600; color:var(--accent); letter-spacing:0.06em; text-transform:uppercase; }
.destaque-card h3 { font-family:var(--font-display); font-size:1.5rem; margin-bottom:0.6rem; }
.destaque-card p { color:var(--text-dim); font-size:0.88rem; line-height:1.7; }

/* ═══ SALARY INSIGHT ═══ */
.salary-insight { display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; margin-top:2rem; }
.insight-card { background:var(--bg); border:1px solid var(--border); border-radius:var(--radius-md); padding:1.8rem; transition:border-color 0.3s; }
.insight-card:hover { border-color:var(--border-accent); }
.insight-card h4 { font-family:var(--font-display); font-size:1.15rem; margin-bottom:0.5rem; }
.insight-card p { color:var(--text-dim); font-size:0.85rem; line-height:1.7; }

/* ═══ SALARY TICKER ═══ */
.salary-ticker-wrap { overflow:hidden; padding:2rem 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); background:var(--bg); }
.salary-ticker { display:flex; gap:1.5rem; animation:scroll 28s linear infinite; width:max-content; }
.salary-chip { display:flex; align-items:center; gap:0.8rem; padding:0.8rem 1.5rem; background:var(--bg-card); border:1px solid var(--border); border-radius:100px; white-space:nowrap; flex-shrink:0; }
.salary-chip strong { font-family:var(--font-mono); color:var(--accent); font-size:0.92rem; }
.salary-chip span { color:var(--text-dim); font-size:0.78rem; }

/* ═══ BANCAS ═══ */
.bancas-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.25rem; }
.banca-card { background:var(--bg); border:1px solid var(--border); border-radius:var(--radius-lg); padding:2.2rem; transition:all 0.35s var(--ease); position:relative; overflow:hidden; }
.banca-card:hover { border-color:var(--border-accent); transform:translateY(-3px); }
.banca-card.banca-featured { grid-column:span 2; background:linear-gradient(135deg, var(--bg) 0%, rgba(205,163,73,0.03) 100%); border-color:var(--border-accent); }
.banca-tag { display:inline-block; font-size:0.65rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:var(--accent); background:var(--accent-subtle); border:1px solid var(--border-accent); padding:0.25rem 0.6rem; border-radius:100px; margin-bottom:1rem; }
.banca-card h3 { font-family:var(--font-display); font-size:1.5rem; margin-bottom:0.6rem; }
.banca-card p { color:var(--text-dim); font-size:0.88rem; line-height:1.75; }
.banca-card p strong { color:var(--text); }
.banca-meta { display:flex; gap:0.5rem; margin-top:1.2rem; flex-wrap:wrap; }
.banca-meta span { font-size:0.68rem; font-weight:600; letter-spacing:0.04em; text-transform:uppercase; padding:0.2rem 0.6rem; border-radius:100px; background:var(--accent-subtle); color:var(--accent); border:1px solid var(--border-accent); }

/* ═══ REDAÇÃO ═══ */
.redacao-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; }
.redacao-card { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius-lg); padding:2.2rem; transition:all 0.35s var(--ease); }
.redacao-card:hover { border-color:var(--border-accent); }
.redacao-card.redacao-big { grid-column:span 2; }
.redacao-icon { width:44px; height:44px; border-radius:12px; background:var(--accent-subtle); border:1px solid var(--border-accent); display:flex; align-items:center; justify-content:center; font-size:1.2rem; margin-bottom:1.2rem; }
.redacao-card h3 { font-family:var(--font-display); font-size:1.4rem; margin-bottom:0.5rem; }
.redacao-card p { color:var(--text-dim); font-size:0.88rem; line-height:1.75; }
.redacao-alert { margin-top:1rem; padding:0.9rem 1.2rem; background:rgba(205,163,73,0.04); border:1px solid var(--border-accent); border-radius:var(--radius-sm); font-size:0.78rem; color:var(--accent); line-height:1.6; }

/* ═══ GUIA TIMELINE ═══ */
.guia-timeline { display:grid; grid-template-columns:repeat(2,1fr); gap:1.25rem; }
.guia-step { display:flex; gap:1.5rem; background:var(--bg); border:1px solid var(--border); border-radius:var(--radius-lg); padding:2rem; transition:all 0.35s var(--ease); }
.guia-step:hover { border-color:var(--border-accent); transform:translateY(-2px); }
.guia-step-num { font-family:var(--font-mono); font-size:2.5rem; font-weight:500; color:rgba(205,163,73,0.12); line-height:1; flex-shrink:0; }
.guia-step-content h3 { font-family:var(--font-display); font-size:1.3rem; margin-bottom:0.4rem; }
.guia-step-content p { color:var(--text-dim); font-size:0.85rem; line-height:1.75; }

/* COUNTDOWN */
.guia-countdown { display:flex; align-items:center; justify-content:center; gap:1.5rem; margin-top:2.5rem; padding:2rem; background:var(--bg); border:1px solid var(--border); border-radius:var(--radius-lg); }
.countdown-item { text-align:center; }
.countdown-days { font-family:var(--font-mono); font-size:1.5rem; font-weight:600; color:var(--accent); display:block; }
.countdown-item p { color:var(--text-dim); font-size:0.78rem; margin-top:0.3rem; line-height:1.4; max-width:200px; }
.countdown-sep { font-family:var(--font-mono); font-size:1.2rem; color:var(--accent-dim); }

/* ═══ CARREIRAS ═══ */
.carreiras-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.25rem; }
.carreira-card { padding:2.2rem; border-radius:var(--radius-lg); border:1px solid var(--border); background:var(--bg-card); position:relative; overflow:hidden; transition:all 0.4s var(--ease); }
.carreira-card:hover { border-color:var(--border-accent); transform:translateY(-3px); }
.carreira-card.carreira-featured { grid-column:span 2; background:linear-gradient(135deg, var(--bg-card) 0%, rgba(205,163,73,0.03) 100%); border-color:var(--border-accent); }
.carreira-num { font-family:var(--font-mono); font-size:3.5rem; font-weight:500; color:rgba(205,163,73,0.06); position:absolute; top:-0.3rem; right:1.2rem; line-height:1; }
.carreira-tag { display:inline-block; font-size:0.65rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:var(--accent); background:var(--accent-subtle); border:1px solid var(--border-accent); padding:0.2rem 0.6rem; border-radius:100px; margin-bottom:0.8rem; }
.carreira-card h3 { font-family:var(--font-display); font-size:1.35rem; margin-bottom:0.6rem; line-height:1.2; }
.carreira-card p { color:var(--text-dim); font-size:0.88rem; line-height:1.75; }
.content-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(320px, 1fr)); gap:1.25rem; }
.content-card { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius-lg); padding:2.2rem 2rem; transition:all 0.35s var(--ease); position:relative; }
.content-card:hover { border-color:var(--border-accent); transform:translateY(-2px); }
.content-card h3 { font-family:var(--font-display); font-size:1.3rem; margin-bottom:0.6rem; line-height:1.2; }
.content-card p { color:var(--text-dim); font-size:0.88rem; line-height:1.75; }
.content-sub { margin-top:1.2rem; padding-top:1.2rem; border-top:1px solid var(--border); }
.content-sub h4 { font-family:var(--font-display); font-size:1.05rem; color:var(--accent); margin-bottom:0.4rem; }
.content-sub h4::before { content:'→ '; color:var(--accent-dim); }
.content-sub p { color:var(--text-dim); font-size:0.82rem; line-height:1.7; }

/* ═══ SUBSECTIONS ═══ */
.subsection-title { font-family:var(--font-display); font-size:1.4rem; margin-bottom:0.4rem; }
.subsection-desc { color:var(--text-dim); font-size:0.92rem; margin-bottom:1.5rem; line-height:1.7; }
.chip-heading { font-family:var(--font-display); font-size:1.4rem; margin-bottom:0.4rem; }
.chip-desc { color:var(--text-dim); font-size:0.88rem; margin-bottom:1.5rem; line-height:1.7; }

/* ═══ INTRO BLOCK ═══ */
.intro-block { max-width:860px; margin:0 auto; text-align:center; }
.intro-block p { color:var(--text-dim); text-align: justify; font-size:1.05rem; line-height:1.85; }

/* ═══ CONTENT SUB BLOCK (standalone) ═══ */
.content-sub-block { margin-top:2rem; padding:1.8rem; background:var(--bg-card); border:1px solid var(--border-accent); border-radius:var(--radius-md); }
.content-sub-block h4 { font-family:var(--font-display); font-size:1.1rem; color:var(--accent); margin-bottom:0.4rem; }
.content-sub-block p { color:var(--text-dim); font-size:0.88rem; line-height:1.7; }

/* ═══ GUIA SUB ═══ */
.guia-sub { display:block; margin-top:0.8rem; padding:0.8rem 1rem; background:rgba(205,163,73,0.04); border-left:2px solid var(--accent); border-radius:0 var(--radius-sm) var(--radius-sm) 0; font-size:0.8rem; color:var(--accent-dim); line-height:1.65; font-style:italic; }

/* ═══ RESPONSIVE ═══ */
@media (max-width:1024px) {
  .intro-cols { grid-template-columns:1fr; gap:2.5rem; }
  .mapa-wrapper { grid-template-columns:1fr; }
  .mapa-container { max-width:460px; }
  .destaque-card.destaque-featured { grid-column:span 1; }
  .bancas-grid { grid-template-columns:1fr; }
  .banca-card.banca-featured { grid-column:span 1; }
  .carreira-card.carreira-featured { grid-column:span 1; }
  .carreiras-grid { grid-template-columns:1fr; }
  .redacao-card.redacao-big { grid-column:span 1; }
  .guia-timeline { grid-template-columns:1fr; }
  .salary-insight { grid-template-columns:1fr; }
}
@media (max-width:768px) {
  .section-intro { padding:3rem 1.25rem 2rem; }
  .mapa-container { max-width:340px; padding:0.3rem; }
  .destaque-grid { grid-template-columns:1fr; }
  .redacao-grid { grid-template-columns:1fr; }
  .content-grid { grid-template-columns:1fr; }
  .estados-grid-compact { grid-template-columns:repeat(auto-fill, minmax(64px,1fr)); }
  .guia-countdown { flex-direction:column; gap:1rem; }
  .countdown-sep { transform:rotate(90deg); }
  .intro-num span { font-size:1.4rem; }
  .intro-block { text-align:left; }
}
