/* CSS exclusivo do conteúdo <main> — style-artigo.css
   Cabeçalho, breadcrumbs e rodapé não pertencem a este arquivo. */

code {
padding: 2px 6px;
    border: 1px solid var(--color-border);
    border-radius: 5px;
    background: var(--color-surface-muted);
    font-family: Consolas, "Courier New", monospace;
    font-size: 13px;
}

.reading-progress {
position: fixed;
    top: 0;
    left: 0;
    z-index: 1500;
    width: 100%;
    height: 4px;
    pointer-events: none;
}

.reading-progress-bar {
display: block;
    width: 0;
    height: 100%;
    background: var(--color-secondary);
}

.article-container {
width: min(calc(100% - 64px), var(--content-width));
    margin-right: auto;
    margin-left: auto;
}

.article-document {
display: block;
}

.button {
display: inline-flex;
    min-height: 52px;
    padding: 13px 22px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    border: 1px solid transparent;
    border-radius: 10px;
    font-family: var(--font-heading);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
}

.button--primary {
background: var(--color-primary);
    color: #ffffff;
}

.button--primary:hover,
.button--primary:focus-visible {
background: var(--color-primary-deep);
}

.button--secondary {
border-color: var(--color-primary);
    background: transparent;
    color: var(--color-primary);
}

.button--secondary:hover,
.button--secondary:focus-visible {
background: var(--color-surface-muted);
}

.article-header {
padding: 72px 0 42px;
    border-top: 1px solid var(--color-border);
    background:
        radial-gradient(circle at 88% 18%, rgba(138, 93, 104, 0.12) 0, rgba(138, 93, 104, 0) 24%),
        linear-gradient(180deg, #ffffff 0%, var(--color-background) 100%);
}

.article-header-grid {
display: grid;
    grid-template-columns: minmax(0, 1fr) 260px;
    gap: 72px;
    align-items: start;
}

.article-header-main {
max-width: 840px;
}

.article-category {
display: inline-flex;
    margin-bottom: 24px;
    align-items: center;
    gap: 10px;
    color: var(--color-secondary);
    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.2px;
    line-height: 1.4;
    text-transform: uppercase;
    text-underline-offset: 5px;
}

.article-category::before {
width: 11px;
    height: 11px;
    transform: rotate(45deg);
    border: 2px solid currentColor;
    content: "";
}

.article-title {
max-width: 860px;
    margin: 0;
    color: var(--color-text);
    font-family: var(--font-heading);
    font-size: 48px;
    font-weight: 600;
    letter-spacing: -2.2px;
    line-height: 1.12;
}

.article-subtitle {
max-width: 780px;
    margin: 28px 0 0;
    color: var(--color-primary);
    font-family: var(--font-heading);
    font-size: 23px;
    font-weight: 500;
    letter-spacing: -0.6px;
    line-height: 1.45;
}

.article-summary {
max-width: 780px;
    margin-top: 40px;
    padding: 26px 28px;
    border-top: 3px solid var(--color-primary);
    border-right: 1px solid var(--color-border);
    border-bottom: 1px solid var(--color-border);
    border-left: 1px solid var(--color-border);
    border-radius: 0 0 14px 14px;
    background: var(--color-surface);
}

.article-summary-label {
margin: 0 0 10px;
    color: var(--color-primary);
    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
    line-height: 1.4;
    text-transform: uppercase;
}

.article-summary p:last-child {
margin: 0;
    font-size: 16px;
    line-height: 1.72;
}

.article-record {
padding: 26px 24px;
    border: 1px solid var(--color-border);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.78);
}

.article-record-label {
margin: 0 0 20px;
    color: var(--color-primary);
    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.1px;
    line-height: 1.4;
    text-transform: uppercase;
}

.article-record-list {
margin: 0;
}

.article-record-item {
padding: 14px 0;
    border-top: 1px solid var(--color-border);
}

.article-record-item:first-child {
border-top: 0;
}

.article-record-item dt {
margin-bottom: 3px;
    color: var(--color-muted);
    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 600;
    line-height: 1.4;
}

.article-record-item dd {
margin: 0;
    color: var(--color-text);
    font-family: var(--font-heading);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.5;
}

.article-record-item a {
color: var(--color-primary);
    text-underline-offset: 4px;
}

.article-tools {
display: flex;
    margin-top: 38px;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.article-tool {
display: inline-flex;
    min-height: 44px;
    padding: 10px 14px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--color-border);
    border-radius: 9px;
    background: var(--color-surface);
    color: var(--color-primary);
    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.35;
    text-decoration: none;
    cursor: pointer;
}

