/* Shout — site stylesheet. One typeface (Albert Sans, self-hosted), ivory ground, justified grids. */
:root{
  --bg:#f7f6f2; --ink:#1a1a1a; --muted:#5f5e59; --soft:#8f8d85; --line:#e4e1d9; --tile:#ebe8e0;
  --font:"Albert Sans", -apple-system, "Helvetica Neue", Arial, sans-serif;
  --pad:clamp(16px,4vw,56px); --gap:32px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:300 15px/1.6 var(--font)}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
:focus-visible{outline:1px solid var(--ink);outline-offset:3px}
[hidden]{display:none!important}
.skip{position:absolute;left:-999px;top:0}
.skip:focus:not(:focus-visible){left:-999px}
.skip:focus-visible{left:0;right:0;top:0;text-align:center;background:var(--ink);color:var(--bg);font-size:12px;letter-spacing:.06em;padding:6px 0;z-index:60;outline:none}

/* header */
.site-header{display:flex;align-items:baseline;justify-content:space-between;gap:24px;padding:30px var(--pad) 0;position:relative;z-index:5}
.wordmark{font-weight:400;font-size:19px;letter-spacing:.6em;margin-right:-.6em;white-space:nowrap}
.main-nav{display:flex;gap:28px;font-size:14px;letter-spacing:.05em;color:var(--muted);flex-wrap:wrap;justify-content:flex-end}
.main-nav a{transition:color .2s}
.main-nav a:hover,.main-nav a.on{color:var(--ink)}
.sel-link{color:var(--ink)!important}
.sel-count{display:inline-block;min-width:18px;text-align:center;font-size:12px;border:1px solid currentColor;border-radius:999px;padding:0 5px;margin-left:2px}
main{min-height:70vh;padding:0 var(--pad) 70px;outline:none}
.site-footer{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:26px var(--pad) 40px;font-size:12px;color:var(--muted);letter-spacing:.04em;border-top:1px solid var(--line);margin:0 var(--pad)}
.site-footer a:hover{color:var(--ink)}

/* generic */
.lede{text-align:center;color:var(--muted);font-size:clamp(17px,1.6vw,21px);line-height:1.5;margin:0 auto;padding:4.5vh 0 1.6vh;max-width:40ch}
.tools{text-align:center;margin:0 0 3vh;position:relative}
.textlink{font-size:14px;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid currentColor;padding-bottom:2px;transition:color .2s}
.textlink:hover{color:var(--ink)}
.kicker{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.page-title{font-weight:300;font-size:clamp(26px,2.6vw,34px);line-height:1.15;margin:28px 0 22px}
.fade{animation:fade .45s ease both}
@keyframes fade{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.fade{animation:none}.jgrid{transition:none}}
.more{text-align:center;margin:34px 0 10px;display:flex;gap:36px;justify-content:center;flex-wrap:wrap}
.note{color:var(--muted);max-width:60ch;margin:0 0 30px}

/* justified grid */
.jgrid{transition:opacity .35s ease;min-height:40vh}
.jgrid.out{opacity:0}
.jrow{display:flex;gap:var(--gap);margin-bottom:var(--gap)}
.jrow a{display:block;flex:none;background:var(--tile);position:relative}
.jrow img{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .5s ease}
.jrow img.ok{opacity:1}
.jrow a .pin{position:absolute;top:8px;right:8px;width:22px;height:22px;border-radius:50%;background:var(--ink);color:var(--bg);font-size:13px;line-height:22px;text-align:center}
.sentinel{height:1px}
noscript .static-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--gap)}

