*{box-sizing:border-box} :root{color-scheme:dark;font-family:Arial,Helvetica,sans-serif;background:#000;color:#fff}body{margin:0;overflow-x:clip}button,input,select,textarea{font:inherit}button,a,label.import-label{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #aacbff;outline-offset:5px}header{height:66px;padding:0 3.2vw;display:flex;align-items:center;justify-content:space-between}.brand{font-size:15px;letter-spacing:.16em;font-weight:800;color:white;text-decoration:none}.brand span{font-weight:400;color:#797d87;margin-left:9px;font-size:10px}header button,footer button{background:transparent;font-size:12px;color:#a9acb5}.intro{text-align:center;max-width:1100px;margin:23px auto 0;padding:0 24px;height:236px}.eyebrow{font-size:10px!important;letter-spacing:.22em;color:#97b9f0!important;margin-bottom:15px!important}.intro h1{font-size:clamp(28px,2.5vw,52px);letter-spacing:-.035em;line-height:1.1;margin:0 0 13px;font-weight:650}.intro>p:not(.eyebrow){font-size:14px;line-height:1.45;max-width:510px;margin:0 auto;color:#c3c5cb;min-height:40px}.action{background:#e0edff;color:#1260d9;border-radius:23px;padding:14px 29px;font-size:16px;margin-top:21px}.stage{perspective:1800px;width:100%;padding-top:10px;position:relative}.deck{position:relative;width:min(50vw,1080px);aspect-ratio:960/557;margin:auto;transform-style:preserve-3d}.card{position:absolute;inset:0;border-radius:22px;overflow:hidden;background:#414247;border:1px solid #676a73;transform-origin:center;transition:transform 900ms cubic-bezier(.4,0,.2,1),opacity 700ms ease-in-out;will-change:transform,opacity;cursor:pointer;box-shadow:0 18px 50px #0003}.card iframe,.card img{width:100%;height:100%;border:0;display:block;pointer-events:none}.card img{object-fit:cover}.card:focus-visible{outline:3px solid #85b6ff;outline-offset:5px}.card[data-position="0"]{transform:translateX(0) translateZ(0);z-index:4;filter:brightness(1);opacity:1;border-color:transparent}.card[data-position="1"]{transform:translateX(34%) translateZ(-250px) rotateY(-36deg) scale(.92);z-index:3;filter:brightness(.4);opacity:1}.card[data-position="2"]{transform:translateX(57%) translateZ(-410px) rotateY(-39deg) scale(.91);z-index:2;filter:brightness(.27);opacity:1}.card[data-position="3"]{transform:translateX(75%) translateZ(-600px) rotateY(-42deg) scale(.86);z-index:1;opacity:0;filter:brightness(.2)}.card[data-position="-1"]{transform:translateX(-115%) translateZ(150px) rotateY(24deg) scale(1.04);opacity:0;z-index:5}.navigation{text-align:center;margin:42px auto 0}.buttons{display:flex;justify-content:center;gap:20px}.buttons button{background:#2875dc;border-radius:29px;height:62px;font-size:28px;transition:background .2s}.buttons button:hover{background:#408df5}#prev{width:70px}#next{padding:0 36px;min-width:190px;display:flex;align-items:center;gap:20px}.dots{display:flex;justify-content:center;gap:10px;margin-top:25px}.dots button{background:#515357;width:9px;height:9px;padding:0;border-radius:10px;transition:width .3s,background .3s}.dots button[aria-current="true"]{width:19px;background:white}#counter{font-size:10px;letter-spacing:.15em;color:#757985;margin-top:15px}footer{padding:30px 3.2vw 22px;display:flex;justify-content:space-between;color:#757985;font-size:11px}dialog{background:#15171c;color:#fff;border:1px solid #363b45;border-radius:22px;width:min(620px,94vw);max-height:90vh;padding:26px}dialog::backdrop{background:#000b;backdrop-filter:blur(10px)}.editor-head{display:flex;justify-content:space-between;align-items:center}.editor-head h2{margin:0;font-size:24px}.editor-head button,.close{background:#2a2e36;padding:10px 14px;border-radius:50%}dialog p{color:#aeb4bf;font-size:13px;line-height:1.6}label{display:block;font-size:12px;color:#bcc3cf;margin-top:16px}input,textarea,select{width:100%;margin-top:7px;padding:12px;background:#232730;border:1px solid #424956;color:#fff;border-radius:9px}textarea{resize:vertical}#imageFields{display:none}.editor-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}.editor-actions button,.import-label{background:#2a303b;color:#fff;padding:12px 15px;border-radius:10px;font-size:12px;margin:0;cursor:pointer}.editor-actions .primary{background:#2875dc}#detail{width:min(1200px,94vw);padding:18px;background:#0d0e12}#detail form{text-align:right;margin-bottom:12px}#detailContent{aspect-ratio:960/557}#detailContent iframe,#detailContent img{width:100%;height:100%;border:0;border-radius:12px;object-fit:cover}.intro.changing{animation:words .65s ease}@keyframes words{0%{opacity:1;transform:translateY(0)}35%{opacity:0;transform:translateY(-12px)}55%{opacity:0;transform:translateY(12px)}100%{opacity:1;transform:translateY(0)}}@media(min-width:1600px){.intro{height:293px;margin-top:25px}.navigation{margin-top:44px}}@media(max-width:850px){header{height:58px}.intro{margin-top:24px;height:240px}.intro h1{font-size:32px}.deck{width:76vw}.card{border-radius:16px}.navigation{margin-top:35px}.buttons button{height:54px;font-size:22px}footer{margin-top:20px}.stage{perspective:1000px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
.card[data-position="-1"]{transform:translateX(-34%) translateZ(-250px) rotateY(36deg) scale(.92);opacity:1;z-index:3;filter:brightness(.4)}

/* Spazio compatto tra introduzione e presentazione. */
.intro{height:156px}@media(min-width:1600px){.intro{height:193px}}@media(max-width:850px){.intro{height:165px}}
/* Presentazione proporzionale alla finestra, senza limiti di larghezza fissi. */
:root{--u:min(1vw,1.6dvh)}
html{height:100%}
body{height:100dvh;display:grid;grid-template-rows:6dvh minmax(0,1fr) 5dvh;overflow:hidden}
header{height:auto;min-height:0;padding:0 3.2vw}
.brand{font-size:calc(var(--u)*.95)}.brand span{font-size:calc(var(--u)*.65);margin-left:calc(var(--u)*.6)}
header button,footer button{font-size:calc(var(--u)*.8)}
main{min-height:0;display:grid;grid-template-rows:20% 64% 16%}
.intro{height:auto;min-height:0;margin:0 auto;padding:0 3vw;width:90vw;max-width:none;display:flex;flex-direction:column;align-items:center;justify-content:center}
.eyebrow{font-size:calc(var(--u)*.67)!important;margin:0 0 calc(var(--u)*.7)!important}
.intro h1{font-size:calc(var(--u)*2.8);margin:0 0 calc(var(--u)*.6);line-height:1.1}
.intro>p:not(.eyebrow){font-size:calc(var(--u)*.93);line-height:1.4;max-width:38vw;min-height:0;margin:0}
.stage{min-height:0;padding:0;display:grid;place-items:center;perspective:calc(var(--u)*115)}
.deck{width:min(64vw,96dvh);margin:0;aspect-ratio:960/557}
.card{border-radius:calc(var(--u)*1.45)}
.card[data-position="1"]{transform:translateX(34%) translateZ(calc(var(--u)*-16)) rotateY(-36deg) scale(.92)}
.card[data-position="2"]{transform:translateX(57%) translateZ(calc(var(--u)*-26)) rotateY(-39deg) scale(.91)}
.card[data-position="3"]{transform:translateX(75%) translateZ(calc(var(--u)*-38)) rotateY(-42deg) scale(.86)}
.card[data-position="-1"]{transform:translateX(-34%) translateZ(calc(var(--u)*-16)) rotateY(36deg) scale(.92)}
.navigation{min-height:0;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.15dvh}
.buttons{gap:calc(var(--u)*1.2)}
.buttons button{height:5.4dvh;border-radius:3dvh;font-size:calc(var(--u)*1.8)}
#prev{width:6.2dvh}#next{min-width:0;padding:0 calc(var(--u)*2.1);gap:calc(var(--u)*1.3)}
.dots{margin:0;gap:calc(var(--u)*.65)}
.dots button{width:calc(var(--u)*.6);height:calc(var(--u)*.6)}
.dots button[aria-current="true"]{width:calc(var(--u)*1.25)}
#counter{margin:0;font-size:calc(var(--u)*.65)}
footer{height:auto;min-height:0;margin:0;padding:0 3.2vw;align-items:center;font-size:calc(var(--u)*.75)}
@media(max-aspect-ratio:4/5){
 :root{--u:min(1.9vw,1dvh)}
 main{grid-template-rows:27% 48% 25%}
 .intro{width:96vw;padding:0 5vw}.intro h1{font-size:calc(var(--u)*4.1)}
 .intro>p:not(.eyebrow){max-width:86vw;font-size:calc(var(--u)*1.8)}
 .eyebrow{font-size:calc(var(--u)*1.25)!important;margin-bottom:2dvh!important}
 .deck{width:min(78vw,70dvh)}
 .brand{font-size:calc(var(--u)*1.8)}.brand span{font-size:calc(var(--u)*1.2)}
 header button,footer button,footer{font-size:calc(var(--u)*1.4)}
 .buttons button{font-size:calc(var(--u)*3)}
 .dots{gap:calc(var(--u)*1.2)}.dots button{width:calc(var(--u)*1.2);height:calc(var(--u)*1.2)}
 .dots button[aria-current="true"]{width:calc(var(--u)*2.5)}
 #counter{font-size:calc(var(--u)*1.2)}
}


/* Controlli di riproduzione tra le frecce. */
#play,#stop{padding:0 calc(var(--u)*1.05);display:flex;align-items:center;justify-content:center;gap:calc(var(--u)*.5);font-size:calc(var(--u)*1.05);letter-spacing:.04em}
#play[aria-pressed="true"]{background:#dceaff;color:#1659b4;box-shadow:0 0 0 2px #80b4ff}
#stop:disabled{opacity:.45;cursor:default}
@media(max-aspect-ratio:4/5){.buttons{gap:1.7vw}#play,#stop{font-size:calc(var(--u)*1.75);padding:0 2vw}#next{padding:0 3vw;gap:2vw}#prev{width:10vw}}

/* Comandi compatti, con etichette uniformi. */
.buttons{gap:calc(var(--u)*.85)}
.buttons button{height:4.2dvh;border-radius:2.4dvh}
#play,#stop,#next{font-size:calc(var(--u)*1.05);font-weight:400;letter-spacing:.04em;padding:0 calc(var(--u)*.95);gap:calc(var(--u)*.5);min-width:0;justify-content:center}
#prev{width:4.8dvh;font-size:calc(var(--u)*1.5)}
@media(max-aspect-ratio:4/5){.buttons{gap:1.5vw}#play,#stop,#next{font-size:calc(var(--u)*1.75);padding:0 2vw;gap:1vw}#prev{width:8vw;font-size:calc(var(--u)*2.4)}}

/* Un unico stile tipografico condiviso dai tre comandi. */
.buttons{--control-font-size:calc(var(--u)*1.05)}
.buttons #play,.buttons #stop,.buttons #next{font-family:Arial,Helvetica,sans-serif!important;font-size:var(--control-font-size)!important;font-weight:400!important;font-style:normal!important;line-height:1!important;letter-spacing:.04em!important;text-transform:uppercase}
.buttons #play span,.buttons #stop span,.buttons #next span{font:inherit;letter-spacing:inherit}
@media(max-aspect-ratio:4/5){.buttons{--control-font-size:calc(var(--u)*1.75)}}

.card .video-player{background:#101217;pointer-events:none}.card[data-position="0"] .video-player{pointer-events:auto}.video-slide-link{display:none;position:absolute;right:12px;bottom:12px;padding:8px 12px;border-radius:20px;background:#000b;color:white;font:12px Arial,sans-serif;text-decoration:none}.card[data-position="0"] .video-slide-link{display:block}

/* Video a tutta larghezza, con proporzioni 16:9. */
.card:has(> .video-player){background:#000}
.card iframe.video-player{position:absolute;left:0;top:50%;width:100%;height:auto;aspect-ratio:16/9;transform:translateY(-50%);border:0;display:block;background:#000}

/* Riempimento del riquadro video: cover 16:9, senza bande esterne. */
.card:has(> .video-player){container-type:size}
.card iframe.video-player{left:50%;top:50%;width:100%;height:100%;aspect-ratio:auto;transform:translate(-50%,-50%)}
@supports(width:1cqh){.card iframe.video-player{width:max(100cqw,177.777778cqh);height:max(100cqh,56.25cqw)}}

/* Copertina laterale dei video, senza caricare lettori nascosti. */
.video-poster{position:absolute;inset:0;background:linear-gradient(135deg,#152036,#080c15);pointer-events:none;overflow:hidden}
.video-poster img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.video-placeholder{position:absolute;inset:0;display:grid;place-items:center;color:#b6c9e9;font-size:clamp(28px,5vw,80px)}
.card[data-position="0"] .video-poster{display:none}
.card:not([data-position="0"]) iframe.video-player{visibility:hidden;pointer-events:none}

/* Pulsanti grigi con un riflesso vetro discreto sulla parte superiore. */
.buttons button{
 background:linear-gradient(180deg,rgba(255,255,255,.17),rgba(255,255,255,.05) 46%,transparent 49%),linear-gradient(180deg,#626468,#3b3d41);
 color:#f5f5f6;
 border:1px solid rgba(255,255,255,.2);
 box-shadow:inset 0 1px 0 rgba(255,255,255,.25),inset 0 -1px 0 rgba(0,0,0,.3),0 3px 9px rgba(0,0,0,.24);
 text-shadow:0 1px 2px rgba(0,0,0,.4);
 transition:background .2s,box-shadow .2s;
}
.buttons button:hover:not(:disabled){
 background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,.07) 46%,transparent 49%),linear-gradient(180deg,#727478,#484a4e);
}
.buttons button:active:not(:disabled){
 box-shadow:inset 0 2px 5px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.15);
}
.buttons #play[aria-pressed="true"]{
 background:linear-gradient(180deg,rgba(255,255,255,.24),rgba(255,255,255,.08) 46%,transparent 49%),linear-gradient(180deg,#84868a,#55575b);
 color:#fff;
 box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 0 0 1px rgba(255,255,255,.35),0 3px 9px rgba(0,0,0,.24);
}
.buttons button:focus-visible{outline:2px solid #d6d7da;outline-offset:4px}

/* Nessun contorno chiaro; STOP si scurisce al passaggio del mouse. */
.buttons button{border-color:transparent;box-shadow:inset 0 -1px 0 rgba(0,0,0,.3),0 3px 9px rgba(0,0,0,.24)}
.buttons #play[aria-pressed="true"]{box-shadow:inset 0 -1px 0 rgba(0,0,0,.3),0 3px 9px rgba(0,0,0,.24)}
.buttons #stop:hover{
 background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.025) 46%,transparent 49%),linear-gradient(180deg,#414347,#26282b);
}

/* Superficie senza bordi o ombre perimetrali. */
.buttons button,.buttons button:hover,.buttons button:active,.buttons #play[aria-pressed="true"]{border:0!important;box-shadow:none!important;background-clip:padding-box}

/* RGBK — finestra interna della cornice originale 1800 x 1429. */
:root{--section-bg:#f4f3ef;--ink:#20211f;color-scheme:light;background:var(--section-bg);color:var(--ink)}html{height:auto;scroll-behavior:smooth}body{height:auto;display:block;overflow-x:clip;overflow-y:auto;background:var(--section-bg);color:var(--ink)}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}.hero{height:100svh;min-height:600px;display:grid;grid-template-rows:80px minmax(0,1fr) 48px;overflow:hidden;background:var(--section-bg)}header{gap:24px;padding:0 4vw;border-bottom:1px solid #20211f15}.brand{display:flex}.brand img{width:80px;height:40px;object-fit:contain}.menu{display:flex;gap:clamp(18px,3vw,48px);margin-left:auto}.menu a{font-size:12px}header #header-contact{font-size:11px;color:inherit;border:1px solid #20211f50;border-radius:20px;padding:9px 13px;margin-left:3vw}main{grid-template-rows:20% 65% 15%}.intro h1{font-size:clamp(24px,2.5vw,46px);font-weight:400}.eyebrow{color:#686a64!important;font-size:10px!important}.intro>p:not(.eyebrow){color:#777972;font-size:clamp(11px,.9vw,15px);max-width:540px}.stage{perspective:1400px}.deck{width:min(65vw,70dvh);aspect-ratio:1800/1429;isolation:isolate}.card,.card[data-position="0"]{border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible;filter:none}.card[data-position="1"],.card[data-position="-1"]{filter:brightness(.88)}.card[data-position="2"]{filter:brightness(.78)}.card img.frame-art{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;clip-path:inset(var(--frame-edge));pointer-events:none}.aperture{position:absolute;inset:calc(22.65% - 2.5px) calc(17.55% - 2.5px) calc(22.5% - 4px) calc(17.9% - 2.5px);overflow:hidden;background:#000;container-type:size}.card .aperture>iframe,.card .aperture>img{width:100%;height:100%;border:0;display:block}.card[data-position="0"] .aperture>iframe:not(.video-player){pointer-events:auto}.card:has(.video-player){background:transparent;container-type:normal}.card .aperture iframe.video-player{width:100%;height:100%;left:0;top:0;transform:none;aspect-ratio:auto}.video-slide-link{z-index:2}.navigation{gap:9px}.buttons{gap:10px}.buttons button,.buttons button:hover,.buttons button:active,.buttons #play[aria-pressed="true"],.buttons #stop:hover{background:transparent!important;border:1px solid currentColor!important;box-shadow:none!important;color:inherit;text-shadow:none;height:34px;border-radius:30px;font-size:11px!important}.buttons button:hover:not(:disabled){opacity:.6}.buttons #play[aria-pressed="true"]{border-width:2px!important}.buttons #prev{width:42px}.buttons #next,.buttons #play,.buttons #stop{padding:0 16px}.arrow{width:16px;height:16px;display:inline-block;vertical-align:middle;transform:rotate(90deg)}.arrow.back{transform:rotate(-90deg)}.arrow.down{transform:rotate(180deg)}.dots{gap:8px}.dots button{background:transparent;border:1px solid #60635c;width:6px;height:6px}.dots button[aria-current="true"]{width:16px;background:currentColor}#counter{font-size:9px;color:#70736a}footer{color:inherit;font-size:10px;padding:0 4vw}footer button{font-size:10px;color:inherit}footer .arrow{width:12px;height:12px;margin-left:10px}.continuation{padding:100px 7vw;border-top:1px solid #20211f22}.label{font-size:10px;letter-spacing:.14em;color:#73766d;margin:0 0 55px}.columns{display:grid;grid-template-columns:1.3fr 1fr;gap:10vw}.continuation h2{font-size:clamp(36px,5vw,80px);line-height:1.05;font-weight:400;letter-spacing:-.055em;margin:0}.columns p,.contact>p:not(.label){font-size:16px;line-height:1.8;color:#71746a;max-width:490px}.continuation a{display:inline-flex;gap:25px;align-items:center;border-bottom:1px solid #888;padding:14px 0;font-size:12px;margin-top:20px}.works{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.works article>p{font-size:12px}.study{aspect-ratio:4/5;overflow:hidden;position:relative;display:grid;place-items:center}.one{background:#d8d4c9}.one i{width:60%;aspect-ratio:1;border-radius:50%;background:linear-gradient(140deg,#eeece3,#8f9185);box-shadow:15px 25px 30px #65635845}.two{background:#a74b3d}.two i{width:45%;height:75%;border:1px solid #eddba4;transform:rotate(30deg);box-shadow:20px 0 #c98764,-20px 0 #693f38}.three{background:linear-gradient(#b4bdba 50%,#505d56 50%)}.three i{width:130%;height:30%;background:#d8d3bf;transform:rotate(-23deg)}.contact{background:#e8e7e0}.contact>p{margin-top:30px}.bottom{padding:30px 7vw;border-top:1px solid #20211f22;font-size:11px}
@media(max-width:650px){.hero{min-height:600px;grid-template-rows:104px minmax(0,1fr) 42px}header{position:relative;align-items:flex-start;padding-top:16px;gap:10px}.brand img{width:66px;height:28px}.menu{position:absolute;left:4vw;right:4vw;bottom:16px;justify-content:space-between;gap:10px}.menu a{font-size:11px}header #header-contact{margin-left:auto;font-size:10px;padding:7px 12px}main{grid-template-rows:25% 55% 20%}.deck{width:min(88vw,65dvh)}.intro h1{font-size:26px}.intro>p:not(.eyebrow){font-size:12px;max-width:86vw}.eyebrow{font-size:8px!important}.buttons #next,.buttons #play,.buttons #stop{padding:0 12px}.columns{grid-template-columns:1fr;gap:25px}.continuation{padding:65px 6vw}.label{margin-bottom:32px;font-size:9px}.works{grid-template-columns:1fr;gap:40px}.study{aspect-ratio:5/4}footer,footer button{font-size:9px}.navigation{gap:12px}}
@media(max-height:550px) and (min-width:651px){.hero{min-height:420px;grid-template-rows:55px minmax(0,1fr) 30px}.intro h1{font-size:23px}.intro>p:not(.eyebrow){font-size:10px}.deck{width:min(60vw,67dvh)}.buttons button{height:27px}.navigation{gap:4px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Revisione: solo titolo, cornici più grandi e menu rivelato allo scroll. */
.hero{height:100svh;min-height:560px;grid-template-rows:60px minmax(0,1fr) 30px}
.hero>header{position:fixed;inset:0 0 auto;z-index:30;height:60px;align-items:center;padding:0 4vw;border-bottom-color:transparent;transition:background .25s,border-color .25s}
.hero>header.scrolled{background:var(--section-bg);border-bottom-color:#20211f22}
.hero>main{grid-row:2;grid-template-rows:minmax(85px,16%) minmax(0,1fr) 80px}
.hero>footer{grid-row:3}
.menu{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-12px);transition:opacity .25s,transform .25s,visibility .25s}
.scrolled .menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.intro{width:96vw;padding:0 3vw}
.intro h1{font-size:clamp(32px,4.4vw,76px);line-height:1.05;margin:0;font-weight:400;letter-spacing:-.045em}
.stage{container-type:size}
.deck{width:min(96vw,126cqh);max-width:none;aspect-ratio:1800/1429}
.navigation{gap:6px}.navigation .buttons button{height:32px}
@media(max-width:650px){
 .hero{min-height:560px;grid-template-rows:56px minmax(0,1fr) 30px}
 .hero>header{height:56px;padding:0 4vw;align-items:center}
 .hero>header.scrolled{height:100px}
 .hero>header.scrolled .brand,.hero>header.scrolled #edit{align-self:flex-start;margin-top:13px}
 .menu{left:4vw;right:4vw;bottom:15px}
 .hero>main{grid-template-rows:minmax(94px,18%) minmax(0,1fr) 88px}
 .intro h1{font-size:clamp(30px,7.8vw,48px)}
  .hero > main { grid-template-columns: minmax(0,1fr); min-width: 0; }
 .hero .stage { grid-template-columns: minmax(0,1fr); min-width: 0; }
 .hero .deck { width: min(94vw,126cqh); max-width: 100%; justify-self: center; }
 .navigation{gap:9px}
 .continuation{scroll-margin-top:100px}
}
@media(max-height:550px) and (min-width:651px){
 .hero{min-height:380px;grid-template-rows:44px minmax(0,1fr) 24px}
 .hero>header{height:44px}
 .hero>main{grid-template-rows:64px minmax(0,1fr) 64px}
 .intro h1{font-size:clamp(28px,3.2vw,44px)}
 .navigation{gap:4px}.navigation .buttons button{height:26px}
}
.continuation{scroll-margin-top:60px}
@media(max-width:650px){.continuation{scroll-margin-top:100px}}

/* Revisione 3: titolo dimezzato, composizione rialzata e profondità chiara. */
.hero>main{grid-template-rows:minmax(46px,9%) minmax(0,1fr) 80px;padding-bottom:5svh}
.intro h1{font-size:clamp(16px,2.2vw,38px)}
.menu,.scrolled .menu{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.card[data-position="0"],.card[data-position="1"],.card[data-position="-1"],.card[data-position="2"],.card[data-position="3"]{filter:none}
.card::after{content:"";position:absolute;inset:0;z-index:10;pointer-events:none;background:var(--section-bg);clip-path:inset(var(--frame-edge));opacity:0;transition:opacity 900ms ease}
.card[data-position="1"]::after,.card[data-position="-1"]::after{opacity:.55}
.card[data-position="2"]::after{opacity:.85}
.card[data-position="3"]::after{opacity:1}
@media(max-width:650px){
 .hero{grid-template-rows:100px minmax(0,1fr) 30px}
 .hero>header,.hero>header.scrolled{height:100px}
 .hero>header .brand,.hero>header #header-contact,.hero>header.scrolled .brand,.hero>header.scrolled #edit{align-self:flex-start;margin-top:13px}
 .hero>main{grid-template-rows:minmax(48px,9%) minmax(0,1fr) 88px;padding-bottom:5svh}
 .intro h1{font-size:clamp(15px,3.9vw,24px)}
}
@media(max-height:550px) and (min-width:651px){
 .hero>main{grid-template-rows:32px minmax(0,1fr) 64px;padding-bottom:4svh}
 .intro h1{font-size:clamp(14px,1.6vw,22px)}
}
@media(prefers-reduced-motion:reduce){.card::after{transition:none}}

/* Sagoma della nuova cornice senza ombra (1800 × 1429). */
.hero>header,.hero>header.scrolled{border-bottom:1px solid var(--editorial-rule)}
.intro h1{translate:0 clamp(16px,3.2svh,32px)}
.card{--frame-edge:7.03% 5.29% 7.14% 5.36%}
.card::before{
 content:"";
 position:absolute;
 inset:var(--frame-edge);
 pointer-events:none;
 box-shadow:0 5px 10px #20211f26,0 16px 32px #20211f24;
 opacity:0;
 transition:opacity 900ms cubic-bezier(.4,0,.2,1);
}
.card[data-position="0"]::before{opacity:1}
.card[data-position="1"]::before,.card[data-position="-1"]::before{opacity:.36}
.card[data-position="2"]::before{opacity:.09}

/* Comandi della presentazione a icona. */
.navigation .buttons :is(#prev,#play,#stop,#next){
 display:grid;
 place-items:center;
 width:42px;
 padding:0;
}
.navigation .buttons :is(#play,#stop) span{font-size:13px}

.navigation .buttons :is(#prev,#play,#stop,#next){
 width:34px;
 height:34px;
 border-radius:50%;
}
/* Ombra interna del passe-partout, sopra il contenuto. */
.aperture::after {
 content: "";
 position: absolute;
 inset: 0;
 z-index: 1;
 pointer-events: none;
 box-shadow: inset 0 2px 3px -1px rgb(0 0 0 / 22%),
             inset 2px 0 3px -1px rgb(0 0 0 / 19%),
             inset -1px 0 2px -1px rgb(75 75 75 / 20%),
             inset 0 -1px 2px -1px rgb(75 75 75 / 20%);
}
.hero .brand {
 align-items: center;
 gap: clamp(8px, 1.2vw, 18px);
 min-width: 0;
 color: var(--ink);
 text-decoration: none;
}
.hero .brand img { flex: none; }
.hero .brand .brand-caption {
 margin: 0;
 color: inherit;
 font-size: clamp(10px, 1.05vw, 16px);
 font-weight: 300;
 line-height: 1.2;
 letter-spacing: .045em;
 text-align: center;
}
.brand-caption strong { font-weight: 600; }
@media (max-width: 760px) {
 .hero .brand .brand-caption { font-size: 9px; letter-spacing: .015em; }
}

/* Il cerchio fa parte di ciascuna icona SVG. */
.navigation .buttons button:is(#prev,#play,#stop,#next) {
 border: 0 !important;
}
.navigation .buttons .control-icon {
 display: block;
 width: 34px;
 height: 34px;
}
.navigation .buttons #play[aria-pressed="true"] {
 outline: 1px solid currentColor;
 outline-offset: 1px;
}
.navigation .buttons #play:focus-visible { outline-offset: 4px; }

/* Parte editoriale della collezione. */
.editorial {
 --quarter-gap: clamp(14px,1.5vw,24px);
 --quarter-inset: clamp(14px,1.6vw,26px);
 --editorial-card-padding-block: clamp(20px,2.6vw,44px);
 --editorial-section-gap: 24px;

 background: var(--section-bg);
 padding: clamp(30px,5vw,80px) clamp(20px,7vw,135px) 28px;
 font-family: "Segoe UI", system-ui, sans-serif;
}
.editorial [id] { scroll-margin-top: 112px; }
.editorial-feature {
 display: grid;
 grid-template-columns: repeat(4,minmax(0,1fr));
 gap: var(--quarter-gap);
 --feature-inset: clamp(18px,2.5vw,40px);
 padding: var(--feature-inset) 0;
 border-block: 1px solid var(--editorial-rule);
}
.editorial-image { grid-column: span 2; margin: 0; align-self: start; }
.editorial-image img { display: block; width: 100%; height: auto; }
.editorial-story { grid-column: span 2; display: grid; grid-template-columns: subgrid; align-content: start; row-gap: 0; }
.editorial-story > * { grid-column: 1 / -1; }
.editorial-story > .editorial-link { justify-self: start; margin-inline: var(--quarter-inset); }
.editorial-heading {
 position: relative;
 text-align: center;
 padding: clamp(6px,.65vw,12px) 0 clamp(12px,2.6vw,42px);
 border-bottom: 1px solid transparent;
}
.editorial-heading::after {
 content: "";
 position: absolute;
 inset-inline: 0 var(--quarter-gap);
 inset-block-end: -1px;
 border-bottom: 1px solid var(--editorial-rule);
}
@media (max-width: 520px) {
 .editorial-heading::after { inset-inline-end: 0; }
}
.editorial h2 { margin: 0; font-weight: 550; letter-spacing: -.055em; line-height: 1.06; }
.editorial-feature h2 { font-size: clamp(32px,4vw,70px); }
.editorial p { color: #53564f; line-height: 1.6; }
.editorial-heading p { margin-bottom: 0; }
.editorial-copy { display: grid; grid-template-columns: subgrid; margin-block: clamp(18px,2.5vw,36px); }
.editorial-copy > div { padding-inline: var(--quarter-inset); border-inline-end: 1px solid var(--editorial-rule); }
.editorial-copy p { margin: 0; }
.editorial-copy p + p { margin-top: .85em; }
.editorial-link { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; text-decoration: underline; text-underline-offset: 4px; }
.editorial-pair { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(14px,2vw,32px); margin-block: var(--editorial-section-gap); }
.editorial-pair section { padding: var(--editorial-card-padding-block) 18px; text-align: center; border-inline-end: 1px solid var(--editorial-rule); border-bottom: 1px solid var(--editorial-rule); }
.editorial-pair p { max-width: 44ch; margin-inline: auto; }
.editorial-pair h2 { font-size: clamp(24px,2.6vw,45px); }
.editorial-footer { font-size: 12px; padding-right: 54px; }
.back-to-top {
 position: fixed;
 right: clamp(14px,3vw,44px);
 bottom: clamp(14px,3vw,44px);
 z-index: 20;
 width: 48px;
 height: 48px;
 display: grid;
 place-items: center;
 border: 1px solid #777;
 border-radius: 50%;
 background: var(--section-bg);
 opacity: 0;
 visibility: hidden;
 transition: opacity .2s, visibility .2s;
}
.hero:not(:has(>header.scrolled)) + .scroll-down,
.hero:has(>header.scrolled) ~ .back-to-top:not(.scroll-down) { opacity: 1; visibility: visible; }
.scroll-down img { transform: rotate(180deg); }
.back-to-top img { width: 21px; height: 21px; }
@media (max-width: 1000px) {
 .editorial-feature { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 480px) {
 .editorial-pair, .editorial-copy { grid-template-columns: 1fr; }
 .editorial-copy { gap: 12px; }
 .editorial-copy > div, .editorial-copy > div + div { padding: 0; border: 0; }
}

:root { --editorial-rule: #20211f59; }

/* L’opera attraversa i divisori della griglia editoriale. */
.editorial-overlap {
 --overlap: clamp(8px,1.15vw,18px);
 position: relative;
 display: grid;
 grid-template-columns: repeat(2,minmax(0,1fr));
 align-items: center;
 gap: clamp(28px,4vw,64px);
 border-block-end: 1px solid var(--editorial-rule);
 border-inline-end: 1px solid var(--editorial-rule);
}
.editorial-overlap-image {
 position: relative;
 z-index: 2;
 margin: calc(-1 * var(--overlap)) 7% calc(var(--editorial-section-gap) - var(--overlap));
 translate: clamp(8px,1.2vw,20px) 0;
 transform: rotate(-8deg);
}
.editorial-overlap-image img {
 display: block;
 width: 100%;
 height: auto;
 aspect-ratio: 1055 / 1491;
}
.editorial-overlap-copy {
 translate: clamp(-54px,-3.2vw,-22px) 0;
 text-align: center;
 padding: clamp(28px,5vw,80px) clamp(16px,3vw,44px);
}
.editorial-overlap h2 { font-size: clamp(32px,4vw,68px); }
.editorial-overlap-copy p { max-width: 44ch; margin: 20px auto 0; }
.editorial-feature + .editorial-cards { margin-top: var(--editorial-section-gap); }
.editorial-overlap + .editorial-pair { margin-bottom: clamp(32px,4vw,64px); }
@media (max-width: 680px) {
 .editorial-overlap { grid-template-columns: 1fr; gap: 12px; border-inline-end: 0; }
 .editorial-overlap-image { width: min(74%,340px); margin: -10px auto 0; translate: 6px 0; transform: rotate(-5deg); }
 .editorial-overlap-copy { translate: none; padding-bottom: 36px; }
}

.editorial .editorial-footer {
 display: flex;
 flex-wrap: wrap;
 align-items: center;
 justify-content: space-between;
 gap: 16px 24px;
 padding: 16px 0 0;
 border-top: 1px solid var(--editorial-rule);
 font-size: 12px;
}
.footer-legal, .footer-social {
 display: flex;
 flex-wrap: wrap;
 align-items: center;
 gap: 10px;
}
.footer-legal { gap: 12px 24px; }
.footer-social img { display: block; object-fit: contain; }
@media (max-width: 600px) {
 .editorial .editorial-footer { padding-inline-end: 56px; }
}

.editorial { padding-bottom: clamp(48px,6vw,88px); }
.footer-legal { column-gap: 20px; }
.footer-copyright strong { font-weight: 700; }
.footer-social { column-gap: 12px; }
.footer-social img { width: 24px; height: 24px; }
@media (max-width: 650px) {
 .footer-copyright { flex-basis: 100%; }
 .footer-separator { display: none; }
}

.editorial-cards {
 display: grid;
 grid-template-columns: repeat(4,minmax(0,1fr));
 gap: var(--quarter-gap);
 margin-bottom: var(--editorial-section-gap);
}
.editorial-card {
 display: flex;
 flex-direction: column;
 padding: var(--editorial-card-padding-block) var(--quarter-inset);
 border-inline-end: 1px solid var(--editorial-rule);
 border-bottom: 1px solid var(--editorial-rule);
}
.editorial-card .editorial-card-category {
 display: flex;
 align-items: center;
 gap: 6px;
 margin: 0 0 22px;
 color: #ae3626;
 font-size: 13px;
 font-weight: 700;
 text-transform: uppercase;
}
.editorial-card-category .category-icon {
 display: block;
 flex: 0 0 15px;
 height: 15px;
 background: currentColor;
 mask: url("../img/ottopunte.svg") center / contain no-repeat;
}
.editorial-card { container-type: inline-size; }
.editorial-card h2 { font-size: min(36px, 9.8cqi); }
.editorial-card-description { margin: 12px 0 20px; }
@media (max-width: 1000px) {
 .editorial-cards { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 520px) {
 .editorial-cards { grid-template-columns: 1fr; }
}

.hero > header #fullscreen {
 position: relative;
 display: grid;
 place-items: center;
 width: 34px;
 height: 34px;
 padding: 5px;
 flex: none;
 color: var(--ink);
 margin-inline-start: -12px;
}
#fullscreen img { display: block; width: 22px; height: 22px; }
.fullscreen-tooltip {
 position: absolute;
 right: 0;
 top: calc(100% + 3px);
 padding: 4px 8px;
 border-radius: 999px;
 background: var(--ink);
 color: #fff;
 font-size: 10px;
 line-height: 1;
 opacity: 0;
 visibility: hidden;
 pointer-events: none;
 transition: opacity .15s, visibility .15s;
}
#fullscreen:is(:hover,:focus-visible) .fullscreen-tooltip { opacity: 1; visibility: visible; }
@media (max-width: 650px) {
 .hero > header #fullscreen { align-self: flex-start; margin-top: 13px; margin-inline-start: 0; }
}
@media (max-width: 650px) and (pointer: coarse), (max-height: 500px) and (pointer: coarse) {
 .hero > header #fullscreen { display: none; }
}

/* Il divisore editoriale inizia dopo la prima schermata. */
.hero { height: 100svh; }
.hero > main { padding-bottom: clamp(16px,5svh,56px); }
.editorial { padding-top: 4px; }

.card .aperture > .collection-image { object-fit: contain; background: #fff; }

.hero > header #header-contact { white-space: nowrap; text-decoration: none; }
.hero > header #header-contact:hover { border-color: currentColor; }
.personalize-launch {
 position: fixed;
 left: clamp(14px,3vw,44px);
 bottom: clamp(14px,3vw,44px);
 z-index: 20;
 display: grid;
 place-items: center;
 width: 48px;
 height: 48px;
 padding: 0;
 border: 1px solid #777;
 border-radius: 50%;
 background: var(--section-bg);
 color: var(--ink);
 font-size: 16px;
}
.personalize-launch:hover { border-color: currentColor; }

/* Il bianco delle opere si fonde con il colore della pagina. */
.card .aperture:has(> .collection-image) {
 background: var(--section-bg);
 isolation: isolate;
}
.card .aperture > .collection-image,
.editorial-image,
.editorial-overlap-image {
 mix-blend-mode: multiply;
}
@media (hover: hover) {
 .card[data-position="0"] .aperture:hover > .collection-image,
 .editorial-image:hover,
 .editorial-overlap-image:hover {
  mix-blend-mode: normal;
 }
}
 .footer-design strong { font-weight: 700; }

.footer-links {
 display: flex;
 flex-wrap: wrap;
 align-items: center;
 gap: 8px 16px;
}

.editorial-pair .works-intro { max-width: 50ch; }

.editorial-card-description > p { margin: 0; }
.editorial-card-description > p + p { margin-top: .65em; }



.editorial-pair .works-intro,
.editorial-pair .contact-intro {
 max-width: 66ch;
 text-wrap: balance;
}
@media (max-width: 1100px) {
 .contact-desktop-break { display: none; }
}

@media (min-width: 1250px) {
 .editorial-pair .works-intro { max-width: none; }
 .works-intro > span { display: block; }
}

.hero > header .menu a,
.hero > header #header-contact { font-size: 15px; }
@media (max-width: 850px) and (min-width: 651px) {
 .hero > header { gap: 14px; }
 .hero > header .menu { gap: 14px; }
 .hero > header #header-contact { margin-left: 0; }
}
@media (max-width: 650px) {
 .hero > header .menu a,
 .hero > header #header-contact { font-size: 14px; }
}

@media (max-width: 520px) {
 .editorial-copy { grid-template-columns: minmax(0,1fr); gap: 12px; }
 .editorial-copy > div { border-inline-end: 0; }
}

@media (min-width: 521px) {
 .editorial-feature .editorial-story {
  position: relative;
 }
 .editorial-feature .editorial-story::after {
  content: "";
  position: absolute;
  inset-block: 0 calc(-1 * var(--feature-inset));
  inset-inline-end: 0;
  border-inline-end: 1px solid var(--editorial-rule);
  pointer-events: none;
 }
 .editorial-feature .editorial-copy > div:last-child { border-inline-end: 0; }
}
@media (max-width: 650px) {
 .editorial .editorial-footer {
  justify-content: center;
  padding-inline: 0;
  text-align: center;
 }
 .editorial-footer .footer-legal,
 .editorial-footer .footer-links,
 .editorial-footer .footer-social {
  width: 100%;
  justify-content: center;
 }
 .editorial-footer .footer-design { flex-basis: 100%; }
}

.fullscreen-pages {
 position: fixed;
 inset: 0;
 z-index: 100;
 background: var(--section-bg);
}
.fullscreen-pages[hidden], .fullscreen-pages-exit[hidden] { display: none; }
.fullscreen-pages iframe { display: block; width: 100%; height: 100%; border: 0; }
.fullscreen-pages-exit {
 position: absolute;
 inset-inline-start: clamp(14px,3vw,44px);
 inset-block-end: clamp(14px,3vw,44px);
 display: grid;
 place-items: center;
 width: 48px;
 height: 48px;
 border: 1px solid #777;
 border-radius: 50%;
 background: var(--section-bg);
}
.fullscreen-pages-exit img { width: 22px; height: 22px; }
