/* ART_IN’RELVA | V4 · Correções visuais pontuais sem alterações à estrutura restante */
/* A relva volta a alternar entre três fotografias reais, em fade suave. */
.grass-images{background:transparent!important;overflow:hidden;isolation:isolate}
.grass-sample{inset:0;display:block;opacity:0;object-fit:contain;transform:translateY(12px) scale(.985);transition:opacity .75s ease,transform .85s cubic-bezier(.18,.7,.25,1);pointer-events:none}
.grass-sample.active{opacity:1;transform:none}
/* Fotografia limpa nos projetos, sem lettering nem sombreado ao passar o rato. */
.project-picture::after{display:none!important}
.project-label{display:none!important}
.project-picture:focus-visible{outline:3px solid #8cae65;outline-offset:3px}
/* Composição da secção Sobre nós: fotografia e curva mais para baixo. */
@media(min-width:851px){
  .about-stack{top:clamp(74px,13%,104px)}
  .since-box,.since-box:nth-child(n){top:34px}
  .about-curve{transform:translateY(78px)}
}
@media(min-width:851px) and (max-width:1150px){
  .about-stack{top:90px}
  .since-box,.since-box:nth-child(n){right:calc(100% + 14px);width:150px}
  .about-curve{transform:translateY(62px)}
}
@media(max-width:850px){
  .about-stack{margin-top:-45px}
  .since-box,.since-box:nth-child(n){top:-52px}
  .about-curve{transform:translateY(36px)}
}
/* Galeria exterior: navegação manual, arrastar e movimento elegante em contínuo. */
.gallery-navigation{display:flex;justify-content:center;align-items:center;gap:10px;margin:-10px auto 24px}
.gallery-step{width:42px;height:42px;padding:0;display:grid;place-items:center;border:1px solid #c9d8bc;border-radius:50%;background:#fff;color:#23432b;transition:background .22s,border-color .22s,transform .22s}
.gallery-step:hover{background:#e8f0dd;border-color:#8bab72;transform:translateY(-2px)}
.gallery-step svg,.lightbox-control svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;fill:none}
.belt-track,.belt-row.reverse .belt-track{animation:none!important;will-change:transform}
.belt-row{touch-action:pan-y;cursor:grab}
.belt-row.is-dragging{cursor:grabbing}
.belt-item,.belt-item img{user-select:none;-webkit-user-select:none;-webkit-user-drag:none}
.belt-item img{pointer-events:none}
.belt-item::after{display:none!important}
.belt-row.is-dragging .belt-item{cursor:grabbing}
/* Lightbox fotográfico: sem caixa, títulos, sombras de fundo escuro ou legendas. */
.lightbox{width:100vw!important;max-width:none!important;height:100dvh!important;max-height:none!important;inset:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;overflow:hidden!important;color:#254633!important;box-shadow:none!important}
.lightbox:not([open]){display:none!important}
.lightbox[open]{display:block!important;animation:photo-overlay-in .28s ease-out}
.lightbox::backdrop{background:rgba(247,250,245,.84)!important;backdrop-filter:blur(25px) saturate(.78)!important;-webkit-backdrop-filter:blur(25px) saturate(.78)!important}
@keyframes photo-overlay-in{from{opacity:0}to{opacity:1}}
.lightbox-stage{position:relative;width:100%;height:100%;margin:0!important;padding:0!important;display:grid!important;place-items:center!important;gap:0!important}
.lightbox-photo{position:relative;margin:0!important;padding:0!important;max-width:calc(100vw - 148px);max-height:calc(100dvh - 158px);display:inline-flex;justify-content:center;align-items:center;min-width:0!important;flex:initial!important;touch-action:pan-y;cursor:grab}
.lightbox-photo:active{cursor:grabbing}
.lightbox-photo img{display:block;width:auto!important;height:auto!important;max-width:min(1380px,calc(100vw - 148px))!important;max-height:calc(100dvh - 158px)!important;object-fit:contain!important;border-radius:3px;box-shadow:0 24px 75px #1c332936;touch-action:pan-y!important;user-select:none!important;-webkit-user-select:none!important;-webkit-user-drag:none}
.lightbox-control{position:absolute;z-index:4;width:50px;height:50px;border:1px solid #ffffffbb;border-radius:50%;display:grid;place-items:center;background:#ffffffdf;color:#24482e;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 6px 30px #203a2b20;transition:background .2s,transform .2s,border-color .2s;cursor:pointer;touch-action:manipulation}
.lightbox-control:hover{background:#fff;transform:scale(1.05);border-color:#bdd1b0}
.lightbox-control:focus-visible,.gallery-step:focus-visible{outline:3px solid #6f9d4e;outline-offset:3px}
.lightbox-control[hidden]{display:none!important}
.lightbox-prev{left:clamp(14px,4vw,75px);top:50%;transform:translateY(-50%)}
.lightbox-next{right:clamp(14px,4vw,75px);top:50%;transform:translateY(-50%)}
.lightbox-prev:hover,.lightbox-next:hover{transform:translateY(-50%) scale(1.05)}
.lightbox-close{top:clamp(14px,4vh,34px);right:clamp(14px,4vw,75px)}
.lightbox-close svg{width:20px;height:20px}
.lightbox-count{position:absolute;z-index:3;bottom:clamp(14px,3.2vh,30px);left:50%;transform:translateX(-50%);min-width:80px;text-align:center;border-radius:50px;background:#ffffffdb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:11px 17px;color:#24482e;font-size:11px;font-weight:750;letter-spacing:2px;font-variant-numeric:tabular-nums;box-shadow:0 6px 22px #16392910}
@media(max-width:700px){
 .lightbox-photo{max-width:calc(100vw - 24px);max-height:calc(100dvh - 145px)}
 .lightbox-photo img{max-width:calc(100vw - 24px)!important;max-height:calc(100dvh - 145px)!important}
 .lightbox-control{width:42px;height:42px}
 .lightbox-control svg{width:17px;height:17px}
 .lightbox-prev{left:8px}
 .lightbox-next{right:8px}
 .lightbox-close{right:14px;top:calc(14px + env(safe-area-inset-top,0px))}
 .lightbox-count{bottom:calc(21px + env(safe-area-inset-bottom,0px));font-size:10px}
 .gallery-navigation{margin:0 auto 21px}
 .gallery-step{width:43px;height:43px}
}
@media(prefers-reduced-motion:reduce){
 .grass-sample{transition:none!important}
 .lightbox[open]{animation:none!important}
}
/* Center the photo regardless of intrinsic image aspect ratio; controls never move. */
.lightbox-photo{position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;z-index:1;justify-self:initial!important;align-self:initial!important}
@media(max-width:600px){.about-card{padding-top:61px}}
