/* iSol · Programa iSol Cases (/isol-cases/), rodada 12. Carta do fundador em coluna de leitura (~680 px), com os
   elementos estruturados intercalados. Base das páginas da rodada 7 (r7.css: .r7-kick, .r7-lede, .r8-link) e os
   tokens do tema preto executivo; nada de cor ou fonte nova. */
.po-page .btn-ghost { color: var(--white); border-color: rgba(255,255,255,.24); background: transparent; }
.po-page .btn-ghost:hover { border-color: var(--cyan); background: rgba(52,195,240,.08); }
.po-page .btn-primary { color: var(--navy-900); }
.po-note { margin: 14px 0 0; font-size: 14px; line-height: 1.55; color: var(--on-dark-soft); }
.po-note a, .ic-desq a { color: var(--cyan); text-decoration: underline; text-underline-offset: 3px; }
.ic-ico { width: 44px; height: 44px; flex: 0 0 44px; border-radius: 12px; display: grid; place-items: center; background: rgba(52,195,240,.12); border: 1px solid rgba(52,195,240,.3); }
.ic-ico svg { width: 24px; height: 24px; fill: none; stroke: var(--cyan); stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.ic-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin-top: 28px; }
.ic-cta-note { font-size: 14px; color: var(--on-dark-soft); }

