/* Opt-in journalism chrome. Loaded only for layout=jornal; editora CSS and HTML stay unchanged. */
@font-face { font-family: 'Barlow'; src: url('/fonts/barlow-latin-400.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Barlow'; src: url('/fonts/barlow-latin-700.woff2') format('woff2'); font-weight: 700; font-display: swap; }
@font-face { font-family: 'Barlow'; src: url('/fonts/barlow-latin-800.woff2') format('woff2'); font-weight: 800; font-display: swap; }
@font-face { font-family: 'Barlow'; src: url('/fonts/barlow-latin-900.woff2') format('woff2'); font-weight: 900; font-display: swap; }
@font-face { font-family: 'Inter'; src: url('/fonts/inter-latin-wght.woff2') format('woff2'); font-weight: 400 900; font-display: swap; }
html:has([data-journal='true']) { --wrap: 77.5rem; --journal-gutter: clamp(16px, 3vw, 28px); --line: #e2e2ea; --line-2: #d8d9e3; --panel: #f5f5f5; --ink-2: #333; }
html:has([data-journal='true']) body { letter-spacing: 0; }
html:has([data-journal='true']) main { padding: 44px var(--journal-gutter) 0; }
html:has([data-journal='true']) main > * + *,
html:has([data-journal='true']) main .swrap + .swrap[data-spacing='normal'] { margin-top: 48px; }
html:has([data-journal='true']) :is(.journal-utility-in, .mast--jornal .mast-in, .mast--jornal .nav, .foot--jornal .foot-in, .radio-bar-inner) { max-width: var(--wrap); padding-inline: var(--journal-gutter); margin-inline: auto; }
.journal-utility { background: #110c44; color: rgb(255 255 255 / .8); font-size: 12px; }
.journal-utility-in { height: 40px; display: flex; align-items: center; gap: 1rem; }
.journal-temperature { display: inline-flex; align-items: center; gap: .25rem; color: var(--accent); font-weight: 600; white-space: nowrap; line-height: 1; }
.journal-temperature .weather-icon { width: 14px; height: 14px; flex: none; }
.journal-temperature[hidden] { display: none; }
.journal-utility-links, .journal-social-links { display: flex; align-items: center; gap: .85rem; }
.journal-utility-links { margin-left: auto; }
.journal-utility-links a { color: rgb(255 255 255 / .85); font-weight: 400; }
.journal-social-links a { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #e8e7f2; color: var(--journal-primary); }
.journal-social-links .ico { display: grid; }
.journal-social-links svg { width: .95rem; height: .95rem; }
.mast--jornal.mast--jornal.mast--jornal { position: sticky; top: -93px; background: #fff; backdrop-filter: none; border-bottom: 1px solid var(--line); margin-bottom: 50px; }
header.mast--jornal.mast--jornal.mast--jornal .mast-in { display: flex; padding-block: 18px; }
.mast--jornal .brand { flex: none; }
header.mast--jornal.mast--jornal .brand img { width: auto; height: 56px; max-width: 16rem; }
.mast--jornal .brand .name { font-family: var(--serif); color: var(--journal-primary); text-transform: uppercase; font-size: 1.8rem; }
.mast--jornal .journal-search { display: flex; align-items: center; min-width: 10rem; max-width: 460px; flex: 1; height: 44px; padding-left: 1rem; padding-right: 6px; border-radius: 999px; background: var(--panel); }
.mast--jornal .journal-search-toggle { display: none; }
.mast--jornal .journal-search label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.mast--jornal .journal-search input { flex: 1; min-width: 0; height: 100%; border: 0; outline: 0; background: transparent; color: var(--ink); font: 400 15px 'Inter', system-ui, sans-serif; }
.mast--jornal .journal-search:focus-within { outline: 3px solid var(--accent); outline-offset: 2px; }
.mast--jornal .journal-search button { display: grid; place-items: center; flex: none; width: 34px; height: 34px; border: 0; border-radius: 50%; background: var(--journal-primary); color: #fff; cursor: pointer; }
.mast--jornal .journal-search button:hover { background: var(--ink); }
.mast--jornal .journal-actions { display: flex; align-items: center; gap: 10px; margin-left: auto; flex: none; }
.mast--jornal .store-tools { order: 1; }
.mast--jornal .journal-actions { order: 2; }
.radio-bar-inner .radio-more { order: 1; }
.mast--jornal .journal-actions a { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 42px; padding: 0 18px; border-radius: 8px; color: #fff; font-family: 'Barlow', system-ui, sans-serif; font-size: 14px; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; text-decoration: none; white-space: nowrap; }
.mast--jornal .journal-actions .radio-listen { background: var(--journal-primary); }
.mast--jornal .journal-actions .radio-listen:hover, .mast--jornal .journal-actions .radio-listen[aria-pressed='true'] { background: #2a2380; color: #fff; }
.mast--jornal .journal-actions .icon-pause { display: inline-flex; align-items: center; }
.mast--jornal .journal-actions .radio-listen [hidden] { display: none; }
.mast--jornal .journal-actions .wa-denuncie { background: #1faf55; }
.mast--jornal .journal-actions .wa-denuncie:hover { background: #178a43; }
.mast--jornal .journal-actions .ico { display: inline-flex; }
.mast--jornal .journal-actions a:focus-visible, .journal-utility a:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
.mast--jornal.mast--jornal .nav-layer { position: absolute; top: calc(100% + 1px); left: 0; width: 100%; height: 50px; display: block; background: var(--journal-primary); }
.mast--jornal.mast--jornal .nav { height: 50px; padding-block: 0; gap: 4px; color: #fff; font: 700 13px 'Barlow', system-ui, sans-serif; letter-spacing: .03em; text-transform: uppercase; }
.mast--jornal.mast--jornal .nav > a:not(.nav-cta), .mast--jornal.mast--jornal .nav-group > summary { display: inline-flex; align-items: center; height: 50px; padding: 0 9px; color: #fff; }
html .mast--jornal.mast--jornal .nav > a:not(.nav-cta):hover, html .mast--jornal.mast--jornal .nav-group > summary:hover { color: #fff; }
html .mast--jornal.mast--jornal .nav-group > summary::after, html .mast--jornal.mast--jornal .nav > a:not(.nav-cta)::after { bottom: 0; height: 3px; background: var(--accent); }
html .mast--jornal.mast--jornal .nav > a[aria-current='page']::after,
html:has(main .journal-top) .mast--jornal.mast--jornal .nav > a.nav-home-archive::after { right: 0; transition: none; }
.mast--jornal [data-journal-cities] .submenu { display: none; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; position: fixed; top: var(--journal-menu-top, 0px); left: max(0px, calc((100% - var(--wrap)) / 2)); right: max(0px, calc((100% - var(--wrap)) / 2)); width: auto; min-width: 0; padding: 20px var(--journal-gutter); border: 0; border-radius: 0; background: #fff; color: var(--journal-primary); box-shadow: 0 14px 22px #100d381f; text-transform: none; }
html .mast--jornal.mast--jornal [data-journal-cities]:hover > .submenu, html .mast--jornal.mast--jornal [data-journal-cities]:focus-within > .submenu, html .mast--jornal.mast--jornal [data-journal-cities][open] > .submenu { display: grid; }
/* The panel hangs from the bar's bottom edge: stretch the item over the bar's padding so the pointer never crosses a dead strip on its way down. */
@media (min-width: 40.01rem) { .mast--jornal.mast--jornal [data-journal-cities] { align-self: stretch; } }
.mast--jornal.mast--jornal [data-journal-cities] .submenu a { color: var(--journal-primary); font: 600 15px/1.6 'Barlow', system-ui, sans-serif; padding: 6px 0; }
.mast--jornal.mast--jornal .nav > .nav-live { margin-left: auto; padding-block: 0; }
.mast--jornal .nav-live .radio-badge { height: 22px; border-radius: 4px; background: #e3262e; font: 700 11px 'Barlow', system-ui, sans-serif; letter-spacing: .06em; }
.mast--jornal .nav-live:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
.mast--jornal .journal-mobile-layer { display: none; }
.mast--jornal [data-journal-cities] .submenu a:hover { color: var(--accent-ink); }
.foot--jornal.foot--jornal { background: color-mix(in srgb, var(--journal-primary) 70%, #000); color: #fff; margin-top: 64px; border-top: 0; font-family: 'Inter', system-ui, sans-serif; }
.foot--jornal.foot--jornal .foot-in { padding-block: 44px 0; }
.foot--jornal.foot--jornal .foot-cols { display: grid; grid-template-columns: minmax(0,1.4fr) repeat(3,minmax(0,1fr)); gap: 32px; padding-bottom: 32px; }
.foot--jornal.foot--jornal .foot-cols:not(:has(.foot-col)) { display: block; }
.foot--jornal.foot--jornal .foot-brand { display: block; }
html .foot--jornal.foot--jornal .brand img { width: auto; height: 52px; max-width: min(100%, 16rem); border-radius: 0; }
.foot--jornal.foot--jornal .brand img.logo-on-light { box-sizing: content-box; max-width: min(calc(100% - 20px), 16rem); padding: 6px 10px; border-radius: 4px; background: #fff; }
html .foot--jornal.foot--jornal .brand .name { color: #fff; font-family: 'Barlow', system-ui, sans-serif; }
.foot--jornal.foot--jornal .tagline { margin: 16px 0; max-width: 34ch; color: rgb(255 255 255 / .8); font: 400 14px/1.6 'Inter', system-ui, sans-serif; }
.foot--jornal.foot--jornal .social.icons ul { gap: 8px; }
html .foot--jornal.foot--jornal .social.icons a { width: 36px; height: 36px; border: 0; border-radius: 50%; background: rgb(255 255 255 / .12); color: #fff; }
html .foot--jornal.foot--jornal .social.icons a:hover { background: rgb(255 255 255 / .23); color: #fff; }
.foot--jornal.foot--jornal .social.icons a:focus-visible, .foot--jornal.foot--jornal .foot-col a:focus-visible, .foot--jornal.foot--jornal .legal a:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
html .foot--jornal.foot--jornal .foot-col-title { margin: 0 0 10px; color: var(--accent); font: 700 12px/1.6 'Barlow', system-ui, sans-serif; letter-spacing: .08em; }
html .foot--jornal.foot--jornal .foot-col ul { gap: 0; }
html .foot--jornal.foot--jornal .foot-col a { color: rgb(255 255 255 / .85); font: 400 14px/2 'Inter', system-ui, sans-serif; }
html .foot--jornal.foot--jornal .foot-col a:hover { color: #fff; text-decoration: underline; }
.foot--jornal.foot--jornal .legal { position: relative; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px 24px; margin: 0; padding: 16px 0 80px; border: 0; color: rgb(255 255 255 / .72); font: 400 12px/1.6 'Inter', system-ui, sans-serif; }
.foot--jornal.foot--jornal .legal::before { position: absolute; top: 0; left: 0; right: 0; border-top: 1px solid rgb(255 255 255 / .12); border-image: linear-gradient(rgb(255 255 255 / .12) 0 0) 1 / 1px / 0 100vmax; content: ''; }
html .foot--jornal.foot--jornal .legal a { color: inherit; text-decoration: none; }
.foot--jornal.foot--jornal .legal a:hover { color: #fff; text-decoration: underline; }

/* Home newsroom sections. This stylesheet is requested only by the jornal preset. */
html:has([data-journal='true']) main:has(> .swrap:first-child > .journal-alert) { padding-top: 0; }
/* The prototype's ticker sits above the page part, whose 44px (28px mobile) top padding still applies. */
html:has([data-journal='true']) main > .swrap:has(> .journal-alert) + :is(.swrap, .journal-top) { margin-top: 44px; }
@media (max-width: 960px) { html:has([data-journal='true']) main > .swrap:has(> .journal-alert) + :is(.swrap, .journal-top) { margin-top: 28px; } }
.journal-alert { margin-inline: calc(-1 * var(--journal-gutter)); background: var(--accent); border-image: linear-gradient(var(--accent) 0 0) 1 fill / 0 / 0 100vmax; color: var(--journal-primary); }
/* Paint beyond the wrapper without a viewport-width layout box (which includes the vertical scrollbar). */
.journal-band-inner { max-width: var(--wrap); margin-inline: auto; padding-inline: var(--journal-gutter); }
.journal-alert .journal-band-inner { display: flex; align-items: center; gap: .9rem; min-height: 46px; }
.journal-alert strong { flex: none; display: flex; align-items: center; justify-content: center; gap: .5rem; min-width: 105px; height: 30px; padding: 0 .75rem; border-radius: 4px; background: var(--journal-primary); color: #fff; font: 900 16px/1.6 'Barlow', system-ui, sans-serif; letter-spacing: .06em; }
.journal-alert .alert-symbol { flex: none; width: 8px; height: 14px; background: var(--accent); clip-path: polygon(0 18%, 100% 0, 100% 100%, 0 82%); }
.journal-alert-viewport { flex: 1; min-width: 0; overflow: hidden; }
.journal-alert-track { display: flex; width: max-content; }
.journal-alert ul { display: flex; align-items: center; flex: none; width: max-content; list-style: none; margin: 0; padding: 0; }
.journal-alert li { display: flex; align-items: center; flex: none; gap: .9rem; white-space: nowrap; }
.journal-alert li:not([hidden]) ~ li:not([hidden])::before, .journal-alert ul::after { content: '◆'; margin-inline: 1rem; font-size: .55rem; }
.journal-alert ul::after { align-self: center; }
.journal-alert li[hidden] { display: none; }
.journal-alert a { color: inherit; font-weight: 600; text-decoration: none; }
.journal-alert:not(.is-scrolling) .journal-alert-track { width: 100%; }
.journal-alert:not(.is-scrolling) ul { width: 100%; min-width: 0; }
.journal-alert:not(.is-scrolling) li { min-width: 0; flex: 1; }
.journal-alert:not(.is-scrolling) a { flex: 1; overflow: hidden; text-overflow: ellipsis; }
.journal-alert:not(.is-scrolling) ul::after { display: none; }
.journal-alert.is-scrolling .journal-alert-track { animation: journal-ticker var(--ticker-duration) linear infinite; }
.journal-alert.is-scrolling:hover .journal-alert-track, .journal-alert.is-scrolling:focus-within .journal-alert-track { animation-play-state: paused; }
.journal-alert a:hover { text-decoration: underline; }
.journal-alert time { flex: none; font-size: .8rem; opacity: .8; }
@keyframes journal-ticker { to { transform: translateX(calc(-1 * var(--ticker-distance))); } }
@media (prefers-reduced-motion: reduce) {
  .journal-alert.is-scrolling .journal-alert-track { width: 100%; animation: none; }
  .journal-alert.is-scrolling ul:not([aria-hidden]) { width: 100%; min-width: 0; }
  .journal-alert.is-scrolling ul:not([aria-hidden]) li { min-width: 0; flex: 1; }
  .journal-alert.is-scrolling ul:not([aria-hidden]) a { overflow: hidden; text-overflow: ellipsis; }
  .journal-alert ul[aria-hidden] { display: none; }
}
@media (max-width: 960px) { .journal-alert time { display: none; } }
.journal-top { display: grid; grid-template-columns: minmax(0, 2.74fr) minmax(260px, 1fr); gap: 32px; }
.journal-editoria-with-ranking { display: grid; grid-template-columns: minmax(0, 2.15fr) minmax(260px, 1fr); gap: 48px; }
.journal-body-row { display: grid; grid-template-columns: minmax(0, 2.15fr) minmax(0, 1fr); align-items: start; gap: 48px; }
.journal-body-row:has(> .swrap:only-child), .journal-body-row:has(> .swrap[hidden]), .journal-body-row:has(> .journal-body-primary:only-child) { grid-template-columns: minmax(0, 1fr); }
html:has([data-journal='true']) :is(.journal-top, .journal-editoria-with-ranking, .journal-body-row) > .swrap + .swrap { margin-top: 0; }
html:has([data-journal='true']) main :is(.journal-top, .journal-editoria-with-ranking, .journal-body-row) > .swrap + .swrap[data-spacing='normal'] { margin-top: 0; }
@media (min-width: 961px) {
  .journal-body-primary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px 30px; }
  .journal-body-primary > .journal-editorias-heading { grid-column: 1 / -1; }
  html:has([data-journal='true']) main .journal-body-primary > .swrap + .swrap[data-spacing='normal'] { margin-top: 0; }
  .journal-body-primary .journal-editoria .columns { grid-template-columns: 1fr; }
}
.journal-card { min-width: 0; color: var(--ink); }
.journal-card .photo { position: relative; display: block; overflow: hidden; border-radius: 8px; aspect-ratio: 16 / 9; background: var(--panel); }
.journal-card .photo img { width: 100%; height: 100%; object-fit: cover; }
.journal-card .play { position: absolute; left: 10px; bottom: 10px; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--accent); color: var(--journal-primary); box-shadow: 0 2px 10px #0004; }
.journal-card .video-seal { display: inline-flex; align-items: center; gap: .2rem; }
.journal-card .labels { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-top: 10px; font: 700 11px/1.3 'Barlow', system-ui, sans-serif; letter-spacing: .06em; text-transform: uppercase; }
/* The theme's global .kicker (0.72rem, 0.13em) would otherwise win over the inherited chip type. */
.journal-card .kicker, .journal-card .city { display: inline-flex; align-items: center; min-height: 22px; padding: 0 8px; border-radius: 4px; font: inherit; letter-spacing: inherit; }
.journal-card .kicker { background: var(--accent); color: var(--journal-primary); }
.journal-card .city { background: #e8e7f2; color: var(--journal-primary); }
.journal-card h2 { margin: 8px 0; color: var(--journal-primary); font-family: var(--serif); font-size: 20px; font-weight: 800; line-height: 1.15; letter-spacing: 0; text-wrap: wrap; }
.journal-card h2 a { color: inherit; text-decoration: none; }
.journal-card h2 a:hover { text-decoration: underline; }
.journal-card--lead h2 { font-size: 38px; }
.journal-card--small h2 { font-size: 1rem; }
.journal-card .excerpt { margin: 14px 0 10px; color: #4a4a58; font-size: 15px; line-height: 1.55; }
.journal-manchete .journal-card--lead .excerpt { font-size: 16px; }
.journal-card .journal-card-meta { color: #6b6b7b; font-size: 13px; line-height: 1.4; }
.journal-card time { color: inherit; font-size: inherit; }
.journal-card .date { text-decoration: none; }
.journal-card .date:hover { text-decoration: underline; }
.journal-card .sponsored { font-size: .75rem; }
/* Home cards stack like the prototype's: 10px between photo, chips, title, summary and meta; 12px in the lead story. */
:is(.journal-manchete, .journal-editoria, .journal-cities) .journal-card:is(.journal-card--lead, .journal-card--medium, .journal-card--small) { display: flex; flex-direction: column; gap: 10px; }
:is(.journal-manchete, .journal-editoria, .journal-cities) .journal-card:is(.journal-card--lead, .journal-card--medium, .journal-card--small) > * { margin: 0; }
:is(.journal-manchete, .journal-editoria, .journal-cities) .journal-card:is(.journal-card--lead, .journal-card--medium, .journal-card--small) > .excerpt { margin-top: 6px; }
.journal-manchete .journal-card.journal-card--lead { gap: 12px; }
.journal-manchete .journal-card.journal-card--lead > h2 { margin-top: 2px; }
.journal-videos .video-grid > .journal-card .labels { margin-top: 14px; }
.journal-videos .video-grid > .journal-card h2 { margin: 10px 0 6px; }
.journal-manchete { display: grid; grid-template-columns: 1.5fr 1fr; gap: 32px; }
.journal-manchete .mediums { display: grid; gap: 22px; }
.journal-ultimas { padding: 18px 20px 8px; border-radius: 14px; background: var(--panel); }
.journal-ultimas ol, .journal-most-read ol { margin: 0; padding: 0; list-style: none; }
.journal-ultimas li { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 10px; padding: 10px 0; border-top: 1px solid var(--line); font-size: 14px; line-height: 1.4; }
.journal-ultimas li:first-child { border-top: 0; }
.journal-ultimas time { font: 800 13px/1.4 'Barlow', system-ui, sans-serif; color: #c98300; }
.journal-ultimas li a, .journal-most-read li a { color: inherit; text-decoration: none; }
.journal-ultimas li a:hover, .journal-most-read li a:hover { text-decoration: underline; }
.journal-ultimas li a { color: #333; font: 400 14px/1.4 'Inter', system-ui, sans-serif; }
.journal-editoria .editoria-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.journal-editoria .editoria-rows { display: grid; gap: 12px; }
.journal-editoria--policial .editoria-grid { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 26px; align-items: start; }
.journal-editoria--policial .editoria-rows { gap: 18px; }
.journal-editoria--policial .journal-card--lead h2 { font-size: 28px; }
.journal-editoria .columns { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
/* Adjacent columns editorias share the newsroom's three tracks; a standalone one keeps its four-card row. */
@media (min-width: 961px) {
  main:has(> .swrap > .journal-editoria .columns) {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 30px;
  }
  main:has(> .swrap > .journal-editoria .columns) > * {
    grid-column: 1 / -1;
    min-width: 0;
  }
  main:has(> .swrap > .journal-editoria .columns) > .swrap:has(> .journal-editoria .columns):has(+ .swrap > .journal-editoria .columns),
  main:has(> .swrap > .journal-editoria .columns) > .swrap:has(> .journal-editoria .columns) + .swrap:has(> .journal-editoria .columns) {
    grid-column: auto;
  }
  main > .swrap:has(> .journal-editoria .columns) + .swrap:has(> .journal-editoria .columns) {
    margin-top: clamp(3rem, 7vw, 5.5rem);
  }
  main > .swrap:first-child:has(> .journal-editoria .columns) + .swrap:has(> .journal-editoria .columns),
  main > .swrap:first-child:has(> .journal-editoria .columns) + .swrap:has(> .journal-editoria .columns) + .swrap:has(> .journal-editoria .columns) {
    margin-top: 0;
  }
  main > .swrap:has(> .journal-editoria .columns):has(+ .swrap > .journal-editoria .columns) .columns,
  main > .swrap:has(> .journal-editoria .columns) + .swrap:has(> .journal-editoria .columns) .columns {
    grid-template-columns: 1fr;
  }
}
.journal-videos { margin-inline: calc(-1 * var(--journal-gutter)); background: var(--journal-primary); border-image: linear-gradient(var(--journal-primary) 0 0) 1 fill / 0 / 0 100vmax; color: white; }
.journal-videos .journal-band-inner { padding-block: 48px; }
.journal-videos .video-grid { display: grid; grid-template-columns: 1.5fr 1fr; gap: 28px; align-items: start; position: relative; z-index: 1; }
.journal-videos .video-rows { display: grid; gap: 14px; }
.journal-videos .journal-card, .journal-videos .journal-card h2 { color: white; }
.journal-videos .journal-card time, .journal-videos .journal-card .excerpt { color: #dedcf3; }
.journal-videos .journal-card .journal-card-meta, .journal-videos .journal-card .journal-card-meta time { color: rgb(255 255 255 / .75); }
.journal-videos .video-grid > .journal-card .labels .city { display: none; }
.journal-sponsored { padding: 1.4rem; border: 1px solid var(--line); background: var(--panel); }
.journal-sponsored .sponsored-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.journal-sponsored .journal-card .sponsored { color: var(--journal-primary); font-weight: 800; }
.journal-sponsored:has(.journal-sponsored-card) { padding: 0; border: 0; background: none; }
.journal-sponsored:has(.journal-sponsored-card) .sponsored-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.journal-sponsored-card { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 14px; padding: 14px; border-radius: 8px; background: var(--panel); color: var(--ink); text-decoration: none; }
.journal-sponsored-card:hover strong { text-decoration: underline; }
.journal-sponsored-card img { width: 120px; height: 90px; object-fit: cover; border-radius: 8px; }
.journal-sponsored-copy { display: grid; align-content: start; }
.journal-sponsored-copy .sponsor-label { display: inline-flex; align-items: center; width: fit-content; height: 22px; margin-block: 2px; padding: 0 8px; border: 1px solid var(--line); border-radius: 4px; background: #fff; color: #6b6b7b; font: 700 11px 'Barlow', system-ui, sans-serif; text-transform: uppercase; letter-spacing: .06em; }
.journal-sponsored-copy strong { margin-top: 6px; color: var(--journal-primary); font: 800 16px/1.15 'Barlow', system-ui, sans-serif; }
.journal-sponsored-copy small { color: var(--muted); font-size: 13px; line-height: 1.4; }
.journal-cities nav { display: flex; flex-wrap: nowrap; gap: 10px; overflow-x: auto; padding: 2px 2px 10px; margin-bottom: 18px; scrollbar-width: thin; }
.journal-cities nav a { flex: none; display: inline-flex; align-items: center; height: 36px; padding: 0 18px; border: 2px solid var(--journal-primary); border-radius: 999px; color: var(--journal-primary); font: 700 13px 'Barlow', system-ui, sans-serif; letter-spacing: .03em; text-transform: uppercase; text-decoration: none; }
.journal-cities nav a:hover, .journal-cities nav a.active { background: var(--journal-primary); color: #fff; }
.journal-cities nav.city-more { display: none; }
.journal-cities nav.city-more:target { display: flex; }
.journal-cities .city-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.journal-cities .city-grid[hidden] { display: none; }
.journal-cities .city-grid .journal-card h2 { font-size: 17px; }
.journal-most-read li { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 10px; padding: 12px 0; border-top: 1px solid var(--line); font-size: 16px; }
.journal-most-read .ranking-story { min-width: 0; }
.journal-most-read .labels { margin: 0 0 4px; }
.journal-most-read .city { display: block; overflow-wrap: break-word; color: #c98300; font: 700 12px/1.6 'Barlow', system-ui, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.journal-most-read li::before { content: counter(item); counter-increment: item; color: var(--accent); font: 900 38px/.9 'Barlow', system-ui, sans-serif; }
.journal-most-read ol { counter-reset: item; }
.journal-most-read li a { display: block; color: var(--journal-primary); font: 800 16px/1.15 'Barlow', system-ui, sans-serif; }
:is(.journal-editoria, .journal-videos, .journal-ultimas, .journal-most-read, .journal-sponsored, .journal-cities, .journal-podcast, .journal-editorias-heading) .heading { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
:is(.journal-editoria, .journal-videos, .journal-ultimas, .journal-most-read, .journal-sponsored, .journal-cities, .journal-podcast, .journal-editorias-heading) .heading::before { content: ''; flex: none; width: 14px; height: 22px; background: var(--accent); clip-path: polygon(0 18%, 100% 0, 100% 100%, 0 82%); }
:is(.journal-editoria, .journal-videos, .journal-ultimas, .journal-most-read, .journal-sponsored, .journal-cities, .journal-podcast, .journal-editorias-heading) .heading::after { content: ''; order: 2; flex: 1; min-width: 8px; height: 2px; background: var(--journal-primary); opacity: .12; }
:is(.journal-editoria, .journal-videos, .journal-ultimas, .journal-most-read, .journal-sponsored, .journal-cities, .journal-podcast, .journal-editorias-heading) .heading h2 { order: 1; flex: 0 1 auto; min-width: 0; margin: 0; color: var(--journal-primary); font: 900 22px/1 'Barlow', system-ui, sans-serif; letter-spacing: .01em; text-transform: uppercase; }
:is(.journal-editoria, .journal-videos, .journal-ultimas, .journal-most-read, .journal-sponsored, .journal-cities, .journal-podcast) .heading a { order: 3; white-space: nowrap; color: var(--journal-primary); font: 700 13px 'Barlow', system-ui, sans-serif; letter-spacing: .04em; text-transform: uppercase; }
.journal-ultimas .heading { margin-bottom: 10px; }
.journal-ultimas .heading h2 { font-size: 16px; }
.journal-videos .heading h2 { color: white; }
.journal-videos .heading a { color: var(--accent); }
.journal-videos .heading::after { background: white; opacity: .2; }
.journal-podcast .podcast-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.journal-podcast .podcast-card { display: block; overflow: hidden; border-radius: 14px; background: var(--journal-primary); color: #fff; text-decoration: none; box-shadow: 0 3px 12px #17134a20; }
.journal-podcast .podcast-card:hover .podcast-copy strong { text-decoration: underline; }
.journal-podcast .podcast-art { position: relative; display: flex; flex-direction: column; justify-content: space-between; aspect-ratio: 16 / 9; padding: 14px; background-color: var(--journal-primary); background-position: center; background-size: cover; }
.journal-podcast .podcast-art > strong { max-width: 60%; font: 900 20px/1.05 'Barlow', system-ui, sans-serif; letter-spacing: -.01em; }
.journal-podcast .podcast-art--cover { justify-content: flex-start; padding: 8px; background-color: transparent; background-repeat: no-repeat; }
.journal-podcast .podcast-mark { position: absolute; top: 10px; right: 12px; width: auto; max-width: 60px; height: 22px; object-fit: contain; object-position: right top; }
.journal-podcast .podcast-badges { display: flex; flex-wrap: wrap; gap: 6px; }
.journal-podcast .podcast-badges span { display: inline-flex; align-items: center; gap: 6px; height: 22px; padding: 0 8px; border-radius: 4px; background: rgb(255 255 255 / .14); font: 700 11px 'Barlow', system-ui, sans-serif; letter-spacing: .06em; }
.journal-podcast .podcast-badges span:first-child { background: var(--accent); color: var(--journal-primary); }
.journal-podcast .podcast-badges .podcast-live { background: #e3262e; color: white; }
.journal-podcast .podcast-badges .podcast-live::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: currentColor; animation: podcast-live 1.4s infinite; }
@keyframes podcast-live { 0%, 100% { opacity: 1; } 50% { opacity: .25; } }
@media (prefers-reduced-motion: reduce) { .journal-podcast .podcast-badges .podcast-live::before { animation: none; } }
.journal-podcast .podcast-copy { display: grid; gap: 4px; padding: 12px 14px 14px; font-size: .87rem; line-height: 1.4; }
.journal-podcast .podcast-copy strong { font-size: 1rem; }
.journal-podcast .podcast-copy small { color: rgb(255 255 255 / .65); font-size: 13px; }
.journal-animals { --muted: #6b6b7b; padding: 16px; border: 1px solid var(--line); border-radius: 14px; font-size: 16px; line-height: 1.6; }
.journal-animals h2 { display: flex; align-items: center; gap: 8px; margin: 0; color: var(--journal-primary); font: 900 16px/1.6 'Barlow', sans-serif; letter-spacing: 0; text-transform: uppercase; }
.journal-animals ul { list-style: none; margin: 0; padding: 0; }
.journal-animals li { margin-top: 10px; padding: 10px 0; border-top: 1px solid var(--line); }
.journal-animals li a { display: grid; grid-template-columns: 56px minmax(0, 1fr); align-items: center; gap: 10px; color: var(--ink); line-height: 1.35; text-decoration: none; overflow-wrap: anywhere; }
/* The prototype resolves bold names to its Inter 900 face (it loads 400, 600 and 900). */
.journal-animals li strong { font-weight: 900; }
.journal-animals li a:hover strong { text-decoration: underline; }
.journal-animals .animal-thumb { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 10px; background: #e8e7f2; color: var(--journal-primary); }
.journal-animals .animal-details { color: var(--muted); font-size: 13px; line-height: 1.4; }
.journal-animals .animal-description { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; margin-top: 3px; font-size: .86rem; }
.journal-animals small { display: block; color: var(--muted); font-size: 13px; line-height: 1.4; }
.journal-animals .animals-cta { display: flex; align-items: center; justify-content: center; height: 38px; margin-top: 10px; padding: 0 18px; border-radius: 8px; box-shadow: inset 0 0 0 2px var(--journal-primary); color: var(--journal-primary); font: 800 14px/1.6 'Barlow', sans-serif; letter-spacing: .03em; text-transform: uppercase; text-decoration: none; }
.journal-animals .animals-cta:hover { background: var(--journal-primary); color: white; }
.journal-card--row:has(.photo) { display: grid; grid-template-columns: 120px minmax(0, 1fr); column-gap: 14px; align-content: start; }
.journal-card--row .photo { grid-row: 1 / span 3; aspect-ratio: 4 / 3; }
.journal-card--row .text-kicker, .journal-card--text .text-kicker { color: #c98300; font: 700 12px/1.3 'Barlow', system-ui, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
/* In the prototype the row kicker sits in its text column's 16px × 1.6 line box. */
.journal-card--row .text-kicker { line-height: 25.6px; }
.journal-card--row h2, .journal-card--text h2 { margin: 2px 0 0; font-size: 17px; }
.journal-card--text { padding: 12px 0; border-top: 1px solid var(--line); }
.journal-card--text:first-child { border-top: 0; padding-top: 0; }
.journal-body-primary .journal-editoria .heading { border-bottom: 2px solid var(--accent); padding-bottom: 10px; margin-bottom: 12px; }
.journal-body-primary .journal-editoria .heading::before, .journal-body-primary .journal-editoria .heading::after { display: none; }
.journal-body-primary .journal-editoria .heading h2 { font-size: 15px; font-weight: 800; line-height: 1.6; letter-spacing: .04em; }
.journal-body-primary .journal-editoria .heading a { display: none; }
.journal-body-primary .journal-editoria .columns { gap: 0; }
.journal-videos { position: relative; overflow: hidden; margin-block: 0; }
/* The prototype restarts its page part after the band: 48px margin plus 44px part padding.
   Set on the following sibling: legacy column homes make main a grid, where margins never collapse. */
html:has([data-journal='true']) main > .swrap.swrap:has(> .journal-videos.journal-videos) + * { margin-top: 92px; }
.journal-videos::after { content: ''; position: absolute; right: 0; bottom: 0; width: min(46%, 460px); height: 72%; background: var(--accent); opacity: .14; pointer-events: none; clip-path: polygon(0 100%, 0 80%, 18% 70%, 18% 100%, 22% 100%, 22% 62%, 40% 52%, 40% 100%, 44% 100%, 44% 44%, 62% 34%, 62% 100%, 66% 100%, 66% 26%, 84% 16%, 84% 100%, 88% 100%, 88% 8%, 100% 0, 100% 100%); }
.journal-videos .video-rows .journal-card--row:has(.photo) { grid-template-columns: 108px minmax(0, 1fr); gap: 3px 12px; }
.journal-videos .video-rows .photo { border-radius: 4px; }
.journal-videos .video-rows .journal-card h2 { font-size: 15px; font-weight: 700; line-height: 1.25; }
.journal-videos .video-rows .text-kicker { font-size: 11px; line-height: 1.6; letter-spacing: .05em; color: var(--accent); }
.journal-videos .video-rows .journal-card h2 { margin-top: 0; }
.journal-videos .video-rows .journal-card-meta { font-size: 12px; }
.journal-videos .video-rows .journal-card-meta, .journal-videos .video-rows .journal-card-meta time { color: rgb(255 255 255 / .7); }
.journal-videos .video-rows .meta-city { display: none; }
.journal-videos .video-grid > .journal-card--medium h2 { font-size: 24px; }
.journal-podcast .podcast-copy > span { font-size: 14px; }
/* Archive pages: one lead and a chronological compact list, never the editora card grid. */
.journal-listing { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3rem); align-items: start; }
.journal-listing-rows { display: grid; }
.journal-listing-rows .journal-card { padding: .9rem 0; border-bottom: 1px solid var(--line); }
.journal-listing-rows .journal-card:first-child { padding-top: 0; }
.journal-listing-rows .journal-card h2 { font-size: clamp(1rem, 1.6vw, 1.25rem); }
.journal-listing-rows .journal-card--compact:has(.photo) { display: grid; grid-template-columns: clamp(88px, 25%, 128px) minmax(0, 1fr); column-gap: 12px; align-content: start; }
.journal-listing-rows .journal-card--compact .photo { grid-row: 1 / span 4; align-self: start; }
.journal-listing-rows .journal-card--compact .labels { margin-top: 0; }
.journal-listing-rows .journal-card--compact h2 { margin: 6px 0; }
.journal-listing-empty { margin: 2rem 0; color: var(--muted); font-family: var(--serif); font-size: 1.2rem; }
.journal-ad { display: grid; justify-items: center; gap: .5rem; overflow: hidden; }
.journal-ad-label { font-size: .65rem; font-weight: 700; letter-spacing: .12em; color: #64748b; }
/* Fixed journal inventory: an oversized responsive creative is clipped, never allowed to shift reading content. */
.journal-ad-reservation { width: min(100%, var(--ad-desktop-width)); height: var(--ad-desktop-min-height); overflow: hidden; }
.journal-ad-box { display: block; width: 100%; height: 100%; }
@media (max-width: 767px) {
  .journal-ad-reservation { width: min(100%, var(--ad-mobile-width)); height: var(--ad-mobile-min-height); overflow: hidden; }
}
.journal-feed-ad { padding: 1.5rem 0; }
/* Story ads, portal pattern: in the text, after it and, on desktop, a sticky lateral above the latest stories.
 * The lateral is a grid cell beside the text and sticks inside it, so it never reaches the footer; phones and
 * tablets get no lateral. An empty place collapses with its wrapper and leaves no margin or column behind. */
.journal-story-columns > .body > :is(.ad-area, .journal-ad) { margin-block: 2rem; }
.story-end-ad { margin-top: 2.5rem; }
article.journal-article .story-end-ad { max-width: min(100%, 48rem); margin-left: 0; margin-right: auto; }
.story-end-ad:has(> .ad-area[hidden]), .journal-sidebar-ad:has(> .ad-area[hidden]) { display: none; }
.journal-sidebar { display: none; font-family: var(--sans); }
/* Reserve the lateral's full four-story space before the document arrives. Long headlines scroll
 * within this rail instead of shifting the article/footer after first paint. */
.journal-recent { height: 460px; overflow-y: auto; }
.journal-recent .recent-fallback { color: var(--journal-primary); font: 700 13px 'Barlow', system-ui, sans-serif; }
.journal-recent .recent-fallback[hidden] { display: none; }
@media (min-width: 1024px) {
  .journal-story-columns:has(> .journal-sidebar) {
    display: grid; grid-template-columns: minmax(0, 48rem) minmax(0, 340px); gap: 0 2.5rem; align-items: start;
  }
  /* 50px of the masthead stays on screen while scrolling; the lateral sticks just below it. */
  .journal-sidebar { display: grid; gap: 1.25rem; position: sticky; top: 4.25rem; min-width: 0; }
  .journal-sidebar .journal-most-read li a { overflow-wrap: anywhere; }
}
/* Opt-in sold inventory: three squares shared by the home and the archive listing, never in-feed. */
.journal-home-top-ads { display: grid; gap: 1.25rem; margin-block: 0; min-width: 0; max-width: 100%; position: relative; }
.journal-home-top-ads > * { min-width: 0; }
.journal-square-rail { display: grid; gap: 1.5rem; min-width: 0; }
main > .journal-square-rail { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 3rem; }
.journal-listing-with-squares { min-width: 0; }
.journal-square-rail .ad-area { min-width: 0; }
.journal-square-rail:not(:has(.ad-area:not([hidden]))) { display: none; }
@media (min-width: 1024px) {
  .journal-listing-with-squares { display: grid; grid-template-columns: minmax(0, 1fr) 340px; align-items: start; gap: 2rem; }
}
@media (max-width: 1023px) {
  .journal-listing-square-rail { margin-top: 2rem; }
}
@media (max-width: 767px) {
  main > .journal-square-rail { grid-template-columns: 1fr; justify-items: center; }
  main > .journal-square-rail > .ad-area { width: 100%; }
}
.pagination-gap { display: inline-flex; padding: .5rem .25rem; color: var(--muted); }
@media (min-width: 40.01rem) and (max-width: 900px) {
  header.mast--jornal.mast--jornal.mast--jornal .mast-in { flex-wrap: wrap; }
  .mast--jornal .journal-search { order: 1; flex: 1 0 100%; max-width: none; }
  .mast--jornal .brand img { max-width: 12rem; }
  .mast--jornal .journal-actions a { padding-inline: .65rem; }
}
@media (max-width: 960px) {
  .journal-body-row { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .journal-editoria--policial .editoria-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  html:has([data-journal='true']) main .journal-body-primary > .swrap + .swrap[data-spacing='normal'] { margin-top: 26px; }
  html:has([data-journal='true']) main > * + * { margin-top: 32px; }
  html:has([data-journal='true']) main > .journal-top { margin-bottom: 36px; }
  html:has([data-journal='true']) main > * + .swrap.swrap:has(> .journal-videos.journal-videos) { margin-top: 36px; }
  html:has([data-journal='true']) main > .swrap.swrap:has(> .journal-videos.journal-videos) + * { margin-top: 64px; }
  .journal-videos .video-grid { gap: 24px; }
  .journal-top, .journal-manchete { gap: 28px; }
  .journal-editoria-with-ranking { gap: 32px; }
  html:has([data-journal='true']) main .swrap + .swrap[data-spacing='normal'] { margin-top: 32px; }
  .journal-manchete .journal-card--lead h2 { font-size: 28px; }
  html:has([data-journal='true']) main { padding-top: 28px; }
  .journal-manchete .mediums h2 { font-size: 20px; }
  .journal-cities .city-grid { gap: 16px; }
}
@media (max-width: 900px) { .journal-top, .journal-editoria-with-ranking { grid-template-columns: minmax(0, 1fr); } .journal-cities .city-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .journal-listing { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 700px) { .journal-sponsored .sponsored-grid, .journal-sponsored:has(.journal-sponsored-card) .sponsored-grid, .journal-podcast .podcast-grid, .journal-cities .city-grid { grid-template-columns: minmax(0, 1fr); } .journal-listing { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 700px) {
  .journal-manchete, .journal-editoria .editoria-grid, .journal-videos .video-grid { grid-template-columns: minmax(0, 1fr); }
  .journal-editoria .columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .journal-body-primary .journal-editoria .columns { grid-template-columns: 1fr; }
  .journal-videos .journal-band-inner { padding-block: 32px; }
  .journal-videos .video-grid > .journal-card--medium h2 { font-size: 21px; }
  .journal-body-primary .journal-editoria .heading h2 { font-size: 15px; }
}
/* Shared cards also appear in journal blog sections; do not change the editora component or its scope hash. */
html:has([data-journal='true']) .post-card .title-link h3 { overflow-wrap: anywhere; }
/* Grid and flex items default to min-width:auto, so one unbreakable word widens its track and the page. */
@media (max-width: 960px) {
  :is(.journal-body-row, .journal-top, .journal-editoria-with-ranking, .journal-manchete, .journal-editoria .columns, .journal-editoria .editoria-grid, .journal-videos .video-grid) > * { min-width: 0; }
  .journal-card .labels > * { min-width: 0; overflow-wrap: break-word; }
  .journal-card h2, .journal-card .excerpt, .journal-ultimas li a, .journal-most-read li a { overflow-wrap: break-word; }
  html:has([data-journal='true']) .post-card { min-width: 0; }
  html:has([data-journal='true']) .post-card :is(h3, .excerpt) { overflow-wrap: break-word; }
}
@media (max-width: 40rem) {
  .journal-utility { display: none; }
  .foot--jornal.foot--jornal .tagline { max-width: none; }
  .mast--jornal.mast--jornal.mast--jornal { top: 0; margin-bottom: 0; backdrop-filter: none; }
  header.mast--jornal.mast--jornal.mast--jornal .mast-in { position: relative; flex-wrap: wrap; gap: 0; min-height: 64px; padding-block: 0; }
  .mast--jornal .brand { position: absolute; top: 32px; left: 50%; transform: translate(-50%, -50%); margin: 0; }
  header.mast--jornal.mast--jornal .brand img { height: 40px; max-width: 8rem; }
  .mast--jornal .brand .name { font-size: 1rem; max-width: 6rem; }
  .mast--jornal.mast--jornal .menu-btn { display: inline-flex; flex: none; order: 0; width: 44px; height: 44px; margin-block: 10px; }
  .mast--jornal .store-tools { order: 3; }
  .mast--jornal .journal-search-toggle { display: grid; place-items: center; order: 2; width: 44px; height: 44px; margin-left: auto; border: 0; background: transparent; color: var(--journal-primary); cursor: pointer; }
  .mast--jornal .journal-search { display: none; position: absolute; top: 10px; right: var(--journal-gutter); z-index: 2; width: calc(100% - 2 * var(--journal-gutter)); height: 44px; max-width: none; min-width: 0; padding-left: 1rem; background: var(--panel); }
  .mast--jornal .journal-search.is-open { display: flex; }
  .mast--jornal .journal-search input { position: static; width: auto; height: 100%; clip-path: none; }
  .mast--jornal .journal-search button { width: 40px; height: 40px; margin: 0 .15rem 0 0; }
  .mast--jornal .journal-actions { display: none; }
  .mast--jornal.mast--jornal .nav-layer { display: none; }
  .mast--jornal .journal-mobile-layer { display: block; position: fixed; inset: 0; z-index: 70; visibility: hidden; pointer-events: none; }
  .mast--jornal .journal-mobile-layer.is-open { visibility: visible; pointer-events: auto; }
  .mast--jornal .journal-mobile-backdrop { position: absolute; inset: 0; width: 100%; border: 0; background: rgb(20 18 15 / .45); }
  .mast--jornal .journal-mobile-drawer { position: absolute; top: 0; bottom: 0; left: 0; width: min(22rem, 88vw); overflow-y: auto; padding: 1.25rem; background: #fff; color: var(--journal-primary); box-shadow: 18px 0 40px #100d3840; }
  .mast--jornal .journal-mobile-heading { display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); padding-bottom: .75rem; font-family: 'Barlow', system-ui, sans-serif; font-size: 1.25rem; }
  .mast--jornal .journal-mobile-heading button { border: 0; background: transparent; color: inherit; font-size: 2rem; cursor: pointer; }
  .mast--jornal .journal-mobile-drawer nav, .mast--jornal .journal-mobile-extras { display: grid; padding-block: 1rem; }
  .mast--jornal .journal-mobile-extras { border-top: 1px solid var(--line); }
  .mast--jornal .journal-mobile-drawer a, .mast--jornal .journal-mobile-drawer summary { display: block; padding: .6rem 0; color: inherit; font-weight: 700; text-decoration: none; cursor: pointer; }
  .mast--jornal .journal-mobile-drawer details a { padding-left: 1rem; font-weight: 500; }
  .mast--jornal :is(.menu-btn, .journal-search-toggle, .journal-search button, .journal-mobile-drawer a, .journal-mobile-drawer summary, .journal-mobile-heading button):focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
  .foot--jornal.foot--jornal .foot-cols { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 32.5rem) { .foot--jornal.foot--jornal .foot-cols { grid-template-columns: 1fr; } }
html article.journal-article { width: 100%; max-width: none; padding-inline: 0; }
article.journal-article :is(.breadcrumb, .post-head, .body, .feature, .story-topics, .author-box, .related),
main:has(> .journal-article) > .comments { max-width: min(100%, 48rem); margin-left: 0; margin-right: auto; }
article.journal-article.journal-article .post-head h1 {
  font-size: clamp(32px, 3.5vw, 50px);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: 0;
}
article.journal-article .standfirst {
  max-width: 60ch;
  font-family: var(--sans);
  font-size: clamp(1.05rem, 2.2vw, 1.4rem);
  font-style: normal;
  color: var(--ink-2);
}
article.journal-article .cat { display: inline-flex; align-items: center; min-height: 22px; padding: 0 8px; border-radius: 4px; background: var(--accent); color: var(--journal-primary); font: 700 11px/1.3 'Barlow', system-ui, sans-serif; text-transform: uppercase; letter-spacing: .06em; }
article.journal-article .updated { color: var(--ink-2); font-weight: 600; }
article.journal-article .feature { margin: 0 0 clamp(2rem, 5vw, 3rem); }
article.journal-article .feature img { border-radius: 2px; box-shadow: none; }
article.journal-article .body {
  font-family: var(--sans);
  font-size: clamp(1.05rem, 1.7vw, 1.2rem);
  line-height: 1.75;
}
article.journal-article .body aside.errata {
  border-color: var(--journal-primary);
  border-radius: 2px;
  background: color-mix(in srgb, var(--journal-primary) 5%, white);
}
article.journal-article .body aside.errata .errata-label { color: var(--journal-primary); }
article.journal-article :is(.story-topics, .author-box) { margin-top: 2.5rem; margin-bottom: 2.5rem; }
.story-topics { border-top: 1px solid var(--line); padding-top: 1rem; }
.story-topics > span, .author-label { display: block; font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.story-topics .taxo { margin-top: .75rem; }
.author-box { border-top: 2px solid var(--journal-primary); padding-top: 1.3rem; }
.author-profile { display: flex; gap: 1rem; align-items: flex-start; padding: .6rem 0; }
.author-profile img, .author-initials { width: 64px; height: 64px; flex: none; border-radius: 50%; object-fit: cover; }
.author-initials { display: grid; place-items: center; background: var(--accent-soft); font-weight: 800; }
.author-profile a { display: block; margin-top: .2rem; font-weight: 800; color: var(--ink); }
.author-profile p { margin: .3rem 0 0; color: var(--ink-2); line-height: 1.5; }
article.journal-article .related { margin-top: 3.5rem; margin-bottom: 3.5rem; padding-top: 0; border-top: 0; }
article.journal-article .related .heading { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
article.journal-article .related .heading::before { content: ''; flex: none; width: 14px; height: 22px; background: var(--accent); clip-path: polygon(0 18%, 100% 0, 100% 100%, 0 82%); }
article.journal-article .related .heading::after { content: ''; flex: 1; height: 2px; background: var(--journal-primary); opacity: .12; }
article.journal-article .related .heading h2 { margin: 0; color: var(--journal-primary); font: 900 22px/1 'Barlow', system-ui, sans-serif; text-transform: uppercase; }
article.journal-article .related-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
@media (max-width: 48rem) {
  article.journal-article .related-grid { grid-template-columns: 1fr; }
}
