/* Mudou o Gabarito. Tokens, cabeçalho e rodapé vêm de alpha121.css.
   O miolo segue o protótipo aprovado (grade, capas, filtros, página do post). */

.page-mog { background: var(--night); }
.page-mog::before { content: none; }
.page-mog [hidden] { display: none !important; }

.page-mog .site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: #040d20d9;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

@media (min-width: 58rem) {
  .page-mog .nav-list a[aria-current="page"] {
    color: #eed29d;
    box-shadow: inset 0 -2px 0 var(--gold);
  }
}

.page-mog .page-hero {
  display: grid;
  align-items: center;
  padding-block: clamp(2.5rem, 4.5vw, 4.25rem);
  border-bottom: 1px solid #334f754d;
  background: transparent;
}

.page-mog .page-hero::before {
  z-index: 0;
  inset: 0;
  top: 0;
  right: 0;
  width: auto;
  height: auto;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: linear-gradient(90deg, #040d20 18%, #040d20d9 50%, #040d2033), url("alpha121-lily-engraving.webp") right 30% / 58% auto no-repeat;
  mask-image: linear-gradient(180deg, #000 60%, transparent);
  opacity: .95;
}

.page-mog .page-hero::after {
  position: absolute;
  z-index: -1;
  top: -18rem;
  right: -14rem;
  width: 44rem;
  height: 44rem;
  border: 1px solid #78add059;
  border-radius: 50%;
  box-shadow: 0 0 0 5rem #78add00d, 0 0 0 10rem #78add008;
  content: "";
  pointer-events: none;
}

.page-mog .page-hero .eyebrow { color: var(--gold); }
.page-mog .page-hero h1,
.page-mog .post-hero h1 {
  max-width: none;
  margin-bottom: 1.25rem;
  font-size: clamp(2.6rem, 5vw, 4.75rem);
  font-weight: 700;
  letter-spacing: -.055em;
  line-height: .98;
}
.page-mog .post-hero h1 { max-width: 24ch; margin-top: 1rem; font-size: clamp(1.8rem, 3.6vw, 3.2rem); line-height: 1.06; text-wrap: balance; }
.page-mog .page-hero .lead { max-width: 52ch; margin-bottom: 0; font-size: clamp(1rem, 1.5vw, 1.3rem); line-height: 1.55; color: #dfe8ef; }
.page-mog .page-hero-meta { margin: 1.75rem 0 0; max-width: 46rem; border-top-color: #6788c250; color: var(--ink-soft); }
.page-mog .page-hero-meta strong { color: var(--paper); font-weight: 600; }

.notice { display: flex; align-items: flex-start; gap: .6rem; max-width: none; margin: 0 0 clamp(1.75rem, 3vw, 2.5rem); padding: .7rem 1rem; border: 1px solid #31547799; border-left: 2px solid var(--gold); border-radius: .25rem; background: #07132b99; color: var(--ink-soft); font-size: .8rem; line-height: 1.5; }
.notice svg { flex: none; width: 1.05rem; height: 1.05rem; margin-top: .1rem; fill: none; stroke: var(--gold); stroke-width: 1.8; stroke-linecap: round; }
.notice--post { margin-top: 2.5rem; }

.radar-index { padding-block: clamp(2rem, 4vw, 3rem) clamp(4rem, 8vw, 7rem); background: var(--ivory); }

.art { position: relative; overflow: hidden; aspect-ratio: 16 / 9; border: 1px solid var(--line); border-radius: .35rem; background: var(--night); }
.art > svg, .art > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 620ms var(--ease-out), filter 420ms var(--ease-out); }
.art__label { position: absolute; left: clamp(.9rem, 2vw, 1.4rem); bottom: clamp(.6rem, 1.4vw, 1rem); color: var(--paper); font-size: clamp(1.7rem, 3.2vw, 2.4rem); font-weight: 700; letter-spacing: -.04em; line-height: 1; text-shadow: 0 2px 18px #040d20cc; }
.art__label small { display: block; margin-bottom: .35rem; color: var(--gold); font-size: .62rem; letter-spacing: .22em; text-transform: uppercase; }
.art--big .art__label { font-size: clamp(2.2rem, 5vw, 4rem); }
.art--big .art__label small { font-size: .72rem; }
.art__corner { position: absolute; right: 0; bottom: 0; display: grid; place-items: center; width: 2.4rem; height: 2.4rem; border-top: 1px solid #ffffff2e; border-left: 1px solid #ffffff2e; background: #040d20b3; transition: background-color 220ms, color 220ms; }
.art__corner svg { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.meta { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem 1.1rem; overflow: hidden; margin: 0; color: var(--ink-soft); font-size: .72rem; font-weight: 600; letter-spacing: .08em; line-height: 1.3; text-transform: uppercase; }
.meta > * { position: relative; }
.meta > * + *::before { position: absolute; top: 50%; left: -.58rem; width: 1px; height: .8em; transform: translateY(-50%); background: #6788c2; content: ""; }
.tag { color: var(--tag, var(--gold)); font-weight: 700; letter-spacing: .12em; }
.scope { display: inline-flex; align-items: center; gap: .35rem; color: var(--petal-soft); font-weight: 600; }
.scope__dot { width: .45rem; height: .45rem; border-radius: 50%; }
.scope--brasil .scope__dot { background: #a5ddbd; }
.scope--internacional .scope__dot { border: 1px solid var(--petal); }
.badge-impact, .badge-source { padding: .22rem .55rem; border-radius: 999px; font-size: .62rem; letter-spacing: .1em; }
.meta > .badge-impact::before, .meta > .badge-source::before { display: none; }
.badge-impact { background: var(--gold); color: var(--night); font-weight: 700; }
.badge-source { border: 1px solid #eed29d88; color: #eed29d; }

.feature { margin-bottom: clamp(2.5rem, 5vw, 4rem); }
.feature__link { display: grid; gap: 1.25rem; text-decoration: none; }
.feature__title { margin: .9rem 0 .8rem; font-size: clamp(1.55rem, 2.5vw, 2.25rem); line-height: 1.08; text-wrap: balance; }
.feature__summary { max-width: 46ch; margin-bottom: .6rem; color: var(--ink-soft); font-size: clamp(.95rem, 1.2vw, 1.05rem); }
.feature .art { border-color: #45618a; box-shadow: 0 1.5rem 4rem #01040e80; }
@media (min-width: 64rem) {
  .feature__link { grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); gap: clamp(1.75rem, 3vw, 3rem); align-items: center; }
}

.filters { position: sticky; top: 5.25rem; z-index: 20; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem 1.5rem; margin: 0 -.5rem; padding: .85rem .5rem; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #061129f2; backdrop-filter: blur(8px); }
.chips { display: flex; flex-wrap: wrap; gap: .5rem; }
.chip { display: inline-flex; align-items: center; gap: .55rem; min-height: 2.5rem; padding: .45rem .9rem; border: 1px solid #45618a; border-radius: 999px; background: transparent; font-size: .82rem; font-weight: 600; cursor: pointer; transition: border-color 180ms, background-color 180ms, color 180ms; }
.chip::before { width: .5rem; height: .5rem; border-radius: 50%; background: var(--tag); content: ""; }
.chip[data-area="todas"]::before { display: none; }
.chip__n { min-width: 1.5rem; padding: .05rem .4rem; border-radius: 999px; background: #45618a40; color: var(--ink-soft); font-size: .7rem; text-align: center; }
.chip:hover { border-color: var(--tag); }
.chip.is-on { border-color: var(--tag); background: color-mix(in srgb, var(--tag) 16%, transparent); color: var(--paper); }
.chip.is-on .chip__n { background: var(--tag); color: var(--night); }
.chip.is-zero { opacity: .55; }
.seg { display: inline-flex; padding: .2rem; border: 1px solid #45618a; border-radius: 999px; }
.seg__btn { min-height: 2.1rem; padding: .3rem .85rem; border: 0; border-radius: 999px; background: none; color: var(--ink-soft); font-size: .76rem; font-weight: 600; cursor: pointer; }
@media (max-width: 40rem) { .seg__btn .seg__long { display: none; } }
.seg__btn.is-on { background: var(--petal); color: var(--night); }
.result-count { margin: 1.25rem 0 1.5rem; color: var(--ink-soft); font-size: .8rem; letter-spacing: .04em; }

.card-grid { display: grid; gap: clamp(2rem, 4vw, 3rem) clamp(1.25rem, 2.5vw, 2rem); grid-template-columns: 1fr; margin: 0; padding: 0; list-style: none; }
@media (min-width: 44rem) { .card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 64rem) { .card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.card__link { display: flex; flex-direction: column; gap: .85rem; height: 100%; text-decoration: none; }
.card__title { margin: 0; font-size: clamp(1.1rem, 1.5vw, 1.3rem); line-height: 1.22; letter-spacing: -.02em; text-wrap: pretty; transition: color 180ms; }
.card__summary { margin: 0; color: var(--ink-soft); font-size: .88rem; line-height: 1.6; }

.card__link:hover .art > svg, .feature__link:hover .art > svg,
.card__link:focus-visible .art > svg, .feature__link:focus-visible .art > svg { transform: scale(1.045); filter: brightness(1.15); }
.card__link:hover .art, .feature__link:hover .art { border-color: var(--accent); }
.card__link:hover .art__corner, .feature__link:hover .art__corner { background: var(--gold); color: var(--night); }
.card__link:hover .card__title, .feature__link:hover .feature__title { color: #d1e0ff; }
.feature__link:hover .text-link::after { transform: translateX(.3rem); }
.card__link:focus-visible, .feature__link:focus-visible { outline-offset: 6px; border-radius: .4rem; }

.empty { padding: 2.5rem 1.5rem; border: 1px dashed #45618a; border-radius: .5rem; color: var(--ink-soft); text-align: center; }
.empty strong { color: var(--paper); }
.more { display: flex; justify-content: center; margin-top: clamp(2.5rem, 5vw, 3.5rem); padding-top: 2rem; border-top: 1px solid var(--line); }

.post-hero { position: relative; isolation: isolate; overflow: hidden; padding-block: clamp(2rem, 5vw, 4rem) clamp(2rem, 4vw, 3rem); border-bottom: 1px solid #334f754d; background: var(--night); }
.post-hero::after { position: absolute; z-index: -1; top: -20rem; right: -16rem; width: 46rem; height: 46rem; border: 1px solid color-mix(in srgb, var(--accent) 40%, transparent); border-radius: 50%; box-shadow: 0 0 0 5rem color-mix(in srgb, var(--accent) 5%, transparent), 0 0 0 10rem color-mix(in srgb, var(--accent) 3%, transparent); content: ""; }
.post-hero .lead { max-width: 60ch; margin-bottom: 0; color: #dfe8ef; }
.crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; margin-bottom: 1.75rem; color: var(--ink-soft); font-size: .8rem; }
.crumbs a { color: #d1e0ff; font-weight: 600; text-decoration: none; }
.crumbs a:hover { text-decoration: underline; }

.post-layout { display: grid; gap: clamp(2rem, 4vw, 3.5rem); padding-block: clamp(2rem, 4vw, 3rem) clamp(3rem, 6vw, 5rem); }
@media (min-width: 64rem) { .post-layout { grid-template-columns: minmax(0, 1fr) 17.5rem; align-items: start; } }
.post-main { min-width: 0; max-width: 50rem; }
.post-main > .art { aspect-ratio: 21 / 8; margin-bottom: 1.75rem; }
.post-main > .art .art__label { font-size: clamp(1.8rem, 3.6vw, 2.8rem); }
.source-box { display: grid; gap: .9rem; margin: 0 0 2.25rem; padding: 1.1rem 1.25rem; border: 1px solid var(--line); border-radius: .4rem; background: #07132b; font-size: .85rem; line-height: 1.6; }
.source-box dt { color: var(--gold); font-size: .66rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.source-box dd { margin: .15rem 0 0; color: var(--ink-soft); }
.source-box em { color: var(--paper); font-style: normal; }

.post-sec { margin-bottom: clamp(2.25rem, 4vw, 3rem); }
.post-sec h2 { display: flex; align-items: center; gap: .7rem; margin-bottom: 1.1rem; font-size: clamp(1.35rem, 2.2vw, 1.8rem); }
.post-sec h2 svg { flex: none; width: 1.4rem; height: 1.4rem; fill: none; stroke: var(--gold); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.post-sec__n { color: var(--gold); font-size: .72rem; font-weight: 700; letter-spacing: .14em; }
.post-sec__body > p { max-width: 68ch; color: #dfe8ef; font-size: 1rem; line-height: 1.75; }
.post-sec__body strong { color: var(--paper); font-weight: 600; }
.post-sec__body a { color: #d1e0ff; overflow-wrap: anywhere; }
.post-sec--prova .post-sec__body { padding: 1.25rem 1.4rem; border: 1px solid color-mix(in srgb, var(--gold) 55%, transparent); border-radius: 1.2rem .35rem 1.2rem .35rem; background: linear-gradient(135deg, #c5a5671f, #07132b 60%); }
.post-sec--prova .post-sec__body > p:last-child { margin-bottom: 0; }
.post-sec--br .post-sec__body { padding: 1rem 1.25rem; border-left: 3px solid #a5ddbd; background: #a5ddbd0f; }
.post-sec--br .post-sec__body > p:last-child { margin-bottom: 0; }
.post-sec--link .post-sec__body > p, .post-sec--link .md-list li { font-size: .9rem; color: var(--ink-soft); }
.post-sec--link .md-url { display: inline-flex; align-items: center; gap: .5rem; margin: .15rem 0; padding: .55rem .9rem; border: 1px solid #45618a; border-radius: .9rem .3rem .9rem .3rem; background: #07132b; color: var(--paper); font-weight: 600; text-decoration: none; }
.post-sec--link .md-url::after { content: "\2197"; color: var(--gold); }
.post-sec--link .md-url:hover { border-color: var(--gold); }
.year-area { margin-top: 1.5rem; }
.year-area h3 { margin: 0 0 .35rem; color: var(--tag, var(--gold)); font-size: .72rem; font-weight: 700; letter-spacing: .14em; line-height: 1.3; text-transform: uppercase; }
.year-list { margin: 0; padding: 0; list-style: none; }
.year-list li { padding: .85rem 0; border-bottom: 1px solid var(--line); }
.year-list a { color: var(--paper); font-weight: 600; text-decoration: none; }
.year-list a:hover { color: var(--gold); }
.year-list time { display: block; margin: .25rem 0; color: var(--ink-soft); font-size: .72rem; font-weight: 600; letter-spacing: .08em; }
.year-list p { margin: 0; max-width: 68ch; color: #dfe8ef; font-size: .92rem; line-height: 1.5; }
.md-list { margin: 0 0 1rem; padding-left: 1.1rem; }
.md-list li { margin-bottom: .6rem; }
.md-note { margin: 1rem 0; padding: .8rem 1rem; border: 1px dashed #45618a; border-radius: .3rem; color: var(--ink-soft); font-size: .8rem; line-height: 1.6; }

.md-table-wrap { margin: 1.5rem 0; overflow-x: auto; border: 1px solid var(--line); border-radius: .5rem; background: #07132b; }
.md-table { width: 100%; border-collapse: collapse; font-size: .88rem; line-height: 1.55; }
.md-table th, .md-table td { padding: .85rem 1rem; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.md-table tr:last-child td { border-bottom: 0; }
.md-table th { background: #0b1d42; color: var(--ink-soft); font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.md-table--antes-agora { table-layout: fixed; }
.md-table--antes-agora th.col-antes { color: #9fb0cc; }
.md-table--antes-agora th.col-agora { background: color-mix(in srgb, var(--accent) 16%, #0b1d42); color: var(--paper); }
.md-table--antes-agora th.col-agora::before { content: "\25CF  "; color: var(--accent); }
.md-table--antes-agora td.col-antes { color: #93a4c0; }
.md-table--antes-agora td.col-agora { background: color-mix(in srgb, var(--accent) 6%, transparent); color: var(--paper); }
.md-table td.is-empty { color: #5c7299; }
@media (max-width: 40rem) {
  .md-table--antes-agora, .md-table--antes-agora tbody, .md-table--antes-agora tr, .md-table--antes-agora td { display: block; width: 100%; }
  .md-table--antes-agora thead { display: none; }
  .md-table--antes-agora tr { border-bottom: 1px solid var(--line); }
  .md-table--antes-agora tr:last-child { border-bottom: 0; }
  .md-table--antes-agora td { border: 0; padding: .7rem 1rem; }
  .md-table--antes-agora td::before { display: block; margin-bottom: .2rem; content: attr(data-label); font-size: .62rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #7f93b5; }
  .md-table--antes-agora td.col-agora::before { color: var(--accent); }
  .md-table--antes-agora td.is-empty { display: none; }
}

.post-pager { display: grid; gap: 1rem; margin-top: 2rem; padding-top: 2rem; border-top: 1px solid var(--line); }
@media (min-width: 40rem) { .post-pager { grid-template-columns: 1fr 1fr; } }
.post-pager a { display: block; padding: 1rem 1.1rem; border: 1px solid var(--line); border-radius: .4rem; font-size: .9rem; font-weight: 600; line-height: 1.35; text-decoration: none; transition: border-color 180ms; }
.post-pager a:hover { border-color: var(--gold); }
.post-pager small { display: block; margin-bottom: .35rem; color: var(--gold); font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; }
.post-pager .is-next { text-align: right; }

.post-aside { display: grid; gap: 1rem; }
@media (min-width: 64rem) { .post-aside { position: sticky; top: 7rem; } }
.aside-box { padding: 1.2rem 1.25rem; border: 1px solid var(--line); border-radius: .5rem; background: #07132b; font-size: .85rem; }
.aside-title { margin-bottom: .75rem; color: var(--gold); font-size: .66rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.toc { margin: 0 0 1.1rem; padding: 0; list-style: none; counter-reset: toc; }
.toc li { counter-increment: toc; border-bottom: 1px solid var(--line); }
.toc a { display: flex; gap: .6rem; padding: .55rem 0; color: var(--ink-soft); text-decoration: none; }
.toc a::before { content: counter(toc, decimal-leading-zero); color: #6788c2; font-size: .72rem; padding-top: .1rem; }
.toc a:hover { color: var(--paper); }
.button--doc { width: 100%; font-size: .85rem; }
.aside-box--warn { border-color: #eed29d55; background: #c5a56712; color: var(--ink-soft); line-height: 1.6; }
.aside-box--warn p:last-child { margin: 0; }
@media (max-width: 63.99rem) {
  .post-aside { order: -1; }
  .post-aside .toc, .post-aside .aside-box:first-child .aside-title { display: none; }
  .post-aside .aside-box:first-child { padding: 0; border: 0; background: none; }
}

.related { padding-block: clamp(3rem, 6vw, 5rem); border-top: 1px solid #334f754d; background: var(--ivory); }
.related h2 { margin-bottom: 2rem; font-size: clamp(1.6rem, 3vw, 2.4rem); }

@media (max-width: 40rem) {
  .page-mog .page-hero::after, .post-hero::after { top: -14rem; right: -16rem; width: 26rem; height: 26rem; box-shadow: 0 0 0 3rem #78add00a; }
  .page-mog .page-hero::before { background-size: 90% auto; background-position: right top; opacity: .7; }
  .chips { flex-wrap: nowrap; overflow-x: auto; width: calc(100% + 1rem); margin-right: -1rem; padding-bottom: .15rem; scrollbar-width: none; }
  .chips::-webkit-scrollbar { display: none; }
  .chip { flex: none; }
  .seg { width: 100%; }
  .seg__btn { flex: 1; padding-inline: .4rem; }
}
