/* v3.4.12 — mosaico amplo, proporções moderadas e Helipa em 9:16. */
.projects-section{padding-inline:var(--pad)}
.projects-section .project-grid,.project-archive .project-grid{width:100%;max-width:var(--max);margin-inline:auto}
.project-grid .project-card{display:flex;flex-direction:column;min-width:0}
.project-grid .project-card h3,.project-grid .project-card h2{overflow-wrap:normal;word-break:normal;hyphens:none}
.project-grid .project-meta{flex-wrap:wrap;gap:6px}
@media(min-width:1101px){
.project-grid{grid-auto-rows:auto;align-items:stretch;grid-auto-flow:row;gap:14px;grid-template-rows:repeat(2,var(--mosaic-row,auto)) auto}
.project-grid .project-card{align-self:stretch;min-height:0;margin:0;grid-row:auto;grid-column:span 4}
.project-grid .case-unicef-youth-challenge{grid-column:1 / span 4;grid-row:1}
.project-grid .case-radio-soul-city{grid-column:5 / span 4;grid-row:1}
.project-grid .case-helipa-games{grid-column:9 / span 4;grid-row:1 / span 2;aspect-ratio:9/16;height:auto;min-height:0;box-sizing:border-box}
.project-grid .case-tokennation-2026{grid-column:1 / span 4;grid-row:2}
.project-grid .case-brisa-trio{grid-column:5 / span 4;grid-row:2}
.project-grid .case-song4{grid-column:1 / span 6;grid-row:3}
.project-grid .case-divorced-princess{grid-column:7 / span 6;grid-row:3}
.project-grid .project-card .project-art{display:block;position:relative;flex:1 1 120px;height:auto;min-height:80px;aspect-ratio:auto}
.project-grid .project-card .project-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;aspect-ratio:auto}
.project-grid .case-unicef-youth-challenge .project-art img{object-fit:contain}
.project-grid .case-helipa-games .project-art img{object-position:center}
.project-grid .case-song4 .project-art,.project-grid .case-divorced-princess .project-art{flex:0 0 auto;aspect-ratio:16/9;min-height:0;max-height:380px}
.project-grid .case-divorced-princess .project-art img{object-position:center 35%}
.project-grid .project-card h3,.project-grid .project-card h2{font-size:clamp(26px,2vw,36px);line-height:1.05;margin-bottom:10px}
.project-grid .project-card p{font-size:12px;line-height:1.45;margin-bottom:12px}
.project-grid .project-meta{margin-block:10px 12px}
}
@media(min-width:761px) and (max-width:1100px){
.project-grid{align-items:stretch}
.project-grid .project-card{align-self:stretch;grid-column:span 6}
.project-grid .project-card .project-art{height:290px;min-height:0;aspect-ratio:auto}
.project-grid .project-card .project-art img{width:100%;height:100%;object-fit:cover}
}
@media(max-width:760px){
.project-grid .project-card .project-art{height:290px;min-height:245px;aspect-ratio:auto}
.project-grid .project-card .project-art img{height:100%;aspect-ratio:auto;object-fit:cover}
}

