/* Catálogo compacto; cada projeto abre a sua própria prévia desktop/celular. */
.nc-portfolio-grid{display:block;min-width:0}
.nc-project-card{display:flex;flex-direction:column;position:relative;min-width:0;padding:0;overflow:hidden;text-align:left;border:1px solid #B8C5BD;border-radius:15px;background:#F8F5EC;box-shadow:0 8px 20px #1836400C;transition:transform .25s,box-shadow .25s}
.nc-project-card:hover{transform:translateY(-4px);box-shadow:0 14px 24px #18364018}
.nc-project-card>img{width:100%;aspect-ratio:1.64;object-fit:cover;object-position:top center;border-bottom:1px solid #CBD0C9}
.nc-project-card-copy{display:flex;flex-direction:column;gap:7px;padding:17px 18px 18px;flex:1}
.nc-project-card-copy>small{font:400 8px/1.6 var(--font-mono);letter-spacing:.08em;color:#54676A}
.nc-project-card-copy>strong{font:600 clamp(18px,1.8vw,24px)/1.15 var(--font-strong);letter-spacing:-.035em;color:var(--ink)}
.nc-project-card-copy>span{font-size:11px;line-height:1.6;color:#54676A;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:5px}
.nc-project-card-copy b{font-size:20px;line-height:1;font-weight:400;color:var(--blue)}
.nc-portfolio-note{grid-column:1/-1;font-size:11px;color:var(--muted);line-height:1.8;margin-top:-3px}
.nc-preview-dialog{width:min(1040px,calc(100vw - 40px));max-width:none;max-height:calc(100dvh - 40px);padding:0;border-radius:18px;overflow:auto;background:#F4F1E8;border:1px solid #A9BDB4;box-shadow:0 30px 100px #18364040;color:var(--ink)}
.nc-preview-dialog::backdrop{background:#18364088;backdrop-filter:blur(7px)}
.nc-preview-head{position:relative;padding:23px 72px 17px 25px;border-bottom:1px solid #CBD0C9;display:flex;justify-content:space-between;align-items:center;gap:20px}
.nc-preview-head h2{font:600 29px/1.15 var(--font-strong);letter-spacing:-.035em}
.nc-preview-head p{font:400 10px/1.7 var(--font-mono);color:#54676A;margin-top:6px}
.nc-preview-head>.nc-dialog-close{right:16px;top:20px}
.nc-preview-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 25px;background:#F8F5EC}
.nc-preview-controls>div{display:flex;gap:5px;align-items:center}
.nc-preview-mode{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:9px 15px;border:1px solid transparent;background:transparent;border-radius:8px;font-size:12px;color:#54676A}
.nc-preview-mode[aria-pressed=true]{background:var(--blue);color:#F4F1E8;box-shadow:inset 0 1px 0 #FFFFFF30}
.nc-preview-mode>svg{width:17px;height:17px;flex:none}
.nc-preview-controls>span{font:400 9px/1.6 var(--font-mono);color:#54676A}
.nc-preview-canvas{padding:20px 24px;max-height:54dvh;min-height:240px;overflow:auto;overscroll-behavior:contain;background:#DDE4DD;display:flex;flex-direction:column;align-items:center}
.nc-preview-screen{width:100%;max-width:900px;background:#F4F1E8;border:1px solid #A3B6AD;border-radius:9px;box-shadow:0 9px 25px #18364020;overflow:hidden;flex:none}
.nc-preview-screen img{width:100%;height:auto;display:block}
.nc-preview-screen[data-device=mobile]{width:min(100%,310px);border:7px solid #253B3D;border-radius:23px}
.nc-preview-foot{padding:18px 25px 22px;display:flex;justify-content:space-between;align-items:center;gap:25px}
.nc-preview-foot p{font-size:12px;line-height:1.8;color:#54676A;max-width:570px}
.nc-preview-foot .nc-button{flex:none;font-size:12px;min-height:44px;padding:11px 16px;gap:20px}
@media(max-width:1150px){.nc-portfolio-grid{gap:15px}.nc-project-card-copy{padding:14px}.nc-project-card-copy>strong{font-size:21px}}
@media(max-width:650px){.nc-portfolio-grid{gap:12px}.nc-project-card{border-radius:12px}.nc-project-card-copy{padding:12px 11px;gap:6px}.nc-project-card-copy>small{font-size:7px;letter-spacing:.03em}.nc-project-card-copy>strong{font-size:19px}.nc-project-card-copy>span{font-size:10px;gap:6px}.nc-preview-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:14px}.nc-preview-head{padding:19px 58px 15px 18px}.nc-preview-head h2{font-size:23px}.nc-preview-head p{font-size:8px}.nc-preview-head>.nc-dialog-close{right:8px;top:13px}.nc-preview-controls{padding:12px 16px;gap:10px;flex-wrap:wrap}.nc-preview-mode{font-size:11px;padding:9px 12px;min-height:44px}.nc-preview-controls>span{font-size:8px}.nc-preview-canvas{padding:16px 12px;max-height:49dvh;min-height:160px}.nc-preview-foot{padding:16px 18px 19px;flex-direction:column;align-items:stretch;gap:14px}.nc-preview-foot p{font-size:11px}.nc-preview-foot .nc-button{width:100%}}
@media(prefers-reduced-motion:reduce){.nc-project-card{transition:none}.nc-project-card:hover{transform:none}}

/* Mesma grade aprovada: duas linhas e duas colunas visíveis; o trilho avança por coluna. */
.nc-portfolio-track{position:relative;display:grid;grid-template-rows:repeat(2,minmax(0,1fr));grid-auto-columns:calc((100% - 20px)/2);align-items:stretch;gap:20px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-left:4px;scrollbar-width:thin;scrollbar-color:#7D9488 transparent;padding:4px 4px 16px;min-width:0}
.nc-portfolio-track>.nc-project-card{width:100%;height:100%;scroll-snap-align:start;scroll-snap-stop:always;}
.nc-portfolio-track:focus-visible,.nc-project-card:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.nc-portfolio-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px}
.nc-portfolio-controls>span{font:400 10px/1.6 var(--font-mono);color:var(--ink)}
.nc-portfolio-controls>div{display:flex;gap:7px}
.nc-portfolio-controls button{width:44px;height:44px;border:1px solid #AABCB2;border-radius:50%;background:#F8F5EC;color:var(--ink);font-size:20px}
.nc-portfolio-controls button:disabled{opacity:.35;cursor:default}
.nc-portfolio-controls button[hidden]{display:none}
.nc-portfolio-controls button:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.nc-portfolio-controls~.nc-portfolio-note{margin-top:12px}
@media(max-width:650px){.nc-portfolio-track{gap:12px;grid-auto-columns:calc((100% - 12px)/2)}.nc-portfolio-controls>span{font-size:9px}.nc-portfolio-controls~.nc-portfolio-note{font-size:10px;line-height:1.7}}
