:root{--paper:#f5f4f0;--ink:#242622;--muted:#65665f;--line:#d8d8d0}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font:14px/1.5 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid #6a714d;outline-offset:6px}button{border:0;background:none}header{display:flex;align-items:center;justify-content:space-between;padding:25px 4%;gap:20px}.signature{font:29px/1 Georgia,serif;letter-spacing:-1.3px}nav{display:flex;gap:27px}nav a{padding:10px 0;color:var(--muted)}nav a[aria-current=page]{color:var(--ink);text-decoration:underline;text-underline-offset:7px}.skip{position:absolute;left:15px;top:-80px;background:white;padding:12px;z-index:5}.skip:focus{top:12px}main{min-height:75vh}.eyebrow,.meta,.counter{font-size:11px;letter-spacing:.04em}.intro{margin:35px 4% 28px;display:flex;align-items:end;justify-content:space-between;border-top:1px solid var(--line);padding-top:13px}.intro h1{font:normal clamp(36px,5vw,78px)/1.06 Georgia,serif;letter-spacing:-.045em;margin:10px 0 0}.intro p{margin:0;color:var(--muted)}.editorial{display:grid;grid-template-columns:repeat(12,1fr);gap:75px 3%;padding:20px 4% 80px}.work{display:block;grid-column:span 5;margin:0;align-self:start}.work:nth-child(6n+1){grid-column:1/9}.work:nth-child(6n+2){grid-column:10/13;margin-top:30%}.work:nth-child(6n+3){grid-column:2/6;margin-top:5%}.work:nth-child(6n+4){grid-column:8/12;margin-top:35%}.work:nth-child(6n+5){grid-column:1/6}.work:nth-child(6n){grid-column:7/13;margin-top:18%}.work img{display:block;width:100%;height:auto;transition:filter .25s}.work:hover img{filter:brightness(.94)}.work figcaption{display:flex;justify-content:space-between;gap:12px;margin-top:13px;font-size:12px}.work figcaption span:first-child{display:flex;gap:15px}.number{color:var(--muted);font-size:10px}.work .arrow{font-size:18px;line-height:1}.index-head,.project-head,.info{margin:45px 4% 55px}.index-head h1,.project-head h1,.info h1{font:normal clamp(42px,7vw,92px)/1.05 Georgia,serif;letter-spacing:-.045em;margin:20px 0 28px}.filters{display:flex;gap:10px;flex-wrap:wrap}.filters button{padding:10px 17px;border:1px solid var(--line);border-radius:30px}.filters button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.index-list{margin:0 4% 90px}.index-row{display:grid;grid-template-columns:45px 90px 1fr 130px 30px;align-items:center;gap:25px;border-top:1px solid var(--line);padding:17px 0}.index-row:last-child{border-bottom:1px solid var(--line)}.index-row img{width:90px;height:75px;object-fit:contain}.index-row h2{font:normal clamp(20px,2.4vw,34px)/1.2 Georgia,serif;margin:0}.index-row:hover h2{font-style:italic}.index-row .meta{color:var(--muted)}.project-head .topline{display:flex;justify-content:space-between}.project-head h1{max-width:900px}.project-head details{max-width:700px;color:var(--muted)}summary{cursor:pointer;padding:10px 0}.project-gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:65px 4%;padding:0 4%}.photo{grid-column:span 6;margin:0}.photo:first-child,.photo:nth-child(5n){grid-column:2/12}.photo button{display:block;padding:0;width:100%}.photo img{display:block;max-width:100%;max-height:85vh;width:auto;height:auto;margin:auto}.photo figcaption{font-size:11px;color:var(--muted);margin-top:12px;text-align:center}.next-project{display:block;padding:80px 4%}.next-project strong{display:block;font:normal clamp(28px,5vw,58px)/1.2 Georgia,serif;margin-top:16px}.info{display:grid;grid-template-columns:1fr 1fr;gap:9%}.info p{font:24px/1.5 Georgia,serif}.info .contact{display:block;font-size:clamp(17px,2.6vw,34px);margin:40px 0;text-decoration:underline;text-underline-offset:8px;overflow-wrap:anywhere}.info img{width:100%;max-height:70vh;object-fit:contain}.info .meta{font:12px/1.5 Arial,sans-serif}footer{border-top:1px solid var(--line);margin:0 4%;padding:25px 0;display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}dialog{border:0;padding:20px 3%;width:100vw;max-width:none;height:100dvh;max-height:none;background:var(--paper);color:var(--ink)}dialog[open]{display:flex;flex-direction:column}dialog::backdrop{background:var(--paper)}body:has(dialog[open]){overflow:hidden}.viewerbar{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:48px;font-size:12px}.viewerbar button{min-height:44px;padding:8px}.viewerbar button:disabled{opacity:.3;cursor:default}.image-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.image-stage img{max-width:100%;max-height:100%;object-fit:contain}.empty{margin:60px 4%}
@media(max-width:700px){header{padding:20px 5%;align-items:start;gap:12px;flex-wrap:wrap}.signature{font-size:27px}nav{gap:19px;font-size:12px}nav a{padding:6px 0;min-height:36px}.intro{margin:24px 5% 20px;align-items:start}.intro h1{font-size:41px}.intro .eyebrow{max-width:100px;text-align:right;padding-top:8px;font-size:10px}.editorial{display:block;padding:12px 5% 25px}.work,.work:nth-child(n){width:100%;margin:0 0 47px}.work:nth-child(3n+2){width:75%;margin-left:auto}.work:nth-child(3n){width:84%;margin-right:auto}.work figcaption{font-size:12px;gap:5px}.work figcaption span:first-child{gap:10px}.index-head,.project-head{margin:25px 5% 32px}.index-head h1,.project-head h1{font-size:43px}.index-list{margin:0 5% 50px}.index-row{grid-template-columns:22px 54px 1fr 15px;gap:12px}.index-row img{width:54px;height:66px}.index-row h2{font-size:22px}.index-row .meta{display:none}.filters{gap:7px}.filters button{padding:9px 12px;font-size:12px}.project-gallery{display:block;padding:0 5%}.photo{margin:0 0 38px}.photo img{max-height:none;width:100%}.photo figcaption{margin-top:9px}.project-head .topline{font-size:11px}.next-project{padding:30px 5% 50px}.info{display:block;margin:25px 5% 45px}.info h1{font-size:52px}.info p{font-size:22px}.info img{width:72%;margin:20px 0 0 28%}.info .contact{margin:25px 0;font-size:21px}footer{margin:0 5%;font-size:11px}dialog{padding:10px 3%}.viewerbar{font-size:11px}.viewerbar button{padding:8px 2px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* Revisione 02 — home a fotografia singola e provino Overview. */
:root{--paper:#fff;--ink:#181818;--muted:#6b6b6b;--line:#e3e3e3}
header{padding:12px 4%;height:80px;align-items:flex-start}.signature{font:17px/1.4 Arial,Helvetica,sans-serif;letter-spacing:0}nav{gap:30px;font-size:12px}nav a{padding:0 0 12px}nav a[aria-current=page]{text-decoration:none;color:#111;font-weight:600}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body[data-view=home] main{min-height:0}.home-gallery{height:calc(100svh - 132px);min-height:380px;display:flex;flex-direction:column;margin:0 4%}.home-photo{flex:1;min-height:0;display:flex;justify-content:center;align-items:center;padding:35px 6% 65px}.home-photo img{display:block;width:auto;height:auto;max-width:100%;max-height:min(58svh,650px);object-fit:contain}.home-caption{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;min-height:44px;font-size:12px}.home-count{font-size:11px}.home-controls{display:flex;gap:10px}.home-controls button{min-width:44px;min-height:44px;font-size:20px}.home-caption a:hover,#viewer-title a:hover{text-decoration:underline;text-underline-offset:3px}body[data-view=home] footer{padding:15px 0;font-size:11px;height:52px}body[data-view=overview] header{height:60px}.overview{margin:8px 1.5% 65px}.overview-project{margin-bottom:45px}.overview-project h2{font:normal 15px/1.3 Georgia,serif;margin:0 0 10px}.overview-project h2 a:hover{text-decoration:underline}.contact-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:28px 20px}.contact-grid figure{margin:0;min-width:0;display:flex;flex-direction:column}.contact-grid button{padding:0;width:100%;text-align:left;flex:1;display:flex;align-items:flex-start}.contact-grid img{width:100%;height:auto;display:block;transition:opacity .2s}.contact-grid button:hover img{opacity:.8}.contact-grid figcaption{font:12px/1.3 Georgia,serif;margin-top:7px}.overview .contact-grid img{max-height:none}
@media(min-width:1600px){.contact-grid{grid-template-columns:repeat(10,minmax(0,1fr))}}
@media(min-width:701px) and (max-width:1000px){.contact-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:700px){header{height:100px;padding:16px 5%;display:block}.signature{font-size:18px;display:inline-block;margin-bottom:14px}nav{gap:22px;font-size:12px}nav a{min-height:32px;padding:0 0 10px}.home-gallery{height:calc(100svh - 152px);min-height:330px;margin:0 5%}.home-photo{padding:20px 0 32px}.home-photo img{max-width:100%;max-height:calc(100svh - 280px)}.home-caption{grid-template-columns:36px 1fr auto;gap:7px;font-size:11px;min-height:54px}.home-controls{gap:0}.home-controls button{min-width:36px;min-height:44px;font-size:20px}body[data-view=overview] header{height:100px}.overview{margin:10px 5% 45px}.contact-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 12px}.contact-grid figcaption{font-size:10px}.overview-project{margin-bottom:36px}.overview-project h2{font-size:14px;margin-bottom:12px}}
@media(max-height:500px) and (min-width:701px){.home-gallery{min-height:260px}.home-photo{padding:5px 0 15px}.home-photo img{max-height:48svh}}
/* Schede progetto — ritmi fotografici e sezioni documentarie */
.project-sheet .project-head{margin:45px 4% 65px}.project-sheet .project-head h1{font-size:clamp(38px,5.5vw,76px);max-width:1000px}.project-head details{line-height:1.7}.project-sections{display:flex;flex-wrap:wrap;gap:24px;margin-top:22px}.project-sections button{font-size:12px;padding:10px 0;border-bottom:1px solid var(--line)}.project-gallery{align-items:start}.layout-art .project-head{text-align:center;margin-bottom:95px}.layout-art .project-head h1{margin:65px auto 25px;font-family:Georgia,serif;font-weight:normal}.layout-art details{margin:auto;text-align:left}.layout-art .photo:nth-child(n){grid-column:3/11;margin:0 0 65px}.layout-art .photo:nth-child(3n+2){grid-column:4/10}.layout-art .photo:nth-child(4n){grid-column:2/12}.layout-art .photo img{max-height:78vh}.layout-reportage .project-head h1{font-family:Arial,sans-serif;font-weight:400;letter-spacing:-.055em;max-width:820px}.layout-reportage .photo:nth-child(n){grid-column:span 6}.layout-reportage .photo:first-child,.layout-reportage .photo:nth-child(5n){grid-column:1/13}.layout-reportage .photo img{width:100%;max-height:none}.layout-portrait .project-head h1{font:normal clamp(38px,5vw,70px)/1.1 Georgia,serif}.layout-portrait .project-gallery{gap:110px 6%}.layout-portrait .photo:nth-child(n){grid-column:2/7}.layout-portrait .photo:nth-child(2n){grid-column:8/12;margin-top:160px}.layout-portrait .photo:first-child{grid-column:4/10;margin-top:0}.layout-campaign .project-head h1{font:500 clamp(44px,7vw,100px)/.98 Arial,sans-serif;letter-spacing:-.065em}.layout-campaign .project-gallery{gap:24px 24px;padding:0 2%}.layout-campaign .photo:nth-child(n){grid-column:span 6}.layout-campaign .photo:first-child,.layout-campaign .photo:nth-child(4n){grid-column:1/13}.layout-campaign .photo img{width:100%;max-height:none}.layout-editorial .photo:nth-child(n){grid-column:2/7}.layout-editorial .photo:nth-child(2n){grid-column:8/12;margin-top:90px}.layout-editorial .photo:nth-child(5n+1){grid-column:2/12;margin-top:0}.project-module{margin:120px 4% 0;padding-top:25px;border-top:1px solid var(--line);scroll-margin-top:30px}.module-heading{max-width:650px;margin-bottom:45px}.module-heading h2{font:normal clamp(30px,4vw,54px)/1.1 Georgia,serif;margin:20px 0}.module-copy{white-space:pre-line;line-height:1.8}.module-details{font-size:12px;color:var(--muted)}.module-link{display:inline-block;margin-top:15px;border-bottom:1px solid var(--line)}.module-images{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;align-items:start}.module-images figure{margin:0}.module-images button{padding:0;display:block;width:100%}.module-images img{width:100%;height:auto;display:block}.module-images figcaption{font-size:11px;margin-top:10px}.module-publication .module-images{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}.module-exhibition .module-images{grid-template-columns:1fr}.module-exhibition .module-images figure{max-width:1000px;margin:0 auto 30px}#full{opacity:1;transition:opacity 110ms ease}#full.fading{opacity:0}.home-photo img{animation:photo-in 130ms ease-out}@keyframes photo-in{from{opacity:0}to{opacity:1}}
@media(max-width:700px){.project-sheet .project-head{margin:25px 5% 40px}.project-sheet .project-head h1{font-size:40px;margin-top:28px}.layout-art .project-head h1{margin-top:45px}.project-sheet .project-gallery{display:block;padding:0 5%}.project-sheet .photo:nth-child(n){margin:0 0 40px;width:100%}.layout-art .photo:nth-child(3n+2){width:82%;margin:0 auto 55px}.layout-art .photo:nth-child(n) img{max-height:none}.layout-portrait .photo:nth-child(2n){width:76%;margin-left:auto}.layout-editorial .photo:nth-child(2n){width:85%;margin-left:auto}.layout-campaign .project-gallery{padding:0 3%}.layout-campaign .photo:nth-child(n){margin-bottom:23px}.project-module{margin:65px 5% 0}.module-images{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.module-publication .module-images,.module-exhibition .module-images{grid-template-columns:1fr}.project-sections{gap:15px}.module-heading{margin-bottom:25px}}
@media(prefers-reduced-motion:reduce){.home-photo img{animation:none}#full{transition:none}}
.module-files{margin-top:30px;display:grid;gap:40px}.module-files figure{margin:0}.module-files video{display:block;width:100%;max-height:80vh;background:#111}.module-files figcaption,.publication-pdf>a{font-size:12px;display:block;margin:12px 0}.publication-pdf iframe{border:1px solid var(--line);width:100%;height:75vh;background:#f5f5f5}@media(max-width:700px){.publication-pdf iframe{height:55vh}}
/* Indice: tipografia da archivio, gerarchia compatta e filtri testuali. */
body[data-view=indice]{--archive-font:'SFMono-Regular',Consolas,'Liberation Mono',Menlo,monospace}
.index-head{margin:38px 4% 28px}
.index-head .meta{font:10px/1.5 var(--archive-font);letter-spacing:.06em;color:var(--muted)}
.index-head h1{font:400 24px/1.3 var(--archive-font);letter-spacing:-.025em;margin:15px 0 22px}
.filters{gap:24px}
.filters button{font:400 12px/1.4 var(--archive-font);border:0;border-radius:0;background:none;color:var(--muted);padding:10px 0;min-height:40px}
.filters button[aria-pressed=true]{background:none;color:var(--ink);text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.filters button:hover{color:var(--ink)}
.index-row{grid-template-columns:32px 64px 1fr 120px 20px;gap:22px;padding:14px 0}
.index-row img{width:64px;height:62px;object-fit:contain}
.index-row h2{font:400 16px/1.5 var(--archive-font);letter-spacing:-.025em;margin:0}
.index-row:hover h2{font-style:normal;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.index-row .number,.index-row .meta{font:10px/1.5 var(--archive-font);letter-spacing:0}
@media(max-width:700px){.index-head{margin:26px 5% 22px}.index-head h1{font-size:22px;margin:12px 0 16px}.filters{gap:19px;row-gap:0}.filters button{font-size:11px;min-height:44px;padding:12px 0}.index-row{grid-template-columns:20px 46px minmax(0,1fr) 14px;gap:12px;padding:12px 0}.index-row img{width:46px;height:54px}.index-row h2{font-size:13px;line-height:1.5;letter-spacing:-.025em}.index-row .number{font-size:9px}}
/* Indice: alternativa masonry con copertine integrali. */
.index-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.index-views{display:flex;gap:20px}.index-views button{font:400 12px/1.4 var(--archive-font);border:0;border-radius:0;background:none;color:var(--muted);padding:10px 0;min-height:44px}.index-views button[aria-pressed=true]{color:var(--ink);text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.index-masonry{margin:0 4% 80px;columns:3;column-gap:32px}
.index-card{display:block;break-inside:avoid;margin:0 0 40px;padding-top:1px}
.index-card>img{display:block;width:100%;height:auto}
.card-caption{display:grid;grid-template-columns:22px minmax(0,1fr) 15px;gap:8px;align-items:start;margin-top:13px}
.card-caption h2{font:400 13px/1.5 var(--archive-font);margin:0;letter-spacing:-.025em}
.card-caption .number,.card-count{font:10px/1.5 var(--archive-font);color:var(--muted)}.card-count{display:block;margin:5px 0 0 30px}
.index-card:hover h2{text-decoration:underline;text-underline-offset:4px}.index-card:focus-visible{outline-offset:4px}
@media(min-width:1600px){.index-masonry{columns:4}}
@media(max-width:1000px){.index-masonry{columns:2;column-gap:24px}}
@media(max-width:700px){.index-toolbar{display:block}.index-views{margin-top:6px;gap:20px}.index-views button{font-size:11px}.index-masonry{margin:0 5% 50px;column-gap:16px}.index-card{margin-bottom:28px}.card-caption{grid-template-columns:1fr 12px;gap:5px;margin-top:10px}.card-caption .number{grid-column:1/-1;font-size:9px}.card-caption h2{font-size:12px;overflow-wrap:anywhere}.card-count{margin-left:0;font-size:9px}}
/* Titoli delle schede compatti; navigazione Avenir Next. */
:root{--archive-font:'SFMono-Regular',Consolas,'Liberation Mono',Menlo,monospace;--navigation-font:'Avenir Next',Avenir,'Segoe UI',sans-serif}
body>header nav{font-family:var(--navigation-font);font-size:13px;font-weight:400}
body>header .signature{font-family:var(--navigation-font);font-weight:500}
.project-sheet .project-head h1{font:400 24px/1.45 var(--archive-font);letter-spacing:-.025em;margin-top:24px;margin-bottom:22px;max-width:100%;overflow-wrap:break-word}
.project-sheet .project-head{margin-bottom:40px}
.layout-art .project-head h1{margin-top:32px}
.project-sheet .next-project strong{font:400 20px/1.5 var(--archive-font);letter-spacing:-.025em}
.project-sheet .module-heading h2{font:400 22px/1.45 var(--archive-font);letter-spacing:-.025em}
@media(max-width:700px){body>header nav{font-size:12px}.project-sheet .project-head h1{font-size:20px;margin-top:22px;margin-bottom:20px}.project-sheet .project-head{margin-bottom:30px}.project-sheet .next-project strong{font-size:17px}.project-sheet .module-heading h2{font-size:19px}}

/* Tipografia riferimento Nadav Kander, verificata il 25/10/2026.
   Univers Next W01 richiede webfont licenziati. Fino alla loro integrazione,
   usare l'eventuale famiglia installata e quindi Avenir Next, senza Helvetica. */
:root{--portfolio-font:'Univers Next W01','Univers Next','Univers','Avenir Next',Avenir,'Segoe UI',sans-serif;--archive-font:var(--portfolio-font);--navigation-font:var(--portfolio-font)}
body,body[data-view=indice]{--archive-font:var(--portfolio-font);font-family:var(--portfolio-font);font-size:12px;line-height:1.6}
body>header .signature{font:700 16.5px/1.25 var(--portfolio-font);letter-spacing:normal}
body>header nav{font:400 12px/1.6 var(--portfolio-font);letter-spacing:normal}
body>header nav a[aria-current=page]{font-weight:600}
.index-head h1,.project-sheet .project-head h1,.info h1,.intro h1{font:700 12px/1.6 var(--portfolio-font);letter-spacing:normal}
.project-sheet .project-head h1{margin-top:24px;margin-bottom:22px}
.index-head h1{margin:15px 0 22px}
.index-row h2,.card-caption h2,.overview-project h2{font:400 12px/1.6 var(--portfolio-font);letter-spacing:normal}
.project-sheet .next-project strong,.project-sheet .module-heading h2{font:700 12px/1.6 var(--portfolio-font);letter-spacing:normal}
.info p,.info .meta,.info .contact{font:400 12px/1.6 var(--portfolio-font);letter-spacing:normal}
.info .contact{margin:25px 0;text-underline-offset:4px}
.filters button,.index-views button,.index-head .meta,.index-row .number,.index-row .meta,.card-caption .number,.card-count,.contact-grid figcaption{font:400 12px/1.6 var(--portfolio-font);letter-spacing:normal}
.eyebrow,.meta,.counter,.number,.home-count,.home-caption,.project-head .topline,.photo figcaption,.module-details,.module-images figcaption,.viewerbar{font-size:12px;letter-spacing:normal}
footer,body[data-view=home] footer{font:400 12px/2 var(--portfolio-font)}
@media(max-width:700px){.project-sheet .project-head h1{font-size:12px;margin-top:22px;margin-bottom:20px}.index-head h1,.index-row h2,.card-caption h2,.overview-project h2,.contact-grid figcaption,.index-views button,.filters button,.index-row .number,.card-caption .number,.card-count,.project-sheet .next-project strong,.project-sheet .module-heading h2{font-size:12px}.info h1,.info p,.info .contact{font-size:12px}.home-caption,.viewerbar{font-size:12px}}

/* Microinterazioni: nessun ritardo nella navigazione o ritaglio delle foto. */
@keyframes archive-in{from{opacity:.45}to{opacity:1}}
.index-list,.index-masonry{animation:archive-in 180ms ease-out}
body>header nav a{position:relative;transition:color 140ms ease}
body>header nav a::after{content:"";position:absolute;left:0;right:0;bottom:7px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform 150ms ease-out}
body>header nav a[aria-current=page]::after,body>header nav a:focus-visible::after{transform:scaleX(1)}
.index-row>span:last-child,.card-caption>span:last-child{transition:transform 150ms ease-out}
.filters button,.index-views button{transition:color 140ms ease}
@media(hover:hover) and (pointer:fine){
 body>header nav a:hover::after{transform:scaleX(1)}
 .index-row:hover>span:last-child,.index-card:hover .card-caption>span:last-child{transform:translate(2px,-2px)}
 .home-controls button{transition:transform 150ms ease-out}
 .home-controls button:hover{transform:translateX(2px)}
 .home-controls button:first-child:hover{transform:translateX(-2px)}
}
@media(prefers-reduced-motion:reduce){.index-list,.index-masonry{animation:none}body>header nav a::after{transition:none}.index-row>span:last-child,.card-caption>span:last-child{transition:none}}

/* Works: intestazione accessibile, senza duplicare la voce del menu. */
.index-head h1.sr-only{margin:0;padding:0}

/* Info: biografia e richiesta di contatto. */
.info{align-items:start;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.bio-copy p{margin:0 0 17px;max-width:570px;line-height:1.8}
.info-photo{padding-top:120px}
.contact-section{border-top:1px solid var(--line);margin-top:42px;padding-top:24px}
.contact-section h2{font:700 12px/1.6 var(--portfolio-font);margin:0 0 14px}
.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:26px}
.contact-fields label{display:flex;flex-direction:column;gap:7px;min-width:0}
.contact-fields .wide{grid-column:1/-1}
.contact-fields input,.contact-fields select,.contact-fields textarea{width:100%;min-width:0;border:0;border-bottom:1px solid #aaa;border-radius:0;padding:10px 0;color:var(--ink);background:transparent;min-height:44px}
.contact-fields textarea{resize:vertical}
.contact-fields :is(input,select,textarea):focus-visible{outline:1px solid var(--ink);outline-offset:4px}
.info .contact-note{color:var(--muted);margin-top:20px}
#contact-form button{padding:10px 0;min-height:44px;border-bottom:1px solid var(--ink)}
#contact-status:empty{display:none}
@media(max-width:700px){.contact-fields{grid-template-columns:1fr}.contact-fields input,.contact-fields select,.contact-fields textarea{font-size:16px}.info-photo{padding-top:25px}.info .info-photo img{width:100%;margin:0}.contact-section{margin-top:30px}}

.info .info-photo img{display:block;width:100%;height:auto;max-height:70vh;object-fit:contain;object-position:top right}

/* Modalità chiara/scura: il colore dello sfondo cambia, le fotografie restano intatte. */
:root{color-scheme:light}
:root[data-theme=dark]{--paper:#111310;--ink:#f1f2ed;--muted:#b5b9b0;--line:#41453e;color-scheme:dark}
body>header nav a[aria-current=page]{color:var(--ink)}
.footer-actions{display:flex;align-items:center;gap:28px}
#theme-toggle{font:inherit;color:var(--muted);padding:0;min-height:44px;white-space:nowrap}
#theme-toggle:hover,#theme-toggle:focus-visible{text-decoration:underline;text-underline-offset:4px}
body[data-view=home] footer{padding:4px 0}
:root[data-theme=dark] a:focus-visible,:root[data-theme=dark] button:focus-visible{outline-color:#d7dec0}
:root[data-theme=dark] .skip{background:var(--paper);color:var(--ink)}
:root[data-theme=dark] .contact-fields input,:root[data-theme=dark] .contact-fields select,:root[data-theme=dark] .contact-fields textarea{border-bottom-color:var(--line)}
@media(max-width:700px){.footer-actions{gap:14px}footer{flex-wrap:wrap;gap:8px}body[data-view=home] footer{height:auto;min-height:52px}body>header{height:auto;min-height:100px}body[data-view=overview]>header{height:auto;min-height:100px}}

/* Public Sans: Google Fonts, OFL. Same type scale as the reference, different family. */
@font-face{font-family:'Public Sans';src:url('./fonts/PublicSans.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
:root{--portfolio-font:'Public Sans',Arial,sans-serif}
.home-controls [data-home-play]{font:400 12px/1.6 var(--portfolio-font);min-width:48px}
.home-photo{touch-action:pan-y}
@media(max-width:700px){
 body>header,body[data-view=overview]>header{position:sticky;top:0;z-index:5;background:var(--paper);display:flex;flex-direction:column;align-items:stretch;gap:5px;min-height:100px;height:auto;padding:12px 5% 0}
 body>header .signature{margin:0;align-self:flex-start;min-height:32px;display:flex;align-items:center}
 body>header nav{display:grid;grid-template-columns:repeat(3,1fr);gap:0;font-size:12px}
 body>header nav a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 8px}
 body>header nav a::after{left:8px;right:8px;bottom:6px}
 .home-gallery{height:calc(100svh - 156px);min-height:330px}
 .home-photo{padding:18px 0 24px}
 .home-photo img{max-height:calc(100svh - 290px)}
 .home-caption{grid-template-columns:38px minmax(0,1fr);gap:0 8px;min-height:88px;align-content:center}
 .home-caption>a{overflow-wrap:anywhere}
 .home-controls{grid-column:1/-1;justify-self:end;gap:8px}
 .home-controls button{min-width:44px;min-height:44px}
 .info{grid-template-columns:1fr}
 .project-head .topline{gap:16px;align-items:center}
 .project-head .topline a,.next-project{min-height:44px}
 .viewerbar{gap:8px}.viewerbar button{min-width:44px;min-height:44px}
 dialog{padding:env(safe-area-inset-top,12px) 4% env(safe-area-inset-bottom,12px)}
 .project-module{scroll-margin-top:112px}
 footer{padding-bottom:max(12px,env(safe-area-inset-bottom))}
}

/* Footer senza ripetizione del nome: comandi allineati a destra. */
body>footer{justify-content:flex-end}

/* Navigazione smartphone: riferimento Nadav Kander, rilevato il 25/10/2026. */
.mobile-menu-toggle,.mobile-menu-shroud{display:none}
@media(max-width:1023px){
 body{padding-top:38.2px}
 body>header,body[data-view=overview]>header{position:fixed;inset:0 0 auto;z-index:15;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:0;padding:0 4%;height:38.2px;min-height:38.2px;background:var(--paper)}
 body>header::after{content:"";position:absolute;bottom:0;left:4%;right:4%;height:1px;background:var(--line)}
 body>header .signature{font:700 12px/19.2px var(--portfolio-font);min-height:38.2px;align-self:auto;letter-spacing:normal}
 .mobile-menu-toggle{display:block;position:relative;width:44px;height:38.2px;min-height:0;padding:0;margin-right:-9px;flex:none}
 .mobile-menu-toggle span{position:absolute;right:9px;width:26px;height:1px;background:var(--ink);transition:transform 200ms ease,opacity 200ms ease;transform-origin:center}
 .mobile-menu-toggle span:nth-child(1){top:10px}.mobile-menu-toggle span:nth-child(2){top:18px}.mobile-menu-toggle span:nth-child(3){top:26px}
 .mobile-menu-toggle[aria-expanded=true]{opacity:.3}
 .mobile-menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
 .mobile-menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}
 .mobile-menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
 body>header nav{position:absolute;left:0;right:0;top:38.2px;display:block;columns:2;column-gap:16px;padding:3.4px 4% 4.4px;background:var(--paper);border-bottom:0;visibility:hidden;opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity 200ms ease,transform 200ms ease,visibility 200ms;max-height:calc(100dvh - 38.2px);overflow-y:auto}
 body>header nav::after{content:"";position:absolute;left:4%;right:4%;bottom:0;height:1px;background:var(--line)}
 body.mobile-menu-open>header nav{visibility:visible;opacity:1;transform:none;pointer-events:auto}
 body>header nav a{display:block;break-inside:avoid;min-height:32px;height:32px;padding:6.4px 0;font:400 12px/19.2px var(--portfolio-font);text-align:left;color:var(--ink);text-decoration:none}
 body>header nav a[aria-current=page]{font-weight:600;text-decoration:none}
 body>header nav a::after{display:none}
 .mobile-menu-shroud:not([hidden]){display:block;position:fixed;inset:38.2px 0 0;z-index:11;background:var(--paper);opacity:.8;width:100%;height:calc(100dvh - 38.2px);padding:0;cursor:default}
 .home-gallery{height:calc(100svh - 90.2px)}
 .home-photo img{max-height:calc(100svh - 224px)}
 .project-module{scroll-margin-top:50px}
 body.admin-bar>header{top:46px}
 body.admin-bar .mobile-menu-shroud{top:84.2px}
}
@media(min-width:1024px){body>header nav{visibility:visible;opacity:1}}
@media(prefers-reduced-motion:reduce){.mobile-menu-toggle span,body>header nav{transition:none}}

@media(min-width:783px) and (max-width:1023px){body.admin-bar>header{top:32px}body.admin-bar .mobile-menu-shroud{top:70.2px}}

/* Schede progetto: immagine singola e indice fotografico sottostante. */
.project-return{height:33px;margin:0 3.5%;display:flex;align-items:center;border-bottom:1px solid var(--line);font-size:12px}
.project-return a{color:var(--muted)}
.project-image-stage{position:relative;height:calc(100svh - 185px);min-height:340px;touch-action:pan-y}
.project-image-frame{height:100%;padding:0 3.5% 30px}
.project-current-image{height:100%;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px}
.project-current-image img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100svh - 240px);object-fit:contain;flex:0 1 auto;min-height:0}
.project-current-image figcaption{font:400 12px/1.6 var(--portfolio-font);color:var(--muted);white-space:pre-line;max-width:100%;min-height:19px;text-align:center}
.sequence-hit{position:absolute;top:0;bottom:30px;width:50%;padding:0;z-index:1;display:flex;align-items:center;color:var(--ink)}
.sequence-previous{left:0;cursor:w-resize;justify-content:flex-start;padding-left:4%}
.sequence-next{right:0;cursor:e-resize;justify-content:flex-end;padding-right:4%}
.sequence-hit span{opacity:0;font-size:24px;transition:opacity 140ms ease}
.sequence-hit:focus-visible span{opacity:1}
.sequence-hit:focus-visible{outline-offset:-5px}
.project-filmbar{margin:0 3.5%;min-height:51px;border-top:1px solid var(--line);display:flex;align-items:center;gap:20px}
.project-filmbar h1{font:700 12px/1.6 var(--portfolio-font);margin:0;flex:1}
.project-image-count{font-size:12px;color:var(--muted);white-space:nowrap}
.project-grid-jump{padding:0;min-width:32px;min-height:44px;display:flex;align-items:center;justify-content:flex-end}
.grid-symbol{width:26px;height:22px;display:grid;grid-template-columns:1fr 1fr;gap:2px}
.grid-symbol i{border:1px solid var(--line)}
.project-grid-jump:hover .grid-symbol i,.project-grid-jump:focus-visible .grid-symbol i{border-color:var(--ink)}
.project-thumbnails{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:42px 3.5%;margin:0 3.5% 70px;scroll-margin-top:125px}
.project-thumbnails figure{margin:0;min-width:0}
.project-thumbnails a{display:block;padding:0;text-align:left}
.project-thumbnails img{display:block;width:100%;height:clamp(150px,18vw,280px);object-fit:contain;object-position:center bottom;transition:opacity 140ms ease}
.project-thumbnails a[aria-current=true] img{opacity:.5}
.project-thumbnails a:hover img,.project-thumbnails a:focus-visible img{opacity:1}
.project-thumbnails figcaption{font-size:12px;line-height:1.6;color:var(--muted);margin-top:9px;white-space:pre-line}
.sequence-notes{margin:0 3.5% 28px;max-width:650px;color:var(--muted)}
.sequence-notes p{white-space:pre-line;line-height:1.8}
@media(max-width:1023px){
 .project-return{height:38px;margin:0 4%}
 .project-image-stage{height:calc(100svh - 138px);min-height:300px}
 .project-image-frame{padding:15.6px 4% 30px}
 .project-current-image img{max-height:calc(100svh - 210px)}
 .project-filmbar{margin:0 4%;gap:14px}
 .project-thumbnails{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 4%;margin:0 4% 50px;scroll-margin-top:52px}
 .project-thumbnails img{height:clamp(120px,35vw,300px)}
 .sequence-notes{margin:0 4% 24px}
 .sequence-hit{bottom:30px}
}
@media(hover:hover) and (pointer:fine){.sequence-hit:hover span{opacity:1}}
@media(prefers-reduced-motion:reduce){.sequence-hit span,.project-thumbnails img{transition:none}}

/* Freccia tipografica: presentazione testuale monocromatica, mai emoji. */
.arrow-ne{font-family:Arial,Helvetica,sans-serif;font-variant-emoji:text;font-style:normal;font-weight:400;line-height:1;display:inline-block;vertical-align:baseline}
.info{display:block}.info>div{max-width:650px}.bio-copy p{max-width:650px}

/* Copyright aggiornato e controlli della home sempre manualmente disponibili. */
body>footer{justify-content:space-between;align-items:center;gap:12px}
.copyright{white-space:nowrap}.footer-actions{margin-left:auto}
@media(max-width:380px){body>footer{row-gap:0}.footer-actions{gap:16px}}
