
/* Galeria ON — v3: legível sem JavaScript, mínimo ruído visual */
.portfolio-section .split-heading{margin-bottom:44px}
.portfolio-small-note{font-size:12px!important;color:#78857b!important}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}
.portfolio-card{min-width:0;background:#fdfefd;border:1px solid #d5dfd5;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}
.portfolio-card:hover{transform:translateY(-5px);box-shadow:0 20px 38px rgba(23,48,31,.10)}
.portfolio-action{display:block;color:inherit;text-decoration:none;min-width:0}
.portfolio-media{display:flex;align-items:center;justify-content:center;aspect-ratio:4/5;overflow:hidden;position:relative;background:#dce4dc;isolation:isolate}
.portfolio-media:before{content:"";position:absolute;inset:-30px;z-index:-2;background-image:var(--poster);background-position:center;background-size:cover;filter:blur(34px) brightness(.79);opacity:.6;transform:scale(1.05)}
.portfolio-media:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(135deg,rgba(19,35,24,.10),rgba(14,30,17,.05))}
.portfolio-media>img{display:block;width:100%;height:100%;object-fit:contain;position:relative;z-index:1;transition:transform .38s ease}
.portfolio-card:hover .portfolio-media>img{transform:scale(1.035)}
.portfolio-count{position:absolute;top:15px;left:15px;z-index:2;font-size:10px;letter-spacing:.13em;line-height:1.4;font-weight:800;color:#1c2a21;background:#e9ffec;padding:7px 10px;border:1px solid rgba(25,56,30,.12)}
.portfolio-open-icon{position:absolute;right:15px;top:15px;z-index:3;display:grid;place-items:center;width:31px;height:31px;color:#eaffeb;background:rgba(14,29,18,.7);font-size:18px}
.portfolio-play{position:absolute;z-index:3;left:50%;top:50%;width:64px;height:64px;display:grid;place-items:center;transform:translate(-50%,-50%);border-radius:50%;background:rgba(109,244,121,.93);box-shadow:0 8px 25px rgba(14,51,22,.20);transition:transform .25s}
.portfolio-card:hover .portfolio-play{transform:translate(-50%,-50%) scale(1.09)}
.portfolio-triangle{width:0;height:0;border-top:10px solid transparent;border-bottom:10px solid transparent;border-left:16px solid #1d2a20;margin-left:4px}
.portfolio-info{min-height:100px;padding:19px 20px 21px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff}
.portfolio-info-left{display:grid;gap:6px;min-width:0}
.portfolio-eyebrow{font-size:10px;letter-spacing:.13em;text-transform:uppercase;font-weight:800;color:#6a7c6e}
.portfolio-info strong{font-size:13px;line-height:1.5;letter-spacing:.018em;color:#26352b;font-weight:800;overflow-wrap:break-word}
.portfolio-info-arrow{font-size:19px;color:#316c38;flex:0 0 auto}
.portfolio-all-cta{margin-top:34px;padding:26px 0 0;border-top:1px solid #cfdbd0;display:flex;gap:24px;justify-content:space-between;align-items:center}
.portfolio-all-cta p{color:#27362b;font-weight:800;font-size:19px;letter-spacing:-.03em;margin:0 0 4px}
.portfolio-all-cta span{color:#718074;font-size:13px}
.portfolio-cta-button{white-space:nowrap;flex-shrink:0}
.portfolio-cta-button span{color:inherit;font-size:18px}
.portfolio-archive-hero{padding-top:180px;padding-bottom:98px;position:relative;overflow:hidden}
.portfolio-archive-hero .eyebrow{color:#a4bca6}
.portfolio-archive-hero .title{max-width:990px;color:var(--green)}
.portfolio-archive-hero .title-sub{max-width:650px;font-size:18px;line-height:1.7;color:#d5e0d7;margin-top:25px}
.portfolio-backlink{display:inline-flex;align-items:center;gap:10px;font-weight:700;color:#c9e9ce;text-decoration:none;font-size:12px;letter-spacing:.05em;margin-bottom:35px}
.portfolio-backlink:hover{color:var(--green)}
.portfolio-archive-main{padding-top:90px;padding-bottom:130px}
.portfolio-archive-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:30px}
.portfolio-archive-heading h2{font-size:clamp(32px,4vw,55px);line-height:1.07;font-weight:900;letter-spacing:-.047em;color:var(--green);margin:10px 0}
.portfolio-archive-heading p{margin:0;color:#6c7b70;max-width:390px;line-height:1.7}
.portfolio-filter-bar{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 26px}
.portfolio-filter{border:1px solid #d4dfd4;border-radius:2px;padding:13px 17px;font-family:inherit;font-weight:800;font-size:11px;line-height:1.2;color:#39493d;background:#f9fbf9;cursor:pointer;transition:all .2s}
.portfolio-filter:hover,.portfolio-filter[aria-pressed="true"]{background:#77ef85;border-color:#77ef85;color:#1d2a20}
.portfolio-card[hidden]{display:none!important}
.portfolio-archive-footer{border-top:1px solid rgba(200,235,209,.22);padding:35px 0;display:flex;justify-content:space-between;gap:20px;color:#a9bbae;font-size:12px}
.portfolio-archive-footer a{color:#d7ead9;text-decoration:underline;text-underline-offset:4px}
.portfolio-modal{border:1px solid rgba(201,227,205,.24);background:#141d17;color:#eaf4ed;padding:0;width:min(92vw,1040px);max-height:93vh;box-shadow:0 30px 100px rgba(0,0,0,.55);overflow:auto}
.portfolio-modal::backdrop{background:rgba(7,17,10,.82);backdrop-filter:blur(9px)}
.portfolio-modal-head{padding:16px 20px;border-bottom:1px solid #37453b;display:flex;justify-content:space-between;align-items:center;gap:16px}
.portfolio-modal-label{display:flex;flex-direction:column;gap:5px}
.portfolio-modal-label small{letter-spacing:.13em;font-size:10px;color:#89ee90;font-weight:800}
.portfolio-modal-label strong{font-size:14px;line-height:1.4;letter-spacing:.01em;color:#eaf4ed}
.portfolio-modal-close{display:grid;place-items:center;width:40px;height:40px;background:#29372e;border:1px solid #435648;color:#fff;font-size:22px;cursor:pointer}
.portfolio-modal-body{display:flex;justify-content:center;align-items:center;background:#090e0b;min-height:240px;padding:14px}
.portfolio-modal-body img,.portfolio-modal-body video{display:block;max-width:100%;max-height:min(72vh,820px);height:auto;width:auto;object-fit:contain}
.portfolio-modal-body video{width:min(100%,550px);background:#000}
.portfolio-modal-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;color:#b7c8ba}
.portfolio-modal-foot button{background:transparent;border:1px solid #556d59;color:#eaf4ed;font-family:inherit;font-size:12px;font-weight:700;padding:10px 16px;cursor:pointer}
.portfolio-modal-foot button:hover{background:#35503b}
.portfolio-modal-foot span{font-size:11px;letter-spacing:.08em}
@media(max-width:940px){.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-archive-hero{padding-top:145px}}
@media(max-width:630px){.portfolio-grid{grid-template-columns:1fr;gap:17px}.portfolio-media{aspect-ratio:5/5.4}.portfolio-section .split-heading{margin-bottom:30px}.portfolio-all-cta{align-items:stretch;flex-direction:column}.portfolio-all-cta .btn{width:100%}.portfolio-archive-hero{padding-top:125px;padding-bottom:72px}.portfolio-archive-main{padding-top:64px}.portfolio-archive-heading{display:block}.portfolio-archive-heading p{margin-top:12px}.portfolio-modal-body{padding:0}.portfolio-modal-head{padding:12px}.portfolio-modal-label strong{font-size:12px}.portfolio-modal-foot{padding:12px}}
@media(prefers-reduced-motion:reduce){.portfolio-card,.portfolio-media>img,.portfolio-play{transition:none!important}}

/* V8 — tratamento de erros de mídia e status acessível dos filtros. */
.portfolio-media-error { padding: min(7vw,42px); text-align:center; line-height:1.7; }
.portfolio-media-error p { margin:0 0 14px; color:#e9f2eb; }
.portfolio-media-error a { display:inline-block; border:1px solid #6ef484; padding:12px 16px; color:#bdfdc7; }
.sr-only { position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important; }
