/* Páginas: 6 páginas de projetos. Carregado por último, depois de base, layout, components e responsive. */

/* ===== template de projetos (componentes proj-*) ===== */
.entrada-suave{opacity:0;transform:translateY(26px);}
.entrada-suave.entrou{opacity:1;transform:none;transition:opacity .6s ease,transform .6s ease;}

/* hero do projeto */
.proj-hero{padding:36px 0 80px;}
.proj-hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:64px;align-items:center;}
.proj-rotulo{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ciano-escuro);}
.proj-hero h1{font-size:clamp(2.5rem,4.6vw,3.55rem);line-height:1.05;letter-spacing:-.02em;margin-top:16px;max-width:13ch;}
.proj-hero-lead{margin-top:20px;font-size:17.5px;color:var(--tinta-2);max-width:44ch;}
.proj-hero-ctas{margin-top:30px;display:flex;gap:14px;align-items:center;flex-wrap:wrap;}

/* moldura flexível para o logotipo de cada projeto */
.proj-logo-quadro{background:var(--branco);border:1px solid var(--linha-leve);border-radius:var(--folha-g);padding:30px;display:flex;align-items:center;justify-content:center;min-height:300px;box-shadow:0 26px 60px -40px rgba(27,32,80,.4);}
.proj-logo-quadro img{max-width:100%;max-height:340px;width:auto;height:auto;display:block;border-radius:calc(var(--folha-g) - 24px);}

/* seções do projeto */
.proj-sec{padding:92px 0;}
.proj-sec--branco{background:var(--branco);}
.proj-sec--nevoa{background:var(--nevoa);}
.proj-sobre-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:64px;align-items:start;}
.proj-sobre-texto p{margin-bottom:18px;max-width:62ch;}
.proj-sobre-texto h3{margin:36px 0 12px;font-size:1.28rem;}
.proj-sobre-texto a{color:var(--ciano-escuro);font-weight:600;text-decoration:underline;text-underline-offset:3px;}
.proj-sobre-texto a:hover,.proj-sec--nevoa .proj-sobre-texto a{color:var(--indigo);}
.proj-sec--nevoa .proj-sobre-texto a:hover{color:var(--noite);}
.proj-conducao{background:var(--nevoa);border-radius:var(--folha-m);padding:26px 28px;position:sticky;top:110px;}
.proj-conducao strong{display:block;margin-top:12px;font-size:18px;color:var(--noite);line-height:1.35;}
.proj-conducao span{display:block;margin-top:6px;font-size:14px;color:var(--tinta-2);}
.proj-conducao .proj-rotulo{color:var(--tinta-2);}

/* temas vivenciados */
.proj-temas{list-style:none;margin:38px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 48px;max-width:880px;}
.proj-temas li{display:flex;gap:14px;align-items:flex-start;padding:15px 0;border-top:1px solid var(--linha-leve);font-weight:600;color:var(--noite);}
.proj-temas li::before{content:"";flex:none;width:12px;height:12px;margin-top:6px;background:var(--ciano);border-radius:12px 12px 12px 2px;}

/* destaque editorial */
.proj-destaque{padding:100px 0;border-top:1px solid var(--linha-leve);border-bottom:1px solid var(--linha-leve);}
.proj-destaque blockquote{margin:0 auto;max-width:24ch;text-align:center;font-family:"Newsreader",Georgia,serif;font-weight:500;font-size:clamp(1.7rem,3.4vw,2.5rem);line-height:1.3;color:var(--indigo);}
.proj-destaque figcaption{margin-top:20px;text-align:center;font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--tinta-2);}

/* galeria: grade geométrica com todas as fotos em 3:2 e cantos arredondados, em fileiras de 3 ou de 2 fotos.
   Sem modificador, cada fileira tem 3 fotos; .proj-galeria--4 forma 2 + 2 e .proj-galeria--5 forma 2 maiores + 3. */
.proj-galeria{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px;margin-top:44px;}
.proj-foto{grid-column:span 2;position:relative;display:block;padding:0;border:0;background:var(--nevoa);cursor:zoom-in;border-radius:20px;overflow:hidden;aspect-ratio:3/2;}
.proj-galeria--4 .proj-foto,.proj-galeria--5 .proj-foto:nth-child(-n+2){grid-column:span 3;}
.proj-foto img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.7,.2,1);}
.proj-foto:focus-visible{outline:3px solid var(--ciano);outline-offset:3px;}
.proj-foto.entrada-suave.entrou{transition:opacity .6s ease,transform .6s ease,box-shadow .45s ease;}

@media (hover:hover) and (prefers-reduced-motion:no-preference){
  .proj-foto:hover img{transform:scale(1.03);}
  .proj-foto:hover{box-shadow:0 22px 40px -28px rgba(27,32,80,.5);}
}

/* serviços do projeto (Mundo Corporativo) */
.proj-servicos{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:42px;}
.proj-servico{border-top:1px solid var(--indigo);padding-top:22px;}
.proj-servico h3{font-size:1.12rem;margin:0 0 10px;}
.proj-servico p{font-size:15px;color:var(--tinta-2);}