.article-tool:hover,
.article-tool:focus-visible {
border-color: var(--color-primary);
    background: var(--color-surface-muted);
}

.article-pdf-button {
border-color: var(--color-primary);
    background: var(--color-primary);
    color: #ffffff;
}

.article-pdf-button:hover,
.article-pdf-button:focus-visible {
background: var(--color-primary-deep);
}

.article-tools-status {
min-width: 120px;
    color: var(--color-muted);
    font-family: var(--font-heading);
    font-size: 10px;
    line-height: 1.4;
}

.article-hero-figure {
width: min(calc(100% - 64px), 1200px);
    margin: 0 auto 76px;
}

.article-hero-image {
width: 100%;
    height: auto;
    max-height: 720px;
    border-radius: 18px;
    object-fit: cover;
}

.article-figure-caption {
display: flex;
    margin-top: 14px;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    color: var(--color-muted);
    font-family: var(--font-heading);
    font-size: 11px;
    line-height: 1.55;
}

.article-figure-caption-text {
max-width: 680px;
}

.article-figure-source {
max-width: 300px;
    text-align: right;
}

/* ==================================================
   IMAGENS DO ARTIGO
   ================================================== */

.article-hero-figure > img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    border-radius: 10px;
    object-fit: cover;
	margin: 0;
	padding: 0;
}

.article-figure-image {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    border: 1px solid var(--color-border);
    border-radius: 10px;
    object-fit: cover;
    background: var(--color-surface-muted);
	margin: 0;
	padding: 0;
}

.article-reading-layout {
display: grid;
    grid-template-columns: var(--toc-width) minmax(0, var(--reading-width));
    gap: 56px;
    justify-content: center;
    align-items: start;
}

.article-toc-column {
min-width: 0;
}

.article-toc {
position: sticky;
    top: 28px;
    padding: 22px 20px;
    border: 1px solid var(--color-border);
    border-radius: 14px;
    background: var(--color-surface);
}

.article-toc-summary {
color: var(--color-primary);
    font-family: var(--font-heading);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
    cursor: pointer;
}

.article-toc-navigation {
margin-top: 18px;
}

.article-toc-list {
display: flex;
    margin: 0;
    padding: 0;
    flex-direction: column;
    gap: 5px;
    list-style: none;
    counter-reset: toc;
}

.article-toc-list li {
counter-increment: toc;
}

.article-toc-list a {
position: relative;
    display: block;
    min-height: 38px;
    padding: 8px 8px 8px 34px;
    border-radius: 7px;
    color: var(--color-muted);
    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 600;
    line-height: 1.45;
    text-decoration: none;
}

.article-toc-list a::before {
position: absolute;
    top: 8px;
    left: 8px;
    color: var(--color-secondary);
    content: counter(toc, decimal-leading-zero);
    font-size: 10px;
}

.article-toc-list a:hover,
.article-toc-list a:focus-visible,
.article-toc-list a.is-current {
background: var(--color-surface-muted);
    color: var(--color-primary);
}

.article-content {
min-width: 0;
}

.article-section {
scroll-margin-top: 28px;
    margin-bottom: 80px;
}

.article-section-marker {
display: flex;
    margin: 0 0 20px;
    align-items: center;
    gap: 12px;
    color: var(--color-secondary);
    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
    line-height: 1.4;
    text-transform: uppercase;
}

.article-section-marker > span:nth-child(2) {
width: 38px;
    height: 1px;
    background: currentColor;
}

.article-heading {
margin: 0 0 28px;
    color: var(--color-text);
    font-family: var(--font-heading);
    font-size: 32px;
    font-weight: 600;
    letter-spacing: -1px;
    line-height: 1.2;
}

.article-content h3:not([class]) {
margin: 42px 0 18px;
    color: var(--color-text);
    font-family: var(--font-heading);
    font-size: 23px;
    font-weight: 600;
    line-height: 1.3;
}

.article-content p {
margin: 0 0 24px;
}

.article-content a:not([class]) {
color: var(--color-primary);
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
}

.article-content ul:not([class]),
.article-content ol:not([class]) {
margin: 0 0 28px;
    padding-left: 28px;
}

.article-content li + li {
margin-top: 10px;
}

.article-lead {
color: var(--color-primary);
    font-size: 19px;
    font-weight: 500;
    line-height: 1.68;
}

.article-figure {
margin: 52px 0;
    break-inside: avoid;
}