/* Reset explícito das regras antigas do sétimo card. */
.project-grid .project-card.project-7{display:flex;flex-direction:column;grid-template-columns:none;grid-template-rows:none}
.project-grid .project-card.project-7>*{grid-area:auto}
.project-grid .case-unicef-youth-challenge .project-art{background:#101214}
@media(min-width:1101px){
.project-grid .case-helipa-games{overflow:hidden}
.project-grid .project-card:not(.case-helipa-games):not(.case-song4):not(.case-divorced-princess) p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
}

/* v3.4.16 — cards discretos em repouso, cor e luz originais no hover. */
.project-grid .project-card{filter:brightness(.68) saturate(.25);transition:opacity .6s,transform .6s,border-color .25s,filter .3s ease}
.project-grid .project-card:hover,.project-grid .project-card:focus-within{filter:none}
.project-grid .project-card .project-art img,.project-grid .project-card:hover .project-art img{transform:none;filter:none}
@media(prefers-reduced-motion:reduce){.project-grid .project-card{transition:none}}

/* v3.4.17 — o oitavo projeto fecha a terceira linha, preservando a ordem. */
@media(min-width:1101px){
.project-grid .case-song4{grid-column:1 / span 4;grid-row:3}
.project-grid .case-divorced-princess{grid-column:5 / span 4;grid-row:3}
.project-grid .case-metaverso-lab3{grid-column:9 / span 4;grid-row:3}
.project-grid .case-metaverso-lab3 .project-art{flex:0 0 auto;aspect-ratio:16/9;min-height:0;max-height:380px;background:#14171b}
.project-grid .case-metaverso-lab3 .project-art img{object-fit:contain}
}
.lab3-metaverso-case .cm-hero{max-width:1180px;background:#14171b}
.lab3-metaverso-case .cm-hero img{width:100%;height:auto;max-height:780px;aspect-ratio:auto;object-fit:contain;border:0}
.lab3-metaverso-case .cm-gallery img{height:auto;max-height:640px;aspect-ratio:auto;object-fit:contain;background:#f3eee5}
.lab3-metaverso-case .cm-shot img{max-height:700px;object-fit:contain;background:#ece6da}

/* v3.4.18 — complemento da chamada de contato. */
.cta-section .cta-specialty{margin:0 0 28px;font-size:clamp(18px,2vw,25px);line-height:1.45;color:var(--ink)}

/* Capturas da interface: preservar o conteúdo completo e sua escala. */
.lab3-metaverso-case .cm-builder-gallery img[src*="presenca-"]{
 box-sizing:border-box;width:100%;height:340px;aspect-ratio:auto;
 object-fit:contain;object-position:center;padding:20px;background:#15171b;
 border:1px solid rgba(255,255,255,.08);box-shadow:none;
}
.lab3-metaverso-case .cm-builder-gallery img[src*="presenca-indicador"]{padding:48px 24px}
.lab3-metaverso-case .cm-builder-gallery .cm-caption{display:block;line-height:1.65;margin-top:16px}
@media(max-width:700px){
 .lab3-metaverso-case .cm-builder-gallery:has(img[src*="presenca-"]){width:calc(100% - 40px);gap:30px}
 .lab3-metaverso-case .cm-builder-gallery img[src*="presenca-"]{height:auto;max-height:460px;min-height:160px;padding:20px}
 .lab3-metaverso-case .cm-builder-gallery img[src*="presenca-indicador"]{padding:36px 24px}
 .lab3-metaverso-case .cm-builder-gallery:has(img[src*="presenca-"]) .cm-caption{padding-inline:0}
}

/* Texturas originais abertas, sem recorte da arte. */
.lab3-metaverso-case .cm-builder-gallery img[src*="textura-"]{width:100%;height:auto;aspect-ratio:auto;max-height:none;object-fit:contain;background:#15171b;box-shadow:none}

/* Editorial Metaverso: leitura em colunas, respiros e imagens integrais. */
.lab3-metaverso-case .cm-text-grid.no-note{grid-template-columns:140px minmax(0,1fr)}
.lab3-metaverso-case .cm-text-grid.no-note .cm-text-main{max-width:100%;column-count:2;column-gap:48px}
.lab3-metaverso-case .cm-text-main h2{column-span:all;max-width:1000px;margin-bottom:40px}
.lab3-metaverso-case .cm-text-main p{break-inside:avoid;font-size:18px}
.lab3-metaverso-case .cm-pull blockquote{font-size:clamp(48px,6.5vw,94px);max-width:950px}
.lab3-metaverso-case .cm-builder-shot img{height:auto;max-height:none;aspect-ratio:auto;object-fit:contain}
.lab3-metaverso-case .cm-builder-shot.size-full .cm-caption{padding-inline:var(--pad);padding-bottom:12px}
.lab3-metaverso-case .cm-builder-gallery img[src*="ney-"],.lab3-metaverso-case .cm-builder-gallery img[src*="lab3-mural-"]{height:auto;aspect-ratio:auto;object-fit:contain;box-shadow:none}
.lab3-metaverso-case .cm-builder-gallery:has(img[src*="textura-"]){width:min(calc(100% - 2 * var(--pad)),1180px);grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.lab3-metaverso-case .cm-builder-gallery:has(img[src*="textura-"]) figure{padding:14px;background:#e4ded3;border:1px solid #d4cdc1}
.lab3-metaverso-case .cm-builder-gallery img[src*="textura-"]{box-sizing:border-box;height:230px;width:100%;padding:10px;object-fit:contain;background:#17191c}
.lab3-metaverso-case .cm-builder-gallery:has(img[src*="textura-"]) .cm-caption{font-size:9px;line-height:1.6;padding:0;display:block}
@media(min-width:1200px){.lab3-metaverso-case .cm-builder-gallery:has(img[src*="textura-"]){grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:800px){.lab3-metaverso-case .cm-text-grid.no-note{display:block}.lab3-metaverso-case .cm-text-grid.no-note .cm-text-main{column-count:1}.lab3-metaverso-case .cm-text-meta{margin-bottom:22px}.lab3-metaverso-case .cm-builder-gallery:has(img[src*="textura-"]){grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.lab3-metaverso-case .cm-builder-gallery img[src*="textura-"]{height:190px}}
@media(max-width:420px){.lab3-metaverso-case .cm-builder-gallery:has(img[src*="textura-"]){grid-template-columns:1fr}.lab3-metaverso-case .cm-builder-gallery img[src*="textura-"]{height:230px}}

/* CTA: mesma tipografia do kicker e respiro vertical simétrico. */
.cta-section h2{margin-bottom:0}
.cta-section .cta-specialty{display:block;margin:32px 0;font:500 10px 'DM Mono',monospace;line-height:normal;letter-spacing:.13em;text-transform:uppercase;color:var(--orange)}
.cta-section .cta-specialty + .btn{margin-top:0}

/* CTA: mesma cor do kicker. */
.cta-section .cta-specialty{color:var(--green)}

/* Ícones vetoriais: cor e escala acompanham o texto em qualquer plataforma. */
svg.lab3-arrow{display:inline-block;width:1em;height:1em;flex:0 0 auto;vertical-align:-.125em;overflow:visible}
.method-title h2 svg.lab3-arrow{width:.7em;height:.7em}

/* 3.5.1 — Metaverso vertical; TokenNation e Song4 fecham o mosaico. */
@media(min-width:1101px){
 .project-grid{grid-template-rows:repeat(3,var(--mosaic-row,auto)) auto}
 .project-grid .case-metaverso-lab3{grid-column:1 / span 4;grid-row:2 / span 2;overflow:hidden}
 .project-grid .case-metaverso-lab3 .project-art{flex:1 1 120px;aspect-ratio:auto;height:auto;min-height:80px;max-height:none}
 .project-grid .case-metaverso-lab3 .project-art img{object-fit:cover;object-position:50% 50%}
 .project-grid .case-brisa-trio{grid-column:5 / span 4;grid-row:2}
 .project-grid .case-divorced-princess.project-card{grid-column:5 / span 8;grid-row:3;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto 1fr auto;column-gap:22px;align-content:start}
 .project-grid .case-divorced-princess.project-card .project-art{grid-column:1;grid-row:1 / span 4;align-self:stretch;height:100%;max-height:none;aspect-ratio:auto;min-height:0}
 .project-grid .case-divorced-princess .project-art img{object-fit:contain}
 .project-grid .case-divorced-princess.project-card .project-meta,.project-grid .case-divorced-princess.project-card h3,.project-grid .case-divorced-princess.project-card h2,.project-grid .case-divorced-princess.project-card p,.project-grid .case-divorced-princess.project-card .card-arrow{grid-column:2}
 .project-grid .case-tokennation-2026{grid-column:1 / span 6;grid-row:4}
 .project-grid .case-song4{grid-column:7 / span 6;grid-row:4}
 .project-grid .case-tokennation-2026 .project-art,.project-grid .case-song4 .project-art{flex:0 0 auto;aspect-ratio:16/9;min-height:0;max-height:340px}
}

/* 3.5.4 — dois cards no espaço lateral: 40% Princess / 60% Song4. */
@media(min-width:1101px){
 .project-grid .case-divorced-princess.project-card,.project-grid .case-song4.project-card{grid-column:5 / span 8;grid-row:3;display:flex;flex-direction:column;grid-template-columns:none;grid-template-rows:none;box-sizing:border-box;min-width:0}
 .project-grid .case-divorced-princess.project-card{width:calc((100% - 14px)*.4);justify-self:start}
 .project-grid .case-song4.project-card{width:calc((100% - 14px)*.6);justify-self:end}
 .project-grid .case-divorced-princess.project-card>*,.project-grid .case-song4.project-card>*{grid-area:auto}
 .project-grid .case-divorced-princess.project-card .project-art,.project-grid .case-song4.project-card .project-art{flex:1 1 120px;height:auto;min-height:80px;max-height:none;aspect-ratio:auto;align-self:stretch}
 .project-grid .case-divorced-princess .project-art img{object-fit:cover;object-position:center 35%}
 .project-grid .case-song4 .project-art img{object-fit:cover}
 .project-grid .case-divorced-princess.project-card p,.project-grid .case-song4.project-card p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px}
 .project-grid .case-divorced-princess.project-card h3,.project-grid .case-divorced-princess.project-card h2{font-size:clamp(23px,1.8vw,32px)}
 .project-grid .case-tokennation-2026.project-card{grid-column:1 / -1;grid-row:4;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);grid-template-rows:auto auto 1fr auto;column-gap:26px;min-height:280px}
 .project-grid .case-tokennation-2026 .project-art{grid-column:1;grid-row:1 / span 4;min-height:260px;height:100%;max-height:340px;aspect-ratio:auto}
 .project-grid .case-tokennation-2026 .project-art img{object-fit:cover}
 .project-grid .case-tokennation-2026 .project-meta,.project-grid .case-tokennation-2026 h3,.project-grid .case-tokennation-2026 h2,.project-grid .case-tokennation-2026 p,.project-grid .case-tokennation-2026 .card-arrow{grid-column:2}
}

/* 3.5.8 — tempo acompanha TokenNation na última linha. */
@media(min-width:1101px){
 .project-grid .case-tokennation-2026.project-card{grid-column:1 / span 6;grid-row:4;display:flex;flex-direction:column;grid-template-columns:none;grid-template-rows:none;min-height:0}
 .project-grid .case-tempo.project-card{grid-column:7 / span 6;grid-row:4}
 .project-grid .case-tokennation-2026.project-card>*{grid-area:auto}
 .project-grid .case-tokennation-2026 .project-art,.project-grid .case-tempo .project-art{flex:0 0 auto;aspect-ratio:16/9;min-height:0;height:auto;max-height:none;background:#eef1e8}
 .project-grid .case-tempo .project-art img{object-fit:contain}
}

/* Interfaces do tempo completas, preservando controles e legendas. */
.cm-hero img[src*="/assets/img/tempo/"],.cm-builder-shot img[src*="/assets/img/tempo/"]{height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;background:#f9faf6}
