@font-face {
  font-family:Faustina;
  src:url('assets/fonts/faustina-semibold.ttf') format('truetype');
  font-style:normal;
  font-weight:600;
  font-display:swap
}
@font-face {
  font-family:Jost;
  src:url('assets/fonts/jost-variable.ttf') format('truetype');
  font-style:normal;
  font-weight:100 900;
  font-display:swap
}
@font-face {
  font-family:Jost;
  src:url('assets/fonts/jost-italic-variable.ttf') format('truetype');
  font-style:italic;
  font-weight:100 900;
  font-display:swap
}
:root {
  --green-dark:#415D5E;
  --green-light:#E2EEE8;
  --wine:#B24056;
  --gray:#E2E2E2;
  --ink:#202B2A;
  --pink:#E87E4C;
  --purple:#28506A;
  --green:#80C373;
  --page-width:1280px;
  --header-height:96px;
  --gutter:64px;
  --heading-size:48px;
  --body-size:20px
}
* {
  box-sizing:border-box
}
html {
  scroll-padding-top:calc(var(--header-height) + 20px)
}
body {
  margin:0;
  background:var(--green-light);
  color:var(--green-dark);
  font:400 var(--body-size)/1.6 Jost,Arial,sans-serif
}
body.modal-open {
  overflow:hidden
}
button,a {
  -webkit-tap-highlight-color:transparent
}
a {
  color:inherit
}
button {
  font:inherit
}
button,a,input {
  touch-action:manipulation
}
button {
  cursor:pointer
}
img {
  display:block;
  max-width:100%;
  height:auto
}
h1,h2,p,figure {
  margin:0
}
h1,h2 {
  font:600 var(--heading-size)/1.2 Faustina,Georgia,serif;
  text-wrap:pretty
}
a:focus-visible,button:focus-visible {
  outline:3px solid currentColor;
  outline-offset:6px
}
.visually-hidden {
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap
}
.skip-link {
  position:fixed;
  top:12px;
  left:12px;
  z-index:100;
  background:var(--green-light);
  color:var(--wine);
  padding:12px 20px;
  transform:translateY(-180%)
}
.skip-link:focus {
  transform:none
}
.site-header {
  position:fixed;
  inset:0 0 auto;
  z-index:30;
  height:var(--header-height);
  background:transparent;
  color:var(--wine);
  transition:height 280ms ease,background-color 280ms ease
}
.site-header.is-scrolled,.site-header.menu-open {
  background:var(--green-light)
}
.header-inner {
  max-width:calc(var(--page-width) + var(--gutter)*2);
  height:100%;
  margin:auto;
  padding:12px var(--gutter);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px
}
.brand {
  display:block;
  flex:0 0 auto;
  width:270px;
  transition:width 280ms ease
}
.brand img {
  width:100%;
  height:auto
}
.site-header nav {
  display:flex;
  align-items:center;
  gap:9px;
  white-space:nowrap;
  font:600 18px/1.3 Faustina,Georgia,serif
}
.site-header nav a {
  display:inline-flex;
  align-items:center;
  min-height:48px;
  text-decoration:none
}
.site-header nav a[aria-current=page] {
  color:var(--ink)
}
.site-header nav a:hover {
  color:var(--ink)
}
.nav-divider {
  color:var(--wine)
}
.menu-toggle {
  display:none;
  border:0;
  background:transparent;
  color:var(--wine);
  padding:10px 0;
  align-items:center;
  gap:10px;
  min-height:48px;
  font:600 18px/1.3 Faustina,Georgia,serif
}
.hamburger {
  display:grid;
  gap:5px;
  width:24px
}
.hamburger span {
  height:2px;
  width:24px;
  background:currentColor
}
.home-intro {
  position:relative;
  isolation:isolate;
  max-width:1440px;
  margin-inline:auto;
  min-height:var(--intro-height,1100px);
  overflow:hidden;
  padding:calc(var(--header-height) + 60px) var(--gutter) 0
}
.intro-copy {
  position:relative;
  z-index:2;
  max-width:var(--page-width);
  margin:auto;
  color:var(--wine)
}
.intro-text {
  width:58%;
  font-size:22px;
  line-height:1.5
}
.intro-text p+p {
  margin-top:22px
}
.intro-actions {
  display:flex;
  gap:16px;
  margin-top:30px;
  align-items:stretch;
  width:65%;
  flex-wrap:wrap
}
.home-collage {
  position:absolute;
  z-index:0;
  top:var(--collage-top,calc(var(--header-height) + 60px));
  left:calc(var(--collage-width,150%) * -0.095);
  width:var(--collage-width,150%);
  max-width:none;
  height:auto;
  pointer-events:none
}
.stories {
  position:relative;
  margin-top:-60px;
  scroll-margin-top:76px
}
@media(prefers-reduced-motion:no-preference) {
  html { scroll-behavior:smooth }
}
.story-block {
  position:relative;
  overflow:hidden;
  border-radius:48px 48px 0 0;
  margin-top:-1px
}
.tone-green {
  background:var(--green);
  color:var(--ink)
}
.tone-purple {
  background:var(--purple);
  color:var(--gray)
}
.tone-pink {
  background:var(--pink);
  color:var(--ink)
}
.story-inner {
  position:relative;
  max-width:calc(var(--page-width) + var(--gutter)*2);
  margin:auto;
  display:grid;
  grid-template-columns:1.08fr 1fr;
  min-height:500px;
  padding:64px var(--gutter);
  gap:56px;
  align-items:center
}
.story-copy {
  position:relative;
  z-index:2;
  padding-bottom:16px
}
.story-copy h2 a {
  text-decoration:none
}
.story-copy h2 a:hover {
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:7px
}
.story-copy p {
  margin-top:30px;
  font-size:22px;
  line-height:1.45
}
.story-image {
  position:relative;
  display:block;
  align-self:stretch;
  min-width:0
}
.story-image img {
  position:absolute;
  top:0;
  left:5%;
  width:110%;
  max-width:none;
  transform:rotate(7deg);
  transform-origin:50% 30%
}
.text-right .story-inner {
  grid-template-columns:1fr 1.15fr
}
.text-right .story-copy {
  grid-column:2;
  grid-row:1;
  text-align:right
}
.text-right .story-image {
  grid-column:1;
  grid-row:1
}
.text-right .story-image img {
  left:-14%;
  transform:rotate(-8deg)
}
.story-republica .story-image img {
  width:90%;
  top:0
}
.story-cotidiano .story-image img {
  left:8%
}
.post-opening {
  height:480px;
  overflow:hidden;
  border-radius:0 0 22px 0
}
.post-hero {
  width:100%;
  height:100%;
  object-fit:cover
}
.post-linhagem .post-hero {
  object-position:50% 0
}
.post-fazenda .post-hero {
  object-position:50% 20%
}
.post-raizes .post-hero {
  object-position:50% 34%
}
.post-republica .post-hero {
  object-position:50% 51%
}
.post-cotidiano .post-hero {
  object-position:50% 40%
}
.post-title-band {
  position:relative;
  z-index:1;
  margin-top:-64px;
  padding:28px 56px 28px max(var(--gutter),calc((100vw - var(--page-width))/2));
  border-radius:0 48px 48px 0;
  background:var(--green-light);
  color:var(--wine);
  width:fit-content;
  max-width:calc(100% - var(--gutter))
}
.post-title-band h1 {
  max-width:1050px
}
.post-fazenda .post-title-band h1 {
  max-width:780px
}
.article-body {
  max-width:calc(800px + 2*var(--gutter));
  margin:auto;
  padding:72px var(--gutter) 88px;
  text-align:left;
  font-size:var(--body-size);
  line-height:1.6
}
.article-body p+p {
  margin-top:28px
}
.post .article-body > p {
  text-indent:0
}
.post .article-body > p:first-of-type::first-letter {
  font-size:1.35em;
  font-weight:600;
  line-height:1
}
.gallery {
  background:var(--pink);
  padding:64px var(--gutter) 80px;
  overflow:hidden
}
.gallery-inner {
  max-width:var(--page-width);
  margin:auto;
  position:relative;
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:56px
}
.document {
  position:relative;
  z-index:2;
  min-width:0;
  align-self:start
}
.document-open {
  position:relative;
  z-index:2;
  display:block;
  cursor:zoom-in
}
.document img {
  width:100%;
  height:auto
}
.gallery-stamp {
  position:absolute;
  z-index:3;
  pointer-events:none;
  object-fit:contain
}
.gallery-linhagem .document-1 {
  grid-column:1/6;
  grid-row:1/3;
  align-self:center
}
.gallery-linhagem .document-2 {
  grid-column:6/13;
  grid-row:1
}
.gallery-linhagem .document-3 {
  grid-column:6/13;
  grid-row:2
}
.gallery-linhagem .stamp-1 {
  width:130px;
  left:-20px;
  top:-34px
}
.gallery-linhagem .stamp-2 {
  width:36%;
  right:-22px;
  top:5%;
  z-index:1
}
.gallery-linhagem .stamp-3 {
  width:230px;
  left:-130px;
  bottom:-20px
}
.gallery-fazenda .document-1 {
  grid-column:3/11;
  grid-row:1
}
.gallery-fazenda .document-2 {
  grid-column:1/7;
  grid-row:2;
  margin-top:30px
}
.gallery-fazenda .document-3 {
  grid-column:8/13;
  grid-row:2
}
.gallery-fazenda .stamp-1 {
  width:33%;
  right:-20px;
  top:-24px;
  z-index:1
}
.gallery-fazenda .stamp-2 {
  width:130px;
  left:-70px;
  top:-30px
}
.gallery-fazenda .stamp-3 {
  width:130px;
  right:-65px;
  top:auto;
  bottom:-45px;
  z-index:1
}
.gallery-fazenda .stamp-4 {
  width:210px;
  left:-35px;
  top:-18px
}
.gallery-raizes .document-1 {
  grid-column:4/11;
  grid-row:1
}
.gallery-raizes .document-2 {
  grid-column:1/6;
  grid-row:2
}
.gallery-raizes .document-3 {
  grid-column:6/13;
  grid-row:2;
  margin-top:40px
}
.gallery-raizes .stamp-1 {
  width:36%;
  left:-40px;
  top:-32px;
  z-index:1
}
.gallery-raizes .stamp-2 {
  width:120px;
  left:-60px;
  top:auto;
  bottom:-35px
}
.gallery-raizes .stamp-3 {
  width:47%;
  right:-30px;
  top:-25px;
  z-index:1
}
.gallery-republica .document-1 {
  grid-column:2/7;
  margin-top:50px
}
.gallery-republica .document-2 {
  grid-column:8/13
}
.gallery-republica .stamp-1 {
  width:150px;
  left:-60px;
  top:-40px
}
.gallery-republica .stamp-2 {
  width:32%;
  right:-28px;
  bottom:-25px;
  z-index:1
}
.gallery-cotidiano .document-1 {
  grid-column:1/7;
  margin-top:36px
}
.gallery-cotidiano .document-2 {
  grid-column:8/13
}
.gallery-cotidiano .document-3 {
  grid-column:4/11
}
.gallery-cotidiano .stamp-1 {
  width:30%;
  left:-28px;
  top:-20px;
  z-index:1
}
.gallery-cotidiano .stamp-2 {
  width:170px;
  right:-55px;
  top:auto;
  bottom:-55px
}
.gallery-cotidiano .stamp-3 {
  width:32%;
  right:-30px;
  bottom:-30px;
  z-index:1
}
.gallery-cotidiano .stamp-4 {
  width:230px;
  right:-20px;
  top:auto;
  bottom:-30px
}
.lightbox {
  position:fixed;
  inset:0;
  margin:0;
  border:0;
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
  background:transparent;
  color:var(--gray);
  padding:48px 100px 36px;
  overflow:auto
}
.lightbox::backdrop {
  background:rgb(32 43 42 / .92)
}
.lightbox[open] {
  display:grid;
  grid-template-columns:1fr;
  grid-template-rows:1fr;
  align-items:center
}
.lightbox-figure {
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:16px;
  min-width:0;
  max-width:100%;
  max-height:100%;
  height:100%
}
.lightbox-image {
  max-width:100%;
  width:auto;
  max-height:calc(100dvh - 155px);
  height:auto;
  object-fit:contain;
  border-radius:12px
}
.lightbox-control {
  border:0;
  border-radius:50%;
  width:56px;
  height:56px;
  background:var(--green-light);
  color:var(--ink);
  display:flex;
  align-items:center;
  justify-content:center;
  position:fixed;
  padding:16px;
  z-index:2
}
.lightbox-control svg {
  width:24px;
  height:24px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round
}
.lightbox-control:disabled {
  visibility:hidden
}
.lightbox-close {
  top:20px;
  right:24px
}
.lightbox-prev {
  top:calc(50% - 28px);
  left:24px
}
.lightbox-next {
  top:calc(50% - 28px);
  right:24px
}
@media(max-width:1023px) {
  :root {
    --gutter:32px;
    --heading-size:40px;
    --header-height:76px
  }
  .header-inner {
    padding-top:8px;
    padding-bottom:8px
  }
  .brand {
    width:220px
  }
  .menu-toggle {
    display:flex
  }
  .site-header nav {
    display:none;
    position:absolute;
    top:var(--header-height);
    left:0;
    right:0;
    background:var(--green-light);
    padding:12px var(--gutter) 24px;
    align-items:stretch;
    gap:0;
    white-space:normal
  }
  .site-header.menu-open nav {
    display:flex;
    flex-direction:column
  }
  .nav-divider {
    display:none
  }
  .site-header nav a {
    padding:10px 0
  }
  .home-intro {
    padding-top:120px
  }
  .home-collage {
    top:var(--collage-top,120px);
    width:var(--collage-width,150%);
    left:calc(var(--collage-width,150%) * -0.095)
  }
  .intro-text {
    width:58%;
    font-size:20px
  }
  .intro-actions {
    width:66%;
    gap:12px
  }
  .story-inner {
    gap:32px;
    padding:48px var(--gutter);
    min-height:440px
  }
  .story-copy p {
    font-size:20px;
    margin-top:24px
  }
  .post-opening {
    height:360px
  }
  .post-title-band {
    padding:22px 32px;
    margin-top:-48px
  }
  .article-body {
    padding-top:48px;
    padding-bottom:64px
  }
  .gallery {
    padding-top:48px;
    padding-bottom:64px
  }
  .gallery-inner {
    gap:32px
  }
  .gallery-stamp {
    max-width:25%
  }
}
@media(min-width:768px) and (max-width:899px) {
  .home-intro { min-height:var(--intro-height,1200px) }
}
@media(min-width:900px) and (max-width:1023px) {
  .home-intro { min-height:var(--intro-height,1100px) }
}
@media(min-width:1024px) and (max-width:1099px) {
  .home-intro { min-height:var(--intro-height,1250px) }
}
@media(min-width:1100px) and (max-width:1199px) {
  .home-intro { min-height:var(--intro-height,1200px) }
}
@media(min-width:1200px) and (max-width:1279px) {
  .home-intro { min-height:var(--intro-height,1200px) }
}
@media(max-width:767px) {
  :root {
    --gutter:20px;
    --heading-size:32px;
    --body-size:18px
  }
  .header-inner {
    gap:16px
  }
  .brand {
    width:190px
  }
  .menu-toggle {
    font-size:18px
  }
  .home-intro {
    padding:108px 20px 48px;
    min-height:0;
    display:flex;
    flex-direction:column
  }
  .intro-copy {
    width:100%;
    margin-bottom:0
  }
  .intro-text {
    width:100%;
    font-size:20px;
    line-height:1.5
  }
  .intro-text p+p {
    margin-top:20px
  }
  .intro-actions {
    width:100%;
    display:flex;
    flex-direction:column;
    margin-top:28px;
    gap:12px
  }
  .home-collage {
    position:absolute;
    top:76px;
    left:0;
    margin:0;
    width:100%;
    height:calc(100% - 76px);
    max-width:none;
    object-fit:cover;
    object-position:60% center;
    opacity:0.12
  }
  .stories {
    margin-top:0
  }
  .story-block {
    border-radius:28px 28px 0 0
  }
  .story-inner,.text-right .story-inner {
    display:flex;
    flex-direction:column;
    min-height:0;
    padding:32px 20px 0;
    gap:28px;
    align-items:stretch
  }
  .story-copy,.text-right .story-copy {
    padding:0
  }
  .story-copy p {
    font-size:18px;
    line-height:1.5;
    margin-top:20px
  }
  .story-image,.text-right .story-image {
    height:300px;
    overflow:visible;
    flex:none;
    width:85%;
    align-self:center
  }
  .story-image img,.text-right .story-image img,.story-republica .story-image img,.story-cotidiano .story-image img {
    left:0;
    width:100%;
    top:12px;
    transform:rotate(5deg)
  }
  .text-right .story-image img {
    transform:rotate(-5deg)
  }
  .story-republica .story-image {
    width:72%
  }
  .post-opening {
    height:260px
  }
  .post-title-band {
    margin-top:-32px;
    padding:20px 24px 20px 20px;
    border-radius:0 28px 28px 0;
    max-width:calc(100% - 20px)
  }
  .article-body {
    padding:40px 20px 48px
  }
  .article-body p+p {
    margin-top:24px
  }
  .gallery {
    padding:40px 20px 48px
  }
  .gallery-inner {
    display:flex;
    flex-direction:column;
    gap:32px
  }
  .gallery .document {
    width:100%;
    margin:0;
    align-self:center
  }
  .gallery .gallery-stamp {
    display:none
  }
  .lightbox {
    padding:80px 20px 20px
  }
  .lightbox[open] {
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:20px
  }
  .lightbox-figure {
    height:auto;
    max-height:calc(100dvh - 180px);
    width:100%;
    flex:0 1 auto;
    order:0
  }
  .lightbox-image {
    max-height:calc(100dvh - 260px);
    min-height:0;
    flex-shrink:1;
    object-fit:contain
  }
  .lightbox-close {
    top:16px;
    right:16px;
    width:48px;
    height:48px;
    padding:12px
  }
  .lightbox-prev,.lightbox-next {
    position:static;
    flex:0 0 48px;
    width:48px;
    height:48px;
    padding:12px;
    order:1
  }
  .lightbox-prev {
    margin-right:68px
  }
  .lightbox-next {
    margin-top:-68px;
    margin-left:68px
  }
  .lightbox-control:disabled {
    visibility:hidden
  }
  .lightbox-status {
    position:absolute
  }
}
@media(max-width:359px) {
  .brand {
    width:160px
  }
  .header-inner {
    gap:8px
  }
  .menu-toggle {
    font-size:16px;
    gap:8px
  }
  .story-image {
    height:245px
  }
  .lightbox {
    padding-left:12px;
    padding-right:12px
  }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {
    scroll-behavior:auto!important;
    transition:none!important
  }
}
/* Os painéis arredondados sobrepõem a superfície editorial anterior. */
.story-block + .story-block {
  margin-top:-48px
}
.story-block:not(:last-child) .story-inner {
  padding-bottom:112px;
  min-height:548px
}
@media(max-width:1023px) {
  .story-block:not(:last-child) .story-inner {
    padding-bottom:96px;
    min-height:488px
  }
}
@media(max-width:767px) {
  .story-block + .story-block {
    margin-top:-28px
  }
  .story-block:not(:last-child) .story-inner {
    padding-bottom:28px;
    min-height:0
  }
}

