:root{--paper:#f7f6f3;--ink:#20201f;--muted:#777873;--line:#dddcd7;--tile:#eae9e5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}button,a{font:inherit;color:inherit}a{text-decoration:none}button{cursor:pointer}img{display:block;max-width:100%}[hidden]{display:none!important}.site-header{height:84px;padding:0 3.3%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-size:clamp(25px,2.4vw,36px);letter-spacing:.11em;font-weight:400;line-height:1}.site-header nav{display:flex;gap:36px;font-size:11px;letter-spacing:.04em}.site-header nav a:hover,footer a:hover{opacity:.5}.work{padding:0 2.1% 70px}.projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:start}.project{display:block;text-align:left;background:none;border:0;padding:0;min-width:0}.project-visual{aspect-ratio:2/3;overflow:hidden;background:var(--tile)}.project-visual img{height:100%;width:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.3,1)}.project:hover img{transform:scale(1.035)}.project-meta{display:grid;grid-template-columns:1fr auto;gap:12px;padding:25px 22px 38px;align-items:end}.project-left{min-width:0}.project-index{display:block;font-size:10px;color:var(--muted);margin-bottom:12px;letter-spacing:.07em}.project-index:after{content:' —';color:#bbb}.project-name{display:block;font-size:clamp(26px,2.7vw,46px);font-weight:400;letter-spacing:-.065em;line-height:1.08;overflow-wrap:anywhere}.project-arrow{font-size:25px;font-weight:300;line-height:1}.loading{padding:25px;color:var(--muted);font-size:13px}.contact{margin:0 3.3%;border-top:1px solid var(--line);padding:32px 0 90px}.contact-head{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;letter-spacing:.09em}.contact-content{display:flex;align-items:end;justify-content:space-between;gap:30px;padding-top:70px}.contact h2{font-size:clamp(48px,8vw,120px);letter-spacing:-.075em;font-weight:400;line-height:1;margin:0}.contact-links{display:flex;flex-direction:column;gap:12px;align-items:flex-start;font-size:13px}.contact-links p{margin:0 0 8px}.contact-links a:hover{text-decoration:underline}.gallery-page{padding:15px 3.3% 100px}.gallery-toolbar{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:22px 0;font-size:11px;color:var(--muted);letter-spacing:.06em}.gallery-toolbar button,.bottom-back{border:0;background:none;padding:0;color:var(--ink);font-size:11px;letter-spacing:.05em}.gallery-page h1{font-size:clamp(52px,8vw,125px);font-weight:400;letter-spacing:-.075em;margin:35px 0 55px}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.photo{aspect-ratio:4/3;background:var(--tile);border:0;padding:12px;display:flex;align-items:center;justify-content:center;overflow:hidden}.photo img{width:100%;height:100%;object-fit:contain;transition:transform .25s}.photo:hover img{transform:scale(1.025)}.bottom-back{margin-top:75px}footer{border-top:1px solid var(--line);margin:0 3.3%;padding:35px 0 45px;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:10px;letter-spacing:.06em}footer div{display:flex;gap:35px}dialog{border:0;background:rgba(18,19,18,.985);width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:55px 65px;color:white}dialog::backdrop{background:#111}dialog[open]{display:flex;align-items:center;justify-content:center}#large{max-width:100%;max-height:calc(100dvh - 115px);object-fit:contain;user-select:none}.close,.nav{position:absolute;color:white;background:none;border:0;cursor:pointer}.close{right:26px;top:16px;font-size:36px}.nav{font-size:55px;top:50%;transform:translateY(-50%)}.prev{left:12px}.next{right:12px}#counter{position:absolute;bottom:15px;left:50%;transform:translateX(-50%);font-size:11px;letter-spacing:.12em}@media(max-width:900px){.projects{grid-template-columns:repeat(2,minmax(0,1fr))}.project-visual{aspect-ratio:3/4}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.project-meta{padding:19px 10px 28px}.contact-content{align-items:start;flex-direction:column}.contact-links{padding-top:20px}}@media(max-width:560px){.site-header{height:73px;padding:0 4%}.brand{font-size:24px}.site-header nav{gap:20px}.work{padding:0 3% 50px}.projects{grid-template-columns:1fr;gap:6px}.project-visual{aspect-ratio:4/5}.project-meta{padding:15px 6px 34px}.project-name{font-size:36px}.contact{margin:0 4%;padding-bottom:75px}.gallery-page{padding:10px 4% 75px}.gallery-page h1{margin:25px 0 35px}.gallery{gap:7px}.photo{padding:5px}.contact-head span:last-child{display:none}footer{margin:0 4%}dialog{padding:55px 35px}.nav{font-size:38px}.prev{left:2px}.next{right:2px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Copertine orizzontali compatte, senza ritagli */
.project-visual{aspect-ratio:3/2;position:relative;overflow:hidden}
.project-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity 1.1s ease;transform:none!important;pointer-events:none}
.project-visual img.active{opacity:1}
.project-meta{padding:17px 12px 30px}
.project-index{margin-bottom:7px}
.project-name{font-size:clamp(23px,2.3vw,38px)}
.floating-back{position:fixed;z-index:20;top:95px;left:3.3%;border:1px solid var(--line);background:rgba(247,246,243,.96);color:var(--ink);padding:12px 16px;font-size:11px;letter-spacing:.06em;box-shadow:0 4px 18px rgba(0,0,0,.05);backdrop-filter:blur(8px)}
.floating-back:hover{background:#eae9e5}
.gallery-page{padding-top:60px}
img{-webkit-user-drag:none;user-select:none;-webkit-user-select:none}
@media(max-width:900px){.project-visual{aspect-ratio:3/2}}
@media(max-width:560px){.project-visual{aspect-ratio:3/2}.floating-back{top:auto;bottom:18px;left:16px;padding:14px 17px;box-shadow:0 5px 25px rgba(0,0,0,.15)}.gallery-page{padding-top:22px}.project-meta{padding:13px 5px 29px}.project-name{font-size:33px}}
@media(prefers-reduced-motion:reduce){.project-visual img{transition:none}}
