/* Página Mídia — folha isolada para impedir cache do tema anterior */
.media-page { background: #f6f8f7; color: #13201e; }
.dark .media-page, .dark.media-page { background: #07110f; color: #eef7f3; }
.media-page .media-article { overflow: hidden; background: radial-gradient(circle at 10% 12%, rgba(17,185,129,.08), transparent 27rem), radial-gradient(circle at 92% 34%, rgba(245,174,45,.08), transparent 26rem); }
.media-page .site-header { position: relative; z-index: 20; box-shadow: 0 1px 0 rgba(15,35,30,.08); }

/* Abertura editorial: título antes da imagem */
.media-intro { position: relative; padding: clamp(4.8rem, 9vw, 8.5rem) 1.25rem clamp(3rem, 6vw, 5.2rem); text-align: center; overflow: hidden; }
.media-intro::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, #eaf7f1 0%, rgba(246,248,247,.92) 72%, #f6f8f7 100%); }
.dark .media-intro::before { background: linear-gradient(180deg, #0b211b 0%, rgba(7,17,15,.94) 72%, #07110f 100%); }
.media-intro__glow { position: absolute; left: 50%; top: -15rem; width: 52rem; height: 52rem; transform: translateX(-50%); border-radius: 50%; background: radial-gradient(circle, rgba(20,184,129,.18), rgba(20,184,129,0) 68%); pointer-events: none; }
.media-intro__inner { position: relative; z-index: 1; max-width: 72rem; margin-inline: auto; }
.media-breadcrumb { display: flex; justify-content: center; align-items: center; gap: .55rem; margin-bottom: 2.1rem; color: #687c76; font-size: .85rem; font-weight: 700; }
.media-breadcrumb a { color: #087e59; }
.media-kicker { display: inline-flex; align-items: center; padding: .62rem 1rem; border: 1px solid rgba(10,143,99,.24); border-radius: 999px; background: rgba(255,255,255,.72); color: #087e59; box-shadow: 0 10px 34px rgba(8,126,89,.08); font-size: .75rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; backdrop-filter: blur(12px); }
.dark .media-kicker { background: rgba(9,31,25,.78); color: #58e4ae; border-color: rgba(88,228,174,.24); }
.media-intro h1 { max-width: 17ch; margin: 1.55rem auto 0; color: #101b19; font-size: clamp(3rem, 7.2vw, 6.4rem); line-height: .99; letter-spacing: -.065em; font-weight: 900; text-wrap: balance; }
.dark .media-intro h1 { color: #f3fbf8; }
.media-intro h1 em { display: inline; color: #079568; font-style: normal; position: relative; white-space: nowrap; }
.media-intro h1 em::after { content: ""; position: absolute; left: 2%; right: 0; bottom: -.08em; height: .1em; border-radius: 999px; background: linear-gradient(90deg, #08a976, #f3ad35); transform: rotate(-1deg); }
.media-intro__lead { max-width: 48rem; margin: 1.7rem auto 0; color: #536760; font-size: clamp(1.15rem, 2.1vw, 1.42rem); line-height: 1.72; text-wrap: balance; }
.dark .media-intro__lead { color: #a8beb7; }
.media-trust { display: flex; flex-wrap: wrap; justify-content: center; gap: .7rem; margin-top: 2.1rem; }
.media-trust span { display: inline-flex; align-items: center; gap: .45rem; padding: .66rem .88rem; border: 1px solid rgba(22,65,53,.11); border-radius: .8rem; background: rgba(255,255,255,.8); color: #3c514b; box-shadow: 0 8px 25px rgba(22,65,53,.05); font-size: .86rem; font-weight: 800; }
.media-trust b { display: grid; place-items: center; width: 1.25rem; height: 1.25rem; border-radius: 50%; background: #0ba371; color: #fff; font-size: .7rem; }
.dark .media-trust span { background: rgba(11,31,26,.86); border-color: rgba(255,255,255,.09); color: #c2d4ce; }

/* Banner centralizado e desacoplado do cabeçalho */
.media-banner-shell { position: relative; z-index: 2; width: min(76rem, calc(100% - 2.5rem)); margin: 0 auto clamp(4.5rem, 8vw, 7.5rem); }
.media-banner-shell::before { content: ""; position: absolute; inset: -1.1rem; z-index: -1; border: 1px solid rgba(8,126,89,.12); border-radius: 2.4rem; background: rgba(255,255,255,.58); box-shadow: 0 35px 90px rgba(19,44,36,.13); backdrop-filter: blur(14px); }
.dark .media-banner-shell::before { background: rgba(10,28,23,.74); border-color: rgba(88,228,174,.13); }
.media-banner-shell__frame { overflow: hidden; border: 1px solid rgba(255,255,255,.85); border-radius: 1.55rem; background: #101816; box-shadow: inset 0 0 0 1px rgba(0,0,0,.08); }
.media-banner-shell__frame img { display: block; width: 100%; height: auto; aspect-ratio: 1376 / 768; object-fit: cover; }
.media-banner-shell figcaption { display: flex; gap: .75rem; align-items: baseline; padding: 1.15rem .4rem 0; color: #61736d; font-size: .88rem; line-height: 1.5; }
.media-banner-shell figcaption span { flex: 0 0 auto; color: #087e59; font-size: .72rem; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.dark .media-banner-shell figcaption { color: #9eb2ab; }

/* Imprensa */
.media-press { padding: 0 1.25rem clamp(5rem, 9vw, 8rem) !important; }
.media-section-head { display: flex; justify-content: space-between; align-items: end; gap: 2rem; max-width: 76rem; margin: 0 auto 2.2rem; }
.media-section-head .media-kicker { box-shadow: none; }
.media-section-head h2 { max-width: 17ch; margin-top: .9rem; font-size: clamp(2.2rem, 4.6vw, 3.7rem); line-height: 1.05; letter-spacing: -.045em; font-weight: 900; text-wrap: balance; }
.media-section-head > p { max-width: 24rem; color: #667a74; font-size: 1rem; }
.press-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1.15rem; max-width: 76rem; margin-inline: auto; }
.press-card { position: relative; display: flex; min-height: 24rem; flex-direction: column; padding: 1.75rem; overflow: hidden; border: 1px solid rgba(22,65,53,.12); border-radius: 1.55rem; background: rgba(255,255,255,.88); box-shadow: 0 18px 55px rgba(22,65,53,.07); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.press-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 4px; background: linear-gradient(90deg, #08a976, #f2b13f); }
.press-card::after { content: "↗"; position: absolute; right: 1.4rem; top: 1.35rem; display: grid; width: 2rem; height: 2rem; place-items: center; border-radius: 50%; background: #edf8f4; color: #07845e; font-weight: 900; }
.press-card:hover { transform: translateY(-7px); border-color: rgba(8,169,118,.35); box-shadow: 0 28px 70px rgba(22,65,53,.13); }
.dark .press-card { background: rgba(11,30,25,.9); border-color: rgba(255,255,255,.09); }
.press-card__brand { padding-right: 2.5rem; color: #07845e; font-size: .72rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.press-card h3 { margin-top: 2rem; font-size: 1.48rem; line-height: 1.28; letter-spacing: -.025em; font-weight: 850; }
.press-card p { margin-top: 1rem; color: #677972; font-size: 1rem; line-height: 1.68; }
.dark .press-card p { color: #9eb2ab; }
.press-card__link { margin-top: auto; padding-top: 1.6rem; color: #07845e; font-weight: 900; }

/* Corpo editorial */
.media-layout { max-width: 70rem !important; margin-inline: auto; padding: 0 1.25rem 7rem !important; }
.media-prose { max-width: 58rem; margin: 0 auto; font-size: 1.14rem; line-height: 1.86; }
.media-prose > .lead { padding: 2rem 2.2rem; border-left: 4px solid #0ba371; border-radius: 0 1.25rem 1.25rem 0; background: rgba(255,255,255,.74); box-shadow: 0 15px 45px rgba(22,65,53,.06); font-size: clamp(1.2rem, 2vw, 1.42rem); line-height: 1.7; }
.dark .media-prose > .lead { background: rgba(11,30,25,.8); }
.media-prose h2 { margin-top: clamp(4.5rem, 8vw, 7rem); color: #14231f; font-size: clamp(2rem, 4vw, 3.15rem); line-height: 1.1; letter-spacing: -.045em; font-weight: 900; text-wrap: balance; }
.dark .media-prose h2 { color: #f0f8f5; }
.media-prose h2 .h2-eyebrow { display: block; margin-bottom: .65rem; color: #07845e; font-size: .72rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.media-prose > p { margin-top: 1.35rem; color: #4c6059; }
.dark .media-prose > p { color: #a7bbb4; }
.media-prose a:not(.btn) { color: #07845e; font-weight: 800; text-decoration-thickness: 1px; text-underline-offset: .18em; }
.reality-box { display: flex; gap: 1.15rem; margin: 2.5rem 0; padding: 1.65rem; border: 1px solid rgba(8,169,118,.28); border-radius: 1.4rem; background: linear-gradient(135deg, rgba(223,248,239,.85), rgba(255,255,255,.92)); box-shadow: 0 18px 50px rgba(8,126,89,.08); }
.dark .reality-box { background: linear-gradient(135deg, rgba(12,62,47,.7), rgba(10,28,23,.9)); }
.reality-box__icon { display: grid; flex: 0 0 2.8rem; height: 2.8rem; place-items: center; border-radius: 50%; background: #0ba371; color: #fff; font-weight: 900; box-shadow: 0 8px 20px rgba(11,163,113,.25); }
.reality-box strong { font-size: 1.12rem; }.reality-box p { margin-top: .4rem; color: #587069; font-size: 1rem; line-height: 1.65; }
.toc { margin: 3rem 0; padding: 1.7rem; border: 1px solid rgba(8,126,89,.13); border-radius: 1.45rem; background: rgba(255,255,255,.8); box-shadow: 0 20px 55px rgba(22,65,53,.07); }
.dark .toc { background: rgba(10,29,24,.86); }.toc__title { color: #07845e; font-size: .75rem; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }.toc ol { display: grid; grid-template-columns: repeat(2,1fr); gap: .7rem 1.4rem; margin-top: 1.1rem; counter-reset: toc; }.toc li { counter-increment: toc; }.toc a { display: flex; gap: .65rem; color: inherit !important; text-decoration: none !important; font-size: .98rem; font-weight: 750; }.toc a::before { content: counter(toc, decimal-leading-zero); color: #0ba371; font-size: .75rem; font-weight: 900; }
.process-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: .8rem; margin: 2.2rem 0; }.process-grid > div { padding: 1.35rem; border: 1px solid rgba(22,65,53,.12); border-radius: 1.2rem; background: rgba(255,255,255,.83); box-shadow: 0 14px 40px rgba(22,65,53,.05); }.dark .process-grid > div { background: rgba(10,29,24,.86); }.process-grid span { color: #0ba371; font-size: .7rem; font-weight: 900; letter-spacing: .14em; }.process-grid strong { display: block; margin-top: .65rem; }.process-grid p { margin-top: .45rem; color: #657871; font-size: .9rem; line-height: 1.55; }
.company-world-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 1rem; margin: 2.2rem 0; }.world-card { padding: 1.55rem; border: 1px solid rgba(22,65,53,.12); border-radius: 1.3rem; background: rgba(255,255,255,.86); box-shadow: 0 16px 45px rgba(22,65,53,.055); }.dark .world-card { background: rgba(10,29,24,.88); }.world-card--featured { border-color: rgba(8,169,118,.34); background: linear-gradient(145deg,#e4f8f0,#fff); }.dark .world-card--featured { background: linear-gradient(145deg,#0d4232,#0a1d18); }.world-card__country { color: #07845e; font-size: .7rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }.world-card h3 { margin-top: .65rem; font-size: 1.25rem; }.world-card p { margin-top: .55rem; color: #61756e; font-size: .96rem; line-height: 1.62; }
.country-rank { margin: 2.2rem 0; overflow: hidden; border: 1px solid rgba(22,65,53,.12); border-radius: 1.35rem; background: rgba(255,255,255,.84); box-shadow: 0 16px 45px rgba(22,65,53,.055); }.dark .country-rank { background: rgba(10,29,24,.88); }.country-rank > div { display: flex; gap: 1.2rem; align-items: center; padding: 1.2rem 1.4rem; border-top: 1px solid rgba(22,65,53,.1); }.country-rank > div:first-child { border: 0; }.country-rank b { width: 2rem; color: #0ba371; }.country-rank span { display: flex; flex-direction: column; }.country-rank small { margin-top: .2rem; color: #687b75; }
.market-number { margin: 2.2rem 0; padding: clamp(2rem,5vw,3.3rem); border: 1px solid rgba(8,169,118,.28); border-radius: 1.6rem; background: radial-gradient(circle at 88% 12%,rgba(10,163,113,.2),transparent 42%),#fff; box-shadow: 0 25px 65px rgba(22,65,53,.09); }.dark .market-number { background: radial-gradient(circle at 88% 12%,rgba(10,163,113,.24),transparent 42%),#0a1d18; }.market-number span { display: block; color: #07845e; font-size: clamp(3rem,8vw,5.4rem); font-weight: 950; line-height: .95; letter-spacing: -.065em; }.market-number p { max-width: 40rem; margin-top: 1.1rem; color: #5e736c; font-size: 1rem; line-height: 1.65; }
.timeline-premium { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; margin: 2.2rem 0; }.timeline-premium div { padding: 1.4rem; border: 1px solid rgba(22,65,53,.1); border-top: 4px solid #0ba371; border-radius: .4rem .4rem 1.2rem 1.2rem; background: rgba(255,255,255,.84); box-shadow: 0 15px 40px rgba(22,65,53,.05); }.dark .timeline-premium div { background: rgba(10,29,24,.88); }.timeline-premium span { color: #07845e; font-weight: 900; }.timeline-premium p { margin-top: .55rem; color: #62766f; font-size: .94rem; line-height: 1.55; }
.pull-quote { margin: 3rem 0; padding: .4rem 0 .4rem 1.7rem; border-left: 4px solid #0ba371; }.pull-quote p { color: #263b35; font-size: clamp(1.25rem,2.5vw,1.65rem); line-height: 1.48; font-weight: 800; }.dark .pull-quote p { color: #dcebe6; }.pull-quote cite { display: block; margin-top: .7rem; color: #72837d; font-size: .85rem; font-style: normal; }
.platform-premium-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: .8rem; margin: 2.2rem 0; }.platform-premium-grid > a { display: flex; align-items: center; gap: .9rem; padding: 1rem; border: 1px solid rgba(22,65,53,.12); border-radius: 1.15rem; background: rgba(255,255,255,.86); color: inherit !important; text-decoration: none !important; box-shadow: 0 12px 35px rgba(22,65,53,.045); transition: transform .2s ease,border-color .2s ease; }.dark .platform-premium-grid > a { background: rgba(10,29,24,.88); }.platform-premium-grid > a:hover { transform: translateY(-3px); border-color: #0ba371; }.platform-premium-grid img { width: 3.25rem; height: 3.25rem; flex: 0 0 3.25rem; border-radius: .85rem; object-fit: contain; background: #fff; }.platform-premium-grid span { display: flex; flex: 1; flex-direction: column; }.platform-premium-grid small { margin-top: .2rem; color: #6c7d77; font-size: .82rem; }.platform-premium-grid b { color: #0ba371; }
.official-buttons { display: flex; flex-wrap: wrap; gap: .8rem; margin: 1.7rem 0 3rem; }.official-buttons .btn { border-radius: .85rem; box-shadow: 0 12px 30px rgba(8,126,89,.12); }
.author-box { display: flex; gap: 1.25rem; margin-top: 3rem; padding: 1.6rem; border: 1px solid rgba(22,65,53,.12); border-radius: 1.4rem; background: rgba(255,255,255,.84); box-shadow: 0 18px 50px rgba(22,65,53,.07); }.dark .author-box { background: rgba(10,29,24,.88); }.author-box img { width: 4.6rem; height: 4.6rem; flex: 0 0 4.6rem; border-radius: 50%; object-fit: cover; }.author-box__label { color: #07845e; font-size: .7rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }.author-box__name { margin-top: .25rem; font-size: 1.18rem; font-weight: 900; }.author-box__bio { margin-top: .45rem; color: #63766f; font-size: .95rem; line-height: 1.6; }

@media (max-width: 820px) { .media-section-head { align-items: start; flex-direction: column; }.press-grid { grid-template-columns: 1fr; }.press-card { min-height: 0; }.process-grid { grid-template-columns: repeat(2,1fr); }.timeline-premium { grid-template-columns: 1fr; } }
@media (max-width: 620px) { .media-intro { padding-top: 3.8rem; }.media-intro h1 { font-size: clamp(2.75rem,13vw,4rem); }.media-banner-shell { width: calc(100% - 1.6rem); }.media-banner-shell::before { inset: -.55rem; border-radius: 1.5rem; }.media-banner-shell__frame { border-radius: 1rem; }.media-banner-shell figcaption { display: block; padding-inline: .2rem; }.media-banner-shell figcaption span { display: block; margin-bottom: .25rem; }.company-world-grid,.platform-premium-grid,.process-grid,.toc ol { grid-template-columns: 1fr; }.media-prose > .lead { padding: 1.5rem; }.reality-box,.author-box { flex-direction: column; }.media-trust { gap: .45rem; }.media-trust span { font-size: .78rem; } }

/* Ritmo vertical V3 — espaçamento editorial normalizado */
.media-page .media-banner-shell { margin-bottom: clamp(3.5rem, 5vw, 5rem); }
.media-page .media-press { padding-bottom: clamp(3.5rem, 5vw, 4.75rem) !important; }
.media-page .media-layout { padding-bottom: 5rem !important; }
.media-page .media-prose { display: block; line-height: 1.78; }
.media-page .media-prose h2 { margin-top: clamp(2.8rem, 4vw, 3.75rem); }
.media-page .media-prose > p { margin-top: 1.15rem; }
.media-page .reality-box { margin-block: 1.75rem; }
.media-page .toc { margin-block: 1.75rem; }
.media-page .process-grid,
.media-page .company-world-grid,
.media-page .country-rank,
.media-page .market-number,
.media-page .timeline-premium,
.media-page .platform-premium-grid { margin-block: 1.6rem; }
.media-page .pull-quote { margin-block: 2rem; }
.media-page .official-buttons { margin: 1.4rem 0 2rem; }
.media-page .author-box { margin-top: 2rem; }
@media (max-width: 620px) {
  .media-page .media-banner-shell { margin-bottom: 3rem; }
  .media-page .media-press { padding-bottom: 3rem !important; }
  .media-page .media-prose h2 { margin-top: 2.6rem; }
  .media-page .reality-box,
  .media-page .toc { margin-block: 1.4rem; }
}