@media(min-width:1024px) {
  .site-header.is-scrolled { height:76px }
  .site-header.is-scrolled .header-inner { padding-block:8px }
  .site-header.is-scrolled .brand { width:190px }
}

/* Proporções de abertura compartilhadas pelos cinco artigos. */
.post-opening { height:auto; aspect-ratio:1.88 / 1 }
@media(max-width:1023px) {
  .site-header { background:var(--green-light) }
  .post-opening { margin-top:76px }
}
@media(max-width:767px) {
  .post-opening { aspect-ratio:4 / 3 }
}

/* Recorta a borda superior escura da fotografia de Linhagem. */
.post-linhagem .post-hero {
  height:calc(100% + 8px);
  transform:translateY(-8px)
}

/* Abertura no computador com espaço acima da marca e redução na rolagem. */
@media(min-width:1024px) {
  :root { --header-height:140px }
  .header-inner {
    padding-top:48px;
    padding-bottom:12px;
    transition:padding 280ms ease
  }
}

/* Créditos discretos compartilhados por todas as páginas. */

/* O conteúdo do artigo cobre a fotografia de abertura estacionária. */
@media(min-width:1024px) and (prefers-reduced-motion:no-preference) {
  .post-opening { position:sticky; top:0; z-index:0 }
  .article-body {
    position:relative;
    z-index:1;
    background:var(--green-light);
    box-shadow:0 0 0 100vmax var(--green-light);
    clip-path:inset(0 -100vmax)
  }
  .gallery { position:relative; z-index:1 }
  .site-footer { position:relative }
}