/* archive */
.archive-head{display:grid;gap:18px;margin:26px 0 30px}
.search{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--ink);padding:6px 0;max-width:640px}
.search input{flex:1;border:0;background:transparent;font:300 clamp(20px,2.2vw,28px)/1.2 var(--font);color:var(--ink);outline:none;padding:4px 0;min-width:0}
.search input::placeholder{color:#b7b4ab}
.chips{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:14px;color:var(--muted)}
.chips button{color:var(--muted)}
.chips button:hover,.chips button.on{color:var(--ink);text-decoration:underline;text-underline-offset:5px}
.filters{display:flex;flex-wrap:wrap;gap:24px;align-items:center;font-size:14px;color:var(--muted)}
.filters select{font:inherit;border:0;border-bottom:1px solid var(--line);background:transparent;padding:4px 18px 4px 0;color:var(--ink)}
.dots{display:flex;gap:10px;align-items:center}
.dot{width:16px;height:16px;border-radius:50%;border:1px solid rgba(0,0,0,.12);transition:transform .2s}
.dot:hover,.dot.on{transform:scale(1.3)}
.uses,.cats{display:flex;gap:14px;flex-wrap:wrap}
.uses button,.cats button{color:var(--muted)}
.uses button.on,.cats button.on{color:var(--ink);text-decoration:underline;text-underline-offset:5px}
.count{margin-left:auto;font-size:13px;letter-spacing:.04em}
.empty{padding:50px 0;color:var(--muted);font-size:20px}

/* image page */
.image-page{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:clamp(24px,5vw,72px);align-items:start;padding-top:26px}
.image-page .big{display:flex;justify-content:center}
.image-page .big img{max-height:80vh;max-width:100%;width:auto;height:auto;object-fit:contain;touch-action:pan-y;background:var(--tile)}
.image-page aside{position:sticky;top:30px}
.code{font-size:12px;letter-spacing:.14em;color:var(--soft)}
.image-page h1{font-weight:300;font-size:clamp(26px,2.4vw,34px);line-height:1.15;margin:10px 0 14px}
.kw{color:var(--muted);font-size:15px;margin:0 0 18px}
.themes{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:14px;margin-bottom:30px}
.themes a{border-bottom:1px solid var(--line)}
.themes a:hover{border-color:var(--ink)}
.actions{display:grid;gap:12px;max-width:300px}
.btn{display:block;text-align:center;background:var(--ink);color:var(--bg);padding:14px 20px;font-size:14px;letter-spacing:.08em;border:1px solid var(--ink)}
.btn.ghost{background:transparent;color:var(--ink)}
.btn.ghost.on{background:var(--ink);color:var(--bg)}
.btn:disabled{opacity:.45;cursor:default}
.nav-row{display:flex;gap:22px;margin-top:26px;font-size:14px;color:var(--muted);flex-wrap:wrap}
.nav-row a:hover,.nav-row button:hover{color:var(--ink)}
.section{margin-top:80px}
.section-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:22px}
.series-strip{display:flex;gap:14px;flex-wrap:wrap;margin:0 0 26px}
.series-strip a{width:72px;height:72px;background:var(--tile)}
.series-strip img{width:100%;height:100%;object-fit:cover}
.series-strip a.on{outline:1px solid var(--ink);outline-offset:2px}

/* concepts */
.concepts{columns:4 220px;column-gap:40px;margin-top:10px}
.letter{break-inside:avoid;margin:0 0 26px}
.letter h3{font-weight:400;font-size:13px;letter-spacing:.14em;color:var(--soft);margin:0 0 6px}
.letter a{display:flex;justify-content:space-between;gap:10px;font-size:17px;padding:3px 0;border-bottom:1px solid transparent}
.letter a span{color:var(--soft);font-size:13px}
.letter a:hover{border-color:var(--line)}

/* publications */
.pub-nav{display:flex;gap:22px;flex-wrap:wrap;font-size:14px;color:var(--muted);margin:0 0 30px}
.pub-nav a.on,.pub-nav a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:5px}
.pub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--gap)}
.pub-grid figure{margin:0;background:#efede7;padding:30px;display:flex;justify-content:center;align-items:center;aspect-ratio:4/5}
.pub-grid img{max-height:100%;max-width:100%;width:auto;height:auto;object-fit:contain;box-shadow:0 18px 30px -18px rgba(0,0,0,.45)}
.pub-grid figure.mock{padding:0;background:none}
.pub-grid figure.mock img{width:100%;height:100%;object-fit:cover;box-shadow:none}
.pub-grid figcaption{display:none}
.applied-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--gap)}
.applied-grid figure{margin:0}
.applied-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--tile)}
.applied-grid figcaption{font-size:13px;color:var(--muted);margin-top:8px}

