/* Talent Orbe · componentes compartilhados (início e páginas internas) */

/* Ilustrações */
.ill svg { width:100%; height:auto; display:block; border-radius:14px; box-shadow:0 10px 24px rgba(4,24,43,.16); }
.ill.lg svg { border-radius:22px; box-shadow:0 30px 60px rgba(4,24,43,.25); }

/* Fotografias (Unsplash, licença gratuita) */
.foto { position:relative; margin:0; border-radius:22px; overflow:hidden; box-shadow:0 30px 60px rgba(4,24,43,.25); aspect-ratio:4/3; background:#12304A; }
.foto img { width:100%; height:100%; object-fit:cover; display:block; }
.foto::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(4,24,43,0) 55%, rgba(4,24,43,.45)); pointer-events:none; }
.foto figcaption { position:absolute; right:12px; bottom:9px; z-index:2; font-size:10.5px; letter-spacing:.3px; color:rgba(255,255,255,.75); }
.foto .orb { position:absolute; inset:0; width:100%; height:100%; z-index:1; pointer-events:none; }

/* Cartões institucionais (sem preços) */
.ic-grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:22px; margin-top:40px; }
.ic { background:#fff; border:1px solid var(--line); border-radius:22px; padding:16px 18px 24px; display:flex; flex-direction:column; gap:12px; transition:transform .25s, box-shadow .25s; }
.ic:hover { transform:translateY(-3px); box-shadow:0 24px 48px rgba(4,24,43,.12); }
.ic .nome { font:700 12px Montserrat, sans-serif; letter-spacing:3px; color:var(--dusty); margin-top:4px; }
.ic h3 { font-size:20px; color:var(--deep); margin:0; }
.ic p { font-size:14.5px; color:var(--dusty); margin:0; line-height:1.55; }
.ic ul { list-style:none; display:grid; gap:8px; font-size:14px; color:var(--ink); margin:2px 0 0; padding:0; }
.ic li { display:flex; gap:10px; }
.ic li::before { content:""; flex:none; width:7px; height:7px; border-radius:50%; background:var(--sky); margin-top:8px; }
.acoes-c { margin-top:auto; padding-top:10px; display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.lnk { font-weight:600; font-size:14px; color:var(--deep); border-bottom:1px solid var(--sky); }
.ic.livre { border-top:3px solid #2E7D5B; }
.selo-g { align-self:flex-start; font-size:11px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:#2E7D5B; background:#E5F3EC; padding:4px 10px; border-radius:999px; }
.cv h3 { font-size:18px; color:var(--deep); margin:0; }
.dark .ic { background:rgba(255,255,255,.05); border-color:rgba(255,255,255,.1); }
.dark .ic h3 { color:#fff; } .dark .ic p { color:var(--stone); }

/* Cartões comerciais (Selection, Hunting, Executive) */
.ofertas { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:22px; margin-top:40px; }
.oferta { background:#fff; border:1px solid var(--line); border-radius:22px; padding:18px 18px 26px; display:flex; flex-direction:column; gap:14px; }
.oferta .nome { font:700 13px Montserrat, sans-serif; letter-spacing:3px; color:var(--dusty); }
.oferta h3 { font-size:21px; color:var(--deep); margin:0; }
.oferta ul { list-style:none; display:grid; gap:8px; font-size:14.5px; color:var(--ink); margin:0; padding:0; }
.oferta li { display:flex; gap:10px; }
.oferta li::before { content:""; flex:none; width:7px; height:7px; border-radius:50%; background:var(--sky); margin-top:8px; }
.oferta .valor { margin-top:auto; padding-top:12px; border-top:1px solid var(--line); font-size:13px; color:var(--dusty); }
.oferta .valor b { display:block; font-size:17px; color:var(--deep); }

/* Tabela de valores */
.tab-precos { width:100%; border-collapse:collapse; background:#fff; border:1px solid var(--line); border-radius:18px; overflow:hidden; }
.tab-precos th, .tab-precos td { text-align:left; padding:15px 20px; border-bottom:1px solid var(--line); font-size:15px; }
.tab-precos th { background:var(--deep); color:var(--ivory); font-size:12px; letter-spacing:2px; text-transform:uppercase; font-weight:600; }
.tab-precos td:last-child, .tab-precos th:last-child { text-align:right; }
.tab-precos td:last-child { font-weight:600; color:var(--deep); white-space:nowrap; }
.tab-precos tr:last-child td { border-bottom:0; }
.nota { font-size:13.5px; color:var(--dusty); margin-top:14px; max-width:760px; }

/* Planos */
.pl-grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:22px; margin-top:40px; align-items:stretch; }
.pl { position:relative; background:#fff; border:1px solid var(--line); border-radius:24px; padding:30px 26px; display:flex; flex-direction:column; gap:12px; }
.pl.destaque { background:linear-gradient(165deg, #1E4561, var(--night)); color:#fff; border:0; box-shadow:0 30px 60px rgba(4,24,43,.3); }
.pl .selo { position:absolute; top:-12px; left:26px; background:var(--sky); color:var(--night); font-size:11px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; padding:5px 12px; border-radius:999px; }
.pl .nome { font:700 13px Montserrat, sans-serif; letter-spacing:3px; text-transform:uppercase; color:var(--dusty); }
.pl.destaque .nome { color:var(--sky); }
.pl .preco { font-size:34px; font-weight:700; color:var(--deep); line-height:1.1; }
.pl.destaque .preco { color:#fff; }
.pl .preco small { font-size:15px; font-weight:500; color:var(--dusty); }
.pl.destaque .preco small, .pl.destaque .pub { color:var(--mineral); }
.pl .pub { font-size:14px; color:var(--dusty); }
.pl ul { list-style:none; display:grid; gap:9px; font-size:14.5px; margin:8px 0 18px; padding:0; }
.pl li { display:flex; gap:10px; }
.pl li::before { content:"✓"; flex:none; color:#2E7D5B; font-weight:700; }
.pl.destaque li::before { color:#5FC79A; }
.pl .btn { margin-top:auto; justify-content:center; }
.pl.destaque .btn-dark { background:var(--ivory); color:var(--deep); }

/* Comparativo */
.comp-wrap { overflow-x:auto; margin-top:24px; border-radius:18px; border:1px solid var(--line); background:#fff; }
.comp { width:100%; border-collapse:collapse; min-width:620px; }
.comp th, .comp td { padding:13px 18px; border-bottom:1px solid var(--line); font-size:14.5px; text-align:center; }
.comp th:first-child, .comp td:first-child { text-align:left; }
.comp thead th { font-size:13px; letter-spacing:2px; text-transform:uppercase; color:var(--deep); background:var(--ivory); }
.comp thead th.d { background:var(--deep); color:#fff; }
.comp .s { color:#2E7D5B; font-weight:700; }
.comp .n { color:#A0AEB6; }
.comp tr:last-child td { border-bottom:0; }

/* Talent Career */
.career-grid { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:18px; margin-top:36px; }
.cv { background:#fff; border:1px solid var(--line); border-radius:20px; padding:24px 22px; display:flex; flex-direction:column; gap:10px; }
.cv .nome { font:700 12.5px Montserrat, sans-serif; letter-spacing:2.5px; color:var(--dusty); }
.cv .preco { font-size:28px; font-weight:700; color:var(--deep); }
.cv ul { list-style:none; display:grid; gap:7px; font-size:14px; margin:4px 0 14px; padding:0; color:var(--ink); }
.cv li { display:flex; gap:8px; }
.cv li::before { content:"—"; color:var(--sky); flex:none; }
.cv .btn { margin-top:auto; justify-content:center; }
.aviso { display:flex; gap:14px; align-items:flex-start; background:#fff; border:1px solid var(--line); border-left:4px solid var(--sky); border-radius:14px; padding:16px 18px; margin-top:28px; font-size:14.5px; color:var(--deep); max-width:900px; }
.aviso svg { flex:none; margin-top:2px; }
.dark .aviso { background:rgba(255,255,255,.05); border-color:rgba(255,255,255,.12); border-left-color:var(--sky); color:var(--stone); }

/* Diagramas */
.diag { background:#fff; border:1px solid var(--line); border-radius:24px; padding:28px; margin-top:28px; }
.diag h3 { font-size:15px; letter-spacing:2px; text-transform:uppercase; color:var(--dusty); margin:0 0 20px; font-weight:600; }
.dg-root { display:block; width:max-content; max-width:100%; margin:0 auto; background:var(--deep); color:#fff; font-weight:700; letter-spacing:3px; padding:12px 26px; border-radius:999px; font-size:14px; text-align:center; }
.dg-cols { display:grid; gap:18px; margin-top:22px; position:relative; }
.dg-cols.c2 { grid-template-columns:1fr 1fr; }
.dg-cols.c3 { grid-template-columns:repeat(3, 1fr); }
.dg-col { border:1px solid var(--line); border-radius:18px; padding:16px; background:var(--paper); position:relative; }
.dg-col::before { content:""; position:absolute; top:-23px; left:50%; width:2px; height:22px; background:var(--mineral); }
.dg-col > b { display:block; text-align:center; color:var(--deep); letter-spacing:2px; font-size:13px; margin-bottom:12px; }
.dg-row { display:grid; grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr); align-items:center; gap:6px; margin-top:8px; }
.dg-row .a { background:#fff; border:1px solid var(--line); border-radius:12px; padding:9px 12px; font-size:13.5px; color:var(--deep); font-weight:500; }
.dg-row .seta { text-align:center; color:var(--dusty); font-weight:700; }
.dg-row .r { border-radius:12px; padding:9px 12px; font-size:12.5px; font-weight:600; text-align:center; }
.r.proj { background:#E1ECF3; color:#2C5878; } .r.rec { background:#E5F3EC; color:#2E7D5B; } .r.serv { background:#F3EAD9; color:#8A5A14; } .r.gr { background:#EFEDE8; color:#6A7880; }
.dg-flow { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:30px 34px; counter-reset:f; }
.dg-step { position:relative; background:var(--paper); border:1px solid var(--line); border-radius:16px; padding:14px 14px 14px 46px; font-size:14px; font-weight:600; color:var(--deep); min-height:64px; display:flex; align-items:center; }
.dg-step::before { counter-increment:f; content:counter(f); position:absolute; left:12px; top:50%; transform:translateY(-50%); width:24px; height:24px; border-radius:50%; background:var(--deep); color:#fff; font-size:12px; display:grid; place-items:center; }
.dg-step::after { content:"→"; position:absolute; right:-26px; top:50%; transform:translateY(-50%); color:var(--dusty); font-weight:700; }
.dg-step:nth-child(4n)::after, .dg-step:last-child::after { display:none; }
.dg-step small { display:block; font-size:11px; font-weight:600; letter-spacing:1px; text-transform:uppercase; margin-top:2px; }
.dg-step .ia { color:#2C5878; } .dg-step .hu { color:#2E7D5B; } .dg-step .ca { color:#8A5A14; } .dg-step .em { color:#6B5296; }
.dg-step > span { display:block; }
.dark .dg-step::after { color:var(--sky); }
.dg-leg { display:flex; flex-wrap:wrap; gap:16px; margin-top:20px; font-size:12.5px; color:var(--dusty); }

/* Menu do celular */
.mbtn { display:none; width:42px; height:42px; border-radius:12px; border:1px solid rgba(26,61,79,.18); background:#fff; cursor:pointer; position:relative; }
.mbtn span, .mbtn span::before, .mbtn span::after { position:absolute; left:11px; width:18px; height:2px; background:var(--deep); border-radius:2px; content:""; }
.mbtn span { top:20px; } .mbtn span::before { top:-6px; left:0; } .mbtn span::after { top:6px; left:0; }
.mnav { position:fixed; top:64px; left:0; right:0; z-index:49; background:#fff; box-shadow:0 20px 40px rgba(4,24,43,.18); padding:10px 16px 18px; display:grid; }
.mnav a { padding:13px 4px; border-bottom:1px solid var(--line); font-weight:600; color:var(--deep); font-size:15px; }
.mnav a:last-child { border-bottom:0; }

@media (max-width: 1080px) {
  .ofertas, .pl-grid { grid-template-columns:1fr; max-width:560px; }
  .ic-grid { grid-template-columns:1fr 1fr; }
  .career-grid { grid-template-columns:1fr 1fr; }
  .dg-flow { grid-template-columns:1fr 1fr; }
  .dg-step:nth-child(4n)::after { display:block; }
  .dg-step:nth-child(2n)::after { display:none; }
}
@media (max-width: 720px) {
  .ic-grid, .career-grid, .dg-cols.c2, .dg-cols.c3, .dg-flow { grid-template-columns:1fr; }
  .dg-col::before { display:none; }
  .dg-flow { gap:22px; }
  .dg-step { min-height:52px; }
  .dg-step::after { content:"↓"; right:auto; left:19px; top:auto; bottom:-21px; transform:none; display:block !important; }
  .dg-step:last-child::after { display:none !important; }
  .diag { padding:18px; }
  .tab-precos th, .tab-precos td { padding:12px 14px; font-size:14px; }
  .tab-precos td:last-child { white-space:normal; }
}
