:root{color-scheme:dark;--bg:#2a2a2a;--panel:#2a2a2a;--ink:#eee;--mute:#a7a7a7;--green:#00b09a;--line:#454545}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:#aaa;font:16px/1.65 Lato,Helvetica,Arial,sans-serif}img{display:block;max-width:100%}button{font:inherit;cursor:pointer}a{color:var(--green);text-decoration:none}a:hover{color:#5adac7}a:focus-visible,button:focus-visible{outline:2px solid var(--green);outline-offset:4px}.wrap{max-width:1190px;margin:auto;padding:0 30px}.header{background:var(--bg);padding:24px 0 26px;border-bottom:1px solid #3a3a3a;position:sticky;top:0;z-index:30;backdrop-filter:blur(20px);background:rgba(42,42,42,.95)}.header-inside{display:flex;align-items:center;justify-content:space-between;gap:20px}.logo{color:#fff;font-size:30px;line-height:1.15;font-weight:800;letter-spacing:-.04em;text-shadow:0 1px #111;white-space:nowrap}.logo:hover{color:#fff}.nav{display:flex;align-items:center;gap:4px}.nav a{color:#eee;text-transform:uppercase;letter-spacing:.025em;font-size:12px;padding:9px 12px;position:relative}.nav a::after{content:'';position:absolute;bottom:0;left:12px;right:12px;height:2px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .26s}.nav a:hover:after,.nav a.selected:after{transform:scaleX(1)}.menu-toggle{display:none;background:transparent;border:0;padding:8px}.menu-toggle span{display:block;width:23px;height:2px;background:#eee;margin:5px}main{min-height:70vh}footer{margin-top:110px;border-top:1px solid var(--line)}.footer-inner{min-height:110px;display:flex;align-items:center;gap:25px}.footer-inner span{margin-right:auto;color:#ddd;font-weight:700}.home{padding-top:45px}.hero-slider{position:relative;max-width:900px;margin:0 auto 55px;aspect-ratio:4/3;background:#1b1b1b;overflow:hidden}.slides,.slide{position:absolute;inset:0}.slide{opacity:0;transition:opacity 1s;pointer-events:none}.slide.is-on{opacity:1;pointer-events:auto}.slide img{width:100%;height:100%;object-fit:contain;transform:scale(1.06);transition:transform 8s ease-out}.slide.is-on img{transform:scale(1)}.slide-controls{position:absolute;z-index:3;bottom:16px;left:16px;background:rgba(25,25,25,.8);display:flex;align-items:center;gap:20px;padding:7px 12px;backdrop-filter:blur(8px)}.slide-controls button{color:white;background:none;border:0;font-size:30px;line-height:1;padding:0 7px}.slide-controls span{font-size:11px;letter-spacing:.18em;color:#ddd}.home-links{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin:35px 0 75px}.home-links>a{background:var(--bg);padding:23px 20px;color:#eee;display:flex;justify-content:space-between;align-items:center;transition:background .25s,color .25s}.home-links>a:hover{background:#333;color:var(--green)}.home-links span{color:var(--green);transition:transform .3s}.home-links>a:hover span{transform:translate(4px,-4px)}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:30px}.section-head h1,.page-heading{font-size:clamp(33px,4vw,57px);color:#eee;font-weight:700;line-height:1.2;letter-spacing:-.04em;margin:0 0 35px}.mini-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.mini-work{background:var(--panel);display:block;overflow:hidden;color:#bbb}.mini-work img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .6s}.mini-work:hover img{transform:scale(1.055)}.mini-work>span{display:block;font-size:12px;padding:8px 11px;min-height:33px}.article-page{padding-top:70px}.article-copy{max-width:870px;background:var(--panel);padding:clamp(25px,5vw,65px);font-size:17px;line-height:1.85}.article-copy p{margin:0 0 21px}.article-copy h3{color:#ddd;font-weight:600;margin-top:34px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;background:var(--panel);padding:40px 50px}.contact-grid h2{font-size:23px;color:#eee}.contact-grid p{margin:15px 0}.page-gallery{padding-top:70px}.gallery-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:22px 16px}.gallery-link{display:block;min-width:0}.thumb-img{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;overflow:hidden;background:var(--panel);border:1px solid #3b3b3b}.thumb-img img{width:100%;height:100%;object-fit:contain;transition:transform .55s,filter .4s}.gallery-link:hover .thumb-img img{transform:scale(1.06);filter:brightness(1.14)}.caption{font-size:11px;color:#aaa;display:block;margin:8px 2px;min-height:16px}.gallery-link:hover .caption{color:var(--green)}.three-d-mark{position:absolute;right:7px;top:7px;background:var(--green);color:#101e1b;padding:3px 6px;font-size:10px;letter-spacing:.09em}.artwork-page{padding-top:55px;max-width:1130px}.back-gallery{display:inline-block;margin-bottom:27px}.artwork-title{display:flex;align-items:baseline;gap:15px}.artwork-title h1{font-size:clamp(29px,4vw,54px);font-weight:700;color:#eee;margin:0 0 27px;line-height:1.15}.artwork-title small{color:var(--green);font-size:12px}.artwork-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:35px}.artwork-photo{background:#212121;min-height:280px;display:flex;align-items:center;justify-content:center;padding:18px}.artwork-main-img{max-height:680px;max-width:100%;width:auto;height:auto;object-fit:contain}.artwork-details{background:var(--panel);padding:27px}.artwork-details dl{margin:0}.meta-line{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);padding:12px 0;font-size:13px}.meta-line dt{color:#999}.meta-line dd{text-align:right;margin:0;color:#eee}.sheet-bottom{padding:40px 0}.artwork-tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);margin-bottom:20px}.artwork-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;color:#aaa;padding:10px 20px}.artwork-tabs button.active{border-color:var(--green);color:#fff}.model-wrapper{background:#1b1b1b;border:1px solid var(--line);margin-bottom:24px}.model-wrapper canvas{display:block;width:100%;height:min(70vw,620px);min-height:330px;touch-action:none;cursor:grab}.model-wrapper canvas:active{cursor:grabbing}.model-controls{display:flex;align-items:center;gap:15px;justify-content:space-between;padding:10px 15px;border-top:1px solid var(--line);font-size:12px}.model-controls button{border:1px solid var(--line);background:#2c2c2c;color:#ddd;padding:8px 13px}.reveal{opacity:0;transform:translateY(22px);transition:opacity .72s ease,transform .72s cubic-bezier(.19,1,.22,1)}.reveal.visible{opacity:1;transform:translateY(0)}@media(max-width:1000px){.nav a{font-size:11px;padding:9px 7px}.logo{font-size:23px}.gallery-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:780px){.header{padding:17px 0}.wrap{padding-left:18px;padding-right:18px}.logo{font-size:24px}.menu-toggle{display:block}.nav{display:none;position:absolute;left:0;right:0;top:100%;background:#232323;border-bottom:1px solid var(--line);padding:10px 20px 20px;flex-direction:column;align-items:stretch}.nav.opened{display:flex}.nav a{padding:13px 8px;font-size:13px}.home{padding-top:20px}.hero-slider{margin-bottom:25px}.home-links{grid-template-columns:1fr;margin-bottom:48px}.home-links>a{padding:15px}.mini-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.article-page,.page-gallery{padding-top:40px}.article-copy{padding:25px}.artwork-layout,.contact-grid{grid-template-columns:1fr}.contact-grid{padding:25px}.artwork-details{order:2}.model-wrapper canvas{height:62vh;min-height:360px}}@media(max-width:430px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.logo{font-size:20px}.mini-grid{gap:10px}.artwork-title h1{font-size:30px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
[hidden]{display:none!important}.gallery-link:nth-child(6n+2),.mini-work:nth-child(4n+2){transition-delay:60ms}.gallery-link:nth-child(6n+3),.mini-work:nth-child(4n+3){transition-delay:110ms}.gallery-link:nth-child(6n+4),.mini-work:nth-child(4n+4){transition-delay:160ms}.gallery-link:nth-child(6n+5){transition-delay:210ms}.gallery-link:nth-child(6n+6){transition-delay:250ms}

.model-file-help {border-top:1px solid var(--line);padding:14px 16px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:13px;color:#bbb}.model-file-help[hidden]{display:none}.model-file-action{cursor:pointer;background:var(--green);color:#09211f;padding:8px 13px;font-weight:600}.model-file-help input{position:absolute;width:1px;height:1px;clip-path:inset(50%)}.model-file-help small{font-size:12px}.model-file-help code{color:#ddd}

/* Multiple photos within one verified artwork. Original palette / font unchanged. */
.artwork-multi-image{min-width:0;align-self:start}
.artwork-gallery-stage{position:relative;overflow:hidden;min-height:380px;aspect-ratio:4/3;padding:22px}
.artwork-gallery-stage .artwork-main-img{width:100%;height:100%;max-width:100%;max-height:670px;object-fit:contain;transition:opacity .24s ease,transform .45s cubic-bezier(.19,1,.22,1);opacity:1;transform:scale(1)}
.artwork-gallery-stage .artwork-main-img.is-changing{opacity:.25;transform:scale(.986)}
.artwork-gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);background:rgba(20,20,20,.72);border:1px solid rgba(255,255,255,.18);color:#eee;width:38px;height:48px;display:grid;place-items:center;font-size:30px;line-height:1;opacity:.5;transition:opacity .25s ease,background .25s ease}
.artwork-gallery-arrow.previous{left:10px}.artwork-gallery-arrow.next{right:10px}
.artwork-multi-image:hover .artwork-gallery-arrow,.artwork-gallery-arrow:focus-visible{opacity:1}
.artwork-gallery-arrow:hover{background:#008f7d}
.artwork-gallery-bottom{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:13px 0 4px}
.artwork-photo-thumbnails{display:flex;gap:10px}
.artwork-photo-thumb{width:112px;height:82px;display:block;padding:3px;border:1px solid #525252;background:#202020;transition:border-color .2s ease,transform .25s ease}
.artwork-photo-thumb:hover{transform:translateY(-3px)}
.artwork-photo-thumb.is-active{border-color:var(--green);box-shadow:0 0 0 1px var(--green)}
.artwork-photo-thumb img{width:100%;height:100%;object-fit:cover}
.artwork-gallery-counter{font-size:12px;color:#aaa;letter-spacing:.13em;font-variant-numeric:tabular-nums}
@media(max-width:780px){.artwork-gallery-stage{min-height:330px;aspect-ratio:3/4;padding:12px}.artwork-gallery-arrow{opacity:.85}.artwork-photo-thumb{width:94px;height:76px}}
@media(prefers-reduced-motion:reduce){.artwork-gallery-stage .artwork-main-img{transition:none!important}}

/* V10: 3D viewer background matches the original site's charcoal. */
.model-wrapper, .model-wrapper canvas { background: var(--bg); }
.model-wrapper { border-color: var(--line); }
.model-controls { background: var(--bg); }
#glb-status { color: var(--mute); }


/* V11: original palette and typography kept. Photographs open in a native zoom overlay. */
.gallery-card{display:block;min-width:0}
.gallery-photo-open{width:100%;border:0;padding:0;background:transparent;display:block;position:relative;cursor:zoom-in;color:inherit}
.gallery-photo-open .thumb-img{width:100%}
.gallery-photo-open:hover .thumb-img img{transform:scale(1.06);filter:brightness(1.14)}
.zoom-hint{position:absolute;bottom:10px;right:10px;border-radius:50%;width:30px;height:30px;display:grid;place-items:center;background:rgba(17,17,17,.8);border:1px solid #777;color:#fff;font-size:21px;line-height:1;opacity:.65;transition:opacity .2s,transform .2s}
.gallery-photo-open:hover .zoom-hint,.gallery-photo-open:focus-visible .zoom-hint{opacity:1;transform:scale(1.12)}
.gallery-details-link{display:flex;justify-content:space-between;align-items:center;gap:7px;color:#aaa;min-height:27px}
.gallery-details-link .caption{margin:8px 2px;min-width:0}
.gallery-details-link:hover .caption{color:var(--green)}
.gallery-detail-arrow{font-size:16px;opacity:.5;transition:transform .2s,opacity .2s}
.gallery-details-link:hover .gallery-detail-arrow{transform:translate(2px,-2px);opacity:1}
.artwork-photo-open{display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in;color:inherit;position:relative}
.artwork-photo-open:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.artwork-photo-open:hover .artwork-main-img{filter:brightness(1.06)}
.artwork-gallery-stage .artwork-photo-open{height:100%}
.artwork-gallery-stage .artwork-photo-open .artwork-main-img{max-width:100%;max-height:100%;object-fit:contain}
.photo-zoom-modal[hidden]{display:none!important}
.photo-zoom-modal{position:fixed;inset:0;z-index:1000;background:rgba(42,42,42,.985);display:flex;flex-direction:column;color:#eee}
.zoom-toolbar{flex:0 0 auto;min-height:68px;padding:12px clamp(12px,3vw,34px);display:flex;justify-content:space-between;align-items:center;gap:18px;border-bottom:1px solid #484848;background:var(--bg)}
.zoom-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;color:#ddd}
.zoom-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.zoom-actions button,.zoom-actions a,.zoom-navigation button{background:#343434;border:1px solid #555;color:#eee;padding:7px 11px;min-width:36px;min-height:36px;font-size:15px;line-height:1.3}
.zoom-actions button:hover,.zoom-actions a:hover,.zoom-navigation button:hover{border-color:var(--green);color:var(--green)}
.zoom-actions [data-zoom-close]{font-size:26px;line-height:1}
.zoom-actions [data-zoom-level]{min-width:50px;text-align:center;font-size:12px;color:#aaa;font-variant-numeric:tabular-nums}
.zoom-actions .zoom-detail-link{font-size:12px;text-decoration:none;white-space:nowrap;display:flex;align-items:center}
.zoom-content{min-height:0;flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none;cursor:zoom-in}
.zoom-content img{user-select:none;pointer-events:none;display:block;object-fit:contain;max-width:96%;max-height:96%;width:auto;height:auto;transform-origin:center;will-change:transform}
.zoom-content img.is-enlarged{cursor:grab}
.zoom-navigation{flex:0 0 auto;display:flex;justify-content:center;align-items:center;gap:20px;padding:9px 0 14px;background:var(--bg);border-top:1px solid #484848}
.zoom-navigation[hidden]{display:none!important}
.zoom-navigation span{font-size:12px;letter-spacing:.1em;color:#aaa}
@media(max-width:650px){.zoom-toolbar{gap:8px;flex-wrap:wrap;padding:8px 12px}.zoom-title{width:100%;font-size:12px}.zoom-actions{width:100%;justify-content:space-between;gap:4px}.zoom-actions button,.zoom-actions a{padding:6px;min-width:34px;min-height:34px;font-size:13px}.zoom-actions [data-zoom-close]{font-size:23px}.zoom-actions [data-zoom-reset]{font-size:11px}.zoom-actions [data-zoom-level]{min-width:39px}.zoom-content img{max-width:100%;max-height:100%}}
@media(prefers-reduced-motion:reduce){.zoom-hint,.gallery-detail-arrow{transition:none!important}}

/* V12 — original palette, consistent unboxed layout, titles matched to logo. */
:root{--panel:var(--bg)}
h1,h2,h3,.page-heading,.section-head h1,.artwork-title h1{font-family:Lato,Helvetica,Arial,sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:-.04em;color:#f3f3f3;text-wrap:balance}
h1,h2,h3{overflow-wrap:break-word}
.section-head h1,.page-heading{font-size:clamp(31px,4vw,56px)}
.artwork-title h1{font-size:clamp(32px,4vw,52px)}
.hero-slider,.slide-controls,.mini-work,.thumb-img,.artwork-photo,.artwork-details,.article-copy,.contact-grid,.artwork-photo-thumb,.nav.opened{background:var(--bg)}
.hero-slider{aspect-ratio:4/3}
.slide-controls{background:transparent;backdrop-filter:none;border:0;padding:0;gap:12px;bottom:15px;left:15px;text-shadow:0 1px 7px #111}
.slide-controls button{background:rgba(42,42,42,.38);border:1px solid rgba(200,200,200,.28);border-radius:50%;width:37px;height:37px;display:grid;place-items:center;transition:background .2s,transform .2s}
.slide-controls button:hover{background:rgba(42,42,42,.7);transform:scale(1.06)}
.slide-controls span{background:transparent;text-shadow:0 1px 8px #111}
.article-copy,.artwork-details,.contact-grid{padding:0}
.mini-work>span{padding:9px 0 1px}
.thumb-img{border-color:#404040}
.gallery-card{transition:transform .3s ease}
.gallery-card:hover{transform:translateY(-3px)}
.gallery-details-link .caption{margin:9px 2px}
.article-page{padding-top:clamp(40px,6vw,82px)}
.article-page .page-heading{max-width:1060px;margin-bottom:clamp(30px,5vw,68px)}
.editorial-article{max-width:1110px}
.article-lead{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(240px,.7fr);gap:clamp(30px,6vw,98px);align-items:center;margin:0 0 clamp(65px,10vw,140px)}
.article-lead .editorial-text{font-size:clamp(19px,2.3vw,28px);line-height:1.65;color:#ddd;letter-spacing:-.018em}
.article-lead .editorial-text p{margin:0}
.article-lead .editorial-photo{overflow:hidden;aspect-ratio:4/5}
.editorial-photo img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.19,1,.22,1)}
.editorial-photo:hover img{transform:scale(1.05)}
.article-index{color:var(--green);font-size:13px;letter-spacing:.15em;margin-bottom:15px;font-weight:700;display:block}
.editorial-rule{height:1px;background:var(--line);margin:0 0 30px;width:100%}
.editorial-section{display:grid;grid-template-columns:minmax(90px,.35fr) minmax(0,1.65fr);gap:clamp(22px,5vw,85px);margin:0 0 clamp(65px,9vw,120px);align-items:start}
.editorial-section .article-index{font-size:clamp(34px,5vw,70px);line-height:1;letter-spacing:-.05em;color:#666;font-weight:800;display:block;position:sticky;top:130px}
.editorial-section .editorial-copy{max-width:850px;font-size:clamp(16px,1.5vw,20px);line-height:1.85;color:#b9b9b9}
.editorial-section:nth-child(even) .editorial-copy{max-width:680px}
.editorial-copy p{margin:0 0 22px}
.editorial-section .editorial-copy p:last-child{margin-bottom:0}
.editorial-section .editorial-copy .editorial-rule{margin-bottom:23px}
.article-lead.no-image{grid-template-columns:minmax(0,1fr) minmax(0,.55fr)}
.article-lead.no-image::after{content:'';height:1px;width:100%;background:var(--green);align-self:center}
.article-lead p,.editorial-section p{opacity:1}
.reveal.editorial-text{transform:translateY(28px)}
.editorial-section:nth-child(even) .article-index{color:#777}
.article-lead .editorial-photo.reveal{transition-delay:.1s}
.editorial-section .editorial-copy.reveal{transition-delay:.07s}
.editorial-section .editorial-copy p{transition:opacity .65s,transform .75s cubic-bezier(.19,1,.22,1)}
.editorial-section .editorial-copy:not(.visible) p{opacity:0;transform:translateY(15px)}
.editorial-section .editorial-copy.visible p{opacity:1;transform:translateY(0)}
.editorial-section .editorial-copy p:nth-child(2){transition-delay:.1s}
.editorial-section .editorial-copy p:nth-child(3){transition-delay:.18s}
.artwork-photo{padding:0;min-height:280px}
.artwork-details{padding:5px 0 0}
.artwork-multi-image .artwork-gallery-stage{padding:0}
.model-controls button{background:transparent;transition:border-color .2s,color .2s}
.model-controls button:hover{border-color:var(--green);color:var(--green)}
.model-controls .model-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.model-controls #glb-status{margin-left:auto;text-align:right}
.model-wrapper canvas{touch-action:none}
.zoom-hint{display:none}
.gallery-photo-open{cursor:pointer}
@media(max-width:780px){.article-lead,.article-lead.no-image{grid-template-columns:1fr;gap:30px;margin-bottom:65px}.article-lead.no-image:after{display:none}.article-lead .editorial-photo{aspect-ratio:16/10;max-height:360px}.editorial-section{grid-template-columns:52px 1fr;gap:15px;margin-bottom:64px}.editorial-section .article-index{font-size:34px;top:90px}.article-lead .editorial-text{font-size:20px}.editorial-section .editorial-copy{font-size:16px}.model-controls{flex-wrap:wrap}.model-controls #glb-status{width:100%;text-align:left}.page-heading{font-size:clamp(30px,8vw,42px)}}
@media(prefers-reduced-motion:reduce){.editorial-section .editorial-copy p{opacity:1!important;transform:none!important}}

.home-gallery-heading-link{color:inherit}.home-gallery-heading-link:hover{color:var(--green)}
.gallery-work-link{display:block;text-decoration:none;color:inherit;cursor:pointer}
.gallery-work-link .thumb-img{width:100%}
.gallery-work-link:hover .thumb-img img{transform:scale(1.045);filter:brightness(1.13)}
.gallery-work-link .zoom-hint{display:none}
.artwork-photo-open:after{content:'+';position:absolute;right:18px;bottom:18px;width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:rgba(42,42,42,.75);font-size:24px;line-height:1;color:white;pointer-events:none;transition:transform .2s,background .2s}
.artwork-photo-open:hover:after{transform:scale(1.1);background:#008f7d}
.zoom-content{cursor:zoom-in}
.model-wrapper{border:1px solid #454545}
@media(max-width:780px){.artwork-photo-open:after{right:10px;bottom:10px}}

/* V13: fotografia documentaria nella pagina ceramica */
.article-lead .editorial-photo img{object-position:center center}

/* V14: loading progress for every 3D artwork; desktop and mobile. */
.model-viewport{position:relative;isolation:isolate;background:var(--bg)}
.model-loading{position:absolute;inset:0;z-index:5;display:grid;place-items:center;background:rgba(42,42,42,.96);padding:22px;color:#eee}
.model-loading[hidden]{display:none!important}
.model-loading-inner{width:min(390px,100%);text-align:left;display:grid;gap:13px}
.model-loading-title{font-size:clamp(15px,2.7vw,19px);font-weight:700;color:#f4f4f4;line-height:1.35}
.model-loading-detail{font-size:13px;color:#bcbcbc;min-height:20px;word-break:break-word}
.model-loading-track{height:6px;width:100%;border-radius:3px;overflow:hidden;background:#474747;position:relative}
.model-loading-fill{height:100%;width:0%;background:var(--green);transition:width .12s ease-out;transform-origin:left}
.model-loading-track.is-indeterminate .model-loading-fill{width:35%;animation:glb-loading-slide 1.35s ease-in-out infinite;transition:none}
.model-loading-retry{justify-self:start;border:1px solid var(--green);background:transparent;color:var(--green);padding:8px 18px;font-size:13px}
.model-loading-retry[hidden]{display:none!important}
@keyframes glb-loading-slide{0%{transform:translateX(-110%)}100%{transform:translateX(300%)}}
@media(max-width:780px){.model-loading{padding:18px}.model-loading-inner{width:min(340px,100%)}.model-loading-title{font-size:17px}}
@media(prefers-reduced-motion:reduce){.model-loading-track.is-indeterminate .model-loading-fill{animation:none;width:100%;opacity:.65}}

/* V14: 3D badge also on homepage featured thumbnail */
.mini-work{position:relative}
.mini-work>.three-d-mark{z-index:2}


/* V15 — homepage semplificata: slideshow automatico senza controlli, quattro accessi diretti. */
.home .hero-slider{margin-bottom:clamp(24px,4vw,55px)}
.home .slide-controls{display:none!important}
.home .home-links{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0 0 clamp(22px,4vw,60px);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:transparent}
.home .home-links>a{min-width:0;min-height:88px;display:flex;align-items:center;gap:12px;justify-content:space-between;border-right:1px solid var(--line);padding:20px clamp(11px,1.4vw,22px);background:transparent;color:#f2f2f2;font-family:Lato,Helvetica,Arial,sans-serif;font-size:clamp(10px,1.06vw,14px);font-weight:800;letter-spacing:-.012em;text-transform:uppercase;line-height:1.35;white-space:nowrap;transition:color .28s,background-color .28s}
.home .home-links>a:last-child{border-right:none}
.home .home-links>a:hover{color:var(--green);background:rgba(255,255,255,.025)}
.home .home-links>a span{font-size:17px;font-weight:400;flex-shrink:0}
.home .home-links>a:hover span{transform:translate(3px,-3px)}
body:has(.home)>footer{margin-top:55px}
@media(max-width:1000px){.home .home-links>a{font-size:11px;padding:15px 12px}}
@media(max-width:780px){.home .home-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.home .home-links>a{white-space:normal;min-height:76px;font-size:12px;padding:15px 12px}.home .home-links>a:nth-child(2){border-right:none}.home .home-links>a:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:390px){.home .home-links>a{font-size:11px;gap:5px}.home .home-links>a span{font-size:14px}}


/* V16 — contact page full redesign + 3D marker visibility + footer removal */
footer{display:none!important}
main{min-height:auto}
.contact-v16{padding-top:clamp(52px,7vw,110px);padding-bottom:clamp(70px,12vw,175px)}
.contact-v16 .page-heading{font-size:clamp(46px,7.5vw,106px);line-height:1.04;margin-bottom:clamp(28px,4.5vw,55px);letter-spacing:-.06em}
.contact-rule{height:1px;background:var(--line);margin-bottom:clamp(32px,6vw,75px)}
.contact-v16-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:clamp(40px,8vw,135px);align-items:start}
.contact-v16-main,.contact-v16-map-area{min-width:0;background:transparent!important;padding:0}
.contact-v16-brand{margin:0 0 clamp(45px,6vw,80px);font-size:clamp(25px,3.4vw,45px);letter-spacing:-.04em;line-height:1.1;color:#f2f2f2}
.contact-v16-row{display:grid;grid-template-columns:105px minmax(0,1fr);gap:clamp(12px,1.8vw,30px);align-items:start;border-top:1px solid var(--line);padding:clamp(18px,2.6vw,27px) 0;transition:border-color .3s ease}
.contact-v16-row:last-child{border-bottom:1px solid var(--line)}
.contact-v16-row:hover{border-top-color:var(--green)}
.contact-v16-key{font-size:11px;font-weight:800;letter-spacing:.13em;color:var(--green);padding-top:8px}
.contact-v16-value{font-size:clamp(16px,1.75vw,22px);line-height:1.5;font-weight:500;overflow-wrap:anywhere;color:#e3e3e3;transition:color .22s}
a.contact-v16-value:hover{color:var(--green)}
.contact-v16-map-header{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:19px;flex-wrap:wrap}
.contact-v16-map-header h2{font-size:clamp(20px,2.1vw,28px);letter-spacing:-.025em;margin:0}
.contact-v16-map-header a{font-size:12px;line-height:1.6;color:var(--green)}
.contact-v16-map-frame{border:1px solid var(--line);width:100%;aspect-ratio:4/4.4;min-height:360px;overflow:hidden;background:var(--bg)}
.contact-v16-map-frame iframe{width:100%;height:100%;border:0;display:block;filter:grayscale(.75) brightness(.82) contrast(1.04)}
.three-d-mark,.gallery-card .three-d-mark,.gallery-work-link .three-d-mark{display:inline-flex!important;align-items:center;justify-content:center;position:absolute!important;right:8px!important;top:8px!important;z-index:6!important;min-height:23px;padding:5px 9px!important;font-size:11px!important;font-weight:800;line-height:1;letter-spacing:.1em;color:#132a25!important;background:#00b09a!important;border:1px solid #50d8c1;box-shadow:0 1px 8px rgba(0,0,0,.4);opacity:1!important;visibility:visible!important}
@media(max-width:900px){.contact-v16-layout{grid-template-columns:1fr;gap:58px}.contact-v16-map-frame{aspect-ratio:16/9;min-height:320px}}
@media(max-width:600px){.contact-v16{padding-top:45px;padding-bottom:76px}.contact-v16-brand{margin-bottom:37px}.contact-v16-row{grid-template-columns:1fr;gap:5px}.contact-v16-key{padding:0}.contact-v16-value{font-size:19px}.contact-v16-map-frame{aspect-ratio:4/5;min-height:320px}}

.home .slide-controls,.home .homepage-gallery{display:none!important}
.home .home-links{grid-template-columns:repeat(4,minmax(0,1fr))}
.home .home-links>a{text-transform:uppercase;font-weight:800}
@media(max-width:780px){.home .home-links{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* V17 — realign all page backgrounds to the original gray, no dark inset boxes */
:root{--bg:#2a2a2a;--panel:#2a2a2a}
.hero-slider,.model-wrapper,.model-viewport,.artwork-photo,.artwork-details,
.article-copy,.contact-grid,.thumb-img,.artwork-gallery-stage,
.artwork-multi-image,.gallery-card,.mini-work{background-color:var(--bg)!important}
.nav.opened{background:var(--bg)}
/* Keep the original site's heavy sans-serif for all headings, without changing body copy. */
h1,h2,h3,.page-heading,.artwork-title h1,.contact-v16-brand,
.contact-v16-map-header h2{font-family:Lato,Helvetica,Arial,sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:-.045em}
/* Homepage: carousel only + 4 direct links, one row on desktop. */
.home .slide-controls,.home .homepage-gallery{display:none!important}
.home .home-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%}
.home .home-links>a{font-weight:800;text-transform:uppercase}
@media(max-width:780px){.home .home-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Gallery cards are unboxed; the 3D label is always visible when available. */
.gallery-card .thumb-img{border:0}
.gallery-card .three-d-mark{display:inline-flex!important;opacity:1!important;visibility:visible!important}
/* Footer does not appear on any page. */
footer{display:none!important}

/* V18 — OM, slideshow fotografico indipendente dal carosello automatico della home. */
.om-heading-row{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-bottom:35px}
.om-heading-row .page-heading{margin:0}
.om-start-slideshow{border:1px solid var(--green);background:transparent;color:var(--green);font-size:12px;font-weight:800;letter-spacing:.075em;padding:12px 19px;white-space:nowrap;display:inline-flex;align-items:center;gap:17px;transition:background .3s,color .3s}
.om-start-slideshow:hover{background:var(--green);color:#152724}
.om-start-slideshow span{font-size:12px}
.om-slideshow{position:fixed;inset:0;z-index:900;background:#2a2a2a;color:#eee;display:grid;grid-template-rows:auto minmax(0,1fr) auto 3px;overflow:hidden;isolation:isolate}
.om-slideshow[hidden]{display:none!important}
.om-slideshow-top{height:74px;padding:16px clamp(18px,3.5vw,52px);display:flex;align-items:center;gap:26px;border-bottom:1px solid #454545}
.om-slideshow-brand{font-size:23px;font-weight:800;letter-spacing:-.04em;color:#f7f7f7}
.om-slideshow-count{font-size:12px;letter-spacing:.13em;font-variant-numeric:tabular-nums;color:#aaa;margin-left:auto}
.om-slide-close{border:0;background:transparent;font-size:33px;line-height:1;color:#eee;width:40px;height:40px}
.om-slide-close:hover{color:var(--green)}
.om-slide-stage{min-height:0;min-width:0;display:grid;place-items:center;padding:clamp(14px,2vw,28px);overflow:hidden;touch-action:pan-y;background:#2a2a2a}
.om-slide-image{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;opacity:0;transform:scale(.986);transition:opacity .55s ease,transform .85s cubic-bezier(.17,.67,.22,1);pointer-events:none;user-select:none}
.om-slide-image.is-ready{opacity:1;transform:scale(1)}
.om-slide-bottom{border-top:1px solid #454545;padding:17px clamp(18px,3.5vw,52px);display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:88px}
.om-slide-information{display:flex;align-items:center;flex-wrap:wrap;column-gap:30px;row-gap:6px;min-width:0}
.om-slide-information [data-om-title]{font-size:clamp(13px,1.6vw,17px);line-height:1.25;font-weight:800;color:#eee;text-transform:uppercase;max-width:580px;overflow-wrap:anywhere}
.om-slide-information a{font-size:11px;font-weight:800;letter-spacing:.05em;color:var(--green);white-space:nowrap}
.om-slide-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}
.om-slide-actions button{border:1px solid #555;background:transparent;color:#eee;min-width:44px;min-height:42px;font-weight:700}
.om-slide-actions button:hover{border-color:var(--green);color:var(--green)}
.om-slide-actions [data-om-prev],.om-slide-actions [data-om-next]{font-size:28px;line-height:1}
.om-slide-actions [data-om-toggle]{font-size:11px;letter-spacing:.08em;padding:0 16px;min-width:116px}
.om-slide-actions [data-om-toggle] span{margin-left:6px}
.om-slide-progress{background:#454545;overflow:hidden}
.om-slide-progress>span{display:block;height:100%;width:100%;background:var(--green);transform:scaleX(0);transform-origin:left}
@keyframes om-slide-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:650px){.om-heading-row{margin-bottom:24px}.om-start-slideshow{font-size:10px;padding:10px 12px;gap:9px}.om-slideshow-top{height:58px}.om-slide-bottom{flex-direction:column;align-items:stretch;padding:12px 18px;gap:13px}.om-slide-information{justify-content:space-between}.om-slide-actions{justify-content:center}.om-slide-actions [data-om-toggle]{flex:1;max-width:220px}.om-slide-stage{padding:10px}.om-slide-information [data-om-title]{font-size:12px}}
@media(prefers-reduced-motion:reduce){.om-slide-image{transition:none!important}.om-slide-progress>span{animation:none!important;transform:scaleX(1)!important}}

/* V19: immagini interamente contenute, due livelli sovrapposti per una dissolvenza incrociata. */
.om-slide-stage{position:relative;display:block;min-height:0;min-width:0;overflow:hidden;padding:0;background:#2a2a2a}
.om-slide-image{
 position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;max-height:none;
 box-sizing:border-box;padding:clamp(14px,2vw,30px);object-fit:contain;object-position:center;
 opacity:0;filter:blur(7px);transform:scale(1.01);pointer-events:none;user-select:none;
 transition:opacity 1.75s cubic-bezier(.42,0,.22,1),filter 1.75s ease,transform 1.75s ease;
}
.om-slide-image.is-ready{opacity:1;filter:blur(0);transform:scale(1)}
@media(max-width:650px){.om-slide-stage{padding:0}.om-slide-image{padding:10px}}
@media(prefers-reduced-motion:reduce){.om-slide-image{transition:none!important;filter:none!important;transform:none!important}}

/* V20 — Homepage / OM puliti: nessun doppio OM o separatore decorativo. */
.home .home-links{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:clamp(12px,2.2vw,30px)!important;
  background:transparent!important;border:0!important;
  margin:0 0 clamp(24px,4vw,64px)!important;
}
.home .home-links>a,.home .home-links>a:last-child,.home .home-links>a:nth-child(-n+2){
  min-height:86px;border:0!important;padding:14px 8px!important;
  background:transparent!important;transition:color .25s ease,transform .35s cubic-bezier(.2,.7,.2,1)!important;
}
.home .home-links>a:hover{color:var(--green);background:transparent!important;transform:translateY(-3px)}
.home .home-links>a span{color:var(--green)}
@media(max-width:780px){
 .home .home-links{grid-template-columns:1fr!important;gap:0!important}
 .home .home-links>a{min-height:65px;padding:15px 4px!important}
}
/* La voce OM rimane nel menu, non è ripetuta come titolo in basso. */
.om-gallery-page .header{border-bottom:0!important}
.om-gallery-page .page-gallery{padding-top:clamp(25px,3.5vw,48px)}
.om-gallery-page .om-heading-row{justify-content:flex-end;margin-bottom:clamp(26px,3vw,42px)}
.om-gallery-page .gallery-card .thumb-img,.om-gallery-page .gallery-work-link,.om-gallery-page .gallery-details-link{border:0!important;box-shadow:none!important}
.om-gallery-page .gallery-detail-arrow{opacity:.35}
/* Slideshow: nessun bordo o banda divisoria, immagini contenute, fade 1,75s. */
.om-gallery-page .om-slideshow-top,.om-gallery-page .om-slide-bottom{border:0!important}
.om-gallery-page .om-slide-actions button{
  border:0!important;background:transparent!important;
  transition:color .2s ease,transform .2s ease;
}
.om-gallery-page .om-slide-actions button:hover{color:var(--green);transform:scale(1.05)}
.om-gallery-page .om-slide-progress{display:none!important}
.om-gallery-page .om-slide-stage{background:var(--bg)}
.om-gallery-page .om-slide-image{object-fit:contain;object-position:center}
@media(prefers-reduced-motion:reduce){
 .home .home-links>a:hover,.om-gallery-page .om-slide-actions button:hover{transform:none!important}
}


/* V21 — GALLERY, interfaccia senza linee decorative. Mantiene i controlli attivi. */
/* Layout principale e navigazione */
.header, .om-gallery-page .header{border-bottom:0!important}
/* Homepage: quattro accessi senza separatori, come richiesto. */
.home .home-links{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:clamp(7px,1vw,16px)!important;border:0!important;background:transparent!important}
.home .home-links>a,.home .home-links>a:nth-child(-n+2),.home .home-links>a:last-child{border:0!important;min-height:86px;background:transparent!important;text-transform:uppercase!important;font-weight:800!important;white-space:nowrap}
@media(max-width:900px){.home .home-links{grid-template-columns:repeat(2,minmax(0,1fr))!important}.home .home-links>a{white-space:normal}}
@media(max-width:490px){.home .home-links{grid-template-columns:1fr!important}.home .home-links>a{min-height:58px}}
/* Schede opera: niente cornici intorno al modello o linee sotto i comandi. */
.artwork-tabs{border:0!important;margin-bottom:17px;gap:18px}
.artwork-tabs button,.artwork-tabs button.active{border:0!important;background:transparent!important;padding:10px 8px;box-shadow:none!important}
.artwork-tabs button.active{color:var(--green)!important}
.model-wrapper,.model-viewport,.model-controls,.model-file-help{border:0!important;box-shadow:none!important;outline:0!important;background:transparent!important}
.model-wrapper{margin-bottom:32px}
.model-controls{padding:12px 0!important;gap:12px;align-items:center}
.model-file-help{padding:12px 0!important;gap:14px}
.model-controls button{border:0!important;box-shadow:none!important;background:#333!important;color:#eee;border-radius:3px;padding:10px 14px;min-height:40px}
.model-controls button:hover{background:#393939!important;color:var(--green)}
.model-controls #glb-status{color:#a7a7a7}
.artwork-details .meta-line{border:0!important;gap:20px;padding:9px 0}
.artwork-details,.artwork-photo{box-shadow:none!important;border:0!important}
.sheet-bottom{display:none!important}
/* Slider: nessuna linea, mantiene dissolvenza e durata precedenti. */
.om-slideshow-top,.om-slide-bottom,.om-slide-progress{border:0!important}
.om-gallery-page .om-start-slideshow{border:0!important;background:#333;color:var(--green)}
.om-gallery-page .om-start-slideshow:hover{background:#393939}
/* Contatti: eliminati i separatori decorativi, non la mappa o i dati. */
.contact-rule{display:none!important}
.contact-v16-row,.contact-v16-row:last-child{border:0!important}
.contact-v16-map-frame{border:0!important}
/* Focus tastiera accessibile, che compare solo quando serve. */
a:focus-visible,button:focus-visible{outline:2px solid var(--green)!important;outline-offset:3px!important}


/* V22 — Logo SVG originale nell'header, senza cambiare i colori dell'identita' */
.header .logo{display:inline-flex;align-items:center;gap:10px;min-width:0;text-decoration:none;letter-spacing:-.04em}
.header .logo .brand-mark{display:block;width:78px;height:60px;flex:0 0 78px;object-fit:contain;filter:drop-shadow(0 3px 8px rgba(0,0,0,.25));transition:transform .5s cubic-bezier(.16,1,.3,1),filter .5s}
.header .logo .brand-name{display:block;font-size:27px;line-height:1.08;font-weight:800;color:#fff;white-space:nowrap}
.header .logo:hover .brand-mark{transform:translateY(-2px) rotate(-3deg);filter:drop-shadow(0 5px 13px rgba(0,176,154,.15))}
.header{padding:12px 0 14px}
@media(max-width:1170px){.header .logo .brand-mark{width:65px;height:50px;flex-basis:65px}.header .logo .brand-name{font-size:23px}.nav a{font-size:11px;padding:9px 7px}}
@media(min-width:781px) and (max-width:1010px){.header .logo{gap:5px}.header .logo .brand-mark{width:52px;height:42px;flex-basis:52px}.header .logo .brand-name{font-size:20px}.nav a{font-size:10px;padding:9px 5px}}
@media(max-width:780px){.header{padding:9px 0}.header .logo{gap:7px}.header .logo .brand-mark{width:54px;height:42px;flex-basis:54px}.header .logo .brand-name{font-size:21px}}
@media(max-width:385px){.header .logo .brand-mark{width:47px;height:36px;flex-basis:47px}.header .logo .brand-name{font-size:18px}}
/* Schermata di apertura: finto caricamento di circa 2,45 s, una volta per sessione. */
.site-splash{display:none;position:fixed;inset:0;z-index:99999;background:#2a2a2a;color:#f2f2f2;align-items:center;justify-content:center;text-align:center;padding:24px;isolation:isolate;opacity:0;visibility:hidden;pointer-events:none}
html.splash-pending .site-splash{display:flex;visibility:visible;opacity:1;pointer-events:auto;animation:splash-backstop 0s linear 5.3s forwards}
.site-splash:before{content:'';position:absolute;inset:-20%;z-index:-1;background:radial-gradient(ellipse at 50% 48%,rgba(255,255,255,.07),transparent 42%),radial-gradient(ellipse at 50% 75%,rgba(0,176,154,.045),transparent 48%);opacity:.85;animation:splash-ambient 4s ease-in-out infinite alternate}
.site-splash-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;width:min(100%,500px)}
.site-splash-mark{display:block;width:clamp(165px,31vw,295px);height:auto;max-height:230px;object-fit:contain;opacity:0;filter:drop-shadow(0 16px 28px rgba(0,0,0,.28));transform:translateY(15px) scale(.93);animation:splash-mark-in 1.1s cubic-bezier(.16,1,.3,1) .13s forwards,splash-mark-float 3.5s ease-in-out 1.2s infinite alternate}
.site-splash-name{font-family:Lato,Helvetica,Arial,sans-serif;color:#f1f1f1;font-size:clamp(19px,2.7vw,30px);font-weight:800;letter-spacing:-.045em;line-height:1.1;margin:13px 0 22px;opacity:0;transform:translateY(9px);animation:splash-copy-in .7s ease-out .44s forwards}
.site-splash-label{color:#adadad;font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;opacity:0;transform:translateY(6px);animation:splash-copy-in .6s ease-out .64s forwards}
.site-splash-dots{display:inline-flex;vertical-align:middle;align-items:center;gap:6px;margin-left:7px;transform:translateY(-1px)}
.site-splash-dots span{display:block;width:4px;height:4px;border-radius:50%;background:#00b09a;opacity:.22;animation:splash-dot 1.1s ease-in-out infinite}
.site-splash-dots span:nth-child(2){animation-delay:.18s}.site-splash-dots span:nth-child(3){animation-delay:.36s}
.site-splash.is-leaving{opacity:0!important;visibility:hidden;pointer-events:none;transition:opacity .65s ease,visibility .65s ease}
.site-splash.is-leaving .site-splash-inner{transform:translateY(-13px) scale(1.025);filter:blur(5px);transition:transform .65s cubic-bezier(.16,1,.3,1),filter .65s ease}
body.splash-locked{overflow:hidden}
@keyframes splash-mark-in{to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes splash-mark-float{to{transform:translateY(-5px) scale(1.012)}}
@keyframes splash-copy-in{to{opacity:1;transform:translateY(0)}}
@keyframes splash-dot{0%,65%,100%{opacity:.18;transform:scale(.8)}30%{opacity:1;transform:scale(1.35)}}
@keyframes splash-ambient{to{opacity:1;transform:scale(1.07)}}
@keyframes splash-backstop{to{visibility:hidden;opacity:0;pointer-events:none}}
@media(prefers-reduced-motion:reduce){.site-splash:before,.site-splash-mark,.site-splash-name,.site-splash-label,.site-splash-dots span{animation:none!important;opacity:1!important;transform:none!important}.site-splash.is-leaving{transition:none!important}}