/* text pages */
.text-page{max-width:640px;padding-top:6px}
.text-page p{font-size:16px}
.clients{font-size:18px;line-height:1.7}
details.awards{margin-top:34px;max-width:640px}
details.awards summary{cursor:pointer;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);list-style:none}
details.awards summary::-webkit-details-marker{display:none}
details.awards summary:after{content:' +'}
details.awards[open] summary:after{content:' −'}
details.awards p{font-size:15px;color:var(--muted)}
form.licence{display:grid;gap:18px;margin-top:26px}
form.licence label{display:grid;gap:6px;font-size:12px;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}
form.licence input,form.licence select,form.licence textarea{font:300 16px var(--font);border:0;border-bottom:1px solid var(--line);padding:8px 0;background:transparent;color:var(--ink);text-transform:none;letter-spacing:0;border-radius:0}
form.licence .row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
form.licence .hp{position:absolute;left:-9999px}
.form-msg{font-size:14px;color:var(--muted);margin-top:10px}
.sel-strip{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0 4px}
.sel-strip figure{margin:0;width:84px;font-size:11px;color:var(--muted);line-height:1.3}
.sel-strip img{width:84px;height:84px;object-fit:cover;margin-bottom:4px;background:var(--tile)}
.sel-strip button{color:var(--soft);font-size:11px;text-decoration:underline}

