:root{color-scheme:dark;--bg:#05080c;--panel:#0b1118;--line:rgba(255,255,255,.12);--green:#00ffb3;--text:#f7fbfa;--muted:#aeb8c3}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(70vw 45vw at 15% 0,rgba(0,255,179,.09),transparent 60%),var(--bg);color:var(--text);font-family:Manrope,system-ui,-apple-system,'Segoe UI',sans-serif}
body{padding-top:86px}
header{position:fixed!important;inset:0 0 auto!important;z-index:2147482000!important;visibility:visible!important;opacity:1!important;transform:none!important;background:rgba(5,8,12,.92);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}
.bar{width:min(1180px,100%);min-height:76px;margin:auto;padding:10px 20px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.logo{height:54px;width:auto;display:block}
.back{display:inline-flex;align-items:center;min-height:44px;padding:10px 14px;border:1px solid rgba(0,255,179,.45);color:var(--text);text-decoration:none;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.back:hover{background:rgba(0,255,179,.1);border-color:var(--green)}
main{width:min(1180px,100%);margin:auto;padding:clamp(46px,7vw,90px) 20px 80px}
.eyebrow{margin:0 0 12px;color:var(--green);font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
h1{margin:0 0 16px;font-size:clamp(42px,7vw,92px);line-height:.92;letter-spacing:-.055em}
.intro{max-width:680px;margin:0 0 42px;color:var(--muted);font-size:clamp(16px,2vw,20px);line-height:1.65}
.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.media{margin:0;overflow:hidden;border:1px solid var(--line);background:var(--panel);min-height:260px;display:grid;place-items:center}
.media:first-child:last-child{grid-column:1/-1}
.media img,.media video{display:block;width:100%;height:100%;max-height:78vh;object-fit:contain;background:#000}
.media img{object-fit:cover}
.caption{padding:12px 14px;color:var(--muted);font-size:12px}
:where(a,video):focus-visible{outline:2px solid #fff;outline-offset:4px}
.designer-credit{margin:0;padding:24px 20px;border-top:1px solid var(--line);color:var(--muted);text-align:center;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:none}
.designer-credit strong{color:#eafff7}
.designer-credit a{display:inline-flex;align-items:center;gap:4px;padding:6px 9px;margin:-6px -9px;border:1px solid transparent;border-radius:999px;color:#eafff7;text-decoration:none;transition:color .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease}
.designer-credit a:hover,.designer-credit a:focus-visible{color:#fff;background:rgba(0,255,179,.1);border-color:rgba(0,255,179,.42);box-shadow:0 0 20px rgba(0,255,179,.14);outline:none}
@media(max-width:720px){.gallery{grid-template-columns:1fr}.media{min-height:210px}.bar{min-height:66px}.logo{height:46px}}

/* Gallerie progetto — continuità con il palco Titan */
header{background:linear-gradient(180deg,rgba(2,4,10,.96),rgba(2,4,10,.82));box-shadow:0 16px 50px rgba(0,0,0,.34)}
.bar{width:min(1380px,100%);min-height:100px;padding:12px clamp(18px,3.5vw,48px);position:relative}
.bar::after{content:"";position:absolute;right:clamp(18px,3.5vw,48px);bottom:5px;left:clamp(18px,3.5vw,48px);height:1px;background:linear-gradient(90deg,transparent,rgb(var(--beam-a)),rgb(var(--beam-b)),transparent);opacity:.5;box-shadow:0 0 14px rgba(var(--beam-a),.38)}
.logo{height:72px;filter:drop-shadow(0 0 18px rgba(var(--beam-a),.28));transition:transform .3s ease,filter .3s ease}.logo:hover{transform:translateY(-2px);filter:drop-shadow(0 0 24px rgba(var(--beam-a),.48))}
main{width:min(1320px,100%);padding-top:clamp(64px,8vw,110px)}
.gallery{gap:clamp(16px,2.2vw,30px)}
.media{border-radius:4px;box-shadow:0 26px 74px rgba(0,0,0,.42);transition:border-color .35s ease,transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s ease}.media:hover{border-color:rgba(var(--beam-a),.48);transform:translateY(-4px);box-shadow:0 34px 90px rgba(0,0,0,.52),0 0 36px rgba(var(--beam-a),.08)}
@media(max-width:720px){.bar{min-height:80px;padding:8px 16px}.bar::after{right:16px;left:16px}.logo{height:56px}main{padding-top:50px}.media:hover{transform:none}}
