/* NV. FACE LAB portfolio add-on — scoped, no changes to existing site components. */
.nvfl-portfolio-card{--nvfl-navy:#080d1b;--nvfl-blue:#4d8dff;--nvfl-cyan:#4de0ff;position:relative;display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);overflow:hidden;isolation:isolate;margin:clamp(28px,5vw,52px) 0;border:1px solid rgba(77,141,255,.24);border-radius:24px;background:linear-gradient(136deg,#101b32,#080d1b 72%);color:#f3f8ff;box-shadow:0 18px 56px rgba(0,5,18,.25)}
.nvfl-portfolio-card *{box-sizing:border-box}
.nvfl-portfolio-media{position:relative;min-height:340px;overflow:hidden;background:#080d1b}
.nvfl-portfolio-media>a{display:block;width:100%;height:100%;position:relative}
.nvfl-portfolio-media img{display:block;width:100%;height:100%;min-height:340px;object-fit:cover;object-position:center center;transition:transform .65s ease,filter .65s ease}
.nvfl-portfolio-media a:hover img{transform:scale(1.028)}
.nvfl-portfolio-media:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(8,13,27,.7),transparent 43%)}
.nvfl-image-label{position:absolute;left:22px;bottom:22px;z-index:2;pointer-events:none;max-width:calc(100% - 48px);font:700 10px/1.4 ui-monospace,Consolas,monospace;letter-spacing:.11em;color:#dcf9ff}
.nvfl-image-link{position:absolute;right:18px;top:18px;z-index:2;background:rgba(8,13,27,.9);border:1px solid rgba(77,224,255,.4);border-radius:999px;padding:9px 13px;font:700 10px/1.2 ui-monospace,Consolas,monospace;letter-spacing:.08em;color:#8ef0ff}
.nvfl-portfolio-content{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:0;padding:clamp(24px,4.1vw,52px)}
.nvfl-kicker{display:flex;align-items:center;gap:9px;font:700 10px/1.6 ui-monospace,Consolas,monospace;letter-spacing:.1em;color:#8fc9dc}
.nvfl-status-dot{width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:var(--nvfl-cyan);box-shadow:0 0 12px rgba(77,224,255,.6)}
.nvfl-portfolio-content h3{font:800 clamp(28px,3.2vw,46px)/1.1 system-ui,-apple-system,'Segoe UI',sans-serif;letter-spacing:-.045em;color:#f4f8ff;margin:18px 0 14px}
.nvfl-period{color:var(--nvfl-cyan)}
.nvfl-portfolio-content h3 small{font:600 .4em/1.2 ui-monospace,Consolas,monospace;letter-spacing:0;color:#8fa9cb;white-space:nowrap}
.nvfl-portfolio-content p{max-width:49ch;margin:0 0 24px;color:#b1c5de;font:400 14px/1.85 system-ui,-apple-system,'Segoe UI',sans-serif}
.nvfl-tech{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px}
.nvfl-tech span{padding:7px 10px;border:1px solid rgba(77,141,255,.24);border-radius:6px;color:#a9dff0;font:650 10px/1.2 ui-monospace,Consolas,monospace;letter-spacing:.03em}
.nvfl-portfolio-footer{display:flex;flex-direction:column;width:100%;gap:20px;margin-top:auto}
.nvfl-attribution{color:#7f9fbb;font:600 10px/1.55 ui-monospace,Consolas,monospace;letter-spacing:.06em}
.nvfl-attribution strong{display:block;font:700 13px/1.5 system-ui,-apple-system,'Segoe UI',sans-serif;letter-spacing:normal;color:#e1edff}
.nvfl-links{display:flex;gap:10px;flex-wrap:wrap}
.nvfl-links a{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:12px 15px;border-radius:7px;font:700 12px/1.2 system-ui,-apple-system,'Segoe UI',sans-serif;text-decoration:none;transition:background .2s ease,border-color .2s ease,transform .2s ease}
.nvfl-links a:hover{transform:translateY(-2px)}
.nvfl-link-primary{background:var(--nvfl-blue);border:1px solid var(--nvfl-blue);color:#071020!important}
.nvfl-link-primary:hover{background:var(--nvfl-cyan);border-color:var(--nvfl-cyan)}
.nvfl-link-secondary{background:transparent;border:1px solid rgba(119,177,245,.4);color:#d2e7ff!important}
.nvfl-link-secondary:hover{border-color:var(--nvfl-cyan);background:rgba(77,224,255,.08)}
.nvfl-portfolio-card a:focus-visible{outline:2px solid #4de0ff;outline-offset:4px}
@media(max-width:900px){.nvfl-portfolio-card{grid-template-columns:1fr}.nvfl-portfolio-media,.nvfl-portfolio-media img{min-height:240px;max-height:390px}.nvfl-portfolio-content{padding:clamp(20px,5vw,36px)}}
@media(max-width:500px){.nvfl-portfolio-card{border-radius:15px}.nvfl-portfolio-content h3{font-size:30px}.nvfl-image-label{left:14px;bottom:14px;font-size:9px}.nvfl-image-link{top:12px;right:12px}.nvfl-portfolio-media,.nvfl-portfolio-media img{min-height:210px}.nvfl-links a{flex:1 1 145px}}
@media(prefers-reduced-motion:reduce){.nvfl-portfolio-card *{animation:none!important;transition:none!important}.nvfl-links a:hover{transform:none}}

/* Flow naturally as fourth item in existing project collection. */
.nv-work-collection-grid>.nvfl-portfolio-card{margin:0;min-width:0}

/* The project screenshot is an actual widescreen capture; show it in full rather than cropping the headline. */
.nvfl-portfolio-media{background:radial-gradient(ellipse at 62% 48%,rgba(77,141,255,.13),transparent 72%),#080d1b}
.nvfl-portfolio-media img{object-fit:contain;object-position:center;padding:clamp(10px,2vw,18px)}
@media(max-width:500px){.nvfl-portfolio-media img{padding:8px}}