/* cover preview overlay */
.overlay{position:fixed;inset:0;background:var(--bg);z-index:40;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px}
.ov-close{position:absolute;top:22px;right:28px;font-size:14px;letter-spacing:.05em;color:var(--muted)}
.ov-tabs{display:flex;gap:22px;font-size:14px;color:var(--muted);margin-bottom:26px}
.ov-tabs button.on{color:var(--ink);text-decoration:underline;text-underline-offset:5px}
.ov-stage{height:min(72vh,820px);display:flex;align-items:center;justify-content:center}
.ov-note{margin-top:20px;font-size:12px;color:var(--soft);letter-spacing:.04em;text-align:center}
.mock{background:#fff;box-shadow:0 30px 60px -25px rgba(0,0,0,.35);position:relative;overflow:hidden;height:100%}
.mock.mag{aspect-ratio:8.5/11}
.mock.mag img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mock.mag .mast{position:absolute;top:4%;left:6%;right:6%;font-weight:500;letter-spacing:.32em;font-size:clamp(14px,2.6vh,26px);color:rgba(255,255,255,.95);text-shadow:0 1px 8px rgba(0,0,0,.25)}
.mock.mag:after{content:'';position:absolute;left:0;right:0;bottom:0;height:28%;background:linear-gradient(transparent,rgba(0,0,0,.28))}
.mock.mag .line{z-index:1;position:absolute;bottom:5%;left:6%;right:30%;font-size:clamp(10px,1.6vh,15px);line-height:1.3;color:rgba(255,255,255,.95);text-shadow:0 1px 8px rgba(0,0,0,.3)}
.mock.book{aspect-ratio:6/9;background:#f3efe6;display:flex;flex-direction:column}
.mock.book .art{flex:1;position:relative;overflow:hidden}
.mock.book .art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mock.book .band{padding:7% 8%;color:#1a1a1a}
.mock.book .t{font-weight:400;font-size:clamp(14px,2.4vh,24px);letter-spacing:.02em}
.mock.book .a{font-size:clamp(10px,1.4vh,13px);letter-spacing:.2em;text-transform:uppercase;color:#6b6a65;margin-top:6px}
.mock.poster{aspect-ratio:2/3;background:#f7f6f2;padding:7%;display:flex;flex-direction:column;gap:5%}
.mock.poster .art{flex:1;position:relative;overflow:hidden}
.mock.poster .art img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.mock.poster .cap{display:flex;justify-content:space-between;font-size:clamp(9px,1.3vh,12px);letter-spacing:.18em;text-transform:uppercase;color:#6b6a65}

/* responsive */
@media (max-width:900px){
  :root{--gap:18px}
  .image-page{grid-template-columns:1fr}
  .image-page aside{position:static}
  .main-nav{gap:16px;font-size:13px}
  .site-header{align-items:center}
}
@media (max-width:560px){
  :root{--gap:12px}
  .wordmark{font-size:16px;letter-spacing:.45em;margin-right:-.45em}
  .site-header{flex-direction:column;align-items:flex-start;gap:12px;padding-top:22px}
  .main-nav{gap:14px;font-size:13px;justify-content:flex-start}
  form.licence .row{grid-template-columns:1fr}
  .count{margin-left:0;width:100%}
  .concepts{columns:2 140px}
}

.pub-h{font-weight:400;font-size:13px;letter-spacing:.14em;text-transform:uppercase;margin:46px 0 18px;color:var(--muted,#777)}
.pub-h:first-of-type{margin-top:24px}

/* publications: ingrandimento leggero (05/10) */
.zoomable{cursor:zoom-in;transition:transform .35s ease}
@media (hover:hover) and (pointer:fine){.zoomable:hover{transform:translateY(-3px)}}
.zoom{position:fixed;inset:0;z-index:50;background:rgb(236,233,226);display:flex;align-items:center;justify-content:center;padding:4vh 4vw;cursor:zoom-out;opacity:0;transition:opacity .2s ease}
.zoom.on{opacity:1}
.zoom img{max-width:100%;max-height:92vh;width:auto;height:auto;transform:scale(.96);transition:transform .25s ease}
.zoom.on img{transform:scale(1)}
@media (prefers-reduced-motion:reduce){.zoomable,.zoom,.zoom img{transition:none}}

img{-webkit-touch-callout:none;-webkit-user-drag:none;user-select:none}

/* archivio: banda di ricerca a tre righe chiare (05/10) */
.frow{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;font-size:14px;color:var(--muted);margin-top:14px}
.frow .lab{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--soft);min-width:84px}
.frow.filters .lab+.dots,.frow.filters .lab+.uses{margin-right:18px}
.frow .count{margin-left:auto}
@media (max-width:560px){.frow .lab{min-width:0;width:100%}.frow .count{margin-left:0}}
/* prints (06/10) */
.print-note{font-size:13px;color:var(--muted);margin:18px 0 0}
.print-note a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.site-footer a+a{margin-left:18px}
.pub-h .pub-sub{font-weight:300;color:var(--muted);margin-left:10px;font-size:.8em}

/* 06/10 licensing: how it works */
.steps{margin:10px 0 34px;padding-left:1.3em;max-width:640px}
.steps li{font-size:16px;margin:0 0 10px;padding-left:.2em}
.steps li strong{font-weight:500}
.licence-note{margin-top:34px;font-size:14px;color:var(--muted);line-height:1.6}
/* 08/10 prints: stampa A/P + dettaglio firma */
.print-feature{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);margin:10px 0 calc(var(--gap)*3)}
.print-feature figure{margin:0;aspect-ratio:4/5;background:#efede7;overflow:hidden;display:flex;align-items:center;justify-content:center}
.print-feature .pf-print img{height:84%;width:auto;max-width:84%;object-fit:contain;box-shadow:0 22px 36px -22px rgba(0,0,0,.45)}
.print-feature .pf-detail img{width:100%;height:100%;object-fit:cover}
.print-feature .pf-cap{grid-column:1/-1;margin:2px 0 0;font-size:13px;color:#55544f;max-width:60ch}
@media (max-width:700px){.print-feature{grid-template-columns:1fr}}

/* ===== HOME B (07/10/2026, anteprima separata) ===== */
/* testo un grado più deciso: menu e note leggibili senza cambiare carattere */
.main-nav{color:var(--ink);font-weight:400;font-size:17px;letter-spacing:.02em;gap:34px}
.site-header{padding-bottom:20px}
.wordmark{font-size:21px}
.note,.kicker{color:#55544f}
/* scheda immagine: un solo invito principale, le altre azioni come link di testo */
.actions .btn.ghost{border:0;background:none;padding:6px 0;text-align:left;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;font-size:14px;letter-spacing:.04em}
.actions .btn.ghost.on{background:none;color:var(--ink)}

/* apertura: un'illustrazione alla volta sul suo stesso campo di colore */
.hero{position:relative;margin:22px calc(-1 * var(--pad)) 0;height:calc(100svh - 92px);min-height:440px;max-height:1100px;background:var(--hero,#ece9e0);transition:background-color .9s ease;overflow:hidden}
.hero a.slide{position:absolute;inset:0;display:grid;place-items:center;opacity:0;transition:opacity .9s ease;pointer-events:none}
.hero a.slide.on{opacity:1;pointer-events:auto}
.hero .fill{position:absolute;inset:-80px;background-size:600% auto;background-position:0 0;filter:blur(40px);opacity:.9}
.hero img{position:relative}
.hero img{max-height:min(calc((100svh - 92px) * .84),924px);max-width:88vw;width:auto;height:auto;object-fit:contain;
  -webkit-mask-image:radial-gradient(ellipse closest-side at 50% 50%,#000 72%,transparent 100%);mask-image:radial-gradient(ellipse closest-side at 50% 50%,#000 72%,transparent 100%)}
.hero-cap{position:absolute;left:var(--pad);bottom:22px;font-size:12px;letter-spacing:.06em;color:rgba(26,26,26,.62);z-index:2}
.hero-cap a{text-decoration:none}
.hero-down{position:absolute;right:var(--pad);bottom:18px;z-index:2;font-size:20px;color:rgba(26,26,26,.55);line-height:1}

/* frase e ricerca */
.intro-b{max-width:900px;margin:0 auto;padding:12vh 0 9vh;text-align:center}
.intro-b p{font-size:clamp(24px,3vw,40px);line-height:1.25;font-weight:300;color:var(--ink);margin:0 0 34px;letter-spacing:-.005em}
.intro-b form{display:flex;justify-content:center}
.intro-b input{width:min(520px,100%);font:inherit;font-size:17px;padding:10px 2px;border:0;border-bottom:1px solid var(--ink);background:transparent;color:var(--ink);text-align:center;outline:none}
.intro-b input::placeholder{color:#8a8880}
.intro-b .alt{margin-top:18px;font-size:13px;letter-spacing:.05em;color:var(--muted)}
.intro-b .alt a{text-decoration:underline;text-underline-offset:4px}

/* raccolte */
.room{margin:0 0 11vh}
.room-head{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 18px}
.room-head h2{font-weight:300;font-size:clamp(22px,2.2vw,30px);margin:0;letter-spacing:.01em}
.room-head a{font-size:13px;letter-spacing:.06em;color:var(--muted);text-decoration:underline;text-underline-offset:4px}
.room-row{display:flex;gap:clamp(14px,2vw,30px);align-items:flex-start}
.room-row a{display:block;min-width:0}
.room-row img{width:100%;height:auto;display:block}
.inuse p.note{margin:-6px 0 22px}

/* invito finale */
.ask-b{border-top:1px solid var(--line);padding:9vh 0 4vh;text-align:center}
.ask-b p{font-size:clamp(20px,2.2vw,28px);font-weight:300;margin:0 0 22px}
.ask-b .btn{display:inline-block}

@media (max-width:700px){
  .hero{height:72svh;min-height:380px}
  .hero img{max-height:calc(72svh * .84);max-width:86vw}
  .room-row{overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;-webkit-overflow-scrolling:touch}
  .room-row a{flex:0 0 72%!important;scroll-snap-align:start}
  .intro-b{padding:9vh 0 7vh}
}
@media (prefers-reduced-motion:reduce){.hero a.slide,.hero{transition:none}}

.intro-title{font-weight:300;font-size:clamp(13px,1vw,15px);letter-spacing:.32em;text-transform:uppercase;margin:0 0 26px;color:var(--ink)}
@media (max-width:700px){.main-nav{font-size:13px;gap:11px;letter-spacing:.01em}.intro-b p{font-size:22px}}

/* 07/10 v2: home = solo l'immagine che gira + menu (niente pagina sotto) */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
body[data-page=homeb] main{padding-bottom:0;min-height:0}
body[data-page=homeb] .site-footer{display:none}
body[data-page=homeb] .hero{margin-bottom:0;height:calc(100svh - 86px);max-height:none}
.hero-cap{font-size:13px;color:rgba(26,26,26,.7)}
.hero-cap .lic{text-decoration:underline;text-underline-offset:4px;color:var(--ink)}
@media (max-width:700px){body[data-page=homeb] .hero{height:calc(100svh - 140px)}}

/* 07/10 v2: Shout Archive con l'apertura elegante (frase centrata, ricerca al centro) */
.arch-b{text-align:center}
.arch-b .arch-intro{padding:9vh 0 5vh}
.arch-b .intro-title{margin-bottom:26px}
.arch-b .arch-lede{font-size:clamp(24px,3vw,40px);line-height:1.25;font-weight:300;color:var(--ink);margin:0 auto;max-width:900px}
.arch-b .search{margin:0 auto 22px;max-width:520px;justify-content:center}
.arch-b .search input{text-align:center;font-size:17px}
.arch-b .pub-nav{justify-content:center;margin:0 0 7vh}
.arch-b .frow{justify-content:center}
.arch-b .frow .cats,.arch-b .frow .dots,.arch-b .frow .uses{justify-content:center}
@media (max-width:700px){.arch-b .arch-lede{font-size:22px}.arch-b .arch-intro{padding:6vh 0 4vh}}
.arch-b .arch-lede{max-width:1150px}
.arch-b .search input{width:100%;flex:1}
.arch-b .frow.filters{justify-content:center;gap:18px}

/* 07/10 moodboard in evidenza */
.mb-hint{font-size:14px;color:var(--muted);margin:0 auto 26px;max-width:620px;line-height:1.5}
.mb-hint .plus,.addmb{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--bg);color:var(--ink);border:1px solid rgba(26,26,26,.25);font-size:17px;line-height:1;font-weight:400}
.mb-hint .plus{width:22px;height:22px;font-size:15px;vertical-align:-4px;margin:0 2px}
.jrow a{position:relative}
.addmb{position:absolute;top:9px;right:9px;opacity:0;transition:opacity .2s,background .2s;cursor:pointer;box-shadow:0 1px 6px rgba(0,0,0,.08)}
.addmb:focus-visible,.addmb.on{opacity:1}
@media (hover:hover) and (pointer:fine){.jrow a:hover .addmb{opacity:1}}  /* 07/10: su iPhone l'hover rubava il primo tap */
.addmb.on{background:var(--ink);color:var(--bg);border-color:var(--ink);font-size:14px}
@media (hover:none),(pointer:coarse){.addmb{opacity:.92;transition:none}}
.mb-bar{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:50;display:flex;align-items:center;gap:22px;background:var(--ink);color:var(--bg);padding:12px 22px;font-size:14px;letter-spacing:.03em;box-shadow:0 6px 24px rgba(0,0,0,.18);white-space:nowrap}
.mb-bar a,.mb-bar button{color:var(--bg);font:inherit;text-decoration:underline;text-underline-offset:4px}
.mb-bar .mb-n{text-decoration:none}
@media (max-width:700px){.mb-bar{left:12px;right:12px;transform:none;gap:14px;font-size:13px;padding:11px 14px;justify-content:space-between}.mb-bar .mb-lic{display:none}}
/* 07/10: "+" visibile su tutte le immagini alla prima visita; condivisione */
body.mb-intro .addmb{opacity:.95;transform:scale(1.08)}
.addmb{transition:opacity .4s,transform .4s,background .2s}
.shared-note{color:var(--ink)}
@media (max-width:700px){.mb-bar .mb-share{display:none}}

/* 07/10 sfumatura migliorata: 'lastra' di carta sfocata dietro ogni immagine, allineata e prolungata del 40% per lato */
.hero .fill{display:none}
.hero .frame{position:relative;display:inline-block;line-height:0}
.hero .frame::before{content:'';position:absolute;top:-40%;bottom:-40%;left:-40%;right:-40%;background:var(--plate) center/100% 100% no-repeat;filter:blur(18px);
  -webkit-mask-image:radial-gradient(closest-side,#000 55%,transparent 100%);mask-image:radial-gradient(closest-side,#000 55%,transparent 100%);z-index:0}
.hero .frame img{position:relative;z-index:1;-webkit-mask-image:radial-gradient(ellipse closest-side at 50% 50%,#000 62%,transparent 100%);mask-image:radial-gradient(ellipse closest-side at 50% 50%,#000 62%,transparent 100%)}
/* 07/10/2026 immagini a orizzonte: fondo diviso in due, fascia centrale = bordi dell'immagine allungati */
.hero a.slide.band{background:linear-gradient(var(--top) 50%,var(--bot) 50%)}
.hero a.slide.band .frame::before{content:'';position:absolute;top:0;bottom:0;left:-100vw;right:-100vw;background:var(--band) 0 0/100% 100% no-repeat;filter:none;-webkit-mask-image:none;mask-image:none;opacity:1}
.hero a.slide.band .frame img{-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent),linear-gradient(transparent,#000 5%,#000 95%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent),linear-gradient(transparent,#000 5%,#000 95%,transparent);mask-composite:intersect}
/* 07/10/2026 sera: immagine estesa (_x, +30% per lato di carta riflessa): la grana prosegue oltre il foglio e sfuma lontano dal disegno */
.hero a.slide.ext .frame img{max-height:calc(min(calc((100svh - 92px) * .84),924px) * 1.6);max-width:calc(88vw * 1.6);
  -webkit-mask-image:radial-gradient(ellipse closest-side at 50% 50%,#000 70%,rgba(0,0,0,.55) 86%,transparent 100%);mask-image:radial-gradient(ellipse closest-side at 50% 50%,#000 70%,rgba(0,0,0,.55) 86%,transparent 100%)}
.hero a.slide.ext .frame::before{top:-20%;bottom:-20%;left:-20%;right:-20%}
@media (max-width:700px){.hero a.slide.ext .frame img{max-height:calc(72svh * .84 * 1.6);max-width:calc(86vw * 1.6)}}
.hero a.slide.ext .frame{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
.hero a.slide .frame[style*="--dx"]{transform:translateX(var(--dx))}
/* 07/10/2026 sera: "+" più discreto (richiesta di Alessandro): più piccolo, senza bordo né ombra, fondo color carta del sito, croce sottile disegnata */
.mb-hint .plus,.addmb{width:20px;height:20px;border:0;box-shadow:none;background:rgba(247,246,242,.9);font-size:0;position:relative}
.addmb{top:8px;right:8px}
.mb-hint .plus::before,.mb-hint .plus::after,.addmb:not(.on)::before,.addmb:not(.on)::after{content:'';position:absolute;left:50%;top:50%;width:9px;height:1px;background:var(--ink);transform:translate(-50%,-50%)}
.mb-hint .plus::after,.addmb:not(.on)::after{transform:translate(-50%,-50%) rotate(90deg)}
.addmb.on{font-size:10px;background:var(--ink);color:var(--bg)}
body.mb-intro .addmb{transform:none}
@media (hover:hover){.addmb:hover{background:#fff}}
.mb-hint .plus{vertical-align:middle;top:-2px;box-shadow:inset 0 0 0 1px rgba(26,26,26,.18);margin:0 2px}
.addmb.on,.addmb.on:hover{background:var(--ink);color:var(--bg)}
.addmb{position:absolute;top:8px;right:8px}
/* 07/10/2026 notte: tap immediato su iPhone/iPad (niente ritardo da doppio tocco, niente alone grigio) */
a,button,.jrow a img{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
