.portfolio .wrap{max-width:1280px;}.portfolio .company-intro{padding-bottom:34px;}.portfolio-note{max-width:650px;font-size:12px;line-height:1.7;color:var(--ink-soft);margin-top:14px;}.project-section{padding-bottom:52px;}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 30px;}.project{min-width:0;}.project-cover{display:block;border:0;padding:0;background:transparent;width:100%;height:230px;cursor:zoom-in;}.project-cover img{width:100%;height:100%;object-fit:contain;}.project-place{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--red);margin:18px 0 8px;}.project h2{font-size:27px;line-height:1.15;margin:0 0 12px;}.project-description{font-size:13px;line-height:1.7;color:var(--ink-soft);}.project-open{border:0;border-bottom:1px solid var(--line);padding:10px 0;background:transparent;color:var(--red);font:600 13px 'Inter',sans-serif;min-height:44px;margin-top:8px;cursor:pointer;}.project-open:hover{border-color:var(--red);}.project-cover:focus-visible,.project-open:focus-visible{outline:3px solid var(--red);outline-offset:4px;}.project-dialog .work-dialog-head{align-items:flex-start;}.project-dialog #album-title{font-size:22px;line-height:1.2;margin:8px 0;}.project-dialog .work-close{flex-shrink:0;}.project-dialog #work-preview{height:calc(100dvh - 245px);}.project-dialog #work-counter{font-size:13px;white-space:nowrap;}.project-dialog [hidden]{display:none!important;}
@media(max-width:1000px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 28px;}}
@media(max-width:640px){.project-grid{grid-template-columns:1fr;gap:36px;}.project-cover{height:auto;max-height:230px;}.project-cover img{width:100%;height:auto;max-height:230px;object-fit:contain;}.project-place{margin-top:14px;}.project h2{font-size:28px;}.project-section{padding-bottom:32px;}.project-dialog #album-title{font-size:18px;}.project-dialog #work-preview{height:calc(100dvh - 270px);}.project-dialog .work-dialog-controls{gap:8px;}.project-dialog .work-dialog-controls button{padding:10px;}}

/* Album con numeri permanenti e miniature scorrevoli. */
.project-dialog{width:min(1180px,calc(100% - 24px));height:calc(100dvh - 24px);max-height:calc(100dvh - 24px);padding:16px 20px;overflow:auto;}
.project-dialog[open]{display:grid;grid-template-rows:auto minmax(80px,1fr) auto auto auto;gap:10px;}
.project-dialog .work-dialog-head{margin:0;gap:16px;}.project-dialog #album-title{margin:6px 0;}.project-dialog #work-preview{width:100%;height:100%;min-height:0;max-height:100%;object-fit:contain;}
.work-description{min-width:0;}.project-dialog #work-caption{margin:3px 0 0;font-size:13px;line-height:1.45;}.project-dialog #work-group{font-size:11px;color:var(--ink-soft);}.project-dialog .work-dialog-controls{min-width:0;gap:16px;}.project-dialog #work-counter{min-width:62px;text-align:center;font-variant-numeric:tabular-nums;}
.work-filmstrip{position:relative;display:flex;gap:8px;min-width:0;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;padding:4px 2px 8px;scrollbar-width:thin;}
.project-dialog .work-thumbnail{flex:0 0 88px;min-width:88px;min-height:80px;padding:3px;border:1px solid var(--line);background:var(--paper);color:var(--ink);display:flex;flex-direction:column;align-items:center;gap:3px;}
.work-thumbnail img{width:80px;height:54px;object-fit:contain;}.work-thumbnail span{font-size:12px;line-height:1.4;font-variant-numeric:tabular-nums;}.project-dialog .work-thumbnail[aria-current="true"]{border:2px solid var(--red);padding:2px;color:var(--red);}.project-dialog .work-thumbnail:focus-visible{outline:2px solid var(--red);outline-offset:0;}
@media(max-width:640px){.project-dialog{width:calc(100% - 12px);height:calc(100dvh - 12px);max-height:calc(100dvh - 12px);padding:10px;}.project-dialog[open]{gap:8px;}.project-dialog #album-title{font-size:17px;}.project-dialog .work-dialog-head{gap:8px;}.project-dialog .work-dialog-controls{gap:8px;}.project-dialog .work-dialog-controls button{padding:10px;}.project-dialog #work-preview{height:100%;}}
@media(max-height:500px){.project-dialog{padding:8px 12px;}.project-dialog[open]{gap:4px;}.project-dialog #album-title{font-size:16px;}.project-dialog #work-caption{font-size:12px;}.project-dialog .work-thumbnail{min-height:60px;}.work-thumbnail img{height:34px;}.work-filmstrip{padding-bottom:4px;}}

.project-work{margin-top:16px;}.project-work h3{font:600 12px/1.5 Inter,sans-serif;letter-spacing:0;margin:0 0 7px;color:var(--ink);}.project-work ul{padding-left:17px;margin:0;color:var(--ink-soft);font-size:13px;line-height:1.65;}.project-work li{padding-left:2px;margin-bottom:3px;}

/* D066: foto satinate realizzate tramite image_gen, album in attesa. */
.project-pending{position:relative;display:block;height:230px;background:transparent;cursor:default;}
.project-pending img{display:block;width:100%;height:100%;object-fit:contain;}
.project-pending span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);white-space:nowrap;padding:8px 13px;border-radius:2px;background:rgba(255,255,255,.88);color:var(--ink);font-size:14px;opacity:0;transition:opacity .2s ease;}
.project-pending:hover span,.project-pending:focus span{opacity:1;}
.project-pending-status{font-size:13px;color:var(--ink-soft);margin-top:18px;line-height:1.5;}
@media(hover:none),(pointer:coarse){.project-pending span{opacity:1;}}
@media(max-width:640px){.project-pending{height:auto;max-height:230px;}.project-pending img{height:auto;max-height:230px;object-fit:contain;}.project-pending span{opacity:1;}}
@media(prefers-reduced-motion:reduce){.project-pending span{transition:none;}}