@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .document-open img {
    pointer-events:none;
    transform:translate(var(--document-x,0px),var(--document-y,0px));
    transition:transform 180ms ease-out
  }
}

/* Ajusta a abertura à janela sem ampliar o recorte da fotografia. */
@media(min-width:1024px) {
  .post-opening {
    background:#DFCEB8;
    height:85vh;
    aspect-ratio:auto
  }
  .post-hero {
    width:min(100%, calc(159.8vh - 150.4px));
    margin-inline:auto
  }
}
@media(min-width:1024px) and (max-height:800px) {
  .article-body { padding-top:32px }
}

.post-image-frame { height:100%; overflow:hidden }
@media(min-width:1024px) {
  .post-opening { padding-block:20px }
  .post-image-frame {
    width:min(100%, calc(159.8vh - 150.4px));
    margin-inline:auto
  }
  .post-hero { width:100% }
}

/* O título atravessa o limite entre abertura e conteúdo. */
.post-title-band { margin-top:-48px; z-index:2 }
.post-title-band h1 { font-size:44px }
.article-body {
  position:relative;
  z-index:1;
  background:var(--green-light);
  box-shadow:0 0 0 100vmax var(--green-light);
  clip-path:inset(-56px -100vmax 0)
}
@media(min-width:1024px) { .post-opening { padding-block:40px } }
@media(max-width:1023px) { .post-title-band h1 { font-size:36px } }
@media(max-width:767px) { .post-title-band h1 { font-size:30px } }