.article-figure--portrait {
width: min(100%, 520px);
    margin-right: auto;
    margin-left: auto;
}

.article-figure--wide {
width: 100%;
}

.article-figure-number {
display: block;
    margin-bottom: 12px;
    color: var(--color-secondary);
    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.8px;
    line-height: 1.4;
    text-transform: uppercase;
}

.article-figure-image {
width: 100%;
    height: auto;
    border: 1px solid var(--color-border);
    border-radius: 14px;
    background: var(--color-surface-muted);
}

.article-numbered-image {
position: relative;
}

.article-image-marker {
position: absolute;
    display: inline-flex;
    width: 34px;
    height: 34px;
    align-items: center;
    justify-content: center;
    border: 3px solid #ffffff;
    border-radius: 50%;
    background: var(--color-primary);
    color: #ffffff;
    font-family: var(--font-heading);
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    box-shadow: 0 4px 14px rgba(34, 37, 43, 0.2);
}

.article-image-marker--one {
top: 18%;
    left: 18%;
}

.article-image-marker--two {
top: 42%;
    right: 22%;
}

.article-image-marker--three {
right: 34%;
    bottom: 15%;
}

.article-image-legend {
margin: 22px 0 0;
    padding: 20px 22px 20px 44px;
    border-left: 3px solid var(--color-secondary);
    background: var(--color-surface);
    font-size: 13px;
    line-height: 1.65;
}

.article-key-point,
.article-definition,
.article-historical-note,
.article-common-mistake,
.article-section-summary {
margin: 46px 0;
    padding: 28px 30px;
    break-inside: avoid;
    border: 1px solid var(--color-border);
    border-radius: 14px;
    background: var(--color-surface);
}

.article-key-point {
border-top: 4px solid var(--color-primary);
}

.article-definition {
border-left: 4px solid var(--color-teal);
}

.article-historical-note {
border-left: 4px solid var(--color-secondary);
}

.article-common-mistake {
border-left: 4px solid var(--color-error);
}

.article-section-summary {
scroll-margin-top: 28px;
    border-top: 4px solid var(--color-brass);
}

.article-block-label {
margin: 0 0 10px;
    color: var(--color-secondary);
    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
    line-height: 1.4;
    text-transform: uppercase;
}

.article-block-title {
margin: 0 0 14px;
    color: var(--color-text);
    font-family: var(--font-heading);
    font-size: 21px;
    font-weight: 600;
    line-height: 1.35;
}

.article-block-text {
margin: 0;
    font-size: 14px;
    line-height: 1.7;
}

.article-section-summary ul {
margin-bottom: 0;
}

.article-quote {
margin: 48px 0;
    padding: 30px 32px;
    border-left: 4px solid var(--color-primary);
    background: var(--color-surface);
    color: var(--color-primary);
    font-size: 22px;
    line-height: 1.58;
}

.article-quote p {
margin: 0;
}

.article-quote footer {
margin-top: 18px;
    color: var(--color-muted);
    font-family: var(--font-heading);
    font-size: 11px;
    line-height: 1.5;
}

