.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.portfolio-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid var(--line);border-radius:4px;overflow:hidden}
.card-visual{display:block;height:clamp(10rem,17vw,13.5rem);background:#eaf0fc;overflow:hidden}
.card-visual img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center top;transition:transform .25s ease}
.card-visual:hover img{transform:scale(1.03)}
#mesos .card-visual img{object-position:center center}
#conoscenza .card-visual img{object-position:left top}
.card-body{display:flex;flex:1;flex-direction:column;padding:1.5rem}
.card-kicker{display:block;font:.76rem/1.4 var(--mono);text-transform:uppercase;letter-spacing:.045em;color:var(--blue);margin-bottom:.75rem}
.portfolio-card h3{font-size:1.6rem;margin:0 0 .75rem}
.portfolio-card p{color:var(--muted);margin-bottom:1.2rem}
.portfolio-card p strong{color:var(--ink)}
.portfolio-card .card-body>a{margin-top:auto;font-weight:600}
.card-result{display:flex;align-items:center;justify-content:center;gap:clamp(.7rem,2vw,1.7rem);height:clamp(10rem,17vw,13.5rem);background:#eaf0fc;color:var(--blue);font:clamp(2.3rem,5vw,4.5rem)/1 var(--display);letter-spacing:-.06em}
.card-result .card-arrow{font-size:.55em;color:var(--ink)}
.method-route{padding-block:0 2.2rem;scroll-margin-top:6rem}
.method-route a{font-weight:600}
.prototype-feature{padding-top:0}
.prototype-feature .section-head{border-top-color:var(--line)}
.prototype-card{border-left:1px solid var(--line);background:transparent;padding:1.5rem}
.prototype-card h3{font-size:clamp(1.5rem,2.4vw,2rem)}
.prototype-problem p{font-size:.98rem;color:var(--muted)}
@media(max-width:800px){.portfolio-grid{grid-template-columns:1fr}.card-visual,.card-result{height:12rem}}
#revisione-umana .card-visual img{object-position:center 12%}
.method-route#metodo{max-width:1200px;margin:auto;padding-inline:clamp(1.2rem,4vw,3rem);padding-block:1.6rem 2.6rem}

#inbox-triage .card-visual img{object-position:center 12%}

@media(min-width:801px){.stack-section .skill-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