/* Refinamentos da superfície e do título do artigo. */
.article-body {
  background:#ebe3e5;
  box-shadow:0 0 0 100vmax #ebe3e5
}
.post-title-band h1 { font-size:40px }
.home-heading {
  width:58%;
  margin-bottom:24px;
  font-size:40px
}
@media(max-width:1023px) {
  .post-title-band h1,.home-heading { font-size:34px }
}
@media(max-width:767px) {
  .post-title-band h1,.home-heading { font-size:28px }
  .home-heading { width:100% }
}

/* Superfícies dos posts, mantendo a paleta existente na home. */
.post .post-title-band,
.post .site-header.is-scrolled,
.post .site-header.menu-open { background:#ebe3e5 }
@media(max-width:1023px) {
  .post .site-header,
  .post .site-header nav { background:#ebe3e5 }
}

@media(max-width:767px) {
  .post-title-band { margin-top:-38px }
  .article-body { clip-path:inset(-36px -100vmax 0) }
}

@media(min-width:1024px) and (prefers-reduced-motion:no-preference) {
  .home .home-collage { transform:translateX(var(--slide-x,0px)) }
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .home .story-image img {
    pointer-events:none;
    translate:var(--document-x,0px) var(--document-y,0px);
    transition:translate 180ms ease-out
  }
}

.home .story-copy h2 a {
  display:inline-block;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:7px
}
@media(prefers-reduced-motion:no-preference) {
  .home .story-block { transform:translateY(var(--entry-y,0px)) }
  .home .story-copy { transform:translateX(calc(-1 * var(--entry-x,0px))) }
  .home .story-image { transform:translateX(var(--entry-x,0px)) }
  .gallery .document { transform:translateX(var(--entry-x,0px)) }
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .home .story-copy h2 a {
    translate:0 0;
    transition:translate 220ms ease-out
  }
  .home .story-copy h2 a:hover { translate:0 -3px }
}

.post .article-body > p:first-of-type { text-indent:1em }

@media(max-width:767px) {
  .home .story-copy,.home .text-right .story-copy { text-align:left }
}

/* Visualizador com zoom e excesso contido na área da imagem. */
.lightbox { padding:86px 92px 28px; overflow:hidden }
.lightbox[open] { display:block }
.lightbox .lightbox-figure {
  display:grid; grid-template-rows:minmax(0,1fr) auto;
  width:100%; height:100%; max-height:none; gap:12px
}
.lightbox-viewport { width:100%; height:100%; overflow:auto; min-height:0; overscroll-behavior:contain; touch-action:pan-x pan-y pinch-zoom }
.lightbox-canvas { display:flex; align-items:center; justify-content:center }
.lightbox .lightbox-image { max-width:none; max-height:none; flex:none; border-radius:0; user-select:none }
.lightbox-viewport.is-zoomed { cursor:grab }
.lightbox-viewport.is-dragging { cursor:grabbing }
.lightbox-zoom { position:absolute; top:22px; left:50%; transform:translateX(-50%); display:flex; align-items:center; gap:8px; white-space:nowrap }
.lightbox-zoom button { min-height:44px; padding:6px 12px; border:0; border-radius:6px; background:var(--green-light); color:var(--ink); font-size:16px }
.zoom-value { min-width:46px; text-align:center; font-size:14px }
@media(max-width:767px) {
  .lightbox { padding:122px 12px 76px }
  .lightbox-zoom { top:68px; gap:5px }
  .lightbox-zoom button { padding:6px 9px; font-size:14px }
  .lightbox .lightbox-prev,.lightbox .lightbox-next { position:absolute; top:auto; bottom:16px; margin:0 }
  .lightbox .lightbox-prev { left:calc(50% - 60px); right:auto }
  .lightbox .lightbox-next { right:calc(50% - 60px); left:auto }
}

@media(max-width:1023px) {
  .site-header.menu-open nav { border-bottom:1px solid var(--ink) }
}

/* Legendas editoriais preservam o texto inteiro sem cobrir os controles. */
.pqna-editorial-hero-open { display:block; height:100%; cursor:zoom-in }
.pqna-editorial-caption {
  position:relative;
  z-index:4;
  float:none;
  width:fit-content;
  max-width:85%;
  margin:-8px 0 0 auto;
  padding:12px 20px;
  background:rgb(178 64 86 / .94);
  color:#fff;
  font:italic 400 16px/1.45 Jost,Arial,sans-serif;
  text-align:right;
  overflow-wrap:anywhere
}
.pqna-editorial-caption--hero {
  position:absolute;
  right:0;
  bottom:40px;
  width:min(42%,520px);
  margin:0
}
.gallery-raizes .document-2,.gallery-raizes .document-3 { grid-row:1 }
@media(max-width:1023px) {
  .post-opening { position:relative; aspect-ratio:auto; height:auto }
  .post-image-frame { height:auto; aspect-ratio:1.88 / 1 }
  .pqna-editorial-caption--hero { position:relative; bottom:auto; width:85%; margin-left:auto }
  .post-title-band { margin-top:0 }
}
@media(max-width:767px) {
  .post-image-frame { aspect-ratio:4 / 3 }
  .pqna-editorial-caption { padding:12px 16px; font-size:15px }
  .pqna-editorial-caption--hero { margin:0 0 0 auto }
}

/* No desktop, o primeiro card cobre a parte inferior da colagem, inclusive nos cantos. */
@media(min-width:1024px) {
  .home .home-intro { max-width:none }
  .home .stories { z-index:1; margin-top:-96px }
  .pqna-editorial-caption--hero {
    right:max(0px,calc((100% - (159.8vh - 150.4px)) / 2));
    width:min(42%,520px,calc((159.8vh - 150.4px) * .85))
  }
}