.article-jornada-box {
display: grid;
    margin: 88px 0;
    padding: 34px;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 28px;
    border: 1px solid var(--color-border);
    border-radius: 18px;
    background: linear-gradient(135deg, #ffffff 0%, #f0ebf0 100%);
}

.article-jornada-marker {
position: relative;
    min-height: 150px;
    border-right: 1px solid var(--color-border);
}

.article-jornada-marker span {
position: absolute;
    left: 20px;
    width: 18px;
    height: 18px;
    transform: rotate(45deg);
    border: 2px solid var(--color-primary);
    background: var(--color-surface);
}

.article-jornada-marker span:nth-child(1) {
top: 10px;
}

.article-jornada-marker span:nth-child(2) {
top: 58px;
    border-color: var(--color-secondary);
}

.article-jornada-marker span:nth-child(3) {
top: 106px;
    border-color: var(--color-brass);
}

.article-jornada-marker::before,
.article-jornada-marker::after {
position: absolute;
    left: 29px;
    width: 1px;
    height: 31px;
    background: var(--color-border);
    content: "";
}

.article-jornada-marker::before {
top: 28px;
}

.article-jornada-marker::after {
top: 76px;
}

.article-jornada-label {
margin: 0 0 10px;
    color: var(--color-secondary);
    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
    line-height: 1.4;
    text-transform: uppercase;
}

.article-jornada-title {
margin: 0;
    color: var(--color-text);
    font-family: var(--font-heading);
    font-size: 26px;
    font-weight: 600;
    line-height: 1.3;
}

.article-jornada-text {
margin: 18px 0 24px;
    font-size: 14px;
    line-height: 1.7;
}

.article-table-wrapper {
max-width: 100%;
    margin: 44px 0;
    overflow-x: auto;
    border: 1px solid var(--color-border);
    border-radius: 14px;
    background: var(--color-surface);
}

.article-table-wrapper:focus-visible {
outline-offset: 3px;
}

.article-table {
width: 100%;
    min-width: 620px;
    border-collapse: collapse;
    font-family: var(--font-heading);
    font-size: 12px;
    line-height: 1.55;
}

.article-table caption {
padding: 16px 18px;
    border-bottom: 1px solid var(--color-border);
    color: var(--color-primary);
    font-size: 12px;
    font-weight: 700;
    text-align: left;
}

.article-table th,
.article-table td {
padding: 16px 18px;
    border-right: 1px solid var(--color-border);
    border-bottom: 1px solid var(--color-border);
    text-align: left;
    vertical-align: top;
}

.article-table th:last-child,
.article-table td:last-child {
border-right: 0;
}

.article-table tbody tr:last-child td {
border-bottom: 0;
}

.article-table th {
background: var(--color-surface-muted);
    color: var(--color-primary);
    font-weight: 700;
}

.article-timeline {
position: relative;
    margin: 46px 0;
    padding: 0;
    list-style: none;
}

.article-timeline::before {
position: absolute;
    top: 12px;
    bottom: 12px;
    left: 105px;
    width: 1px;
    background: var(--color-border);
    content: "";
}

.article-timeline-item {
position: relative;
    display: grid;
    padding: 0 0 38px;
    grid-template-columns: 84px minmax(0, 1fr);
    gap: 44px;
}

.article-timeline-item::before {
position: absolute;
    top: 8px;
    left: 98px;
    z-index: 1;
    width: 15px;
    height: 15px;
    transform: rotate(45deg);
    border: 3px solid var(--color-background);
    background: var(--color-secondary);
    content: "";
}

.article-timeline-date {
color: var(--color-secondary);
    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;
    line-height: 1.4;
}

.article-timeline h3 {
margin: 0 0 8px;
    font-family: var(--font-heading);
    font-size: 17px;
    line-height: 1.4;
}

.article-timeline p {
margin: 0;
    font-size: 13px;
}

.article-footnotes {
margin: 48px 0;
    padding-top: 24px;
    border-top: 1px solid var(--color-border);
    font-size: 12px;
    line-height: 1.65;
}

.article-footnotes-title {
margin: 0 0 16px;
    font-family: var(--font-heading);
    font-size: 16px;
    line-height: 1.4;
}

.article-study-guide {
scroll-margin-top: 28px;
    margin: 88px 0;
    padding: 36px;
    border-radius: 18px;
    background: var(--color-primary-deep);
    color: #ffffff;
}

.article-study-guide .article-section-marker {
color: #d9c8d0;
}

.article-study-guide .article-heading {
color: #ffffff;
}

.article-study-steps {
display: grid;
    margin: 34px 0 0;
    padding: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    list-style: none;
}

.article-study-steps li {
display: grid;
    padding: 22px;
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 16px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.06);
}

.article-study-steps li + li {
margin-top: 0px;
}

.article-study-steps > li > span {
color: #d4b7c1;
    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;
}

.article-content .article-study-steps h3 {
margin: 0 0 8px;
    color: #ffffff;
    font-family: var(--font-heading);
    font-size: 23px;
    font-weight: 600;
    line-height: 1.3;
}

.article-study-steps p {
margin: 0;
    color: #ded9e7;
    font-size: 12px;
    line-height: 1.6;
}

.article-documentation {
scroll-margin-top: 28px;
    margin: 88px 0;
}