/* clientes do projeto (logos reais) */
.proj-clientes{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:40px;}
.proj-cliente{background:var(--branco);border:1px solid var(--linha-leve);border-radius:var(--folha-m);padding:20px;display:flex;align-items:center;justify-content:center;min-height:120px;}
.proj-cliente img{width:auto;height:90px;max-width:150px;object-fit:contain;}

/* lightbox da galeria (mesma família visual do modal de vídeo) */
.proj-lightbox{position:fixed;inset:0;z-index:120;display:none;align-items:center;justify-content:center;padding:34px;background:rgba(10,15,35,.88);backdrop-filter:blur(4px);}
.proj-lightbox.aberta{display:flex;}
.proj-lightbox figure{margin:0;max-width:min(1120px,94vw);}
.proj-lightbox img{display:block;max-width:100%;max-height:76vh;width:auto;height:auto;margin:0 auto;border-radius:16px;animation:lb-entra .3s ease;}
@keyframes lb-entra{from{opacity:0;transform:scale(.97);}to{opacity:1;transform:none;}}
.proj-lightbox figcaption{margin-top:14px;text-align:center;color:rgba(255,255,255,.78);font-size:13.5px;}
.lb-contador{margin-left:10px;color:rgba(255,255,255,.5);}
.lb-botao{position:absolute;display:flex;align-items:center;justify-content:center;width:46px;height:46px;border:1px solid rgba(255,255,255,.32);border-radius:50%;background:rgba(16,19,46,.55);color:#fff;cursor:pointer;transition:border-color .2s ease,color .2s ease;}
.lb-botao:hover{border-color:var(--ciano);color:var(--ciano);}
.lb-botao:focus-visible{outline:3px solid var(--ciano);outline-offset:2px;}
.lb-botao svg{width:20px;height:20px;}
.lb-fechar{top:22px;right:22px;}
.lb-ant{left:18px;top:50%;transform:translateY(-50%);}
.lb-prox{right:18px;top:50%;transform:translateY(-50%);}

/* outros projetos */
.proj-outros{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:42px;}
.proj-outro{display:block;border-top:1px solid var(--indigo);padding-top:20px;color:inherit;transition:border-color .25s ease;}
a.proj-outro strong{transition:color .25s ease;}
a.proj-outro:hover{border-color:var(--ciano);}
a.proj-outro:hover strong{color:var(--ciano-escuro);}
.proj-outro .proj-rotulo{color:var(--tinta-2);font-size:11px;letter-spacing:.14em;}
.proj-outro strong{display:block;margin-top:10px;font-family:"Newsreader",Georgia,serif;font-weight:500;font-size:1.3rem;color:var(--noite);line-height:1.25;}
.proj-outro span{display:block;margin-top:10px;font-size:13px;color:var(--tinta-2);}

@media (max-width:920px){
  .proj-hero{padding:20px 0 60px;}
  .proj-hero-grid{grid-template-columns:1fr;gap:40px;}
  .proj-logo-quadro{min-height:0;padding:24px;}
  .proj-logo-quadro img{max-height:250px;}
  .proj-sec{padding:64px 0;}
  .proj-sobre-grid{grid-template-columns:1fr;gap:36px;}
  .proj-conducao{position:static;}
  .proj-temas{grid-template-columns:1fr;gap:0;max-width:none;}
  .proj-destaque{padding:72px 0;}
  .proj-galeria{gap:16px;margin-top:36px;}
  .proj-outros{grid-template-columns:1fr 1fr;gap:22px;}
  .proj-servicos{grid-template-columns:1fr;gap:26px;}
  .proj-clientes{grid-template-columns:1fr 1fr;}
  .lb-ant{left:10px;}
  .lb-prox{right:10px;}
}

@media (max-width:560px){
  .proj-outros{grid-template-columns:1fr;}
  /* no celular a galeria vira uma faixa com deslize lateral: cada foto ocupa 84% da largura e a seguinte aparece na borda */
  .proj-galeria{display:flex;align-items:flex-start;gap:12px;margin:32px -28px 0;padding:0 28px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:28px;overscroll-behavior-x:contain;scrollbar-width:none;}
  .proj-galeria::-webkit-scrollbar{display:none;}
  .proj-foto{flex:0 0 84%;scroll-snap-align:start;border-radius:16px;}
  .proj-foto:focus-visible{outline-offset:-3px;}
  .proj-lightbox{padding:16px;}
  .lb-fechar{top:12px;right:12px;}
  .lb-ant,.lb-prox{top:auto;bottom:16px;transform:none;}
  .lb-ant{left:calc(50% - 58px);}
  .lb-prox{right:calc(50% - 58px);}
}

@media (prefers-reduced-motion:reduce){
  .proj-lightbox img{animation:none;}
  .entrada-suave{opacity:1;transform:none;}
}
