:root {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #f8f6f3;
  background: #0b0b0c;
  font-synthesis: none;
  --signal: #ff2638;
  --background: #0b0b0c;
  --graphite: #1a1a1d;
  --paper: #f8f6f3;
  --muted: #a5a3a5;
  --line: rgba(248,246,243,.14);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 6rem; }
body { margin: 0; min-width: 0; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
a:focus-visible { outline: 2px solid var(--paper); outline-offset: 5px; }
::selection { color: var(--paper); background: #a90020; }
.skip-link { position: absolute; z-index: 20; left: 12px; top: -60px; background: var(--paper); color: #111; padding: 12px 18px; }
.skip-link:focus { top: 12px; }
.site-shell { background: var(--background); min-height: 100vh; }
.section-wrap, .site-header { width: min(100% - 9vw, 1480px); margin-inline: auto; }
.site-header { min-height: 110px; display: flex; align-items: center; justify-content: space-between; gap: 25px; border-bottom: 1px solid var(--line); }
.brand { width: 178px; display: block; }
.brand img { height: auto; width: 100%; }
.site-nav { display: flex; align-items: center; gap: clamp(20px, 3vw, 49px); font-size: .77rem; font-weight: 600; letter-spacing: .07em; }
.site-nav a { transition: color .2s ease; }
.site-nav a:hover, .quiet-link:hover, .back-to-top:hover { color: var(--signal); }
.site-nav .nav-contact { background: var(--paper); color: #111113; padding: 15px 21px; display: flex; align-items: center; gap: 20px; }
.site-nav .nav-contact:hover { background: var(--signal); color: #111113; }
.hero { min-height: min(765px, calc(100svh - 110px)); display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(390px, .75fr); align-items: stretch; gap: 0; }
.hero-copy { padding: clamp(75px, 9vw, 125px) 6% 46px 0; display: flex; flex-direction: column; align-items: flex-start; position: relative; z-index: 2; }
.eyebrow, .section-index { font-size: .69rem; letter-spacing: .14em; font-weight: 700; }
.eyebrow { display: flex; align-items: center; gap: 13px; color: #d4d1d1; white-space: nowrap; }
.signal-dot { width: 7px; height: 7px; flex-shrink: 0; background: var(--signal); border-radius: 50%; }
.eyebrow-line { background: #555357; width: 24px; height: 1px; }
h1,h2,h3,p,blockquote { margin: 0; }
h1 { font-size: clamp(4rem, 6.4vw, 7.75rem); letter-spacing: -.085em; line-height: 1.02; font-weight: 660; margin-top: 56px; white-space: nowrap; }
h1 em, .contact h2 em { color: var(--signal); font-style: normal; }
.hero-description { max-width: 580px; font-size: clamp(1.1rem, 1.35vw, 1.33rem); line-height: 1.7; color: #c2bfc0; margin-top: 35px; }
.hero-actions { display: flex; align-items: center; gap: 30px; margin-top: 42px; }
.primary-link { background: var(--signal); color: #111113; min-height: 58px; display: inline-flex; align-items: center; justify-content: space-between; gap: 35px; font-weight: 750; font-size: .83rem; padding: 0 14px 0 23px; transition: background .2s ease, transform .2s ease; }
.primary-link:hover { background: #ff5867; transform: translateY(-2px); }
.link-arrow { background: rgba(0,0,0,.11); display: grid; place-items: center; width: 35px; height: 35px; font-size: 1.2rem; font-weight: 400; }
.quiet-link { font-weight: 600; font-size: .84rem; border-bottom: 1px solid rgba(248,246,243,.6); padding-block: 10px; transition: color .2s ease; }
.quiet-link span { padding-left: 10px; }
.hero-footnote { margin-top: auto; display: flex; gap: 14px; align-items: center; font-size: .7rem; text-transform: uppercase; letter-spacing: .18em; color: #b3afb1; padding-top: 35px; }
.thin-line { height: 1px; width: 42px; background: var(--signal); }
.hero-art { background: radial-gradient(ellipse at 45% 40%, #262022 0%, #181719 44%, #111113 70%); position: relative; min-height: 590px; isolation: isolate; overflow: hidden; border-inline: 1px solid rgba(248,246,243,.08); }
.hero-art::before { content: ""; position: absolute; inset: 0; background: linear-gradient(to right, transparent 31px, rgba(255,255,255,.04) 32px, transparent 33px), linear-gradient(to bottom, transparent 31px, rgba(255,255,255,.04) 32px, transparent 33px); background-size: 64px 64px; mask-image: linear-gradient(to bottom, transparent, black 35%, black 60%, transparent); }
.hero-art::after { content: ""; position: absolute; left: -20%; right: -20%; bottom: -40%; height: 60%; background: radial-gradient(ellipse, rgba(255,38,56,.10), transparent 65%); pointer-events: none; }
.art-corner-top { position: absolute; top: 32px; right: 32px; width: 42px; height: 42px; border-top: 1px solid var(--signal); border-right: 1px solid var(--signal); }
.art-ruler { position: absolute; top: 48px; left: 38px; display: flex; flex-direction: column; gap: 12px; font-size: .55rem; font-weight: 700; letter-spacing: .24em; color: #a7a0a3; }
.art-stage { position: absolute; top: 50%; left: 50%; width: 100%; transform: translate(-50%,-50%); aspect-ratio: 1; display: grid; place-items: center; }
.hero-monogram { position: relative; z-index: 1; width: min(70%, 320px); height: auto; filter: drop-shadow(0 17px 48px rgba(255,38,56,.09)); animation: logo-arrive 1.4s both ease-out; }
.art-orbit { border-radius: 50%; border: 1px solid rgba(248,246,243,.08); position: absolute; width: 89%; aspect-ratio: 1; }
.orbit-two { width: 60%; border-color: rgba(248,246,243,.08); }
.art-bottom { position: absolute; bottom: 31px; left: 36px; right: 36px; display: flex; align-items: center; justify-content: space-between; font-size: .63rem; font-weight: 700; letter-spacing: .13em; color: #b6b2b3; }
.art-bottom i { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--signal); margin-left: 7px; }
.editorial-rule { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 18px 0; display: flex; justify-content: space-between; color: #6d686b; font-size: .65rem; letter-spacing: .25em; font-weight: 700; }
.intro { padding-top: clamp(95px, 11vw, 160px); padding-bottom: clamp(95px, 12vw, 160px); display: grid; grid-template-columns: .35fr 1fr; gap: 60px; }
.section-index { white-space: nowrap; color: #8f8b8d; padding-top: 13px; }
.section-index span { color: var(--signal); margin-right: 9px; }
.intro h2 { font-size: clamp(2.5rem, 4.6vw, 5rem); line-height: 1.12; letter-spacing: -.065em; font-weight: 620; }
.intro h2 span { color: #999396; }
.intro p { color: #c5bfc2; font-size: clamp(1rem, 1.4vw, 1.28rem); line-height: 1.72; max-width: 755px; margin-top: 35px; }
.expertise { padding-bottom: clamp(80px, 9vw, 130px); }
.section-header { display: flex; justify-content: space-between; align-items: baseline; gap: 25px; margin-bottom: 50px; }
.section-header h2 { font-size: clamp(2.4rem, 4vw, 4.7rem); font-weight: 625; letter-spacing: -.06em; }
.red-period { color: var(--signal); }
.expertise-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.expertise-card { padding: 48px clamp(20px, 2.8vw, 50px) 50px 0; min-height: 340px; display: flex; flex-direction: column; }
.expertise-card + .expertise-card { border-left: 1px solid var(--line); padding-left: clamp(20px, 2.8vw, 50px); }
.card-number { color: var(--signal); font-weight: 800; font-size: .8rem; letter-spacing: .08em; }
.expertise-card h3 { font-size: clamp(1.65rem, 2.3vw, 2.65rem); letter-spacing: -.06em; line-height: 1.15; font-weight: 650; margin: 27px 0 18px; }
.expertise-card p { color: #bdb7b9; font-size: .99rem; line-height: 1.65; max-width: 340px; }
.card-rule { height: 2px; width: 39px; background: var(--signal); margin-top: auto; transform: scaleX(.7); transform-origin: left; transition: transform .3s ease; }
.expertise-card:hover .card-rule { transform: scaleX(1.8); }
.statement { position: relative; background: var(--graphite); padding: clamp(70px, 8vw, 120px) clamp(30px, 6vw, 110px); border-left: 3px solid var(--signal); overflow: hidden; }
.statement-mark { font-family: Georgia,serif; color: rgba(255,38,56,.25); font-size: 20rem; line-height: 1; position: absolute; right: 5%; top: -55px; pointer-events: none; }
.statement blockquote { position: relative; z-index: 1; font-size: clamp(2.1rem, 4vw, 4.5rem); letter-spacing: -.06em; line-height: 1.26; font-weight: 520; }
.statement blockquote strong { color: var(--paper); font-weight: 650; }
.statement p { margin-top: 42px; font-size: .68rem; letter-spacing: .2em; color: #aca7a9; font-weight: 700; }
.contact { padding-block: clamp(100px, 12vw, 180px); display: grid; grid-template-columns: 1.15fr .65fr; gap: 10%; align-items: end; }
.contact h2 { margin-top: 28px; font-size: clamp(3rem, 5.5vw, 6.3rem); line-height: 1.08; letter-spacing: -.075em; font-weight: 640; }
.contact-side { padding-bottom: 10px; }
.contact-side p { color: #c5bfc2; font-size: 1.12rem; line-height: 1.7; margin-bottom: 30px; }
.footer { border-top: 1px solid var(--line); min-height: 118px; display: flex; align-items: center; justify-content: space-between; gap: 24px; color: #a6a0a3; font-size: .76rem; }
.footer-brand { width: 134px; }
.back-to-top { transition: color .2s ease; }
.motion-ready .reveal { opacity: 0; transform: translateY(26px); transition: opacity .7s ease, transform .7s ease; }
.motion-ready .reveal.is-visible { opacity: 1; transform: translateY(0); }
@keyframes logo-arrive { from { opacity: 0; transform: translateY(18px) scale(.97); } to { opacity: 1; transform: translateY(0) scale(1); } }
@media (max-width: 1240px) { h1 { font-size: clamp(3.6rem, 6vw, 6rem); } .hero { grid-template-columns: minmax(0, 1.08fr) minmax(340px,.92fr); } .eyebrow { white-space: normal; } .hero-copy { padding-right: 28px; } }
@media (max-width: 920px) { .section-wrap,.site-header { width: min(100% - 48px,1480px); } .site-header { min-height: 88px; } .hero { grid-template-columns: 1fr; min-height: auto; } .hero-copy { padding: 80px 0 55px; } h1 { font-size: clamp(3.8rem, 9vw, 6.4rem); } .hero-art { min-height: 420px; } .hero-monogram { width: 240px; } .hero-footnote { padding-top: 55px; } .intro { grid-template-columns: 1fr; gap: 25px; } .section-header { flex-direction: column; } .expertise-grid { grid-template-columns: 1fr; } .expertise-card, .expertise-card + .expertise-card { border-left: 0; border-bottom: 1px solid var(--line); padding: 32px 0; min-height: 240px; } .expertise-card:last-child { border-bottom: 0; } .card-rule { margin-top: 28px; } .contact { grid-template-columns: 1fr; gap: 45px; } }
@media (max-width: 560px) { .section-wrap,.site-header { width: calc(100% - 36px); } .site-header { gap: 14px; min-height: 76px; } .brand { width: 124px; } .site-nav { gap: 14px; font-size: .7rem; } .site-nav a[href="#perspectiva"] { display: none; } .site-nav .nav-contact { padding: 11px 13px; gap: 6px; } .hero-copy { padding-top: 65px; padding-bottom: 40px; } .eyebrow { font-size: .54rem; gap: 7px; letter-spacing: .07em; } .eyebrow-line { width: 12px; } h1 { margin-top: 42px; font-size: clamp(2.8rem, 10.2vw, 4rem); white-space: normal; letter-spacing: -.075em; } .hero-description { margin-top: 24px; font-size: 1.04rem; line-height: 1.62; } .hero-actions { gap: 20px; flex-wrap: wrap; margin-top: 30px; } .primary-link { gap: 12px; } .hero-footnote { padding-top: 48px; } .hero-art { min-height: 360px; } .hero-monogram { width: 200px; } .art-ruler { left: 20px; top: 26px; } .art-bottom { left: 20px; right: 20px; bottom: 22px; font-size: .5rem; } .editorial-rule { gap: 12px; font-size: .49rem; letter-spacing: .1em; } .intro { padding-block: 80px; } .intro h2 { font-size: 2.4rem; } .intro p { font-size: 1.04rem; } .section-header h2 { font-size: 2.5rem; } .statement { padding: 55px 22px; } .statement blockquote { font-size: 2rem; } .statement p { line-height: 1.5; } .contact { padding-block: 85px; } .contact h2 { font-size: 3rem; } .footer { padding-block: 26px; min-height: 0; gap: 16px; align-items: flex-start; flex-wrap: wrap; } .footer p { width: 100%; order: 3; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *,*::before,*::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } .motion-ready .reveal { opacity: 1; transform: none; } }

/* 404 uses the same local stylesheet: compatible with strict self-only CSP. */
.error-page { min-height: 100svh; display: grid; place-items: center; padding: 36px; }
.error-panel { width: min(100%, 780px); padding-block: 65px; }
.error-panel .eyebrow { color: var(--signal); }
.error-panel h1 { margin-block: 32px; font-size: clamp(3.5rem, 8vw, 7rem); white-space: normal; }
.error-panel p { color: #c5bfc2; max-width: 540px; line-height: 1.75; margin-bottom: 28px; font-size: 1.15rem; }
@media (max-width: 560px) { .error-page { padding: 20px; } .error-panel h1 { font-size: clamp(2.9rem, 12vw, 4.4rem); } }
/* Marketing CTA: keep the primary contact action obvious without adding a tracker. */
.contact-links { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; }
@media (max-width: 560px) { .contact-links { align-items: flex-start; flex-direction: column; gap: 14px; } }

/* Privacy notice shares the existing design tokens and contains no extra dependencies. */
.footer-links { display: flex; flex-wrap: wrap; gap: 24px; }
.footer-links a:hover { color: var(--paper); }
.privacy-layout { padding-block: 75px 120px; max-width: 850px; }
.privacy-layout h1 { font-size: clamp(2.8rem, 6vw, 5.5rem); white-space: normal; margin: 24px 0 35px; }
.privacy-layout h2 { font-size: clamp(1.4rem, 2.3vw, 2rem); margin-top: 45px; letter-spacing: -.03em; }
.privacy-layout p { margin-top: 17px; color: #c5bfc2; line-height: 1.75; max-width: 730px; }
.privacy-layout a { color: var(--paper); text-decoration: underline; text-underline-offset: 3px; }
.privacy-layout .quiet-link { display: inline-block; margin-top: 46px; }
@media (max-width: 560px) { .footer-links { gap: 15px; } .privacy-layout { padding-block: 44px 85px; } }



/* Editorial site evolution — reusable primitives, no additional runtime dependencies. */
.hero h1 { max-width: 13ch; font-size: clamp(3rem, 5.25vw, 6rem); line-height: 1.06; letter-spacing: -.068em; white-space: normal; text-wrap: balance; }
.hero-copy { min-width: 0; }
.hero-description { max-width: 58ch; }
.section-heading { display: grid; grid-template-columns: minmax(145px, .27fr) minmax(0, 1fr); gap: clamp(24px, 5vw, 85px); align-items: start; margin-bottom: clamp(38px, 6vw, 76px); }
.section-heading h2, .about h2 { max-width: 17ch; font-size: clamp(2.4rem, 4.2vw, 5.3rem); line-height: 1.11; font-weight: 630; letter-spacing: -.06em; text-wrap: balance; }
.section-heading p:not(.section-index), .about p:not(.section-index) { max-width: 66ch; color: #cbc6c8; font-size: clamp(1rem, 1.3vw, 1.18rem); line-height: 1.74; margin-top: 24px; }
.challenges, .method, .collaboration, .evidence { padding-block: clamp(78px, 10vw, 145px); border-bottom: 1px solid var(--line); }
.challenges { padding-top: clamp(92px, 10vw, 155px); }
.challenge-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.challenge-card { min-width: 0; min-height: 280px; padding: clamp(26px, 4vw, 55px); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: linear-gradient(135deg, rgba(248,246,243,.035), transparent 75%); }
.challenge-card h3, .collaboration-card h3, .evidence-item h3 { max-width: 19ch; margin: 25px 0 16px; font-size: clamp(1.5rem, 2.2vw, 2.45rem); letter-spacing: -.04em; line-height: 1.17; font-weight: 650; }
.challenge-card p, .collaboration-card p, .evidence-item p, .method-steps p { color: #c1bbbe; line-height: 1.7; font-size: 1rem; max-width: 48ch; }
.expertise { padding-top: clamp(78px, 9vw, 135px); border-bottom: 1px solid var(--line); }
.expertise-grid { border-bottom: 0; }
.expertise-card { min-height: 325px; }
.method-steps { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 clamp(30px, 7vw, 110px); list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--line); }
.method-steps li { display: grid; grid-template-columns: 56px minmax(0,1fr); gap: 16px; padding: 30px 0; border-bottom: 1px solid var(--line); }
.method-steps li > span { color: var(--signal); font-size: .85rem; font-weight: 750; }
.method-steps h3 { font-size: clamp(1.25rem, 1.8vw, 1.85rem); font-weight: 640; letter-spacing: -.035em; margin-bottom: 10px; }
.collaboration-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 15px; }
.collaboration-card { background: var(--graphite); border-top: 2px solid rgba(255,38,56,.8); padding: clamp(22px, 3vw, 42px); min-height: 248px; }
.collaboration-card h3 { margin-top: 0; }
.collaboration-note { margin-top: 26px; font-size: .9rem; line-height: 1.65; color: #b5afb2; }
.evidence-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; }
.evidence-item { padding: clamp(26px,4vw,52px); background: var(--graphite); display: flex; align-items: flex-start; flex-direction: column; min-height: 310px; }
.evidence-item p { margin-bottom: 28px; }
.evidence-item .quiet-link { margin-top: auto; }
.about { display: grid; grid-template-columns: minmax(145px,.27fr) minmax(0,1fr); gap: clamp(24px,5vw,85px); padding-block: clamp(90px, 12vw, 160px); }
.about h2 { max-width: 18ch; }
.about h2 em { font-style: normal; color: var(--signal); }
.about p + p { margin-top: 18px; }
.statement { margin-bottom: 0; }
:where(.challenge-card, .collaboration-card, .evidence-item, .method-steps li) { scroll-margin-top: 6rem; }
:where(.primary-link, .quiet-link, .nav-contact):focus-visible { outline: 3px solid var(--paper); outline-offset: 5px; }
:where(.site-nav a, .hero-actions a, .contact-links a) { min-height: 44px; }
.site-nav > a:not(.nav-contact) { display: inline-flex; align-items: center; }
@media (max-width: 1240px) {
  .hero h1 { font-size: clamp(3rem, 5.2vw, 5.6rem); }
}
@media (max-width: 920px) {
  .hero h1 { font-size: clamp(3.2rem, 7.5vw, 5rem); max-width: 15ch; }
  .hero-art { min-height: 360px; }
  .section-heading, .about { grid-template-columns: 1fr; gap: 14px; }
  .collaboration-grid { grid-template-columns: 1fr 1fr; }
  .collaboration-card:last-child { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
  .site-header { gap: 8px; }
  .brand { width: 108px; flex-shrink: 0; }
  .site-nav { gap: 8px; font-size: .69rem; }
  .site-nav a[href="#atuacao"], .site-nav a[href="#sobre"] { display: none; }
  .site-nav .nav-contact { padding: 10px; }
  .site-nav .nav-contact span { display: none; }
  .hero-copy { padding-top: 52px; }
  .hero h1 { margin-top: 30px; font-size: clamp(2.45rem, 10vw, 3.5rem); max-width: 15ch; line-height: 1.07; letter-spacing: -.055em; }
  .hero-description { font-size: 1rem; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 16px; }
  .hero-actions .primary-link { width: 100%; }
  .hero-footnote { padding-top: 35px; font-size: .57rem; letter-spacing: .08em; }
  .hero-art { min-height: 265px; }
  .hero-monogram { width: 140px; }
  .art-ruler { font-size: .45rem; gap: 7px; }
  .art-bottom { letter-spacing: .055em; }
  .section-heading h2, .about h2 { font-size: clamp(2.2rem, 9vw, 3.1rem); }
  .section-heading p:not(.section-index), .about p:not(.section-index) { font-size: 1rem; }
  .challenge-grid, .method-steps, .evidence-grid, .collaboration-grid { grid-template-columns: minmax(0,1fr); }
  .challenge-card { min-height: 0; padding: 28px 22px; }
  .collaboration-card, .collaboration-card:last-child { grid-column: auto; min-height: 0; }
  .method-steps li { grid-template-columns: 40px 1fr; gap: 12px; }
  .evidence-item { min-height: 0; padding: 30px 24px; }
  .statement { border-left-width: 2px; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-monogram { animation: none; }
}

/* Compact homepage and mobile collision fix. Responsive values override legacy
   section defaults without changing or recoloring protected brand SVGs. */
.hero h1 { max-width: 14ch; }
.hero-description { max-width: 53ch; }
.challenges, .evidence { padding-block: clamp(64px, 7.5vw, 104px); }
.challenges { padding-top: clamp(72px, 8vw, 120px); }
.section-heading { margin-bottom: clamp(26px, 3.5vw, 44px); }
.section-heading h2 { max-width: 21ch; font-size: clamp(2.2rem, 3.8vw, 4.4rem); }
.section-heading p:not(.section-index) { margin-top: 14px; max-width: 48ch; }
.challenge-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
.challenge-card { min-height: 245px; padding: clamp(22px, 2.7vw, 42px); }
.challenge-card h3 { margin: 22px 0 14px; font-size: clamp(1.5rem, 2vw, 2.2rem); }
.approach-note { margin-top: clamp(20px, 3.5vw, 38px); color: #c6c0c3; line-height: 1.65; max-width: 68ch; }
.approach-note strong { color: var(--paper); }
.evidence-item { min-height: 270px; }
.evidence-item h3 { margin-top: 18px; }
.about { padding-block: clamp(70px, 8vw, 110px); }
.about h2 { max-width: 18ch; }
.contact { grid-template-columns: minmax(0, 1.05fr) minmax(0,.95fr); gap: clamp(32px, 5vw, 90px); padding-block: clamp(78px, 9vw, 135px); align-items:center; }
.contact > div, .contact-side { min-width: 0; }
.contact h2 { font-size: clamp(2.6rem, 4.6vw, 5.3rem); line-height: 1.12; max-width: 15ch; text-wrap: balance; overflow-wrap: normal; }
.contact-side p { font-size: clamp(1rem, 1.25vw, 1.13rem); line-height: 1.7; max-width: 38ch; }
.contact-links { display: grid; grid-template-columns: minmax(0,1fr); justify-items: start; align-items: start; gap: 18px; width: 100%; }
.contact-links .primary-link { min-width: 0; max-width: 100%; white-space: normal; text-wrap: pretty; }
.footer { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: clamp(20px, 3vw, 52px); align-items: center; padding-block: 28px; }
.footer-brand { min-width: 0; }
.footer p { width: auto; order: 0; line-height: 1.5; }
.footer-links { display: flex; align-items: center; justify-content: flex-end; gap: clamp(20px, 2vw, 32px); flex-wrap: wrap; min-width:0; }
.footer-links a { display: inline-flex; align-items: center; min-height: 44px; line-height: 1.4; white-space: nowrap; }
@media (max-width: 920px) {
  .challenge-grid { grid-template-columns: 1fr; border-left: 0; }
  .challenge-card { min-height: 0; padding: 26px 0; border-right: 0; background: none; }
  .challenge-card h3 { margin: 12px 0 8px; }
  .contact { grid-template-columns: minmax(0,1fr); gap: 24px; }
  .contact h2 { max-width: 17ch; }
  .footer { grid-template-columns: auto 1fr; }
  .footer p { grid-column: 1 / -1; grid-row: 2; }
}
@media (max-width: 560px) {
  .site-nav a[href="#sobre"] { display: none; }
  .hero h1 { font-size: clamp(2.45rem, 9.6vw, 3.2rem); }
  .hero-description { line-height: 1.58; }
  .challenges, .evidence { padding-block: 64px; }
  .section-heading h2 { font-size: clamp(2.1rem, 9vw, 2.85rem); }
  .section-heading p:not(.section-index) { line-height: 1.6; }
  .evidence-grid { gap: 16px; }
  .evidence-item { min-height: 0; }
  .about { padding-block: 70px; }
  .contact { padding-block: 76px 85px; gap: 22px; }
  .contact h2 { margin-top: 18px; font-size: clamp(2.15rem, 9vw, 2.85rem); letter-spacing: -.06em; }
  .contact-side p { margin-bottom: 22px; font-size: 1rem; line-height: 1.65; }
  .contact-links { display: grid; grid-template-columns: minmax(0,1fr); gap: 16px; justify-items: stretch; }
  .contact-links .primary-link { width: 100%; padding-inline: 18px 12px; font-size: .84rem; }
  .footer { display: grid; grid-template-columns: minmax(0,1fr); gap: 14px; padding-block: 34px; }
  .footer-brand { width: 126px; grid-column: 1; }
  .footer-links { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 2px; grid-column: 1; }
  .footer-links a { min-height: 44px; }
  .footer p { grid-column: 1; grid-row: auto; width: auto; order: 0; font-size: .76rem; }
}


/* Editorial articles are generated only from an approved, published manifest. */
.article-shell { width: min(calc(100% - 48px), 1140px); margin-inline: auto; padding-block: clamp(52px, 7vw, 108px) clamp(80px, 10vw, 135px); }
.article-breadcrumb { display: flex; align-items: center; flex-wrap: wrap; gap: 13px; margin-bottom: clamp(36px, 7vw, 75px); font-size: .81rem; color: #bcb6ba; }
.article-breadcrumb a { color: var(--paper); text-underline-offset: 5px; }
.article-breadcrumb a:focus-visible, .article-grid a:focus-visible, .editorial-footer a:focus-visible { outline: 2px solid var(--paper); outline-offset: 5px; }
.article-document { max-width: 100%; }
.article-header { max-width: 850px; border-bottom: 1px solid var(--line); padding-bottom: clamp(44px, 6vw, 78px); margin-bottom: clamp(38px, 6vw, 70px); }
.article-header h1, .article-listing h1 { font-size: clamp(2.5rem, 6vw, 5.8rem); letter-spacing: -.055em; line-height: 1.09; text-wrap: balance; max-width: 17ch; white-space: normal; margin-block: 28px; }
.article-listing h1 em { font-style: normal; color: var(--signal); }
.article-deck { font-size: clamp(1.06rem, 2vw, 1.35rem); color: #cbc6c8; line-height: 1.55; max-width: 67ch; }
.article-meta { font-size: .84rem; color: #a9a3a8; margin-top: 26px; }
.article-body { width: min(100%, 72ch); font-size: clamp(1rem, 1.3vw, 1.12rem); color: #d2cdd0; line-height: 1.75; overflow-wrap: break-word; }
.article-body h2, .article-body h3 { color: var(--paper); font-weight: 640; letter-spacing: -.035em; line-height: 1.24; scroll-margin-top: 6rem; text-wrap: balance; }
.article-body h2 { font-size: clamp(1.65rem, 2.5vw, 2.35rem); margin: 2.5em 0 .7em; }
.article-body h3 { font-size: clamp(1.26rem, 2vw, 1.6rem); margin: 1.9em 0 .65em; }
.article-body p, .article-body ul, .article-body blockquote { margin-block: 1.2em; }
.article-body ul { padding-left: 1.3em; }
.article-body li { padding-left: .35em; margin-bottom: .6em; }
.article-body a { text-decoration: underline; text-decoration-color: var(--signal); text-underline-offset: 4px; }
.article-body code { font: .88em/1.5 ui-monospace, SFMono-Regular, Consolas, 'Liberation Mono', monospace; overflow-wrap: anywhere; }
.article-body :not(pre) > code { background: var(--graphite); padding: .14em .35em; border-radius: 3px; }
.article-body pre { border: 1px solid var(--line); background: var(--graphite); padding: 18px; border-radius: 5px; overflow: auto; max-width: 100%; tab-size: 2; }
.article-body pre code { overflow-wrap: normal; white-space: pre; }
.article-body blockquote { border-left: 3px solid var(--signal); padding-left: 24px; color: var(--paper); }
.article-end { border-top: 1px solid var(--line); margin-top: clamp(55px, 7vw, 100px); padding-top: 30px; display: flex; flex-wrap: wrap; align-items: center; gap: 22px; }
.article-end p { color: #cbc6c8; line-height: 1.65; }
.article-listing > .section-index { margin-bottom: 12px; }
.article-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(16px, 3vw, 32px); margin-top: clamp(35px, 5vw, 66px); }
.article-card { min-width: 0; min-height: 265px; display: flex; flex-direction: column; align-items: start; padding: clamp(25px, 3.6vw, 48px); border: 1px solid var(--line); background: var(--graphite); }
.article-card h2 { font-size: clamp(1.4rem, 2.2vw, 2rem); line-height: 1.23; letter-spacing: -.035em; margin: 20px 0 16px; text-wrap: balance; }
.article-card p:not(.card-number) { color: #c6c0c4; line-height: 1.6; margin-bottom: 30px; }
.article-card .quiet-link { margin-top: auto; }
.editorial-teaser { border-top: 1px solid var(--line); padding-block: clamp(64px,8vw,100px); }
.editorial-teaser .article-grid { margin-top: 35px; }
.editorial-all-link { display: inline-flex; margin-top: 32px; }
.editorial-footer { border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 20px; padding-block: 36px; align-items: center; color: #bdb6ba; }
.editorial-footer img { width: 136px; height: auto; }
.editorial-footer a { min-height: 44px; display: inline-flex; align-items: center; }
@media (max-width: 680px) {
  .article-shell { width: calc(100% - 36px); padding-block: 44px 78px; }
  .article-header h1, .article-listing h1 { font-size: clamp(2.25rem, 9.7vw, 3.55rem); }
  .article-grid { grid-template-columns: 1fr; }
  .article-card { min-height: 0; padding: 28px 24px; }
  .article-end { display: grid; gap: 14px; }
  .article-body blockquote { padding-left: 15px; }
}


/* Home v3 — measured editorial rhythm and IAPro contribution cards. 
   One compact override layer pending removal of legacy unused selectors. */
.section-wrap, .site-header { width: min(calc(100% - 7vw), 1190px); }
.hero { min-height: 0; }
.hero-copy { padding-block: clamp(52px, 6.2vw, 98px) clamp(40px, 5vw, 70px); }
.hero-art { min-height: clamp(410px, 39vw, 555px); }
.hero h1 { font-size: clamp(3.15rem, 5vw, 5.65rem); max-width: 14ch; }
.hero-description { font-size: clamp(1.09rem, 1.5vw, 1.27rem); line-height: 1.64; max-width: 49ch; margin-top: 24px; }
.hero-actions { margin-top: 32px; }
.challenges, .evidence { padding-block: clamp(60px, 7vw, 96px); }
.section-heading { margin-bottom: clamp(28px, 3.8vw, 48px); }
.section-heading h2, .about h2 { font-size: clamp(2.55rem, 4.15vw, 4.55rem); }
.section-heading p:not(.section-index), .about p:not(.section-index) { font-size: clamp(1.06rem, 1.45vw, 1.2rem); line-height: 1.65; }
.challenge-grid { border-top: 1px solid var(--line); }
.challenge-card { min-height: 0; padding: clamp(24px, 3vw, 38px); }
.challenge-card p, .evidence-item p { font-size: clamp(1.04rem, 1.25vw, 1.13rem); line-height: 1.65; }
.challenge-card h3 { font-size: clamp(1.55rem, 2vw, 2rem); }
.approach-note { font-size: 1.06rem; margin-top: 25px; }
.evidence-grid.community-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(14px, 2vw, 22px); }
.community-grid .evidence-item { min-height: 335px; padding: clamp(24px,2.6vw,34px); }
.community-grid .evidence-item h3 { font-size: clamp(1.75rem, 2.1vw, 2.15rem); line-height: 1.17; margin: 18px 0; }
.evidence-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; margin-top: auto; }
.evidence-actions .quiet-link { margin-top: 0; }
.evidence-source { color: #c1babc; font-size: .83rem; line-height: 1.5; padding: 8px 0; text-underline-offset: 4px; text-decoration: underline; }
.evidence-source:hover, .inline-link:hover { color: var(--signal); }
.inline-link { color: var(--paper); text-decoration: underline; text-decoration-color: var(--signal); text-underline-offset: 4px; }
.evidence-afterword { color: #c6c0c3; font-size: 1.05rem; line-height: 1.65; max-width: 70ch; margin-top: 25px; }
.about { padding-block: clamp(62px, 7vw, 92px); }
.contact { padding-block: clamp(66px, 7vw, 100px); }
.editorial-teaser { padding-block: clamp(62px, 7vw, 94px); }
.editorial-teaser-intro { max-width: 68ch; color: #c6c0c3; font-size: clamp(1.05rem, 1.5vw, 1.2rem); line-height: 1.65; margin-top: 20px; }
.editorial-sources { margin-top: clamp(45px,6vw,80px); }
.editorial-sources-heading { max-width: 75ch; }
.editorial-sources-heading h2 { font-size: clamp(2rem, 3.5vw, 3.2rem); line-height: 1.2; margin: 20px 0 14px; letter-spacing: -.04em; }
.editorial-sources-heading p:last-child, .editorial-status { font-size: 1.08rem; line-height: 1.7; color: #c6c0c3; max-width: 67ch; }
.editorial-status { margin-top: 35px; border-left: 2px solid var(--signal); padding-left: 18px; }
.article-card.source-card { min-height: 290px; }
.article-card.source-card .card-number { font-size: .76rem; line-height: 1.6; }
.article-card.source-card h2 { font-size: clamp(1.45rem, 2vw, 1.9rem); }
@media (max-width: 1090px) {
  .evidence-grid.community-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .hero-art { min-height: 360px; }
}
@media (max-width: 920px) {
  .hero-copy { padding-block: 55px 45px; }
  .challenge-card { padding: 22px 0; }
  .about { padding-block: 67px; }
}
@media (max-width: 650px) {
  .section-wrap, .site-header { width: calc(100% - 36px); }
  .hero-copy { padding-block: 44px 34px; }
  .hero h1 { font-size: clamp(2.45rem, 9.8vw, 3.45rem); max-width: 15ch; margin-top: 28px; }
  .hero-description { font-size: 1.06rem; line-height: 1.58; margin-top: 22px; }
  .hero-footnote { padding-top: 26px; }
  .hero-art { min-height: 215px; }
  .hero-monogram { width: min(42%, 155px); }
  .challenges, .evidence { padding-block: 55px; }
  .section-heading { gap: 11px; margin-bottom: 26px; }
  .section-heading h2, .about h2 { font-size: clamp(2.15rem, 8.4vw, 3rem); line-height: 1.14; }
  .section-heading p:not(.section-index), .about p:not(.section-index) { font-size: 1.06rem; line-height: 1.59; margin-top: 13px; }
  .evidence-grid.community-grid { grid-template-columns: minmax(0,1fr); gap: 12px; }
  .community-grid .evidence-item, .community-grid .evidence-item:last-child { grid-column: auto; min-height: 0; padding: 27px 23px; }
  .community-grid .evidence-item h3 { font-size: 1.9rem; }
  .evidence-actions { margin-top: 22px; }
  .evidence-afterword { font-size: 1rem; }
  .about { padding-block: 59px; }
  .contact { padding-block: 62px 68px; }
  .editorial-teaser { padding-block: 58px; }
  .article-card.source-card { min-height: 0; padding: 27px 23px; }
  .editorial-sources { margin-top: 48px; }
  .article-listing h1 { font-size: clamp(2.35rem, 9vw, 3.4rem); }
  .site-nav { gap: 6px; }
  .site-nav > a:not(.nav-contact) { font-size: .72rem; }
}


/* At 320px the extra Artigos entry must not push the header past the viewport. */
@media (max-width: 360px) {
  .site-nav a[href="/#sobre"] { display: none; }
  .site-nav { gap: 4px; }
  .site-nav a[href="/artigos/"] { font-size: .72rem; }
  .site-header { gap: 8px; }
  .brand { width: 103px; }
}

/* Professional profile and mentoring section; no new dependencies. */
.hero h1 { max-width: 15ch; font-size: clamp(3.2rem,4.8vw,5.1rem); }
.hero-description { max-width: 52ch; }
.about { border-bottom: 1px solid var(--line); }
.about-copy { min-width: 0; }
.about-copy h2 { max-width: 18ch; }
.about-copy p { max-width: 71ch; }
.about-copy p + p { margin-top: 20px; }
.about-copy strong { color: var(--paper); }
.about-link { display: inline-flex; margin-top: 25px; }
.challenges, .mentorship, .evidence { padding-block: clamp(64px,7.2vw,100px); border-bottom: 1px solid var(--line); }
.challenge-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.challenge-card { padding: clamp(22px,2.6vw,38px); }
.mentorship-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.mentorship-topic { padding: clamp(22px,2.7vw,36px); border-top: 2px solid var(--signal); background: var(--graphite); min-width: 0; }
.mentorship-topic h3 { font-size: clamp(1.5rem,2vw,2.05rem); line-height: 1.2; letter-spacing: -.035em; margin: 22px 0 14px; text-wrap: balance; }
.mentorship-topic p { color: #ccc5c8; font-size: clamp(1.02rem,1.22vw,1.12rem); line-height: 1.65; }
.mentorship-close { display: flex; gap: 26px; flex-wrap: wrap; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); padding: 30px 0 0; }
.mentorship-close p { max-width: 52ch; color: #c6c0c3; font-size: 1.04rem; line-height: 1.65; }
.evidence-grid.community-grid { gap: 22px; }
.community-grid .evidence-item { min-height: 270px; }
.community-grid .evidence-item .quiet-link { margin-top: auto; }
.editorial-teaser { padding-block: clamp(64px,7vw,98px); }
.editorial-topic-list { display: grid; border-top: 1px solid var(--line); }
.editorial-topic-list a { display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 16px; padding: clamp(17px,2.5vw,28px) 2px; border-bottom: 1px solid var(--line); min-height: 60px; font-size: clamp(1.12rem,2vw,1.52rem); font-weight: 610; letter-spacing: -.025em; }
.editorial-topic-list a span:first-child { color: var(--signal); font-size: .79rem; letter-spacing: 0; }
.editorial-topic-list a span:last-child { font-size: 1.05rem; font-weight: 400; }
.editorial-topic-list a:hover { color: var(--signal); }
.reading-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin-top: 34px; }
.reading-card { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; padding: clamp(24px,3vw,42px); background: var(--graphite); border: 1px solid var(--line); scroll-margin-top: 6rem; }
.reading-card h3 { font-size: clamp(1.45rem,2.15vw,2rem); line-height: 1.2; letter-spacing: -.035em; margin: 18px 0 22px; text-wrap: balance; }
.reading-card p:not(.card-number) { color: #cbc5c8; font-size: clamp(1.01rem,1.26vw,1.12rem); line-height: 1.67; margin-bottom: 20px; }
.reading-card .reading-insight { border-top: 1px solid var(--line); padding-top: 20px; }
.reading-card .reading-insight strong { color: var(--paper); }
.reading-card .quiet-link { margin-top: auto; overflow-wrap: anywhere; }
.reading-footer { border-top: 1px solid var(--line); padding-top: 24px; margin-top: clamp(40px,6vw,65px); font-size: 1.05rem; color: #c9c3c6; line-height: 1.7; }
.reading-footer a { color: var(--paper); text-decoration: underline; text-decoration-color: var(--signal); text-underline-offset: 4px; }
@media (max-width: 980px) {
  .mentorship-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .mentorship-topic:last-child { grid-column: 1/-1; }
}
@media (max-width: 650px) {
  .hero h1 { font-size: clamp(2.43rem,9.4vw,3.5rem); }
  .about-copy p { font-size: 1.055rem; line-height: 1.67; }
  .challenges, .mentorship, .evidence { padding-block: 57px; }
  .mentorship-grid { grid-template-columns: 1fr; gap: 13px; }
  .mentorship-topic:last-child { grid-column: auto; }
  .mentorship-topic { padding: 25px 22px; }
  .mentorship-topic h3 { margin: 15px 0 12px; font-size: 1.65rem; }
  .mentorship-close { align-items: flex-start; flex-direction: column; gap: 12px; }
  .reading-grid { grid-template-columns: minmax(0,1fr); }
  .reading-card { padding: 25px 22px; }
  .editorial-topic-list a { grid-template-columns: 30px 1fr auto; gap: 10px; font-size: 1.12rem; }
}

/* Blog reading index: clear card boundaries, compact previews and progressive details.
   Keep the branded dark palette; separate navigation, summary and supporting sources. */
.editorial-sources-heading { margin-bottom: clamp(24px, 4vw, 40px); }
.editorial-sources-heading h2 { max-width: 18ch; text-wrap: balance; }
.reading-grid { align-items: stretch; column-gap: clamp(20px, 3vw, 34px); row-gap: clamp(20px, 3vw, 34px); margin-top: 0; }
.reading-card {
  padding: clamp(26px, 3.2vw, 44px);
  border: 1px solid rgba(248, 246, 243, .19);
  border-top: 3px solid var(--signal);
  background: #1A1A1D;
  border-radius: 2px;
  gap: 0;
}
.reading-card .card-number {
  margin: 0 0 23px;
  font-size: .78rem;
  letter-spacing: .1em;
  line-height: 1.45;
  color: var(--signal);
}
.reading-card h3 { margin: 0 0 18px; line-height: 1.23; font-size: clamp(1.6rem, 2vw, 2.05rem); }
.reading-card p:not(.card-number) { margin: 0 0 25px; font-size: clamp(1rem, 1.25vw, 1.1rem); line-height: 1.68; }
.reading-card .quiet-link { margin-top: 25px; min-height: 44px; align-content: center; }
.reading-details { width: 100%; border-top: 1px solid rgba(248, 246, 243, .17); border-bottom: 1px solid rgba(248, 246, 243, .17); }
.reading-details summary {
  cursor: pointer; display: flex; align-items: center; justify-content: space-between;
  gap: 16px; min-height: 50px; padding: 13px 0;
  color: var(--paper); font-size: .98rem; font-weight: 600;
  list-style: none; user-select: none;
}
.reading-details summary::-webkit-details-marker { display: none; }
.reading-details summary span { color: var(--signal); font-size: 1.35rem; line-height: 1; }
.reading-details[open] summary span { transform: rotate(45deg); }
.reading-details summary:focus-visible { outline: 2px solid var(--paper); outline-offset: 4px; }
.reading-card .reading-details p { padding: 2px 0 20px; margin: 0; }
@media (max-width: 680px) {
  .article-shell { width: calc(100% - 40px); }
  .editorial-sources { margin-top: 46px; }
  .editorial-sources-heading h2 { font-size: clamp(1.95rem, 7.3vw, 2.8rem); margin: 15px 0; }
  .reading-grid { display: flex; flex-direction: column; gap: 26px; margin-top: 28px; }
  .reading-card { min-height: 0; padding: 27px 23px; }
  .reading-card .card-number { margin-bottom: 16px; }
  .reading-card h3 { font-size: clamp(1.54rem, 6vw, 1.9rem); margin-bottom: 15px; }
  .reading-card p:not(.card-number) { font-size: 1.025rem; line-height: 1.64; margin-bottom: 20px; }
  .reading-card .quiet-link { margin-top: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .reading-details summary span { transition: none; }
}

/* Kiver.dev accessibility overrides: keyboard, contrast, reduced motion, motor/touch access. */
:root{color-scheme:dark;scroll-padding-top:6rem}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
 outline:3px solid #f8f6f3;outline-offset:4px;border-radius:3px;
}
:where(a,button,summary){-webkit-tap-highlight-color:rgba(255,38,56,.25)}
:where(p,li,dd){overflow-wrap:break-word}
:where(img,svg){max-width:100%;height:auto}
:where(section,article,h1,h2,h3,h4,[id]){scroll-margin-top:6rem}
:where(.site-nav a,.footer-links a,.primary-link,.quiet-link,.reading-details summary){min-height:44px;display:inline-flex;align-items:center}
:where(.reading-details summary){cursor:pointer}
:where(.longform-body) {line-height:1.75;max-width:72ch}
.longform{width:min(100%,820px);margin-inline:auto;padding-block:4rem}
.longform-header{margin-bottom:3rem}
.longform-header h1{font-size:clamp(2.4rem,6vw,5rem);line-height:1.12;overflow-wrap:anywhere}
.article-byline{color:var(--muted)}
.longform-body{font-size:clamp(1rem,1.3vw,1.125rem);color:var(--paper)}
.longform-body h2,.longform-body h3{margin-top:2.5rem;line-height:1.3}
.longform-body p,.longform-body li{margin-bottom:1.2rem}
.longform-body a,.article-toc a{text-decoration:underline;text-underline-offset:.18em;text-decoration-color:var(--signal)}
.longform-body a:hover,.article-toc a:hover{text-decoration-thickness:3px}
.longform-body pre{max-width:100%;overflow:auto;padding:1.25rem;border:1px solid var(--line);border-radius:12px}
.longform-body code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.longform-body :not(pre)>code{overflow-wrap:anywhere}
.article-toc{border-left:3px solid var(--signal);padding:1.2rem;margin-block:2rem}
.article-toc h2{font-size:1.125rem}
.article-ending{margin-top:4rem;padding-top:1.25rem;border-top:1px solid var(--line)}
.editorial-home-entry{padding-block:2rem 4rem}
@media (max-width:560px){
 :where(.longform){padding-block:2rem}
 :where(.longform-body){font-size:1rem;line-height:1.8}
 :where(.reading-grid,.article-grid){min-width:0}
}
@media (prefers-contrast:more){
 :root{--muted:#dbd9dc;--line:rgba(248,246,243,.55)}
 a{text-decoration-thickness:2px}
 .reading-card{border-color:#c3c0c4}
 :where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #ffed00}
}
@media (forced-colors:active){
 :where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid Highlight}
 .reading-card{border:1px solid CanvasText}
 .signal-dot,.red-period{forced-color-adjust:auto}
}
@media (prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
 .reveal{opacity:1!important;transform:none!important}
}

/* Utilities for screen-reader-only announcements; no hidden interactive focus. */
.sr-only:not(:focus):not(:active){
 position:absolute;width:1px;height:1px;padding:0;margin:-1px;
 overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
@media (max-width:360px){
 .site-nav a[href="/#sobre"]{display:none}
 .site-nav a{white-space:nowrap}
}

/* Kiver.dev Journal v2 — custom editorial identity, independent of homepage templates. */
.journal-page{background:#0b0b0c;color:var(--paper);overflow:clip}
.journal-container{max-width:1220px;padding-bottom:clamp(88px,10vw,154px)}
.journal-page .journal-breadcrumb{margin:0;padding:clamp(26px,3.8vw,50px) 0 32px;font-size:.79rem;letter-spacing:.04em;display:flex;gap:13px;color:#c9c4c8}
.journal-page .journal-breadcrumb a{text-underline-offset:4px;text-decoration:underline;text-decoration-color:#ff2638}
.journal-hero{min-height:575px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(265px,.75fr);gap:clamp(28px,5vw,80px);align-items:stretch;border-top:1px solid #514b50;border-bottom:1px solid #514b50;padding:clamp(46px,5vw,78px) 0;position:relative}
.journal-hero-copy{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.journal-overline,.journal-section-kicker,.journal-eyebrow{margin:0;color:#e0d9dd;font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.journal-overline{display:flex;align-items:center;gap:12px}
.journal-line{display:block;width:37px;height:3px;background:#ff2638;flex:none}
.journal-page .journal-hero h1{max-width:11ch;margin:clamp(24px,4vw,55px) 0 24px;font-size:clamp(3.5rem,6.8vw,6.75rem);line-height:1.01;font-weight:800;letter-spacing:-.078em;white-space:normal;text-wrap:balance}
.journal-hero h1 span,.journal-hero h1 em{display:block}
.journal-hero h1 span{color:#c5bec3}
.journal-hero h1 em{color:#ff2638;font-style:normal}
.journal-intro{max-width:46ch;font-size:clamp(1.2rem,1.75vw,1.5rem);line-height:1.48;color:#f8f6f3}
.journal-summary{margin:16px 0 0;max-width:63ch;line-height:1.65;color:#cbc5c9;font-size:1rem}
.journal-jump,.journal-text-link{display:inline-flex;align-items:center;gap:20px;color:#f8f6f3;font-weight:700;text-decoration:none;min-height:48px;align-self:flex-start;border-bottom:2px solid #ff2638}
.journal-jump{margin-top:30px}
.journal-jump span,.journal-text-link span,.journal-source-link span{transition:transform .2s ease}
.journal-jump:hover span,.journal-text-link:hover span,.journal-source-link:hover span{transform:translate(3px,-2px)}
.journal-hero-art{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(25px,3vw,40px);min-height:420px;background:linear-gradient(145deg,#232326 0%,#101013 62%,#1d1519 100%);border:1px solid #514a4f;isolation:isolate}
.journal-hero-art:before,.journal-hero-art:after{content:"";position:absolute;z-index:-1;pointer-events:none}
.journal-hero-art:before{inset:14%;border:1px solid rgba(248,246,243,.13);border-radius:50%;transform:rotate(-24deg) scaleX(1.65)}
.journal-hero-art:after{width:68%;height:70%;border:1px solid rgba(255,38,56,.35);border-radius:50%;left:45%;top:10%;transform:rotate(22deg) scaleX(.6)}
.journal-art-index,.journal-art-caption{font-size:.76rem;letter-spacing:.18em;font-weight:750;color:#cbc5c9}
.journal-art-glyph{display:block;align-self:center;font-size:clamp(10rem,20vw,18rem);font-weight:850;line-height:1;letter-spacing:-.16em;color:#f8f6f3}
.journal-art-glyph span{color:#ff2638;letter-spacing:-.1em}
.journal-art-words{display:flex;flex-direction:column;gap:9px;align-items:flex-start;font-size:clamp(1.06rem,1.9vw,1.35rem);line-height:1;letter-spacing:.055em;font-weight:750}
.journal-art-words span:nth-child(2){color:#ff5361}
.journal-art-caption{position:absolute;right:20px;bottom:22px;writing-mode:vertical-rl;color:#c6c0c4;letter-spacing:.13em;font-size:.61rem}
.journal-section-nav{display:flex;flex-wrap:wrap;gap:12px clamp(16px,3.8vw,58px);padding:18px 0;border-bottom:1px solid #514b50}
.journal-section-nav a{display:inline-flex;align-items:center;gap:14px;font-size:.92rem;font-weight:650;min-height:44px}
.journal-section-nav a span{font-size:.75rem;color:#ff6371;font-weight:800}
.journal-section-nav a:hover,.journal-manifesto-links a:hover{color:#ff7882}
.journal-section{padding-top:clamp(85px,10vw,150px);scroll-margin-top:105px}
.journal-heading{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:40px;align-items:end;padding-bottom:clamp(28px,4vw,50px);border-bottom:1px solid #484249}
.journal-section-kicker{color:#ff6675}
.journal-heading h2,.journal-manifesto h2{font-size:clamp(2.25rem,4.7vw,4.6rem);line-height:1.08;letter-spacing:-.058em;margin:24px 0 0;font-weight:770;max-width:16ch;text-wrap:balance}
.journal-heading h2 em,.journal-manifesto h2 em,.journal-empty-content h3 em{font-style:normal;color:#ff5364}
.journal-heading>p{font-size:1.045rem;line-height:1.7;color:#d4ced2;max-width:38ch}
.journal-originals-empty{margin-top:32px;display:grid;grid-template-columns:clamp(105px,23vw,270px) 1fr;gap:clamp(22px,4.3vw,75px);align-items:center;min-height:310px;padding:clamp(25px,4.5vw,64px);background:linear-gradient(110deg,#1f1e21,#151418);border-left:4px solid #ff2638;border-top:1px solid #4b444b;border-bottom:1px solid #4b444b}
.journal-empty-number{font-size:clamp(5rem,13vw,12rem);line-height:.8;letter-spacing:-.13em;font-weight:850;color:#4d454a}
.journal-empty-number span{color:#ff2638}
.journal-empty-content h3{font-size:clamp(1.65rem,3.1vw,2.8rem);line-height:1.1;margin:15px 0;letter-spacing:-.045em}
.journal-empty-content p:not(.journal-eyebrow){max-width:62ch;line-height:1.65;font-size:1.04rem;color:#d4cdd1}
.journal-empty-content .journal-text-link{margin-top:16px}
.journal-articles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:30px}
.journal-article-card{border:1px solid #514b50;background:#19191c;min-width:0;padding:clamp(24px,3.6vw,45px);display:flex;flex-direction:column;align-items:flex-start}
.journal-article-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;font-weight:750;font-size:.73rem;letter-spacing:.12em;color:#ff7580}
.journal-article-card h3{font-size:clamp(1.6rem,3vw,2.75rem);letter-spacing:-.04em;line-height:1.17;margin:36px 0 14px}
.journal-article-card h3 a{color:inherit}
.journal-article-card>p{color:#cbc5ca;line-height:1.7;margin-bottom:25px}
.journal-article-card .journal-text-link{margin-top:auto}
.journal-curation{padding-top:clamp(94px,10vw,148px)}
.journal-controls{display:none;align-items:end;justify-content:space-between;gap:20px;padding:27px 0 0;flex-wrap:wrap}
.journal-controls.journal-controls-ready{display:flex}
.journal-topics{display:flex;flex-wrap:wrap;gap:8px}
.journal-topics button{border:1px solid #5d5459;background:#18171a;color:#f8f6f3;border-radius:2px;padding:10px 15px;min-height:44px;font:650 .9rem/1.2 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;cursor:pointer}
.journal-topics button[aria-pressed="true"]{background:#f8f6f3;color:#141114;border-color:#f8f6f3}
.journal-topics button:hover:not([aria-pressed="true"]){background:#342e33}
.journal-search{min-width:min(100%,270px);display:flex;flex-direction:column;gap:8px;flex:1;max-width:360px}
.journal-search label{font-size:.78rem;letter-spacing:.05em;color:#eee9eb}
.journal-search input{background:#1b1a1d;border:1px solid #766a71;border-radius:3px;color:#f8f6f3;min-height:48px;padding:11px 14px;font:inherit;width:100%}
.journal-search input::placeholder{color:#bdb4ba}
.journal-count{font-size:.78rem;color:#c5bdc2;margin:26px 0 16px;letter-spacing:.06em}
.journal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:stretch}
.journal-grid>.reading-card{margin:0;min-width:0;background:#18181b;border:1px solid #544b51;display:flex;flex-direction:column;padding:clamp(27px,3vw,43px);min-height:395px;position:relative;transition:border-color .2s ease,background-color .2s ease}
.journal-grid>.reading-card:hover{border-color:#b0a3a9;background:#202024}
.journal-grid>.reading-card:first-child{grid-column:1/-1;min-height:365px;background:linear-gradient(105deg,#261b20 0%,#17171a 76%);border-top:3px solid #ff2638}
.journal-card-top{display:flex;justify-content:space-between;align-items:start;flex-wrap:wrap;gap:12px;margin-bottom:clamp(28px,4vw,48px)}
.journal-card-index,.journal-card-type{font-size:.73rem;letter-spacing:.12em;font-weight:800;color:#ecb3ba}
.journal-card-type{color:#c2bac0;font-size:.68rem}
.journal-card-content{display:flex;flex-direction:column;flex:1;min-width:0}
.journal-card-copy{min-width:0}
.journal-card-category{color:#ff6676!important;font-size:.79rem!important;font-weight:750;letter-spacing:.11em;line-height:1.4!important;margin:0 0 14px!important}
.journal-grid .reading-card h3{font-size:clamp(1.55rem,2.5vw,2.4rem);margin:0 0 15px;letter-spacing:-.044em;line-height:1.2;max-width:26ch}
.journal-grid>.reading-card:first-child h3{font-size:clamp(2rem,3.5vw,3.3rem);max-width:16ch}
.journal-card-summary{font-size:clamp(1rem,1.2vw,1.075rem)!important;line-height:1.7!important;color:#dcd5d9!important;margin:0 0 22px!important;max-width:58ch}
.journal-card-extra{margin-top:auto;display:flex;flex-direction:column;min-width:0}
.journal-grid .reading-details{margin:0 0 18px;border-top:1px solid #695d64;border-bottom:1px solid #695d64;width:100%;color:#f8f6f3}
.journal-grid .reading-details summary{padding:13px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.92rem;font-weight:750;cursor:pointer;list-style:none;min-height:48px}
.journal-grid .reading-details summary::-webkit-details-marker{display:none}
.journal-grid .reading-details summary span{color:#ff6273;font-size:1.3rem;font-weight:400}
.journal-grid .reading-details[open] summary span{transform:rotate(45deg)}
.journal-grid .reading-details p{margin:0!important;padding:7px 0 20px!important;line-height:1.7!important;color:#e2dbe0!important;font-size:1rem!important}
.journal-source-link{display:inline-flex;align-items:center;gap:15px;min-height:44px;border-bottom:2px solid #ff2638;align-self:flex-start;text-decoration:none;font-size:.94rem;font-weight:750}
.journal-source-credit{font-size:.78rem!important;color:#c5bac0!important;margin:14px 0 0!important;line-height:1.6!important;overflow-wrap:anywhere}
.journal-grid>.reading-card:first-child .journal-card-content{display:grid;grid-template-columns:1fr minmax(240px,.78fr);gap:clamp(28px,5vw,70px)}
.journal-no-results{border:1px dashed #a998a0;margin-top:25px;padding:35px;background:#19181b;color:#eee}
.journal-no-results p{font-size:1.05rem;margin-bottom:15px}
.journal-no-results button{border:1px solid #e2dce0;color:#111;background:#f8f6f3;min-height:44px;padding:9px 17px;font:inherit;font-weight:750;cursor:pointer}
.journal-page [hidden]{display:none!important}
.journal-manifesto{margin-top:clamp(95px,11vw,154px);padding:clamp(45px,6vw,84px);background:#f5f0ed;color:#171316;display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,75px);align-items:center}
.journal-manifesto .journal-section-kicker{color:#9a1727}
.journal-manifesto h2{max-width:13ch;font-size:clamp(2.1rem,4vw,4rem)}
.journal-manifesto h2 em{color:#a7192a}
.journal-manifesto>div>p:not(.journal-section-kicker){color:#372c31;line-height:1.8;font-size:1.075rem}
.journal-manifesto-links{display:flex;flex-wrap:wrap;gap:16px 24px;margin-top:28px}
.journal-manifesto-links a{border-bottom:2px solid #a7192a;display:inline-flex;align-items:center;min-height:48px;font-weight:720;color:#21191d}
.journal-manifesto-links a:hover{color:#801020}
@media (max-width:940px){
 .journal-hero{grid-template-columns:minmax(0,1fr) minmax(240px,.7fr);gap:28px}
 .journal-page .journal-hero h1{font-size:clamp(3.25rem,7vw,5.6rem)}
 .journal-hero-art{min-height:350px}
 .journal-grid>.reading-card:first-child .journal-card-content{gap:32px;grid-template-columns:1fr}
 .journal-grid>.reading-card:first-child{min-height:0}
 .journal-heading{grid-template-columns:1fr;gap:15px}
}
@media (max-width:720px){
 .journal-hero{grid-template-columns:1fr;gap:26px;padding:35px 0}
 .journal-hero-art{min-height:210px;padding:23px;display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:center}
 .journal-art-index{align-self:start}
 .journal-art-glyph{font-size:clamp(7rem,24vw,11rem);grid-row:1 / span 2;grid-column:2;justify-self:center}
 .journal-art-words{font-size:1rem;grid-column:1}
 .journal-art-caption{display:none}
 .journal-page .journal-hero h1{font-size:clamp(3rem,11vw,5.1rem)}
 .journal-intro{font-size:1.17rem}
 .journal-section-nav{gap:8px 22px}
 .journal-heading h2{font-size:clamp(2.1rem,7.7vw,3.2rem)}
 .journal-grid{grid-template-columns:1fr}
 .journal-grid>.reading-card:first-child{grid-column:auto}
 .journal-originals-empty{grid-template-columns:1fr;gap:6px;min-height:0}
 .journal-empty-number{font-size:5.3rem}
 .journal-empty-content h3{font-size:2rem}
 .journal-manifesto{grid-template-columns:1fr;padding:32px 25px}
 .journal-articles{grid-template-columns:1fr}
}
@media (max-width:390px){
 .journal-page .journal-breadcrumb{padding-top:22px}
 .journal-page .journal-hero h1{font-size:clamp(2.65rem,12vw,3.25rem);word-break:normal}
 .journal-hero-art{min-height:185px}
 .journal-art-glyph{font-size:6.9rem}
 .journal-section-nav a{font-size:.84rem}
 .journal-controls{align-items:stretch}
 .journal-topics{gap:7px}
 .journal-topics button{padding:10px 11px;font-size:.82rem}
 .journal-search{max-width:none}
 .journal-grid>.reading-card{padding:24px 20px}
 .journal-grid .reading-card h3{font-size:1.63rem}
}
@media (prefers-reduced-motion:reduce){
 .journal-grid>.reading-card,.journal-jump span,.journal-text-link span,.journal-source-link span{transition:none!important}
 .journal-jump:hover span,.journal-text-link:hover span,.journal-source-link:hover span{transform:none!important}
}
@media (prefers-contrast:more){
 .journal-page .journal-grid>.reading-card{border-color:#f8f6f3}
 .journal-heading>p,.journal-card-summary,.journal-source-credit{color:#f8f6f3!important}
 .journal-topics button{border-width:2px}
}
@media (forced-colors:active){
 .journal-page .reading-card,.journal-originals-empty,.journal-manifesto{border:1px solid CanvasText}
 .journal-art-glyph,.journal-page h1 em,.journal-section-kicker{forced-color-adjust:auto}
}

/* Published article template, using the same Kiver.dev editorial language. */
.journal-article-page{max-width:1220px;min-width:0}
.journal-article-breadcrumb{padding-top:clamp(26px,3.8vw,50px);margin:0;min-width:0;overflow-wrap:anywhere}
.journal-longform{max-width:860px;padding-top:clamp(45px,6vw,85px)}
.journal-longform .longform-header{border-bottom:1px solid #574e54;padding-bottom:clamp(30px,5vw,65px);margin-bottom:clamp(35px,5vw,62px)}
.journal-longform .longform-header h1{font-size:clamp(2.6rem,6vw,5.6rem);line-height:1.08;letter-spacing:-.064em;max-width:19ch;text-wrap:balance}
.journal-longform .article-deck{font-size:clamp(1.1rem,2vw,1.45rem);color:#d5ced2;line-height:1.65;max-width:62ch}
.journal-longform .article-byline{color:#ded6db;font-size:.96rem;margin-top:22px;line-height:1.55}
.journal-article-tags{list-style:none;display:flex;flex-wrap:wrap;gap:9px;padding:0;margin:25px 0 0}
.journal-article-tags li{padding:8px 12px;border:1px solid #625760;color:#f8f6f3;font-size:.8rem;font-weight:700;text-transform:capitalize}
.journal-longform .longform-body{font-size:clamp(1.0625rem,1.5vw,1.17rem);line-height:1.85;max-width:70ch}
.journal-longform .longform-body h2{font-size:clamp(1.7rem,3vw,2.45rem);line-height:1.2;letter-spacing:-.035em;scroll-margin-top:6rem}
.journal-longform .longform-body h3{font-size:clamp(1.35rem,2.1vw,1.8rem);line-height:1.3}
.journal-longform .longform-body :is(a,code){overflow-wrap:anywhere}
.journal-longform .longform-body blockquote{border-left:3px solid #ff2638;padding:16px 0 16px 22px;margin:35px 0;color:#f8f6f3}
.journal-longform .longform-body :is(ul,ol){padding-left:1.4rem}
.journal-longform .longform-body li{margin:12px 0}
.journal-longform .article-toc{background:#1a191d;padding:clamp(22px,4vw,38px);margin-bottom:48px}
.journal-longform .article-toc li{padding:5px 0}
.journal-longform .article-ending{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px}
@media(max-width:390px){
 .journal-longform .longform-header h1{font-size:clamp(2.35rem,10vw,3.4rem)}
 .journal-longform .longform-body{font-size:1.0625rem}
}
@media(prefers-contrast:more){
 .journal-article-tags li{border-color:#f8f6f3}
 .journal-longform .article-byline,.journal-longform .article-deck{color:#f8f6f3}
}