.article-documentation-grid {
display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.article-reference-block {
padding: 26px;
    border: 1px solid var(--color-border);
    border-radius: 14px;
    background: var(--color-surface);
}

.article-reference-block--full {
grid-column: 1 / -1;
}

.article-reference-block h2,
.article-external-links h2 {
margin: 0 0 18px;
    color: var(--color-primary);
    font-family: var(--font-heading);
    font-size: 20px;
    line-height: 1.35;
}

.article-reference-block ol,
.article-reference-block ul,
.article-external-links ul {
margin: 0;
    padding-left: 22px;
    font-size: 12px;
    line-height: 1.7;
}

.article-external-links {
margin: 72px 0;
    padding: 28px;
    border-left: 4px solid var(--color-teal);
    background: var(--color-surface);
}

.article-external-links a {
overflow-wrap: anywhere;
    color: var(--color-primary);
    text-underline-offset: 4px;
}

.article-faq {
scroll-margin-top: 28px;
    margin: 88px 0;
}

.article-faq-item {
border-top: 1px solid var(--color-border);
}

.article-faq-item:last-child {
border-bottom: 1px solid var(--color-border);
}

.article-faq-item summary {
position: relative;
    padding: 20px 48px 20px 0;
    color: var(--color-text);
    font-family: var(--font-heading);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.45;
    cursor: pointer;
    list-style: none;
}

.article-faq-item summary::-webkit-details-marker {
display: none;
}

.article-faq-item summary::after {
position: absolute;
    top: 20px;
    right: 4px;
    color: var(--color-secondary);
    content: "+";
    font-size: 22px;
    line-height: 1;
}

.article-faq-item[open] summary::after {
content: "−";
}

.article-faq-answer {
padding: 0 48px 20px 0;
    color: var(--color-muted);
    font-size: 14px;
}

.article-faq-answer p {
margin: 0;
}

.article-sequence {
display: grid;
    margin-top: 92px;
    padding-top: 34px;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 20px;
    align-items: center;
    border-top: 1px solid var(--color-border);
}

.article-sequence-link {
display: flex;
    min-height: 118px;
    padding: 20px 22px;
    flex-direction: column;
    justify-content: center;
    border: 1px solid var(--color-border);
    border-radius: 14px;
    background: var(--color-surface);
    color: var(--color-text);
    font-family: var(--font-heading);
    text-decoration: none;
}

.article-sequence-link--next {
text-align: right;
}

.article-sequence-direction {
margin-bottom: 8px;
    color: var(--color-secondary);
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
}

.article-sequence-link strong {
font-size: 14px;
    line-height: 1.45;
}

.article-sequence-category {
color: var(--color-primary);
    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 700;
    text-align: center;
    text-underline-offset: 4px;
}

.related-articles-section {
margin-top: 92px;
    padding: 88px 0;
    background: var(--color-primary-deep);
    color: #ffffff;
}

.related-articles-section .article-section-marker {
color: #d9c8d0;
}

.related-articles-section .article-heading {
color: #ffffff;
}

.related-articles-grid {
display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.related-article-card {
display: flex;
    min-height: 300px;
    padding: 26px;
    flex-direction: column;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.06);
}

.related-article-category {
margin: 0 0 18px;
    color: #d4b7c1;
    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.related-article-title {
margin: 0;
    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 600;
    line-height: 1.35;
}

.related-article-title a {
text-decoration: none;
}

.related-article-title a:hover,
.related-article-title a:focus-visible {
text-decoration: underline;
    text-underline-offset: 5px;
}

.related-article-summary {
margin: 18px 0;
    color: #ddd8e6;
    font-size: 13px;
    line-height: 1.65;
}

.related-article-meta {
margin: auto 0 0;
    color: #c7c1d2;
    font-family: var(--font-heading);
    font-size: 10px;
}

.article-final-share {
padding: 64px 0;
    border-bottom: 1px solid var(--color-border);
    background: var(--color-surface);
}

.article-final-share-inner {
display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 48px;
    align-items: center;
}

.article-final-share-label {
margin: 0 0 8px;
    color: var(--color-secondary);
    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.article-final-share h2 {
max-width: 680px;
    margin: 0;
    font-family: var(--font-heading);
    font-size: 24px;
    line-height: 1.35;
}

.article-final-share-actions {
display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.article-final-share-actions a,
.article-final-share-actions button {
display: inline-flex;
    min-height: 44px;
    padding: 10px 13px;
    align-items: center;
    border: 1px solid var(--color-border);
    border-radius: 8px;
    background: var(--color-background);
    color: var(--color-primary);
    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
}

.article-search-section {
padding: 72px 0;
    background: var(--color-background);
}

.article-search-panel {
display: grid;
    padding: 38px;
    grid-template-columns: minmax(250px, 0.75fr) minmax(0, 1.25fr);
    gap: 56px;
    border: 1px solid var(--color-border);
    border-radius: 18px;
    background: var(--color-surface);
}

.article-search-label {
margin: 0 0 10px;
    color: var(--color-secondary);
    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.article-search-title {
margin: 0;
    font-family: var(--font-heading);
    font-size: 27px;
    line-height: 1.3;
}

.article-search-description {
margin: 16px 0 0;
    color: var(--color-muted);
    font-size: 13px;
}

.home-search-input-label {
display: block;
    margin-bottom: 9px;
    color: var(--color-text);
    font-family: var(--font-heading);
    font-size: 12px;
    font-weight: 700;
}

.home-search-controls {
display: flex;
    align-items: stretch;
    gap: 9px;
}

.home-search-input {
min-width: 0;
    min-height: 52px;
    padding: 12px 15px;
    flex: 1 1 260px;
    border: 1px solid var(--color-border);
    border-radius: 10px;
    background: #ffffff;
    color: var(--color-text);
    font-family: var(--font-heading);
    font-size: 13px;
}

.home-search-help,
.home-search-status,
.home-search-noscript {
margin: 9px 0 0;
    color: var(--color-muted);
    font-family: var(--font-heading);
    font-size: 10px;
    line-height: 1.5;
}

.home-search-results {
margin-top: 20px;
}

.home-search-results-list {
display: grid;
    gap: 10px;
}

.search-result-card {
padding: 18px;
    border: 1px solid var(--color-border);
    border-radius: 10px;
    background: var(--color-background);
}

.search-result-category {
margin: 0;
    color: var(--color-secondary);
    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.7px;
    text-transform: uppercase;
}

.search-result-title {
margin: 7px 0;
    font-family: var(--font-heading);
    font-size: 16px;
    line-height: 1.4;
}

.search-result-link {
display: flex;
    flex-direction: column;
    color: inherit;
    text-decoration: none;
}

.search-result-link:hover .search-result-title,
.search-result-link:focus-visible .search-result-title {
text-decoration: underline;
    text-underline-offset: 4px;
}

.search-result-summary {
margin: 0 0 8px;
    color: var(--color-muted);
    font-size: 12px;
    line-height: 1.6;
}

.article-final-notice {
padding: 64px 0;
    border-top: 1px solid var(--color-border);
    border-bottom: 1px solid var(--color-border);
    background: var(--color-surface-muted);
}

.article-final-notice-inner {
max-width: 900px;
}

.article-final-notice-label,
.article-author-label,
.article-final-jornada-label {
margin: 0 0 8px;
    color: var(--color-secondary);
    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.article-final-notice h2 {
margin: 0 0 14px;
    font-family: var(--font-heading);
    font-size: 22px;
    line-height: 1.35;
}

.article-final-notice p:last-child {
margin: 0;
    color: var(--color-muted);
    font-size: 13px;
    line-height: 1.7;
}

.article-author-section {
padding: 72px 0;
    background: var(--color-surface);
}

.article-author-box {
display: grid;
    padding: 34px;
    grid-template-columns: 120px minmax(0, 1fr);
    gap: 34px;
    align-items: center;
    border: 1px solid var(--color-border);
    border-radius: 18px;
}

.article-author-symbol {
display: flex;
    width: 120px;
    height: 120px;
    align-items: center;
    justify-content: center;
    transform: rotate(45deg);
    border: 2px solid var(--color-primary);
    background: var(--color-background);
    color: var(--color-primary);
    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 700;
}

.article-author-symbol span {
display: block;
    transform: rotate(-45deg);
}

.article-author-name {
margin: 0;
    font-family: var(--font-heading);
    font-size: 26px;
    line-height: 1.3;
}

.article-author-description {
margin: 14px 0;
    color: var(--color-muted);
    font-size: 14px;
}

.article-reviewer {
margin: 0 0 14px;
    color: var(--color-muted);
    font-family: var(--font-heading);
    font-size: 11px;
}

.article-author-link {
color: var(--color-primary);
    font-family: var(--font-heading);
    font-size: 12px;
    font-weight: 700;
	text-decoration: none;
}

.article-final-jornada {
padding: 64px 0;
    background: linear-gradient(135deg, #eeeae3 0%, #f5eef1 100%);
}

.article-final-jornada-inner {
display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 44px;
    align-items: center;
}

.article-final-jornada h2 {
max-width: 760px;
    margin: 0;
    font-family: var(--font-heading);
    font-size: 26px;
    line-height: 1.35;
}

@media (max-width: 1279px) {
        .article-container {
width: min(calc(100% - 48px), var(--content-width));
    }

        .article-header-grid {
gap: 48px;
    }

        .article-title {
font-size: 44px;
    }

        .article-reading-layout {
grid-template-columns: 230px minmax(0, 700px);
        gap: 42px;
    }
}

@media (max-width: 1023px) {
        .article-header-grid {
grid-template-columns: 1fr;
    }

        .article-record {
max-width: 720px;
    }

        .article-reading-layout {
grid-template-columns: minmax(0, 720px);
    }

        .article-toc {
position: static;
        margin-bottom: 48px;
    }

        .article-toc-column {
grid-row: 1;
    }

        .article-content {
grid-row: 2;
    }

        .article-documentation-grid,
    .related-articles-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
    }

        .related-article-card:last-child {
grid-column: 1 / -1;
        min-height: 0;
    }

        .article-search-panel {
grid-template-columns: 1fr;
    }

        .article-final-share-inner,
    .article-final-jornada-inner {
grid-template-columns: 1fr;
    }

        .article-final-share-actions {
justify-content: flex-start;
    }
}

@media (max-width: 767px) {
        .article-container {
width: calc(100% - 36px);
    }

        .article-header {
padding: 52px 0 34px;
    }

        .article-title {
font-size: 34px;
        letter-spacing: -1.4px;
    }

        .article-subtitle {
font-size: 19px;
    }

        .article-summary {
padding: 22px;
    }

        .article-tools {
align-items: stretch;
    }

        .article-tool {
flex: 1 1 calc(50% - 8px);
    }

        .article-tools-status {
width: 100%;
    }

        .article-hero-figure {
width: calc(100% - 36px);
        margin-bottom: 56px;
    }

        .article-figure-caption {
flex-direction: column;
        gap: 5px;
    }

        .article-figure-source {
max-width: none;
        text-align: left;
    }

        .article-heading {
font-size: 27px;
    }

        .article-lead {
font-size: 17px;
    }

        .article-section {
margin-bottom: 64px;
    }

        .article-figure {
margin: 42px 0;
    }

        .article-quote {
padding: 24px;
        font-size: 19px;
    }

        .article-key-point,
    .article-definition,
    .article-historical-note,
    .article-common-mistake,
    .article-section-summary {
padding: 24px;
    }

        .article-jornada-box {
grid-template-columns: 1fr;
        padding: 28px 24px;
    }

        .article-jornada-marker {
display: none;
    }

        .article-study-guide {
padding: 28px 24px;
    }

        .article-study-steps,
    .article-documentation-grid,
    .related-articles-grid {
grid-template-columns: 1fr;
    }

        .article-reference-block--full,
    .related-article-card:last-child {
grid-column: auto;
    }

        .article-sequence {
grid-template-columns: 1fr;
    }

        .article-sequence-link--next {
text-align: left;
    }

        .article-sequence-category {
padding: 12px 0;
        order: -1;
    }

        .related-articles-section {
padding: 64px 0;
    }

        .article-search-panel {
padding: 28px 22px;
        gap: 32px;
    }

        .home-search-controls {
flex-direction: column;
    }

        .home-search-input,
    .home-search-controls .button {
width: 100%;
        flex-basis: auto;
    }

        .article-author-box {
grid-template-columns: 1fr;
        padding: 28px 24px;
    }

        .article-author-symbol {
width: 90px;
        height: 90px;
    }
    .article-table-wrapper {
        overflow: visible;
        border: 0;
        border-radius: 0;
        background: transparent;
    }

    .article-table {
        display: block;
        width: 100%;
        min-width: 0;
        table-layout: auto;
    }

    .article-table caption {
        display: block;
        width: 100%;
        margin-bottom: 12px;
        border: 1px solid var(--color-border);
        border-radius: 12px;
        background: var(--color-surface);
    }

    .article-table thead {
        display: none;
    }

    .article-table tbody {
        display: grid;
        gap: 14px;
    }

    .article-table tr {
        display: block;
        overflow: hidden;
        border: 1px solid var(--color-border);
        border-radius: 14px;
        background: var(--color-surface);
    }

    .article-table td,
    .article-table-two-columns td:first-child,
    .article-table-two-columns td:nth-child(2),
    .article-table-three-columns td:first-child,
    .article-table-three-columns td:nth-child(2),
    .article-table-three-columns td:nth-child(3) {
        display: block;
        width: 100%;
        padding: 12px 16px;
        border-right: 0;
        border-bottom: 1px solid var(--color-border);
        white-space: normal;
        overflow-wrap: break-word;
        word-break: normal;
        hyphens: none;
    }

    .article-table td:last-child {
        border-bottom: 0;
    }

    .article-table td::before {
        display: block;
        margin-bottom: 4px;
        color: var(--color-primary);
        content: attr(data-label);
        font-weight: 700;
        line-height: 1.35;
    }
}

@media (max-width: 430px) {
        .article-container {
width: calc(100% - 32px);
    }

        .article-title {
font-size: 31px;
    }

        .article-subtitle {
font-size: 18px;
    }

        .article-tool {
flex-basis: 100%;
    }

        .article-hero-figure {
width: calc(100% - 32px);
    }

        .article-heading {
font-size: 25px;
    }

        .article-image-marker {
width: 29px;
        height: 29px;
        font-size: 10px;
    }

        .article-timeline::before {
left: 16px;
    }

        .article-timeline-item {
padding-left: 42px;
        grid-template-columns: 1fr;
        gap: 5px;
    }

        .article-timeline-item::before {
left: 9px;
    }

        .article-timeline-date {
font-size: 10px;
    }

        .article-final-share-actions a,
    .article-final-share-actions button {
flex: 1 1 calc(50% - 8px);
        justify-content: center;
    }

        .article-final-jornada .button {
width: 100%;
    }
}

@media print {
        .reading-progress,
    .article-tools,
    .article-toc-column,
    .article-jornada-button,
    .article-sequence,
    .related-articles-section,
    .article-final-share,
    .article-search-section,
    .article-final-jornada {
display: none !important;
    }

        .article-container,
    .article-hero-figure {
width: 100%;
    }

        .article-header {
padding: 0 0 24pt;
        border: 0;
        background: #ffffff;
    }

        .article-header-grid,
    .article-reading-layout,
    .article-documentation-grid,
    .article-study-steps,
    .article-author-box {
display: block;
    }

        .article-title {
color: #000000;
        font-size: 28pt;
    }

        .article-subtitle {
color: #222222;
        font-size: 16pt;
    }

        .article-summary,
    .article-record,
    .article-key-point,
    .article-definition,
    .article-historical-note,
    .article-common-mistake,
    .article-section-summary,
    .article-reference-block,
    .article-external-links,
    .article-author-box {
border-color: #777777;
        background: #ffffff;
    }

        .article-record {
margin-top: 18pt;
        break-inside: avoid;
    }

        .article-record-list {
display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0 12pt;
    }

        .article-record-item {
padding: 6pt 0;
    }

        .article-summary {
break-inside: avoid;
    }

        .article-hero-figure {
margin-bottom: 24pt;
    }

        .article-hero-image,
    .article-figure-image {
max-height: 210mm;
        object-fit: contain;
    }

        .article-section,
    .article-figure,
    .article-reference-block,
    .article-faq-item,
    .article-author-box {
break-inside: avoid;
    }

        .article-section {
margin-bottom: 28pt;
    }

        .article-heading {
color: #000000;
        font-size: 19pt;
        break-after: avoid;
    }

        .article-figure-caption {
display: block;
        color: #333333;
    }

        .article-figure-source {
display: block;
        margin-top: 4pt;
        text-align: left;
    }

        .article-jornada-box,
    .article-study-guide,
    .article-final-notice {
padding: 16pt;
        border: 1px solid #777777;
        background: #ffffff;
        color: #000000;
    }

        .article-study-guide .article-heading,
    .article-study-guide .article-section-marker,
    .article-content .article-study-steps h3,
    .article-study-steps p {
color: #000000;
    }

        .article-study-steps li {
margin-bottom: 10pt;
        border-color: #777777;
        background: #ffffff;
    }

        .article-table-wrapper {
overflow: visible;
        border: 0;
    }

        .article-table {
min-width: 0;
        font-size: 8.5pt;
    }

        .article-table th,
    .article-table td {
padding: 7pt;
        border: 1px solid #777777;
    }

        .article-faq-item[open] .article-faq-answer,
    .article-faq-answer {
display: block;
    }

        a[href^="http"]::after {
content: " (" attr(href) ")";
        overflow-wrap: anywhere;
        font-size: 8pt;
    }

        .article-category::before,
    .article-image-marker,
    .article-jornada-marker {
display: none;
    }
}

/* Correção isolada aprovada: uniformidade dos passos de estudo */
.article-study-steps {
    grid-auto-rows: 1fr;
}

.article-study-steps li {
    height: 100%;
}

.article-content .article-study-steps h3 {
    color: #ffffff;
}


/* Garantia visual para as tabelas empilhadas no celular. */
@media (max-width: 767px) {
    .article-table tbody tr:last-child td {
        border-bottom: 1px solid var(--color-border);
    }

    .article-table tbody tr:last-child td:last-child {
        border-bottom: 0;
    }
}
