/* Two smaller prints, both visible. No carousel or hidden second location. */
.sites-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;max-width:1100px;margin-inline:auto}
.site-card{margin:0;min-width:0}
.site-photo{display:block;position:relative;overflow:hidden;aspect-ratio:1.65;border:1px solid #5d6350;background:var(--surface)}
.site-photo>img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.site-photo-open{position:absolute;right:12px;bottom:12px;background:#141512cc;border:1px solid #eeecdd66;width:35px;height:35px;display:grid;place-items:center;font-size:20px;color:var(--paper)}
.site-photo:hover{border-color:#cd5a4b}
.site-card figcaption{display:flex;align-items:baseline;gap:12px;padding:20px 0 0}
.site-index{font:600 12px var(--display);color:#e16b5c}
.site-card h3{font:400 clamp(23px,2.3vw,30px)/1.2 var(--section-display);text-transform:uppercase;letter-spacing:-.04em}
.site-caption-note{margin-left:auto;font:600 10px var(--display);letter-spacing:.7px;color:var(--muted);text-align:right}
.site-cursor-note{position:absolute;left:0;top:0;z-index:2;pointer-events:none;white-space:nowrap;padding:12px 15px;background:var(--paper);color:#ac2921;box-shadow:3px 5px 0 #0004;font:400 17px/1.2 var(--section-display);letter-spacing:-.04em;text-transform:uppercase;opacity:0;clip-path:polygon(0 3%,98% 0,100% 94%,2% 100%);transition:opacity .15s}
.is-cursor-active .site-cursor-note{opacity:1}
.site-photo:focus-visible .site-cursor-note{opacity:1;transform:translate3d(15px,15px,0)!important}
.site-milestone{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.photos-archive:hover{background:var(--surface)}
.photo-gallery-intro{border-bottom:1px solid var(--line);padding-block:55px 45px}
.photo-gallery-intro h1{font:400 clamp(50px,8vw,115px)/1.08 var(--section-display);text-transform:uppercase;letter-spacing:-.045em;margin:25px 0}
.photo-gallery-intro>p:last-child{max-width:650px;color:#d3d5c9;font-size:18px;line-height:1.8}
.photo-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;padding-top:45px}
.photo-gallery-card{margin:0;min-width:0}
.gallery-open{display:block;position:relative;overflow:hidden;border:1px solid var(--line);background:var(--surface)}
.gallery-open>img{width:100%;height:clamp(240px,27vw,400px);object-fit:cover;object-position:center;transition:filter .25s}
.gallery-open>span{position:absolute;right:12px;bottom:12px;background:#151711de;padding:9px 13px;border:1px solid #e5e4d65c;font:600 12px var(--display);letter-spacing:1px}
.gallery-open:hover{border-color:#d56b5a}
.gallery-open:hover>img{filter:brightness(1.1)}
.photo-gallery-card figcaption{display:flex;align-items:baseline;gap:14px;margin-top:20px}
.photo-gallery-card figcaption>span{color:#e16b5c;font:600 12px var(--display)}
.photo-gallery-card h2{font:400 25px/1.2 var(--section-display);letter-spacing:-.04em;text-transform:uppercase}
.gallery-controls{display:flex;align-items:center;justify-content:center;gap:25px;margin-top:18px}
.gallery-controls button{background:var(--surface);border:1px solid #797f6a;width:46px;min-height:44px;font-size:22px}
.gallery-controls button:hover{background:#ab241f}
.gallery-controls>span{font:600 13px var(--display);letter-spacing:1px}
.gallery-original{margin-left:auto;color:var(--muted);font-size:12px;border-bottom:1px solid #797f6a;padding-bottom:4px}
.gallery-page .site-header>.text-link{font-size:13px}
@media(max-width:850px){.site-card figcaption{gap:9px}.site-caption-note{font-size:9px;max-width:110px}.site-card h3{font-size:23px}.photo-gallery-grid{grid-template-columns:1fr 1fr;gap:30px 20px}}
@media(max-width:600px){.sites-grid{grid-template-columns:1fr;gap:32px;max-width:460px}.site-photo{aspect-ratio:1.65}.site-card figcaption{padding-top:16px}.site-card h3{font-size:26px}.site-caption-note{max-width:none}.photo-gallery-intro{padding-block:42px 30px}.photo-gallery-intro>p:last-child{font-size:16px}.photo-gallery-grid{grid-template-columns:1fr;gap:35px;padding-top:30px}.gallery-open>img{height:auto;aspect-ratio:1.3}.photo-gallery-card h2{font-size:25px}.gallery-original{font-size:10px}.photo-dialog-heading{flex-wrap:wrap}.gallery-page .site-header{gap:20px}.gallery-page .site-header>.text-link{font-size:11px}}
@media(hover:none){.site-cursor-note{display:none}.site-milestone{position:static;width:auto;height:auto;overflow:visible;clip-path:none;font:600 12px/1.6 var(--display);color:#e16b5c;letter-spacing:.5px;margin:12px 0 0;text-transform:uppercase}}
@media(prefers-reduced-motion:reduce){.site-cursor-note,.gallery-open>img{transition:none}}
/* Portal gallery: the photograph, its title and the next print. */
.photo-portal{position:relative;height:calc(100svh - var(--header));min-height:530px;isolation:isolate;overflow:hidden;background:#10110e;touch-action:pan-y;outline-offset:-4px}
.portal-image,.portal-layers,.portal-expansion{position:absolute;inset:0;width:100%;height:100%}
.portal-image,.portal-expansion img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.portal-layers{z-index:1;pointer-events:none}
.portal-expansion{inset:auto;overflow:hidden;will-change:width,height,left,top}
.photo-portal:after{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,#0e100d60,transparent 27%),linear-gradient(0deg,#0e100dd9,transparent 65%)}
.portal-caption{position:absolute;z-index:3;left:5%;bottom:25%;max-width:65%;pointer-events:none;text-shadow:0 2px 22px #0008}
.portal-caption h1{font:400 clamp(34px,4vw,60px)/1.12 var(--section-display);text-transform:uppercase;letter-spacing:-.035em;overflow-wrap:break-word}
.portal-preview{position:absolute;z-index:4;right:5%;bottom:9%;width:clamp(105px,10vw,145px);aspect-ratio:1;transform:rotate(3deg);box-shadow:0 8px 30px #0005}
.portal-preview button{width:100%;height:100%;display:block;background:#171913;border:2px solid var(--paper);padding:4px;position:relative}
.portal-preview img{display:block;width:100%;height:100%;object-fit:cover}
.portal-preview span{position:absolute;inset:auto 4px 4px;display:flex;justify-content:space-between;align-items:center;background:var(--manifesto-red);padding:7px 6px;font:600 9px var(--display);text-transform:uppercase;letter-spacing:.5px}
.photo-portal.is-following .portal-preview{left:0;top:0;right:auto;bottom:auto;will-change:transform;pointer-events:none}
.photo-portal.is-following .portal-preview button{pointer-events:auto}
.photo-gallery-intro h2{font:400 clamp(32px,4vw,52px)/1.15 var(--section-display);text-transform:uppercase;margin:22px 0}
#tutte-le-foto{scroll-margin-top:var(--header)}
@media(max-width:1024px),(pointer:coarse){
 .portal-preview{width:112px;right:5%;bottom:9%;transform:rotate(2deg)}
 .portal-caption h1{font-size:clamp(30px,4vw,46px)}
}
@media(max-width:600px){
 .photo-portal{min-height:560px;max-height:1000px}
 .portal-image{object-fit:contain;padding:70px 0 135px;box-sizing:border-box}
 .portal-expansion img{object-fit:contain}
 .photo-portal:after{background:linear-gradient(180deg,#10110e 0%,transparent 28%),linear-gradient(0deg,#10110e,transparent 30%)}
 .portal-caption{inset:28px 5% auto;max-width:90%}.portal-caption h1{font-size:clamp(24px,6.4vw,32px)}
 .portal-preview{width:88px;bottom:5%;right:6%}
 .portal-preview span{font-size:8px;padding:6px 4px}
}
@media(max-height:550px) and (orientation:landscape){
 .photo-portal{min-height:360px}.portal-preview{width:85px}.portal-caption{bottom:28%}.portal-caption h1{font-size:30px}
}
@media(prefers-reduced-motion:reduce){.portal-preview{transform:none}.portal-expansion{will-change:auto}}

@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .portal-preview{transition:opacity .28s ease}
 .photo-portal.is-preview-hidden .portal-preview{opacity:0;pointer-events:none}
 .photo-portal.is-preview-hidden .portal-preview button{pointer-events:none}
}