/* ---------- topo: vídeo + abertura ---------- */
.ic-hero { padding: clamp(36px, 6vw, 84px) 0 clamp(36px, 5vw, 64px); background: var(--glow), var(--bg-0); }
.ic-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(26px, 5vw, 60px); align-items: center; }
.ic-hero h1 { font-size: clamp(1.75rem, 3.4vw, 2.7rem); line-height: 1.12; color: var(--white); max-width: 22ch; }
.ic-hero .r7-lede { max-width: 54ch; }
.ic-hero-note { margin: 14px 0 0; font: 500 13px/1.4 var(--f-mono); color: var(--on-dark-soft); }
.ic-video { margin: 0; }
.ic-video-ph { position: relative; border-radius: 20px; overflow: hidden; border: 1px solid rgba(52,195,240,.35); background: var(--bg-2); aspect-ratio: 720 / 478; }
.ic-video-ph img { display: block; width: 100%; height: 100%; object-fit: cover; opacity: .55; }
.ic-video-chip { position: absolute; left: 14px; top: 14px; padding: 4px 12px; border-radius: 999px; background: rgba(5,7,10,.85); border: 1px solid rgba(251,191,36,.6); color: #fbbf24; font: 500 12px/1.4 var(--f-mono); }
.ic-video-cap { margin-top: 10px; font-size: 13.5px; color: var(--on-dark-soft); }
.ic-sign { display: flex; align-items: center; gap: 12px; margin: 20px 0 0; font: 600 15px/1.35 var(--f-display); color: var(--white); }
.ic-foto { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; border: 2px solid rgba(52,195,240,.5); flex: 0 0 56px; }

/* ---------- a carta ---------- */
.ic-b { padding: clamp(48px, 6vw, 84px) 16px; background: var(--bg-1); border-top: 1px solid var(--line-exec); scroll-margin-top: 72px; }
.ic-b.ic-alt { background: var(--bg-0); }
.ic-letter { max-width: 680px; margin: 0 auto; color: var(--on-dark); }
.ic-n { margin: 0 0 6px; font: 500 13px var(--f-mono); letter-spacing: .14em; color: var(--cyan); }
.ic-letter h2 { margin: 0 0 22px; font-size: clamp(1.45rem, 2.6vw, 2rem); line-height: 1.18; color: var(--white); }
.ic-letter > p { margin: 0 0 18px; font-size: clamp(17px, 1.3vw, 18.5px); line-height: 1.72; color: var(--on-dark); }
.ic-letter > p.ic-key { margin: 28px 0; padding-left: 18px; border-left: 3px solid var(--cyan); font: 600 clamp(21px, 2.4vw, 27px)/1.32 var(--f-display); color: var(--white); }
.ic-letter > p.ic-fecho { font-weight: 500; color: var(--white); }
.ic-letter > ul, .ic-letter > ol, .ic-letter > div { margin: 26px 0; }

/* contraste */
.ic-vs { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.ic-vs li { padding: 16px; border-radius: 16px; border: 1px dashed rgba(255,255,255,.2); background: var(--bg-0); }
.ic-alt .ic-vs li { background: var(--bg-1); }
.ic-vs li.ic-vs-ok { border: 1px solid rgba(110,231,183,.5); background: var(--bg-2); }
.ic-mark { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.25); margin-bottom: 10px; }
.ic-mark svg { width: 16px; height: 16px; fill: none; stroke: var(--on-dark-soft); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.ic-vs-ok .ic-mark { border-color: rgba(110,231,183,.6); background: rgba(110,231,183,.12); }
.ic-vs-ok .ic-mark svg { stroke: #6ee7b7; }
.ic-vs b { display: block; color: var(--white); font: 600 16px/1.3 var(--f-display); }
.ic-vs-x b { color: var(--on-dark-soft); text-decoration: line-through; text-decoration-color: rgba(255,255,255,.35); }
.ic-vs p { margin: 6px 0 0; font-size: 14px; line-height: 1.5; color: var(--on-dark-soft); }
.ic-vs-ok p { color: var(--white); }

/* tese: antes × depois */
.ic-tese { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
.ic-tese-c { padding: 16px; border-radius: 16px; border: 1px solid var(--line-exec); background: var(--bg-1); }
.ic-tese-c > b { display: block; margin-bottom: 10px; font: 500 12px/1.4 var(--f-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--on-dark-soft); }
.ic-new { border-color: rgba(52,195,240,.45); background: var(--bg-2); }
.ic-new > b { color: var(--cyan); }
.ic-tese ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; }
.ic-tese li { position: relative; padding: 7px 11px; border-radius: 10px; border: 1px solid rgba(255,255,255,.16); font-size: 14px; line-height: 1.35; color: var(--on-dark-soft); background: var(--bg-0); }
.ic-tese li + li::before { content: "→"; position: absolute; left: -12px; top: 50%; transform: translate(-50%, -50%); color: var(--on-dark-mut); font-size: 13px; }
.ic-tese li.ic-chat { border-style: dashed; }
.ic-tese li.ic-chat + li::before { content: ""; }
.ic-new li { color: var(--white); }
.ic-new li + li::before { color: var(--cyan); }
.ic-tese li.ic-ag { border-color: rgba(52,195,240,.6); }
.ic-tese li.ic-hu { border-color: rgba(251,191,36,.6); }
.ic-tese li.ic-done { border-color: rgba(110,231,183,.55); }

/* prova */
.ic-proof { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 10px; }
.ic-ba { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.ic-ba li { padding: 14px 16px; border-radius: 16px; border: 1px dashed rgba(255,255,255,.2); background: var(--bg-0); }
.ic-ba li.ic-ba-1 { border: 1px solid rgba(110,231,183,.45); background: var(--bg-2); }
.ic-ba b { display: block; font: 500 12px var(--f-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--on-dark-soft); }
.ic-ba-1 b { color: #6ee7b7; }
.ic-ba p { margin: 6px 0 0; font-size: 14.5px; line-height: 1.5; color: var(--white); }
.po-nums { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.po-nums li { display: flex; flex-direction: column; justify-content: center; gap: 2px; padding: 12px 16px; border-radius: 16px; border: 1px solid rgba(110,231,183,.35); background: var(--bg-0); }
.po-nums b { font: 600 clamp(22px, 2.6vw, 28px)/1.1 var(--f-display); color: var(--white); }
.po-nums span { font-size: 13.5px; color: var(--on-dark-soft); }
.ic-letter > p.po-note { font-size: 14px; line-height: 1.55; color: var(--on-dark-soft); margin-top: -10px; }
.ic-links { display: flex; flex-wrap: wrap; gap: 4px 24px; }
.ic-letter > p.ic-links { margin: -8px 0 18px; }

/* operar com IA: onde roda + três ações */
.ic-onde { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.ic-onde li { display: flex; gap: 12px; align-items: flex-start; padding: 16px; border: 1px solid var(--line-exec); border-radius: 16px; background: var(--bg-1); }
.ic-onde b { display: block; color: var(--white); font: 600 16px/1.3 var(--f-display); }
.ic-onde p { margin: 4px 0 0; font-size: 14px; line-height: 1.5; color: var(--on-dark-soft); }
.ic-onde .r8-link { font-size: 14px; min-height: 40px; }
.ic-verbs { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.ic-verbs li { display: flex; align-items: center; gap: 10px; padding: 6px 14px 6px 6px; border: 1px solid var(--line-exec); border-radius: 999px; background: var(--bg-1); }
.ic-verbs .ic-ico { width: 34px; height: 34px; flex-basis: 34px; border-radius: 50%; }
.ic-verbs .ic-ico svg { width: 18px; height: 18px; }
.ic-verbs b { color: var(--white); font: 600 15px var(--f-display); }
.ic-verbs li:last-child { border-color: rgba(251,191,36,.45); }

/* produtos como consequência */
.ic-prods { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.ic-prods a { display: flex; gap: 12px; align-items: flex-start; height: 100%; box-sizing: border-box; padding: 14px 16px; border: 1px solid var(--line-exec); border-radius: 16px; background: var(--bg-2); color: var(--on-dark-soft); text-decoration: none; }
.ic-prods a:hover, .ic-prods a:focus-visible { border-color: rgba(52,195,240,.55); }
.ic-prods img { width: 44px; height: 45px; flex: 0 0 44px; object-fit: contain; }
.ic-prods b { display: block; color: var(--white); font: 600 16px/1.3 var(--f-display); }
.ic-prods span span { display: block; margin-top: 3px; font-size: 14px; line-height: 1.45; }

/* setores */
.ic-setores { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.ic-setores a { display: flex; align-items: center; gap: 8px; min-height: 46px; padding: 8px 12px; border: 1px dashed rgba(52,195,240,.45); border-radius: 12px; color: var(--white); font: 600 14px/1.3 var(--f-display); text-decoration: none; background: var(--bg-1); }
.ic-setores a::before { content: ""; width: 9px; height: 9px; flex: 0 0 9px; border-radius: 50%; border: 2px solid var(--cyan); }
.ic-setores a:hover, .ic-setores a:focus-visible { border-style: solid; }

/* condições */
.ic-req { list-style: none; padding: 0; display: grid; gap: 10px; }
.ic-req li { display: flex; align-items: flex-start; gap: 12px; padding: 14px 16px; border: 1px solid var(--line-exec); border-radius: 16px; background: var(--bg-2); }
.ic-req li:first-child { border-color: rgba(251,191,36,.5); }
.ic-rn { flex: 0 0 auto; min-width: 18px; padding-top: 12px; font: 600 14px var(--f-mono); color: var(--on-dark-mut); }
.ic-req b { display: block; padding-top: 10px; color: var(--white); font: 600 16px/1.35 var(--f-display); }
.ic-req p { margin: 4px 0 0; font-size: 14.5px; line-height: 1.5; color: var(--on-dark-soft); }
.ic-letter > p.ic-desq { padding: 14px 16px; border: 1px dashed rgba(255,255,255,.25); border-radius: 14px; font-size: 16px; }

/* entregas e ritmo */
.ic-ent { list-style: none; padding: 0; display: grid; gap: 10px; }
.ic-ent li { display: flex; gap: 14px; align-items: flex-start; padding: 16px; border: 1px solid var(--line-exec); border-radius: 16px; background: var(--bg-1); }
.ic-ent li > img { width: 44px; height: 45px; flex: 0 0 44px; object-fit: contain; }
.ic-ent h3 { margin: 0; font-size: 17px; line-height: 1.3; color: var(--white); }
.ic-ent p { margin: 6px 0 0; font-size: 15px; line-height: 1.55; color: var(--on-dark-soft); }
.ic-ritmo { padding: 14px; border: 1px solid var(--line-exec); border-radius: 16px; background: var(--bg-1); }
.ic-ritmo-k { margin: 0 0 8px; font: 500 12px var(--f-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--on-dark-mut); }
.ic-meses { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 4px; }
.ic-m { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 8px 0; border-radius: 10px; background: var(--bg-2); }
.ic-m b { font: 600 12.5px var(--f-mono); color: var(--white); }
.ic-m span { display: flex; flex-direction: column; gap: 4px; align-items: center; min-height: 52px; }
.ic-m i { display: block; width: 11px; height: 8px; border-radius: 3px; background: var(--azure); }
.ic-r2 i { background: var(--cyan); }
.ic-r1 i { background: #6ee7b7; }
.ic-m-pres { outline: 2px solid #fbbf24; outline-offset: -2px; }
.ic-m-pres i { background: #fbbf24; width: 13px; height: 13px; border-radius: 50%; }
.ic-letter > ul.ic-legenda { list-style: none; margin: -14px 0 26px; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: 13.5px; color: var(--on-dark-soft); }
.ic-legenda li { display: flex; align-items: center; gap: 8px; }
.ic-legenda li::before { content: ""; width: 11px; height: 8px; border-radius: 3px; background: var(--azure); }
.ic-lg-quin::before { background: var(--cyan) !important; }
.ic-lg-men::before { background: #6ee7b7 !important; }
.ic-lg-pres::before { background: #fbbf24 !important; width: 11px !important; height: 11px !important; border-radius: 50% !important; }

/* divisão: subsidiamos × você assume */
.ic-div { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 10px; }
.ic-div-c { padding: 18px; border-radius: 18px; background: var(--bg-2); }
.ic-div-nos { border: 1px solid rgba(110,231,183,.45); }
.ic-div-voce { border: 1px solid rgba(52,195,240,.5); }
.ic-div-k { margin: 0 0 10px; font: 500 12px/1.4 var(--f-mono); letter-spacing: .12em; text-transform: uppercase; color: #6ee7b7; }
.ic-div-voce .ic-div-k { color: var(--cyan); }
.ic-div-c ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.ic-div-c li { display: flex; flex-direction: column; padding-left: 22px; position: relative; font-size: 14px; color: var(--on-dark-soft); }
.ic-div-c li::before { content: ""; position: absolute; left: 2px; top: 6px; width: 10px; height: 6px; border-left: 2px solid #6ee7b7; border-bottom: 2px solid #6ee7b7; transform: rotate(-45deg); }
.ic-div-c li b, .ic-div-p b { color: var(--white); font: 600 16px/1.3 var(--f-display); }
.ic-div-p { margin: 0; display: flex; flex-direction: column; gap: 2px; font-size: 14px; color: var(--on-dark-soft); }
.ic-preco { margin: 14px 0 2px; font: 700 clamp(26px, 3vw, 34px)/1.1 var(--f-display); color: var(--white); }
.ic-div-n { margin: 10px 0 0; font-size: 13.5px; line-height: 1.5; color: var(--on-dark-soft); }
.ic-recebe { padding: 18px; border: 1px solid var(--line-exec); border-radius: 18px; background: var(--bg-1); }
.ic-recebe .ic-div-k { color: var(--cyan); }
.ic-recebe ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 16px; }
.ic-recebe li { position: relative; padding-left: 22px; font-size: 15px; line-height: 1.45; color: var(--white); }
.ic-recebe li::before { content: ""; position: absolute; left: 2px; top: 6px; width: 10px; height: 6px; border-left: 2px solid var(--cyan); border-bottom: 2px solid var(--cyan); transform: rotate(-45deg); }

/* passos depois da aplicação */
.ic-passos { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.ic-passos li { padding: 14px 16px; border: 1px solid var(--line-exec); border-radius: 16px; background: var(--bg-2); }
.ic-passos li:last-child { border-color: rgba(52,195,240,.45); }
.ic-passos .ic-rn { display: block; padding: 0 0 4px; color: var(--cyan); }
.ic-passos b { display: block; color: var(--white); font: 600 16px/1.3 var(--f-display); }
.ic-passos p { margin: 4px 0 0; font-size: 14px; line-height: 1.5; color: var(--on-dark-soft); }
.ic-letter .ic-sign { margin-top: 30px; }

/* FAQ */
.ic-faq details { border-top: 1px solid var(--line-exec); }
.ic-faq details:last-child { border-bottom: 1px solid var(--line-exec); }
.ic-faq summary { cursor: pointer; padding: 16px 0; min-height: 44px; box-sizing: border-box; color: var(--white); font: 600 16.5px/1.4 var(--f-display); }
.ic-faq summary:focus-visible { outline: 2px solid var(--cyan); outline-offset: 2px; }
.ic-faq p { margin: 0 0 16px; font-size: 16px; line-height: 1.65; color: var(--on-dark); }
.ic-tm { font-size: 12.5px !important; }

@media (max-width: 1023px) {
  .ic-hero-grid { grid-template-columns: minmax(0, 1fr); }
  .ic-video { order: 2; max-width: 620px; }
}
@media (max-width: 680px) {
  .ic-cta .btn { width: 100%; justify-content: center; text-align: center; }
  .ic-vs, .ic-proof, .ic-onde, .ic-prods, .ic-div, .ic-passos, .ic-recebe ul { grid-template-columns: minmax(0, 1fr); }
  .ic-setores { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ic-ritmo { padding: 10px 8px; }
  .ic-meses { gap: 3px; }
  .ic-m { padding: 6px 0; }
  .ic-m b { font-size: 11px; }
  .ic-m i { width: 9px; height: 7px; }
  .ic-m-pres i { width: 11px; height: 11px; }
}

/* rodada 12b: tese como subtítulo, entregas visíveis e as três perguntas */
.ic-hero .ic-tese-sub { margin: 14px 0 0; max-width: 54ch; font: 500 clamp(17px, 1.5vw, 19px)/1.5 var(--f-display); color: var(--white); }
.ic-vis li:first-child, .ic-perg li:first-child { border-color: var(--line-exec); }
.ic-perg b { padding-bottom: 10px; }
