/* =========================================================
   LOGO GMP (todas las páginas)
   ========================================================= */
.brand img.brand__logo { width: auto; height: 42px; border-radius: 0; background: none; padding: 0; transition: filter .35s; }
.header--over:not(.is-solid) .brand__logo, .header.menu-open .brand__logo { filter: brightness(0) invert(1); }
.footer__logo { height: 56px; width: auto; margin-bottom: .9rem; }

  /* ---------- proyectos (casos de estudio) ---------- */
  @keyframes marqueeProjects{from{transform:translateX(0)}to{transform:translateX(-50%)}}
  .marquee-projects{animation:marqueeProjects 28s linear infinite}
  .marquee-projects:hover{animation-play-state:paused}
  @keyframes pjBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
  .pj{position:relative;background:#fff;color:#000;font-family:'DM Sans',sans-serif;--pj-ease:cubic-bezier(.22,1,.36,1)}
  .pj *{box-sizing:border-box}
  .pj h2,.pj h3{text-transform:none;font-family:'DM Sans',sans-serif}
  .pj-top{position:relative;padding:128px 24px 40px}
  .pj-float{pointer-events:none;position:absolute;inset:0;overflow:hidden}
  .pj-fsq{position:absolute;will-change:transform}
  .pj-fsq i{display:block;width:100%;height:100%;background:#000;animation:pjBob var(--d) ease-in-out var(--dl) infinite}
  .pj-head{position:relative;max-width:1280px;margin:0 auto;text-align:center}
  .pj-badge{display:inline-block;margin-bottom:20px;background:#000;color:#fff;padding:6px 16px;font-size:13px;font-weight:500;letter-spacing:.025em}
  .pj-title{margin:0;font-size:clamp(1.8rem,3.2vw,2.8rem);font-weight:300;line-height:1.25;letter-spacing:-.025em;color:#000;font-family:'DM Sans',sans-serif}
  .pj-dim{color:rgba(0,0,0,.4)}
  .pj-rv{opacity:0;transform:translateY(24px);transition:opacity .7s var(--pj-ease),transform .7s var(--pj-ease)}
  .pj-card.pj-rv{transform:translateY(30px)}
  .pj-rv.in{opacity:1;transform:none}

  .pj-gridwrap{max-width:1280px;margin:0 auto;padding:0 24px 64px}
  .pj-grid{display:grid;gap:16px}
  .pj-card{position:relative;overflow:hidden;aspect-ratio:4/3;background:#111;display:block;color:inherit;text-decoration:none}
  .pj-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .pj-px{position:absolute;inset:0;pointer-events:none}
  .pj-px span{position:absolute;width:calc(100%/12 + 1px);height:calc(100%/8 + 1px);background:rgba(0,0,0,.8);transform:scale(0);opacity:0;
    transition:transform .25s var(--pj-ease) var(--do),opacity .25s var(--pj-ease) var(--do)}
  .pj-card:hover .pj-px span{transform:scale(1);opacity:1;transition-delay:var(--di)}
  .pj-mag{position:absolute;background:#000;pointer-events:none;will-change:transform}
  .pj-plus{display:flex;align-items:center;justify-content:center;width:28px;height:28px;font-size:12px;line-height:1}
  .pj-card .pj-plus{position:absolute;right:16px;top:16px;border:1px solid rgba(255,255,255,.3);color:#fff;z-index:10}
  .pj-info{position:absolute;bottom:0;left:0;background:#fff;padding:10px 16px 12px;z-index:20;max-width:70%}
  .pj-info h3{margin:0;font-family:'DM Sans',sans-serif;font-size:clamp(1.4rem,2.2vw,2rem);font-weight:400;line-height:1.25;color:#000;letter-spacing:-.01em}
  .pj-meta{margin-top:6px;display:flex;gap:16px;font-size:12px}
  .pj-meta span:first-child{color:rgba(0,0,0,.6)}
  .pj-meta span:last-child{color:#000;font-weight:500}

  .pj-foot{max-width:1280px;margin:0 auto;padding:0 24px 24px;display:flex;flex-direction:column}
  .pj-left{max-width:28rem}
  .pj-plus-dark{margin-bottom:16px;border:1px solid rgba(0,0,0,.2);color:#000}
  .pj-left p{margin:0;font-size:14px;line-height:1.7;color:rgba(0,0,0,.6)}
  .pj-cta{margin-top:24px;display:inline-flex;align-items:flex-end;text-decoration:none}
  .pj-cta-label{display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(0,0,0,.2);background:#000;padding:8px 12px;font-size:16px;font-weight:500;color:#fff;transition:background .2s}
  .pj-cta:hover .pj-cta-label{background:rgba(0,0,0,.85)}
  .pj-cta-arrow{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:#000;margin-bottom:24px;transition:all .3s var(--pj-ease)}
  .pj-cta:hover .pj-cta-arrow{margin-bottom:36px}
  .pj-right{flex:1;overflow:hidden;border-top:1px solid rgba(0,0,0,.1);margin-top:32px}
  .pj-marquee{overflow:hidden;padding:20px 0}
  .pj-track{display:flex;width:max-content}
  .pj-logo{display:flex;flex-shrink:0;align-items:center;gap:10px;padding:0 32px}
  .pj-logo b{white-space:nowrap;font-size:14px;font-weight:500;letter-spacing:.025em;color:rgba(0,0,0,.8)}
  .pj-spacer{height:48px}

  @media (min-width:640px){.pj-top{padding-left:40px;padding-right:40px}.pj-gridwrap,.pj-foot{padding-left:40px;padding-right:40px}}
  @media (min-width:768px){.pj-grid{grid-template-columns:1fr 1fr}
    .pj-foot{flex-direction:row;align-items:flex-end;justify-content:space-between}
    .pj-right{border-top:0;margin-top:0;margin-left:48px}}
  @media (min-width:1024px){.pj-top{padding:160px 64px 40px}.pj-gridwrap,.pj-foot{padding-left:64px;padding-right:64px}}
  @media (prefers-reduced-motion:reduce){
    .marquee-projects,.pj-fsq i{animation:none}
    .pj-rv{opacity:1;transform:none;transition:none}
  }
