/* Blocchi della homepage (solo front page). Base: atlante.css. */
.sec{padding:clamp(70px,8vw,120px) var(--pad) 0}
.sec h2{margin:0 0 10px;font:300 clamp(24px,2.6vw,30px)/1.15 var(--se);letter-spacing:-.02em}
.sec .sub{margin:0 0 36px;max-width:40em;color:#55534c}
.more{display:inline-flex;gap:12px;align-items:baseline;font:500 11px var(--ar);letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid var(--ink);padding:4px 0;transition:color .3s,border-color .3s}
.more:hover{color:var(--slate);border-color:var(--slate)}
/* 2 · prima / dopo */
.ba{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:clamp(24px,5vw,80px);align-items:center}
.ba__fig{position:relative;margin:0;aspect-ratio:3/2;background:var(--card);overflow:hidden;--pos:50%;touch-action:pan-y;user-select:none;box-shadow:0 30px 60px -34px rgba(23,23,21,.4)}
.ba__fig>img,.ba__fig .after img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ba__fig .after{position:absolute;inset:0;clip-path:inset(0 0 0 var(--pos))}
.ba__fig .after img{filter:grayscale(1) contrast(1.15)}
.ba__line{position:absolute;top:0;bottom:0;left:var(--pos);width:1px;background:var(--ink);pointer-events:none}
.ba__knob{position:absolute;top:50%;left:var(--pos);width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;background:var(--bg);border:1px solid var(--ink);display:grid;place-items:center;font:500 12px var(--ar);pointer-events:none;transition:transform .3s var(--ease)}
.ba__fig:hover .ba__knob{transform:scale(1.12)}
.ba__tag{position:absolute;bottom:14px;font:500 10px var(--ar);letter-spacing:.22em;text-transform:uppercase;background:rgba(23,23,21,.86);color:#e8e5de;padding:6px 10px}
.ba__tag.l{left:14px}.ba__tag.r{right:14px}
.ba__fig input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.ba__fig input:focus-visible+.ba__knob{outline:2px solid var(--slate);outline-offset:3px}
.ba__txt .lab{display:block;margin-bottom:14px}
.ba__txt h3{margin:0 0 14px;font:400 clamp(22px,2.2vw,28px)/1.2 var(--se);letter-spacing:-.015em}
.ba__txt p{margin:0 0 22px;color:#55534c}
@media (max-width:900px){.ba{grid-template-columns:1fr}}
/* numeri: cifre grandi */
.reg--big b{font-size:clamp(40px,5vw,72px);letter-spacing:-.05em;margin-top:14px}
.reg--big em{display:none}
.reg--big div{padding-bottom:34px}
/* ingressi: schede */
.gcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:clamp(18px,2.4vw,34px)}
.gcards .t__img{aspect-ratio:4/5}
.gcards .t__in h3{margin:14px 0 4px;font:400 20px/1.2 var(--se);letter-spacing:-.01em}
.gcards .t__in p{margin:0;font-size:14.5px;color:#55534c;line-height:1.45}
.gcards .t .lab{display:block;margin-top:12px}
.gcards .t{clip-path:none}
/* ingressi: provini a contatto */
.contact{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:var(--ink);padding:30px 22px;position:relative}
.contact::before,.contact::after{content:"";position:absolute;left:0;right:0;height:10px;background:repeating-linear-gradient(90deg,transparent 0 10px,#2c2c29 10px 22px,transparent 22px 34px)}
.contact::before{top:10px}.contact::after{bottom:10px}
.fr{position:relative;display:block;padding:10px 10px 14px;color:#e8e5de}
.fr__n{display:block;font:500 10px var(--ar);letter-spacing:.22em;color:#e0b54a;margin-bottom:8px}
.fr__img{position:relative;aspect-ratio:3/2;overflow:hidden;background:#262624}
.fr__img img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);transition:transform 1s var(--ease),filter .5s}
.fr:hover .fr__img img,.fr:focus-visible .fr__img img{transform:scale(1.06)}
.fr__ring{position:absolute;inset:-4%;width:108%;height:108%;fill:none;stroke:#e8e5de;stroke-width:1.4;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .9s var(--ease);pointer-events:none;overflow:visible}
.fr:hover .fr__ring,.fr:focus-visible .fr__ring{stroke-dashoffset:0}
.fr h3{margin:12px 0 2px;font:400 19px/1.2 var(--se);color:#e8e5de}
.fr .lab{color:#8a8880}
@media (max-width:900px){.contact{grid-template-columns:1fr 1fr}}
/* ingressi: racconto a scorrimento */
.story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,80px)}
.story__fig{position:sticky;top:5vh;height:min(70vh,560px);align-self:start;background:var(--card);overflow:hidden}
.story__ph{position:absolute;inset:0;opacity:0;clip-path:circle(0% at 50% 50%);transition:clip-path 1.1s var(--ease),opacity .2s .9s}
.story__ph.on{opacity:1;clip-path:circle(75% at 50% 50%);transition:clip-path 1.1s var(--ease),opacity 0s}
.story__ph img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05)}
.story__ph.mul img{object-fit:contain;mix-blend-mode:multiply;padding:8%}
.story__list{list-style:none;margin:0;padding:0}
.story__i{min-height:62vh;display:flex;flex-direction:column;justify-content:center;padding:30px 0;border-top:1px solid var(--line);transition:color .5s}
.story__i:not(.on) h3,.story__i:not(.on) p,.story__i:not(.on) .lab,.story__i:not(.on) .stops a,.story__i:not(.on) .go{color:#5f5d55}
.story__i h3{margin:10px 0 12px;font:400 clamp(21px,2vw,26px)/1.2 var(--se);letter-spacing:-.015em}
.story__i p{margin:0 0 14px;max-width:32em;color:#3d3c37}
.story__im{display:none}
.story .go{align-self:flex-start}
@media (max-width:800px){.story{display:block}.story__fig{display:none}.story__i{min-height:0}.story__im{display:block;aspect-ratio:3/2;overflow:hidden;margin-bottom:16px;background:var(--card)}.story__im img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}}
/* ingressi: mosaico proporzionale */
.mosaic{display:flex;flex-direction:column;gap:6px;height:clamp(420px,52vw,640px)}
.mosaic__row{display:flex;gap:6px;flex-basis:0;min-height:0}
.mt{position:relative;flex-basis:0;min-width:0;overflow:hidden;background:var(--card);color:#fff;display:flex;align-items:flex-end}
.mt__img{position:absolute;inset:0}
.mt__img img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);transition:transform 1.2s var(--ease)}

.mt::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 40%,rgba(23,23,21,.8))}
.mt:hover .mt__img img{transform:scale(1.06)}
.mt__tx{position:relative;z-index:2;padding:16px 18px}
.mt__tx h3{margin:0;font:400 clamp(17px,1.8vw,22px)/1.2 var(--se);color:#fff}
.mt__tx .lab{color:#d4d1c8}
@media (max-width:800px){.mosaic{height:auto}.mosaic__row{flex-direction:row;flex-wrap:wrap}.mt{flex:1 1 45%!important;min-height:150px}}
/* percorsi: griglia */
.pv .tl__head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:34px}
.pv .tl__head h2{margin:0}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:46px clamp(20px,3vw,44px)}
.pgrid .era{flex:none}
@media (max-width:900px){.pgrid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.pgrid{grid-template-columns:1fr}}
/* ultimi articoli: uno grande e tre piccoli */
.lat__ed{grid-template-columns:2fr 1fr 1fr}
.lat__ed .t:first-child{grid-row:span 2}
.lat__ed .t:nth-child(even){margin-top:0}
.lat__ed .t:first-child .t__img{aspect-ratio:var(--tar,4 / 5)}
.lat__ed .t:first-child h3{font-size:22px}
.lat__ed .t:nth-child(n+6){display:none}
@media (max-width:900px){.lat__ed{grid-template-columns:1fr 1fr}.lat__ed .t:first-child{grid-column:span 2;grid-row:auto}.lat__ed .t:first-child .t__img{aspect-ratio:3/2}}

/* dimensione delle immagini (cursore «Ultimi articoli»): cambia solo l'altezza, la struttura resta */
.lat .t__img{aspect-ratio:var(--tar,4 / 5)}
/* ventaglio */
.fan{--w:calc(clamp(150px,15vw,200px)*var(--ts,1));position:relative;height:calc(430px*var(--ts,1));display:flex;justify-content:center;align-items:flex-end;padding-bottom:20px}
.fn{position:absolute;bottom:20px;left:50%;width:var(--w);aspect-ratio:3/4.1;margin-left:calc(var(--w)/-2);transform-origin:50% 130%;transform:translateX(calc(var(--k)*clamp(40px,5.2vw,86px))) rotate(calc(var(--k)*5deg));transition:transform .6s var(--ease);z-index:calc(30 - var(--k)*var(--k)/2);overflow:hidden;background:var(--card);border:6px solid #f1efe9;box-shadow:0 18px 30px -16px rgba(23,23,21,.5)}
.fn img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);transition:filter .6s}
.fn__t{position:absolute;left:0;right:0;bottom:0;padding:26px 12px 10px;background:linear-gradient(transparent,rgba(23,23,21,.85));color:#fff}
.fn__t b{display:block;font:400 17px/1.2 var(--se)}.fn__t i{font:500 9px var(--ar);letter-spacing:.2em;text-transform:uppercase;font-style:normal;color:#d4d1c8}
.fn:hover,.fn:focus-visible{transform:translateX(calc(var(--k)*clamp(40px,5.2vw,86px))) translateY(-34px) rotate(0deg) scale(1.08);z-index:60}
@media (hover:hover){body.fx-darkroom .fn:hover img{filter:none}}
@media (max-width:800px){.fan{height:auto;display:flex;overflow-x:auto;gap:12px;justify-content:flex-start;padding:10px var(--pad) 20px;margin:0 calc(var(--pad)*-1)}.fn{position:relative;left:auto;bottom:auto;margin:0;flex:0 0 var(--w);transform:none!important;z-index:auto}}
/* rullino 35 mm */
.film{background:var(--ink);padding:30px 0;position:relative;margin:0 calc(var(--pad)*-1)}
.film::before,.film::after{content:"";position:absolute;left:0;right:0;height:10px;background:repeating-linear-gradient(90deg,transparent 0 10px,#2c2c29 10px 22px,transparent 22px 34px)}
.film::before{top:10px}.film::after{bottom:10px}
.film__v{display:flex;gap:18px;overflow-x:auto;padding:14px var(--pad);scrollbar-width:none;cursor:grab;scroll-snap-type:x proximity}.film__v::-webkit-scrollbar{display:none}.film__v.drag{cursor:grabbing;user-select:none;scroll-snap-type:none}
.frm{flex:0 0 calc(clamp(210px,20vw,270px)*var(--ts,1));color:#e8e5de;scroll-snap-align:start}
.frm__n{display:block;font:500 10px var(--ar);letter-spacing:.2em;color:#e0b54a;margin-bottom:8px}
.frm__i{display:block;aspect-ratio:3/2;overflow:hidden;background:#262624}
.frm__i img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05) brightness(.85);transition:filter .6s,transform 1s var(--ease)}
.frm:hover img{transform:scale(1.06)}
@media (hover:hover){body.fx-darkroom .frm:hover img{filter:none}}
.frm b{display:block;margin:12px 0 2px;font:400 19px/1.2 var(--se)}.frm .lab{color:#8a8880}

/* rullino: frecce e trascinamento col mouse */
.film__nav{position:absolute;top:50%;z-index:5;width:48px;height:48px;margin-top:-24px;border-radius:50%;border:1px solid #e8e5de;background:rgba(23,23,21,.78);color:#e8e5de;font:400 18px/1 var(--ar);cursor:pointer;display:grid;place-items:center;transition:background .25s,color .25s,opacity .25s}
.film__nav:hover,.film__nav:focus-visible{background:#e8e5de;color:var(--ink)}
.film__nav--prev{left:calc(var(--pad) - 4px)}.film__nav--next{right:calc(var(--pad) - 4px)}
.film__nav[disabled]{opacity:0;pointer-events:none}
@media (hover:none){.film__nav{display:none}}
.film__v a,.film__v img{-webkit-user-drag:none;user-select:none}
