.internal-page nav a { font-weight: 400; text-decoration: none; }
.internal-page .site-header nav a::before { display: none; }
.internal-page .site-header nav a[aria-current="page"] { font-weight: 600; }
.internal-page .site-header nav a[aria-current="page"]::before { display: block; }
.internal-page[data-page="projeto"] .site-header nav a:first-child,
.internal-page[data-page="artigo"] .site-header nav a:nth-child(2) { font-weight: 600; }
.internal-page .site-header nav a:hover, .internal-page .footer-links a:hover { text-decoration: underline; text-underline-offset: 5px; }
.internal-page .footer-links a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; }
.breadcrumb { display: flex; flex-wrap: wrap; gap: 10px; margin: 24px 0 34px; font: 11px/1.5 var(--mono); color: var(--muted); }
.breadcrumb a { min-height: 30px; display: inline-flex; align-items: center; text-decoration: underline !important; }
.breadcrumb > span { align-self: center; }
.page-heading { padding: 48px 0 40px; display: flex; justify-content: space-between; align-items: center; gap: 30px; border-bottom: 1px solid var(--line); }
.visual .internal-page h1 { font-size: clamp(42px, 5.4vw, 68px); margin: 12px 0 22px; }
.page-lead { font-size: 22px; line-height: 1.45; max-width: 650px; letter-spacing: -.02em; }
.page-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.action { display: inline-flex; gap: 7px; align-items: center; justify-content: center; min-height: 44px; padding: 11px 16px; border: 1px solid #98a38f; border-radius: 10px; font-size: 13px; line-height: 1.5; color: var(--teal); background: #fffdf7; text-decoration: none; cursor: pointer; }
.action:hover { background: #eeedde; }.action.primary { background: var(--teal); border-color: var(--teal); color: var(--paper); }.action.primary:hover { background: #2f514b; }
.project-intro { display: grid; grid-template-columns: 1.2fr 1fr; align-items: center; gap: 50px; }
.project-intro .tags { margin-block: 20px 25px; }
.project-cover { min-height: 330px; background: var(--lavender); padding: 32px; display: grid; place-content: center; position: relative; border-radius: 26px; overflow: hidden; }
.project-cover::before { content: ''; position: absolute; border: 1px solid #ffffff55; border-radius: 50%; width: 260px; height: 260px; top: -110px; right: -60px; }
.project-cover figcaption { color: #273d32; font: 10px/1.4 var(--mono); text-align: center; margin-top: 24px; }
.review-window { position: relative; width: 265px; border: 1px solid #536252; background: var(--paper); border-radius: 13px; box-shadow: 7px 9px 0 #203a322a; transform: rotate(-4deg); overflow: hidden; }
.window-bar { display: flex; align-items: center; gap: 5px; padding: 9px 12px; background: #e5ead8; border-bottom: 1px solid #a7b095; }
.window-bar i { width: 5px; height: 5px; border-radius: 50%; background: #64795d; }.window-bar span { margin-left: auto; font: 9px/1 var(--mono); }
.window-content { padding: 19px; }.file-label { display: block; font: 9px/1.5 var(--mono); color: var(--muted); margin-bottom: 9px; }
.window-content strong { font: 500 24px/1.2 var(--display); letter-spacing: -.04em; display: block; margin-bottom: 15px; }
.check-row { font: 10px/1.5 var(--mono); margin-block: 8px; }.window-footer { border-top: 1px solid var(--line); padding-top: 12px; margin-top: 14px; font: 10px/1 var(--mono); }
.project-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; padding: 27px 0; margin: 35px 0 0; border-block: 1px solid var(--line); }
.project-facts dt { font: 10px/1.5 var(--mono); text-transform: uppercase; color: var(--muted); letter-spacing: .05em; margin-bottom: 9px; }.project-facts dd { margin: 0; font-size: 14px; line-height: 1.55; max-width: 280px; }.project-facts small { color: var(--muted); font-size: 11px; }
.content-layout { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 70px; align-items: start; padding-top: 43px; }
.section-nav { position: sticky; top: 25px; padding-top: 7px; }
.section-nav nav { display: flex; flex-direction: column; align-items: stretch; gap: 0; margin-top: 12px; font-size: 12px; }
.section-nav nav a { color: var(--muted); padding: 10px 0; min-height: 40px; text-decoration: none; border-bottom: 1px solid #e7e5d7; }
.section-nav nav a:hover, .section-nav nav a:focus-visible { color: var(--teal); background: #f5f0e0; }
.section-nav nav a::before { display: none !important; }
.prose { font-size: 17px; line-height: 1.8; color: #2e4037; }
.prose section { scroll-margin-top: 24px; margin-bottom: 42px; }
.visual .prose h2, .visual .related-card h2 { font-family: var(--display); font-size: 31px; line-height: 1.2; letter-spacing: -.04em; font-weight: 500; margin: 0 0 18px; color: var(--teal); }
.visual .prose h3 { font-size: 22px; margin: 0 0 10px; }
.prose p { margin-bottom: 17px; }.prose ul, .prose ol { margin-block: 14px 22px; padding-left: 23px; }.prose li { margin-bottom: 9px; }
.prose a { overflow-wrap: anywhere; }.section-caption, .prose .section-caption { color: var(--muted); font-size: 12px; line-height: 1.65; }
[data-page="pipeline-mncv"] .prose p code,
[data-page="pipeline-mncv"] .prose li code { overflow-wrap: anywhere; }
.prose .process-steps { padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; list-style: none; counter-reset: steps; margin-block: 22px; }
.process-steps li { counter-increment: steps; border: 1px solid #c7cbbb; background: #f2efdf; border-radius: 12px; padding: 17px; margin: 0; }
.process-steps li::before { content: '0' counter(steps); display: block; font: 10px/1 var(--mono); margin-bottom: 12px; color: var(--muted); }.process-steps b { display: block; font-size: 15px; font-weight: 600; }.process-steps span { display: block; font-size: 13px; line-height: 1.5; margin-top: 3px; }
.comparison { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid #c6c9b6; border-radius: 15px; overflow: hidden; margin-block: 22px 15px; }
.comparison > div { background: #eeeadc; padding: 22px; }.comparison > div + div { background: #e5efdf; border-left: 1px solid #c6c9b6; }
.visual .comparison h3 { font: 12px/1.5 var(--mono); margin-bottom: 14px; }.comparison p, .comparison li { font-size: 14px; line-height: 1.65; }.comparison p:last-child, .comparison ul:last-child { margin-bottom: 0; }
.decision-list article { display: flex; align-items: start; gap: 16px; margin-bottom: 18px; }.decision-list article > span { font: 11px/1 var(--mono); padding: 10px; background: var(--lavender); border-radius: 8px; }.visual .decision-list h3 { font-size: 22px; }.decision-list p { font-size: 15px; }
.callout { padding: 22px; background: #eee7f7; border-left: 4px solid #8973b0; border-radius: 0 12px 12px 0; margin-bottom: 24px; }.callout p:last-child { margin-bottom: 0; }
.related-card { display: block; background: #f2efdf; color: var(--teal); text-decoration: none; padding: 25px; border: 1px solid #c1c7b2; border-radius: 16px; margin-top: 12px; }
.related-card:hover { background: #eae8d6; }.related-card > p { font-size: 15px; line-height: 1.6; margin: 0 0 16px; }.related-card > span { font-size: 12px; font-weight: 600; }
.folder-illustration { position: relative; min-width: 235px; padding: 30px 26px 20px; border: 1px solid #c88f6a; border-radius: 0 13px 13px 13px; background: var(--peach); transform: rotate(4deg); box-shadow: 4px 5px 0 #d9cbb5; }
.folder-illustration::before { content: ''; position: absolute; left: -1px; top: -17px; width: 100px; height: 18px; border: 1px solid #c88f6a; border-bottom: 0; background: var(--peach); border-radius: 12px 12px 0 0; }.folder-illustration span { font: 11px/1.5 var(--mono); }.folder-illustration b { display: block; margin-block: 14px; font: 500 27px/1 var(--display); letter-spacing: -.04em; }.folder-illustration i { font: normal 10px/1.5 var(--mono); }
.blog-label { display: flex; justify-content: space-between; align-items: center; padding-block: 32px 20px; }.visual .blog-label h2 { font-size: 27px; }.blog-label span { font: 10px/1.5 var(--mono); color: var(--muted); }
.post-list-item { display: grid; grid-template-columns: 155px minmax(0, 1fr) 125px; gap: 25px; padding: 30px 0; border-block: 1px solid var(--line); }
.post-meta { display: flex; flex-direction: column; gap: 13px; font: 10px/1.7 var(--mono); color: var(--muted); }.draft-badge { align-self: start; display: inline-block; border: 1px solid #a5aa92; border-radius: 5px; padding: 4px 7px; color: #4c5848; }
.post-list-item .tags { margin: 0 0 14px; }.visual .post-list-item h2 { font-size: 35px; line-height: 1.2; margin-bottom: 17px; }.post-list-item h2 a { text-decoration: none; }.post-list-item h2 a:hover { text-decoration: underline; }.post-list-item p { font-size: 16px; line-height: 1.65; max-width: 650px; }
.read-link { display: inline-flex; align-items: center; gap: 35px; min-height: 44px; margin-top: 15px; font-size: 12px; font-weight: 600; text-decoration: none; }.read-link span { font-size: 20px; }
.post-symbol { background: var(--mint); border-radius: 18px; color: var(--teal); height: 145px; padding: 20px; font: 30px/1.2 var(--mono); text-align: center; align-self: center; }.post-symbol span { display: block; font: 11px/1.7 var(--mono); margin-top: 10px; }
.blog-note { padding: 30px; display: flex; align-items: center; justify-content: space-between; gap: 30px; background: #f2efdf; border-radius: 18px; margin-top: 38px; }.visual .blog-note h2 { font-size: 28px; margin: 10px 0 15px; }.blog-note p { font-size: 14px; line-height: 1.6; max-width: 600px; }.blog-note .eyebrow { font-size: 10px; }.blog-note .action { flex-shrink: 0; }
.article-heading { max-width: 860px; margin: 0 0 32px 280px; }.article-heading .tags { margin-top: 0; }.visual .article-heading h1 { font-size: clamp(40px, 4.8vw, 60px); }.article-heading .page-lead { font-size: 21px; }
.article-byline { display: flex; align-items: center; gap: 12px; margin-top: 26px; font-size: 13px; }.article-byline p { color: var(--muted); font: 10px/1.5 var(--mono); margin-top: 3px; }.author-avatar { width: 42px; height: 42px; display: grid; place-items: center; background: var(--lavender); border-radius: 50%; font: 18px/1 var(--display); }
.export-tools { background: #e8eddd; border: 1px solid #c5cdb6; border-radius: 16px; padding: 22px 25px; margin-left: 280px; display: flex; flex-wrap: wrap; gap: 15px 24px; justify-content: space-between; align-items: center; scroll-margin-top: 20px; }
.visual .export-tools h2 { font: 600 15px/1.4 'Segoe UI', sans-serif; letter-spacing: 0; margin: 0 0 5px; }.export-tools p { font-size: 12px; line-height: 1.6; max-width: 400px; }.export-tools .action { font-size: 12px; padding-inline: 12px; }
#export-status { flex-basis: 100%; margin: 0; min-height: 0; color: #314d32; }#export-status:empty { display: none; }
.article-column { max-width: 740px; min-width: 0; }.editorial-note { font-size: 11px; line-height: 1.6; color: var(--muted); border-left: 2px solid #c7cbbb; padding-left: 14px; margin-bottom: 30px; }
.prose pre { max-width: 100%; overflow-x: auto; padding: 23px; background: #1a3a3a; color: #f4f1e3; border-radius: 12px; font: 12px/1.8 var(--mono); margin: 22px 0; tab-size: 2; }
.table-scroll { width: 100%; overflow-x: auto; margin-block: 24px; border: 1px solid #b8c1aa; border-radius: 10px; }.prose table { border-collapse: collapse; width: 100%; font-size: 14px; line-height: 1.6; }.prose th, .prose td { text-align: left; vertical-align: top; padding: 15px; border-bottom: 1px solid #d4d7c6; min-width: 140px; }.prose th { background: #e8eddd; font-weight: 600; }.prose tr:last-child td { border: 0; }
.prose blockquote { margin: 28px 0; padding: 8px 0 8px 23px; border-left: 4px solid var(--lavender); font-size: 23px; line-height: 1.4; font-family: var(--display); letter-spacing: -.03em; }.prose blockquote p { margin: 0; }
.article-related { border-top: 1px solid var(--line); padding-top: 24px; }
#copy-dialog { width: min(780px, calc(100% - 32px)); max-width: 780px; }#copy-dialog label { font-size: 12px; display: block; margin-bottom: 8px; }#markdown-fallback { width: 100%; height: 35vh; padding: 12px; resize: vertical; background: #fffdf7; color: var(--teal); border: 1px solid #87957f; border-radius: 8px; font: 12px/1.6 var(--mono); }#copy-dialog form { margin-top: 15px; }
.cv-heading .action { flex-shrink: 0; }.cv-layout { display: grid; grid-template-columns: 255px minmax(0, 1fr); gap: 75px; padding-top: 40px; align-items: start; }.cv-summary { position: sticky; top: 25px; }.profile-monogram { background: var(--mint); padding: 20px; border-radius: 18px; display: flex; align-items: end; justify-content: space-between; font: 48px/1 var(--display); letter-spacing: -.07em; }.profile-monogram span { font: 10px/1.5 var(--mono); letter-spacing: 0; }.visual .cv-summary h2 { font-size: 27px; margin: 22px 0 13px; }.cv-summary p { font-size: 14px; line-height: 1.7; }.cv-summary .location { font: 10px/1.5 var(--mono); margin: 18px 0 10px; color: var(--muted); }.cv-summary > a { font-size: 12px; display: inline-flex; align-items: center; min-height: 44px; }
.cv-summary-note { margin-top: 28px; border-top: 1px solid var(--line); padding-top: 22px; }.cv-summary-note .eyebrow { font-size: 10px; margin-bottom: 10px; }.cv-summary-note p { font-size: 12px; color: var(--muted); }
.cv-summary .personal-details { font-size: 12px; color: var(--muted); margin: 0 0 8px; }
.cv-languages { margin-top: 20px; padding-top: 19px; border-top: 1px solid var(--line); }
.visual .cv-languages h2 { font-size: 22px; margin: 0 0 14px; }
.language-list { display: grid; gap: 10px; margin: 0; }
.language-card { position: relative; padding: 14px; background: #f2efdf; border: 1px solid #c7cbbb; border-radius: 12px; }
.language-card dt { padding-right: 38px; font-size: 14px; font-weight: 600; }
.language-card dd { margin: 7px 0 0; font-size: 11px; color: var(--muted); line-height: 1.6; }
.language-level { position: absolute; right: 12px; top: 12px; padding: 4px 7px; background: var(--lavender); border-radius: 6px; color: var(--teal); font: 600 12px/1.5 var(--mono); }
.language-card:nth-child(2) .language-level { background: var(--mint); }
.language-card dd > span { display: block; }
.language-card a { display: inline-flex; align-items: center; min-height: 44px; font-size: 11px; color: var(--teal); }
.cv-main { min-width: 0; }
.cv-skills { padding-bottom: 30px; margin-bottom: 35px; border-bottom: 1px solid var(--line); }
.visual .cv-skills > h2 { font-size: 31px; margin: 0 0 23px; }
.skills-block { margin-top: 25px; padding: 20px; border: 1px solid #cdd2bf; border-radius: 14px; background: #fffdf6; }
.visual .skills-block > h3 { font: 500 23px/1.3 var(--display); letter-spacing: -.035em; margin: 0 0 16px; gap: 10px; }
.skills-block > h3::before { content: ''; width: 9px; height: 9px; flex: 0 0 auto; border-radius: 2px; background: var(--lavender); }
.skills-block:nth-of-type(2) > h3::before { background: var(--mint); }
.skills-block:nth-of-type(3) > h3::before { background: var(--peach); }
.skills-block:nth-of-type(4) > h3::before { background: var(--ochre); }
.practice-skills { margin: 0; }
.practice-skills > div { padding-block: 14px; border-top: 1px solid #e0e3d5; }
.practice-skills > div:first-child { padding-top: 0; border-top: 0; }
.practice-skills dt { font-size: 14px; font-weight: 600; line-height: 1.5; }
.practice-skills dd { margin: 5px 0 0; font-size: 13px; line-height: 1.6; color: #3c4d40; }
.soft-skills { margin: 0; }
.soft-skills > div { display: grid; grid-template-columns: 185px minmax(0, 1fr); gap: 20px; padding-block: 14px; border-top: 1px solid #e0e3d5; }
.soft-skills > div:first-child { border-top: 0; padding-top: 0; }
.soft-skills > div:last-child { padding-bottom: 0; }
.soft-skills dt { font-size: 14px; font-weight: 600; line-height: 1.5; }
.soft-skills dd { margin: 0; font-size: 13px; line-height: 1.6; color: #3c4d40; }
.skill-source { display: block; margin-top: 6px; color: var(--muted); font-size: 10px; line-height: 1.6; }
.agile-skills { padding-left: 18px; margin: 0 0 16px; }
.agile-skills li { font-size: 14px; line-height: 1.65; padding-left: 2px; margin-bottom: 8px; }
.visual .skills-block > .tags { margin-block: 15px 6px; }
.skills-evidence { display: inline-flex; align-items: center; min-height: 44px; font-size: 12px; margin-top: 5px; }
.technical-skills { margin: 0; }
.technical-skills > div { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 15px; align-items: start; padding: 13px 0; border-top: 1px solid #d6dacc; }
.technical-skills dt { font-size: 12px; line-height: 1.6; padding-top: 3px; }
.technical-skills dd { margin: 0; }
.visual .technical-skills .tags { margin: 0; }
#experiencia-alura { scroll-margin-top: 24px; }
.visual .timeline-section > h2 { font-size: 31px; margin: 0 0 10px; }.timeline-filters { display: flex; flex-wrap: wrap; gap: 7px; margin: 23px 0 10px; }.timeline-filters button { font-size: 12px; border-radius: 8px; background: var(--paper); border-color: #a1ad96; padding-inline: 12px; }.timeline-filters button[aria-pressed="true"] { background: var(--teal); color: var(--paper); border-color: var(--teal); }.timeline-count { font: 10px/1.5 var(--mono); color: var(--muted); margin-bottom: 28px; }
.timeline { margin: 0; padding: 0; list-style: none; }.timeline > li { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 20px; position: relative; padding-bottom: 35px; }.timeline-date { font: 11px/1.5 var(--mono); padding-top: 4px; color: var(--teal); }.timeline-date > span { display: block; font-size: 9px; color: var(--muted); margin-top: 7px; }.timeline > li > article { border-left: 1px solid #b3bea5; padding: 0 0 9px 27px; position: relative; }.timeline > li > article::before { content: ''; width: 11px; height: 11px; border: 2px solid #658368; background: var(--paper); border-radius: 50%; position: absolute; top: 3px; left: -6px; }.timeline > li[data-kind="formacao"] > article::before { background: var(--lavender); border-color: #7b669e; }.timeline > li[data-kind="projeto"] > article::before { background: var(--peach); border-color: #ad744d; }
.visual .timeline h3 { font-size: 24px; line-height: 1.3; margin-block: 8px 12px; }.timeline article > p { font-size: 14px; line-height: 1.65; }.timeline article > .eyebrow { font-size: 10px; }.timeline article > a { display: inline-flex; align-items: center; min-height: 44px; margin-top: 10px; font-size: 12px; }.timeline article > .parallel-note { color: #685784; font-size: 11px; border-left: 2px solid var(--lavender); padding-left: 10px; margin-top: 13px; }
.role-list { list-style: none; padding: 0; margin: 20px 0 5px; }.role-list li { border-top: 1px solid #d6dacc; padding-block: 12px; }.role-list b { display: block; font: 10px/1.5 var(--mono); color: var(--muted); margin-bottom: 5px; }.role-list span { font-size: 13px; line-height: 1.6; display: block; }
@media (max-width: 960px) {
  .soft-skills > div { grid-template-columns: minmax(0, 1fr); gap: 5px; }
  .technical-skills > div { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .content-layout { grid-template-columns: 160px minmax(0, 1fr); gap: 30px; }
  .article-heading, .export-tools { margin-left: 190px; }
  .project-intro { gap: 25px; }.project-cover { min-height: 290px; padding: 25px 18px; }.review-window { width: 225px; }.window-content strong { font-size: 22px; }
  .cv-layout { grid-template-columns: 200px minmax(0, 1fr); gap: 35px; }.timeline > li { grid-template-columns: 1fr; gap: 10px; padding-left: 7px; }.timeline-date { padding-left: 26px; }.timeline-date > span { display: inline; margin-left: 10px; }
  .post-list-item { grid-template-columns: 115px minmax(0, 1fr); }.post-symbol { display: none; }.blog-note { flex-direction: column; align-items: start; }
  .comparison { grid-template-columns: minmax(0, 1fr); }.comparison > div + div { border-left: 0; border-top: 1px solid #c6c9b6; }
}
@media (max-width: 640px) {
  .skills-block { padding: 17px; margin-top: 18px; }
  .visual .internal-page h1 { font-size: 42px; margin-block: 10px 18px; }.page-lead { font-size: 20px; }
  .breadcrumb { margin-block: 16px 23px; font-size: 10px; }
  .project-intro { grid-template-columns: minmax(0, 1fr); gap: 28px; }.project-cover { min-height: 285px; }.project-cover figcaption { display: block; }.project-intro h1 br { display: none; }
  .page-actions { gap: 8px; }.action { font-size: 12px; padding-inline: 12px; }
  .project-facts { grid-template-columns: minmax(0, 1fr); gap: 19px; margin-top: 26px; padding-block: 22px; }.project-facts > div { display: grid; grid-template-columns: 100px minmax(0, 1fr); gap: 14px; }.project-facts dt { font-size: 9px; }.project-facts dd { font-size: 13px; }
  .content-layout { grid-template-columns: minmax(0, 1fr); padding-top: 26px; gap: 25px; }.section-nav { position: static; padding: 16px; background: #f2efdf; border-radius: 12px; }.section-nav nav { flex-direction: row; flex-wrap: wrap; gap: 0 16px; margin-top: 5px; }.section-nav nav a { font-size: 11px; border: 0; min-height: 44px; }
  .prose { font-size: 16px; line-height: 1.8; }.visual .prose h2 { font-size: 28px; }.prose section { margin-bottom: 33px; }
  .prose .process-steps { grid-template-columns: minmax(0, 1fr); }.process-steps li { padding: 15px; }
  .comparison > div { padding: 18px; }.callout { padding: 18px; }.related-card { padding: 20px; }.visual .related-card h2 { font-size: 27px; }.decision-list article { gap: 11px; }.visual .decision-list h3 { font-size: 21px; }
  .page-heading { padding-block: 30px; flex-direction: column; align-items: start; gap: 25px; }.folder-illustration { display: none; }
  .blog-label { padding-block: 25px 18px; }.post-list-item { grid-template-columns: minmax(0, 1fr); gap: 16px; padding-block: 24px; }.post-meta { flex-direction: row; align-items: center; flex-wrap: wrap; gap: 10px; font-size: 9px; }.visual .post-list-item h2 { font-size: 31px; }.blog-note { padding: 22px; gap: 16px; }.visual .blog-note h2 { font-size: 26px; }
  .article-heading, .export-tools { margin-left: 0; }.visual .article-heading h1 { font-size: 39px; }.article-heading h1 br { display: none; }.article-heading .page-lead { font-size: 19px; }
  .article-byline { margin-top: 22px; }.export-tools { padding: 19px; gap: 13px; }.export-tools .page-actions { width: 100%; }.export-tools .action { flex: 1 1 auto; padding-inline: 8px; font-size: 11px; }
  .prose pre { padding: 16px; font-size: 11px; }.prose table { font-size: 12px; }.prose th, .prose td { padding: 12px; min-width: 120px; }.prose blockquote { font-size: 22px; }
  .cv-layout { grid-template-columns: minmax(0, 1fr); padding-top: 28px; gap: 35px; }.cv-summary { position: static; }.profile-monogram { display: none; }.visual .cv-summary h2 { margin-top: 0; }.cv-summary-note { margin-top: 18px; padding-top: 16px; }
  .cv-heading .action { display: none; }
  .language-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cv-summary-note { margin-top: 10px; padding-top: 12px; }
  .cv-summary-note p:not(.eyebrow) { font-size: 11px; }
  .cv-summary-note .eyebrow { display: none; }
  .timeline-filters { gap: 6px; }.timeline-filters button { padding-inline: 9px; font-size: 11px; }.visual .timeline h3 { font-size: 23px; }
}

/* Currículo: perfil compacto, navegação local e leitura por seções. */
.timeline > li > article { padding: 20px 24px; border: 1px solid #cdd2bf; border-radius: 14px; background: #fffdf6; }
.timeline > li > article::before { top: 25px; }
.timeline > li[data-kind="experiencia"], .timeline-filters [data-timeline-filter="experiencia"] { --kind-accent: #356458; --kind-paper: #f0f7f3; --kind-label: #cde5db; }
.timeline > li[data-kind="formacao"], .timeline-filters [data-timeline-filter="formacao"] { --kind-accent: #76539b; --kind-paper: #f6f1fc; --kind-label: #dfd1f3; }
.timeline > li[data-kind="projeto"], .timeline-filters [data-timeline-filter="projeto"] { --kind-accent: #9b5726; --kind-paper: #fff4e9; --kind-label: #f9d7b9; }
.timeline > li[data-kind] > article { border-color: var(--kind-label); border-left: 5px solid var(--kind-accent); background: var(--kind-paper); }
.timeline > li[data-kind] > article::before { background: var(--kind-label); border-color: var(--kind-accent); left: -8px; }
.timeline .timeline-date > span { display: table; margin: 9px 0 0; padding: 5px 9px; border-radius: 7px; background: var(--kind-label); color: var(--teal); font-family: var(--body, "Segoe UI", sans-serif); font-size: 12px; font-weight: 600; line-height: 1.5; }
.timeline-filters [data-timeline-filter]:not([data-timeline-filter="todos"]) { border-bottom: 4px solid var(--kind-accent); }
.timeline-filters [data-timeline-filter][aria-pressed="false"]:not([data-timeline-filter="todos"]) { background: var(--kind-label); color: var(--teal); }
.activity-details > summary { display: block; list-style: none; cursor: pointer; min-height: 44px; border-radius: 7px; padding: 8px 0; }
.activity-details > summary::-webkit-details-marker { display: none; }
.activity-details > summary:hover { color: #685784; }
.activity-details > summary:focus-visible { outline: 3px solid #7b669e; outline-offset: 5px; }
.activity-open { display: inline-block; margin-top: 6px; color: var(--teal); font-size: 13px; text-decoration: underline; text-underline-offset: 4px; }
.role-list > li { padding: 0; border: 0; margin-bottom: 10px; }
.role-list .activity-details > summary { padding: 14px; background: #f2efdf; border: 1px solid #cdd2bf; border-radius: 10px; }
.role-list summary h4 { margin: 6px 0; font-size: 16px; font-weight: 600; line-height: 1.5; }
.activity-content { font-size: 15px; line-height: 1.65; }
.activity-content h4 { font-size: 17px; margin: 24px 0 10px; }
.activity-content ul { padding-left: 22px; }
.activity-content li { margin-bottom: 8px; }
.activity-content a { display: inline-flex; align-items: center; min-height: 44px; }
.activity-draft { padding: 14px; background: #f2efdf; border-radius: 8px; font-size: 13px; }
#activity-dialog { width: min(680px, calc(100% - 32px)); max-width: 680px; overflow-y: auto; overscroll-behavior: contain; }
#activity-dialog .dialog-inner { padding: 28px; }
#activity-dialog-context { font-size: 12px; line-height: 1.7; }
.visual #activity-dialog-title { font-size: 28px; line-height: 1.25; margin: 10px 0 20px; }
#activity-dialog form { margin-top: 24px; }
body:has(#activity-dialog[open]) { overflow: hidden; }
@media (max-width: 640px) {
  .timeline > li > article { padding: 16px; }
  #activity-dialog .dialog-inner { padding: 20px; }
  .visual #activity-dialog-title { font-size: 24px; }
}
.cv-layout { display: block; padding-top: 28px; }
.cv-summary { position: static; display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 40px; padding-bottom: 22px; }
.cv-summary > .eyebrow { grid-column: 1 / -1; margin: 0 0 8px; font-size: 11px; }
.visual .cv-summary h1 { font-size: 42px; margin: 0 0 10px; }
.cv-identity { grid-column: 1; display: flex; align-items: center; gap: 20px; margin-bottom: 12px; }
.cv-portrait { width: 100px; height: 100px; flex: 0 0 auto; border-radius: 50%; object-fit: cover; border: 3px solid var(--mint); }
.visual .cv-identity h1 { margin: 0; }
.cv-summary > p:not(.eyebrow) { grid-column: 1; margin: 3px 0; max-width: 680px; }
.cv-summary > a { grid-column: 1; justify-self: start; font-size: 13px; }
.cv-profile-actions { grid-column: 1; display: flex; align-items: center; flex-wrap: wrap; gap: 10px 24px; margin-top: 10px; }
.cv-profile-actions > a { display: inline-flex; align-items: center; min-height: 44px; font-size: 13px; }
.cv-summary .location, .cv-summary .personal-details { font-family: inherit; font-size: 13px; font-weight: 400; line-height: 1.5; color: var(--muted); }
.cv-languages { grid-column: 2; grid-row: 2 / 7; align-self: center; border: 0; padding: 0; margin: 0; }
.visual .cv-languages h2 { font-size: 17px; margin: 0 0 10px; }
.language-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.language-card { min-width: 145px; }
.cv-section-nav { display: flex; position: sticky; top: 0; z-index: 10; gap: 8px; padding: 8px 0; background: var(--paper); border-block: 1px solid var(--line); }
.cv-section-nav a, .skills-nav a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 16px; border-radius: 8px; font-size: 14px; text-decoration: none; }
.cv-section-nav a[aria-current] { background: var(--teal); color: var(--paper); }
.visual .cv-section-nav a::before, .visual .skills-nav a::before { display: none; }
.cv-section-nav a:hover, .skills-nav a:hover { text-decoration: underline; }
.cv-layout :is(h2[id], h3[id], #experiencia-alura) { scroll-margin-top: 82px; }
.cv-layout :is(a, button, [tabindex]):focus-visible { outline: 3px solid #7b669e; outline-offset: 4px; }
.timeline-section { padding-top: 26px; max-width: 920px; }
.visual .timeline article > .eyebrow { font: 600 19px/1.4 var(--display); letter-spacing: 0; text-transform: none; margin: 0; }
.visual .timeline h3 { font-size: 22px; margin: 5px 0 12px; }
.timeline-date { font-size: 13px; }
.timeline-date > span, .role-list b { font-size: 12px; }
.cv-skills { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; padding-top: 30px; border-top: 1px solid var(--line); border-bottom: 0; }
.cv-skills > h2, .skills-nav, .technical-block, .data-block { grid-column: 1 / -1; }
.data-block .practice-skills { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: 28px; }
.data-block .practice-skills > div, .data-block .practice-skills > div:first-child { padding-top: 0; border-top: 0; }
.visual .cv-skills > h2 { margin: 0; }
.skills-nav { display: flex; flex-wrap: wrap; gap: 6px; }
.skills-nav a { border: 1px solid var(--line); }
.cv-skills .skills-block { margin: 0; align-self: start; }
.technical-skills { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 32px; }
.technical-skills > div { grid-template-columns: minmax(0, 1fr); gap: 8px; align-content: start; }
.technical-skills dt { font-size: 15px; font-weight: 600; }
.visual .technical-skills .tags li { font-size: 12px; }
.cv-skills .skill-source { font-size: 13px; }
.soft-skills > div { grid-template-columns: minmax(0, 1fr); gap: 5px; }
.cv-skills .skills-evidence { font-size: 13px; }
.skills-block[aria-labelledby="technical-skills-title"] > h3::before { background: var(--peach); }
.skills-block[aria-labelledby="agile-skills-title"] > h3::before { background: var(--mint); }
.skills-block[aria-labelledby="soft-skills-title"] > h3::before { background: var(--lavender); }
.skills-block[aria-labelledby="governance-skills-title"] > h3::before { background: var(--ochre); }
.skills-block[aria-labelledby="data-skills-title"] > h3::before { background: var(--pink); }
@media (max-width: 960px) {
  .cv-summary { grid-template-columns: 1fr; }
  .cv-languages { grid-column: 1; grid-row: auto; margin-top: 12px; }
  .language-list { max-width: 440px; }
  .cv-skills { grid-template-columns: 1fr; }
  .data-block .practice-skills { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 16px; }
}
@media (max-width: 640px) {
  .cv-layout { padding-top: 20px; }
  .visual .cv-summary h1 { font-size: 34px; }
  .cv-identity { gap: 14px; margin-bottom: 10px; }
  .cv-portrait { width: 68px; height: 68px; border-width: 2px; }
  .visual .cv-identity h1 { font-size: clamp(25px, 7vw, 34px); }
  .cv-summary { padding-bottom: 16px; }
  .cv-summary p { line-height: 1.5; }
  .cv-languages { display: flex; align-items: start; gap: 12px; }
  .visual .cv-languages h2 { font-size: 14px; padding-top: 5px; }
  .language-list { flex: 1; gap: 12px; }
  .language-card { min-width: 0; padding: 0; border: 0; border-radius: 0; background: none; }
  .language-card dt { padding: 0; font-size: 13px; }
  .language-level { position: static; display: inline-block; padding: 1px 5px; }
  .language-card dd { margin-top: 4px; }
  .language-card a { font-size: 12px; }
  .technical-skills { grid-template-columns: minmax(0, 1fr); }
  .data-block .practice-skills { grid-template-columns: minmax(0, 1fr); }
  .cv-section-nav a { flex: 1; justify-content: center; }
}

/* Figuras de dados: no celular, rolam em vez de encolher até ficarem ilegíveis. */
.case-figure { margin: 26px 0 28px; }
.figure-scroll { overflow-x: auto; border: 1px solid var(--line); border-radius: 12px; background: #fbfcfd; }
.figure-scroll:focus-visible { outline: 3px solid var(--teal); outline-offset: 2px; }
.figure-scroll img { display: block; width: 100%; height: auto; }
.figure-hint { display: none; }
@media (max-width: 960px) {
  .figure-scroll img { min-width: 720px; }
  .prose .figure-hint { display: block; margin: 8px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
}

.case-table:focus-visible, .prose pre:focus-visible { outline: 3px solid var(--teal); outline-offset: 2px; }
.prose .case-table th, .prose .case-table td { min-width: 0; padding: 11px 12px; }
.prose .case-table .num { text-align: right; font-variant-numeric: tabular-nums; }
.prose .case-table .mark { text-align: center; }
@media (max-width: 960px) {
  .prose .case-table th, .prose .case-table td { min-width: 96px; }
  .case-table:has(+ .figure-hint) { margin-bottom: 0; }
}

.prose blockquote.case-excerpt { font-family: inherit; font-size: 16px; line-height: 1.75; letter-spacing: 0; }
.prose blockquote.case-excerpt p + p { margin-top: 12px; }
