  .nav-links a.active{color:var(--mustard-bright);}
  @media (max-width:900px){.nav-mobile-hide{display:none;}}

  /* HERO PORTAFOLIO */
  .pf-hero{position:relative;padding:196px 0 80px;overflow:hidden;border-bottom:1px solid var(--line);}
  .pf-hero-top{display:grid;grid-template-columns:1.3fr 0.7fr;gap:40px;align-items:end;}
  @media (max-width:860px){.pf-hero-top{grid-template-columns:1fr;}}
  .pf-hero h1{font-size:clamp(32px,4.4vw,52px);font-weight:600;line-height:1.1;color:var(--white);}
  .pf-hero h1 em{font-style:normal;color:var(--mustard-bright);}
  .pf-hero-note{font-size:14.5px;color:var(--gray-500);max-width:320px;}

  .pf-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:56px;}
  @media (max-width:760px){.pf-stats{grid-template-columns:repeat(2,1fr);}}
  .pf-stat{background:var(--graphite-950);padding:26px 24px;}
  .pf-stat .num{font-family:'Space Grotesk',sans-serif;font-size:32px;font-weight:600;}
  .pf-stat .num span{color:var(--mustard);}
  .pf-stat .label{font-size:12px;color:var(--gray-600);margin-top:6px;}

  /* GRID */
  .pf-grid-section{padding:70px 0 110px;}
  .pf-grid-section .eyebrow{margin-bottom:22px;}
  .pf-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
  @media (max-width:900px){.pf-grid{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:620px){.pf-grid{grid-template-columns:1fr;}}

  .pf-card{
    background:var(--graphite-950);display:flex;flex-direction:column;cursor:pointer;
    transition:background .25s ease;opacity:0;transform:translateY(16px);
    animation:cardin .5s ease forwards;
  }
  .pf-card.hide{display:none;}
  @keyframes cardin{to{opacity:1;transform:none;}}
  .pf-card:hover{background:var(--graphite-900);}
  .pf-card:hover .pf-thumb svg .draw{stroke:var(--mustard-bright);}
  .pf-thumb{
    aspect-ratio:4/3;position:relative;overflow:hidden;
    background:linear-gradient(135deg,var(--graphite-900),var(--graphite-850));
    display:flex;align-items:center;justify-content:center;
    border-bottom:1px solid var(--line);
  }
  .pf-thumb svg{width:62%;height:62%;opacity:.85;}
  .pf-thumb svg .draw{stroke:var(--gray-500);transition:stroke .3s ease;}
  .pf-thumb .pf-sector-tag{
    position:absolute;top:12px;left:12px;font-family:'IBM Plex Mono',monospace;font-size:10.5px;
    color:var(--mustard-bright);background:rgba(0,0,0,.5);padding:4px 9px;letter-spacing:.04em;
  }
  .pf-thumb .pf-year{
    position:absolute;top:12px;right:12px;font-family:'IBM Plex Mono',monospace;font-size:10.5px;
    color:var(--gray-300);background:rgba(0,0,0,.5);padding:4px 9px;
  }
  .pf-body{padding:26px 26px 28px;flex:1;display:flex;flex-direction:column;}
  .pf-body h3{font-size:17px;font-weight:600;margin-bottom:10px;color:var(--white);}
  .pf-body p{font-size:13.5px;color:var(--gray-500);flex:1;margin-bottom:18px;}
  .pf-meta{display:flex;gap:16px;font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--gray-600);margin-bottom:16px;flex-wrap:wrap;}
  .pf-meta span{display:flex;align-items:center;gap:5px;}
  .pf-meta span::before{content:'—';color:var(--mustard-dim);}
  .pf-link{
    font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--mustard-bright);
    display:inline-flex;align-items:center;gap:8px;
  }
  .pf-card:hover .pf-link{text-decoration:underline;}

  /* MODAL DETALLE */
  .modal-overlay{
    display:none;position:fixed;inset:0;z-index:300;background:rgba(6,7,8,.82);
    align-items:flex-start;justify-content:center;padding:60px 24px;overflow-y:auto;
  }
  .modal-box{
    background:var(--graphite-900);border:1px solid var(--line);max-width:760px;width:100%;
    position:relative;
  }
  .modal-close{
    position:absolute;top:16px;right:16px;background:var(--graphite-950);border:1px solid var(--line);color:var(--gray-500);
    font-size:18px;cursor:pointer;line-height:1;font-family:'IBM Plex Mono',monospace;
    width:34px;height:34px;z-index:5;
  }
  .modal-close:hover{color:var(--white);border-color:var(--mustard-dim);}
  .modal-visual{
    aspect-ratio:16/9;background:linear-gradient(135deg,var(--graphite-900),var(--graphite-800));
    display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--line);
  }
  .modal-visual svg{width:46%;height:46%;}
  .modal-content{padding:36px;}
  .modal-content .eyebrow{margin-bottom:14px;}
  .modal-content h3{font-size:24px;font-weight:600;margin-bottom:14px;}
  .modal-content .desc{font-size:14.5px;color:var(--gray-300);margin-bottom:26px;}
  .modal-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:26px;}
  @media (max-width:560px){.modal-stats{grid-template-columns:repeat(2,1fr);}}
  .modal-stats div{background:var(--graphite-900);padding:16px 14px;}
  .modal-stats .num{font-family:'Space Grotesk',sans-serif;font-size:19px;font-weight:600;color:var(--white);}
  .modal-stats .label{font-size:10.5px;color:var(--gray-600);margin-top:4px;font-family:'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.05em;}
  .modal-content .btn-primary{font-size:13.5px;padding:13px 22px;}


  /* CTA FINAL */
  .cta-final{text-align:center;padding:120px 0;border-top:1px solid var(--line);}
  .cta-final h2{font-size:clamp(26px,4vw,42px);font-weight:600;max-width:600px;margin:0 auto 20px;}
  .cta-final p{color:var(--gray-500);margin-bottom:32px;}
  .cta-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}


  @media (max-width:900px){
    .pf-hero{padding:154px 0 68px;}
    .pf-hero-top{gap:28px;}
    .pf-grid-section{padding:56px 0 86px;}
    .pf-body{padding:24px 22px 26px;}
    .modal-overlay{padding:42px 20px;}
  }

  @media (max-width:640px){
    .pf-hero{padding:132px 0 56px;}
    .pf-hero h1{font-size:clamp(30px,10vw,40px);}
    .pf-hero-note{max-width:none;}
    .pf-stats{grid-template-columns:1fr;}
    .pf-stat{padding:22px 20px;}
    .pf-grid-section{padding:44px 0 72px;}
    .pf-body{padding:22px 20px 24px;}
    .modal-overlay{padding:24px 14px;}
    .modal-content{padding:28px 20px;}
    .modal-visual{aspect-ratio:4/3;}
    .modal-content .btn-primary{width:100%;justify-content:center;}
    .cta-final{padding:78px 0;}
  }
  /* REAL PROJECT MEDIA */
  .pf-card:hover .pf-thumb img{transform:scale(1.035);filter:saturate(1.05) contrast(1.02);}
  .pf-thumb::after{
    content:'';position:absolute;inset:0;
    background:linear-gradient(180deg,rgba(0,0,0,.16),rgba(0,0,0,.5));
    pointer-events:none;
  }
  .pf-thumb img{
    width:100%;height:100%;object-fit:cover;display:block;
    transition:transform .45s ease, filter .45s ease;
  }
  .pf-thumb .pf-sector-tag,.pf-thumb .pf-year{z-index:2;}
  .modal-visual{
    display:block;aspect-ratio:auto;background:var(--graphite-950);border-bottom:1px solid var(--line);
  }
  .modal-cover{
    width:100%;height:auto;max-height:62vh;object-fit:contain;display:block;background:var(--graphite-950);
  }
  .modal-gallery{
    display:grid;grid-template-columns:repeat(auto-fill,minmax(82px,1fr));gap:1px;background:var(--line);border-top:1px solid var(--line);
    max-height:168px;overflow-y:auto;
  }
  .modal-gallery button{
    aspect-ratio:4/3;border:0;background:var(--graphite-950);padding:0;cursor:pointer;opacity:.58;
    transition:opacity .2s ease, outline-color .2s ease;
    outline:2px solid transparent;outline-offset:-2px;
  }
  .modal-gallery button:hover,.modal-gallery button.active{opacity:1;outline-color:var(--mustard);}
  .modal-gallery img{width:100%;height:100%;object-fit:cover;display:block;}
  .modal-stats{grid-template-columns:repeat(2,1fr);}
  .modal-stats .num{font-size:15px;line-height:1.35;word-break:normal;overflow-wrap:anywhere;}

  @media (max-width:640px){
    .modal-cover{max-height:50vh;}
    .modal-gallery{grid-template-columns:repeat(auto-fill,minmax(68px,1fr));max-height:146px;}
    .modal-stats{grid-template-columns:1fr;}
  }
