:root {
  --article-paper: #f6f3ec;
  --article-ink: #15171a;
  --article-muted: #5f625f;
  --article-line: #d9d4c9;
  --article-orange: var(--orange, #f47a0a);
  --article-width: 760px;
  --article-wide: 1080px;
}

body.page-article { background: var(--article-paper); color: var(--article-ink); }
.page-article .site-header { background: rgba(9, 10, 12, .96); }
.page-article main { overflow: clip; }
.article-shell { width: min(var(--article-wide), calc(100% - 40px)); margin-inline: auto; }
.article-prose { width: min(var(--article-width), 100%); margin-inline: auto; }
.article-prose > * + * { margin-top: 1.25rem; }
.article-prose p, .article-prose li { color: #35383a; font-size: 1.075rem; line-height: 1.82; }
.article-prose a { color: #984000; font-weight: 750; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.article-prose h2 { margin: 4.75rem 0 1.25rem; color: var(--article-ink); font-size: clamp(1.8rem, 4vw, 2.65rem); line-height: 1.12; letter-spacing: -.035em; }
.article-prose h3 { margin: 2.5rem 0 .7rem; color: var(--article-ink); font-size: 1.3rem; line-height: 1.25; }
.article-hero { position: relative; padding: calc(var(--header-height) + 54px) 0 72px; background: var(--bg); color: var(--text); }
.article-breadcrumb { display: flex; flex-wrap: wrap; gap: .45rem; align-items: center; margin-bottom: 30px; color: #bcbdbd; font-size: .86rem; }
.article-breadcrumb a { color: #eee; text-decoration: none; }
.article-breadcrumb span[aria-hidden] { color: #74777c; }
.article-hero-grid { display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(340px, .98fr); gap: 56px; align-items: center; }
.article-kicker { margin: 0 0 15px; color: var(--article-orange); font-size: .78rem; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.article-hero h1 { max-width: 780px; margin: 0; font-size: clamp(2.45rem, 5.3vw, 4.85rem); line-height: .98; letter-spacing: -.055em; }
.article-deck { max-width: 690px; margin: 25px 0 0; color: #d2d1cc; font-size: clamp(1.05rem, 2vw, 1.25rem); line-height: 1.65; }
.article-byline { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 25px; color: #9fa1a3; font-size: .86rem; }
.article-hero figure, .article-media { margin: 0; }
.article-hero figure { position: relative; }
.article-hero img, .article-media img { display: block; width: 100%; height: auto; border-radius: 24px; }
.article-hero img { aspect-ratio: 16 / 9; object-fit: cover; box-shadow: 0 28px 65px rgba(0,0,0,.38); }
.article-media { width: min(var(--article-wide), 100%); margin: 3.25rem auto 1rem; }
.article-media img { max-height: 620px; object-fit: cover; }
.article-media figcaption { margin-top: 10px; color: #70736f; font-size: .82rem; }
.article-content { padding: 74px 0 96px; }
.quick-answer { margin: 0 auto 4.2rem; padding: 28px; border: 1px solid #d8d1c5; border-left: 5px solid var(--article-orange); border-radius: 18px; background: #fff; box-shadow: 0 14px 35px rgba(35, 28, 20, .06); }
.quick-answer h2 { margin: 0 0 16px; font-size: 1.35rem; }
.quick-answer ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 28px; margin: 0; padding: 0; list-style: none; }
.quick-answer li { position: relative; padding-left: 22px; color: #414446; font-size: .98rem; line-height: 1.55; }
.quick-answer li::before { content: ''; position: absolute; left: 0; top: .65em; width: 8px; height: 8px; border-radius: 50%; background: var(--article-orange); }
.concept-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 2rem 0 2.4rem; }
.concept-card { padding: 22px; border: 1px solid var(--article-line); border-radius: 16px; background: #fff; }
.concept-card span { display: block; margin-bottom: 8px; color: var(--article-orange); font-size: .75rem; font-weight: 850; letter-spacing: .12em; }
.concept-card strong { display: block; margin-bottom: 8px; font-size: 1.15rem; }
.concept-card p { margin: 0; font-size: .95rem; line-height: 1.55; }
.consideration-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 2rem; }
.consideration-grid article { padding: 25px; border: 1px solid var(--article-line); border-radius: 18px; background: #fff; }
.consideration-grid h3 { margin: 0 0 10px; }
.consideration-grid p { margin: 0; font-size: 1rem; line-height: 1.7; }
.contextual-cta { width: min(var(--article-wide), 100%); margin: 4.25rem auto; padding: 38px; border-radius: 24px; background: #191c20; color: #fff; }
.contextual-cta .eyebrow { margin-bottom: 9px; color: #ffab5c; }
.contextual-cta h2 { margin: 0 0 12px; color: #fff; font-size: clamp(1.75rem, 4vw, 2.55rem); }
.contextual-cta p { max-width: 720px; margin: 0; color: #d3d3cf; }
.contextual-cta .button { margin-top: 22px; }
.existing-visual { display: grid; grid-template-columns: 1fr auto 1fr; gap: 16px; align-items: stretch; margin: 2.2rem 0; }
.existing-visual div { padding: 25px; border: 1px solid var(--article-line); border-radius: 17px; background: #fff; }
.existing-visual strong { display: block; margin-bottom: 8px; font-size: 1.05rem; }
.existing-visual p { margin: 0; font-size: .95rem; line-height: 1.6; }
.existing-visual .not-equal { display: grid; place-items: center; padding: 0 2px; border: 0; background: transparent; color: var(--article-orange); font-size: 2rem; font-weight: 900; }
.formula { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 12px; align-items: center; margin: 2rem 0; text-align: center; }
.formula strong { padding: 20px 12px; border: 1px solid var(--article-line); border-radius: 15px; background: #fff; }
.formula span { color: var(--article-orange); font-size: 1.7rem; font-weight: 900; }
.article-checklist { width: min(var(--article-wide), 100%); margin: 4.5rem auto; padding: clamp(28px, 5vw, 48px); border-radius: 26px; background: #ede7dc; }
.article-checklist h2 { margin: 0 0 12px; }
.article-checklist > p { margin: 0 0 24px; }
.article-checklist ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.article-checklist li { position: relative; padding: 15px 16px 15px 48px; border: 1px solid #d4ccbd; border-radius: 13px; background: rgba(255,255,255,.7); color: #323436; line-height: 1.5; }
.article-checklist li::before { content: ''; position: absolute; left: 17px; top: 17px; width: 16px; height: 16px; border: 2px solid var(--article-orange); border-radius: 4px; }
.article-cta-light { background: #fff; color: var(--article-ink); border: 1px solid var(--article-line); }
.article-cta-light h2 { color: var(--article-ink); }
.article-cta-light p { color: #474a4c; }
.faq { width: min(var(--article-width), 100%); margin: 5rem auto 0; }
.faq h2 { margin-bottom: 1.5rem; }
.faq details { border-top: 1px solid var(--article-line); }
.faq details:last-child { border-bottom: 1px solid var(--article-line); }
.faq summary { position: relative; cursor: pointer; padding: 21px 42px 21px 0; color: var(--article-ink); font-weight: 800; list-style: none; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: '+'; position: absolute; right: 5px; top: 17px; color: var(--article-orange); font-size: 1.5rem; }
.faq details[open] summary::after { content: '−'; }
.faq details p { margin: 0; padding: 0 36px 22px 0; font-size: 1rem; line-height: 1.7; }
.article-final { width: min(var(--article-wide), 100%); margin: 5rem auto 0; padding: clamp(30px, 6vw, 58px); border-radius: 28px; background: linear-gradient(135deg, #101216, #23272d); color: #fff; }
.article-final h2 { max-width: 630px; margin: 0; color: #fff; font-size: clamp(2rem, 5vw, 3.4rem); }
.article-final p { max-width: 680px; color: #cfceca; }
.article-final .hero-actions { margin-top: 25px; }

/* Blog 002: fluxo editorial de condensação e drenagem */
.flow-explainer {
  display: grid;
  grid-template-columns: repeat(7, auto);
  gap: 12px;
  align-items: center;
  margin: 2.25rem 0 2.75rem;
  padding: 24px;
  border: 1px solid var(--article-line);
  border-radius: 20px;
  background: #fff;
}
.flow-step { display: grid; place-items: center; min-height: 88px; padding: 14px; border-radius: 14px; background: #f0ece4; text-align: center; }
.flow-step span { color: #7d3c0a; font-size: .72rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.flow-step strong { display: block; margin-top: 5px; color: var(--article-ink); font-size: 1rem; }
.flow-arrow { color: var(--article-orange); font-size: 1.35rem; font-weight: 900; }
.editorial-note { margin: 2rem 0; padding: 22px 24px; border-left: 4px solid var(--article-orange); border-radius: 0 14px 14px 0; background: #ece6db; }
.editorial-note strong { display: block; color: var(--article-ink); font-size: 1.12rem; }
.editorial-note p { margin: 7px 0 0; font-size: .96rem; line-height: 1.65; }
.planning-factors { display: flex; flex-wrap: wrap; gap: 10px; margin: 1.75rem 0 2.3rem; padding: 0; list-style: none; }
.planning-factors li { padding: 10px 15px; border: 1px solid var(--article-line); border-radius: 999px; background: #fff; color: #35383a; font-size: .92rem; font-weight: 750; }
.answer-highlight { width: min(var(--article-wide), 100%); margin: 4.25rem auto; padding: clamp(30px, 6vw, 56px); border-radius: 26px; background: #181b20; color: #fff; text-align: center; }
.answer-highlight .question { margin: 0 auto 17px; color: #c9c9c5; font-size: 1rem; font-weight: 750; }
.answer-highlight strong { display: block; color: var(--article-orange); font-size: clamp(2.15rem, 7vw, 4.9rem); line-height: .95; letter-spacing: -.045em; text-transform: uppercase; }
.answer-highlight p:last-child { max-width: 690px; margin: 20px auto 0; color: #d5d4cf; font-size: 1.05rem; line-height: 1.7; }
.compatibility-flow { display: grid; grid-template-columns: 1fr auto 1fr auto 1.35fr; gap: 12px; align-items: center; margin: 2rem 0 2.5rem; }
.compatibility-flow div { min-height: 92px; display: grid; place-items: center; padding: 15px; border: 1px solid var(--article-line); border-radius: 15px; background: #fff; color: var(--article-ink); font-size: .9rem; font-weight: 800; text-align: center; }
.compatibility-flow span { color: var(--article-orange); font-size: 1.35rem; font-weight: 900; }
.scenario-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 28px; margin: 1.6rem 0; padding: 0; list-style: none; }
.scenario-list li { position: relative; padding: 12px 12px 12px 26px; border-bottom: 1px solid var(--article-line); color: #35383a; }
.scenario-list li::before { content: ''; position: absolute; left: 1px; top: 1.25rem; width: 8px; height: 8px; border: 2px solid var(--article-orange); border-radius: 50%; }

@media (max-width: 860px) {
  .article-hero { padding-top: calc(var(--header-height) + 34px); }
  .article-hero-grid { grid-template-columns: 1fr; gap: 38px; }
  .article-hero h1 { font-size: clamp(2.45rem, 11vw, 4rem); }
  .quick-answer ul, .consideration-grid, .article-checklist ul { grid-template-columns: 1fr; }
  .flow-explainer { grid-template-columns: 1fr; }
  .flow-arrow { transform: rotate(90deg); text-align: center; }
  .compatibility-flow { grid-template-columns: 1fr; }
  .compatibility-flow span { transform: rotate(90deg); text-align: center; }
}

@media (max-width: 620px) {
  .article-shell { width: min(100% - 28px, var(--article-wide)); }
  .article-hero { padding-bottom: 46px; }
  .article-content { padding: 48px 0 70px; }
  .article-prose p, .article-prose li { font-size: 1rem; line-height: 1.74; }
  .article-prose h2 { margin-top: 3.7rem; }
  .quick-answer, .contextual-cta, .article-checklist, .article-final { padding: 24px; border-radius: 19px; }
  .concept-grid, .existing-visual { grid-template-columns: 1fr; }
  .existing-visual .not-equal { min-height: 35px; }
  .formula { grid-template-columns: 1fr; }
  .formula span { line-height: .8; }
  .article-hero img { border-radius: 17px; }
  .scenario-list { grid-template-columns: 1fr; }
  .answer-highlight { text-align: left; }
}

@media (prefers-reduced-motion: reduce) {
  .page-article * { scroll-behavior: auto !important; }
}
