@import url('https://fonts.googleapis.com/css2?family=Black+Ops+One&family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&family=Rajdhani:wght@500;600;700&family=Orbitron:wght@400;500;600&display=swap');
.intro,.index,.bio,.outro{position:relative;isolation:isolate;overflow:hidden}
.intro:before,.index:before,.bio:before,.outro:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,16,23,.9),rgba(10,16,23,.82)),url('assets/gianluca-studio.png') center 48%/cover no-repeat;pointer-events:none}
.index:before{background-position:center,center 70%}
.bio:before{background:linear-gradient(90deg,rgba(10,16,23,.94),rgba(10,16,23,.88)),url('assets/gianluca-studio.png') center/cover no-repeat}
.outro:before{background:linear-gradient(0deg,rgba(10,16,23,.85),rgba(10,16,23,.91)),url('assets/gianluca-studio.png') center 35%/cover no-repeat}
.bio-photo{margin:40px 0 0;width:100%;border:1px solid #a8d8cf40;box-shadow:0 20px 60px #0005}
.bio-photo img{display:block;width:100%;height:auto;aspect-ratio:1.25;object-fit:cover;object-position:45% center}
:root{color-scheme:dark;--ink:#0a1017;--paper:#e8edf0;--muted:#a4afb9;--mint:#a8d8cf}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--ink);color:var(--paper);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}a:hover{color:var(--mint)}a:focus-visible{outline:2px solid var(--mint);outline-offset:6px}header{height:82px;position:absolute;z-index:5;top:0;left:0;width:100%;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff26}.brand{font-family:'Space Grotesk',sans-serif;font-size:30px;font-weight:700;display:flex;align-items:center;gap:18px}.brand span{font:600 10px 'DM Sans',sans-serif;letter-spacing:2px}nav{display:flex;gap:30px;font-size:13px}.soundcloud{font-size:12px}.hero{min-height:820px;height:100svh;position:relative;overflow:hidden;display:flex;align-items:center}.hero-art{position:absolute;inset:0;background:linear-gradient(90deg,#0a1017 5%,#0a1017d9 30%,#0a101733 75%),linear-gradient(0deg,#0a1017,transparent 30%),url('assets/hero-arcane-hd.webp') 100% 48%/70% auto no-repeat}.hero-copy{position:relative;z-index:1;padding:100px 8vw}.eyebrow{font-size:10px;letter-spacing:3px;line-height:1.8;font-weight:600;color:var(--mint)}h1,h2,h3{font-family:'Space Grotesk',sans-serif;font-weight:500;margin:0}h1{font-size:clamp(52px,6.7vw,104px);letter-spacing:-5px;line-height:1.02;margin:30px 0}em{font-style:normal;color:var(--mint)}.hero-copy>p:not(.eyebrow){font-size:16px;line-height:1.9}.hero-copy>p span{color:var(--muted);font-size:14px}.button{display:inline-flex;gap:45px;align-items:center;border:1px solid #ffffff50;padding:17px 24px;font-size:13px;margin-top:23px}.button:hover{background:#a8d8cf15}.hero-bottom{position:absolute;bottom:34px;left:5vw;right:5vw;display:flex;justify-content:space-between;letter-spacing:2px;font-size:9px;color:#bec7cd}.intro,.index,.bio{padding:110px 8vw}.intro{border-top:1px solid #ffffff20}.intro-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:10vw;margin-top:32px}.intro h2,.bio h2{font-size:clamp(38px,4.8vw,72px);line-height:1.12;letter-spacing:-2px}.intro-grid p{font-size:15px;color:var(--muted);line-height:1.9}.intro-grid p:first-child{font-size:25px;color:var(--paper);line-height:1.5;margin-top:0}.intro-grid a,.outro>a{display:inline-block;border-bottom:1px solid var(--mint);padding-bottom:8px;margin-top:15px;font-size:13px}.index{background:#101822;padding-top:70px;padding-bottom:75px}.index-head{display:flex;justify-content:space-between;gap:30px;align-items:end}.index-head h2{font-size:34px;letter-spacing:-1px}.index-head p{font-size:12px;color:var(--muted);line-height:1.8}.track-index{margin-top:40px;display:grid;grid-template-columns:1fr 1fr;gap:0 50px}.track-index a{display:flex;align-items:center;gap:18px;padding:16px 0;border-top:1px solid #ffffff23}.track-index img{width:48px;height:48px;object-fit:cover}.track-index strong{font-size:14px;font-weight:500;flex:1}.track-index span{font-size:11px;color:var(--muted)}.track{position:relative;isolation:isolate;overflow:hidden;border-bottom:1px solid #ffffff20}.track:before{content:'';position:absolute;inset:0;z-index:-2;background-image:var(--art);background-position:center;background-size:cover;opacity:.42;transform:scale(1.03)}.track:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#080e16f2,#080e16ad 55%,#080e1666),linear-gradient(0deg,#080e16cc,transparent 40%)}.track-inner{min-height:720px;padding:95px 8vw;display:grid;grid-template-columns:1.15fr .85fr;gap:9vw;align-items:center}.track .eyebrow{color:var(--accent)}.track h2{font-size:clamp(42px,5vw,76px);letter-spacing:-2px;line-height:1.08;margin:24px 0}.track h3{font-size:20px;color:var(--accent);margin:25px 0 20px}.story>p:not(.eyebrow){font-size:15px;line-height:1.95;color:#c7cfd6;max-width:570px}.edition{font-size:10px;letter-spacing:2px;display:block;margin-top:35px;text-transform:uppercase;color:var(--muted)}.listening{max-width:380px;justify-self:end;width:100%}.listening>img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border:1px solid #ffffff38;box-shadow:0 20px 60px #0006}.listening iframe{width:100%;height:166px;border:0;display:block;margin-top:14px;background:#172029}.listening>a{display:block;text-align:right;font-size:10px;letter-spacing:1px;margin-top:14px;color:#c7cfd6}.bio{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.bio-role{font-size:12px;color:var(--muted);margin-top:27px}.bio-text p{font-size:15px;color:var(--muted);line-height:1.9}.bio-text .lead{font-family:'Space Grotesk',sans-serif;font-size:25px;color:var(--paper);margin-top:0}.bio-mark{font-family:'Space Grotesk',sans-serif;font-size:150px;line-height:1;margin-top:60px;color:#a8d8cf22;letter-spacing:-12px}.bio-mark span{display:block;font:10px 'DM Sans',sans-serif;color:var(--mint);letter-spacing:3px;margin-top:10px}.outro{padding:100px 8vw;text-align:center;background:radial-gradient(ellipse at 50% 100%,#253944,transparent 65%);border-top:1px solid #ffffff20}.outro h2{font-size:clamp(48px,6vw,88px);letter-spacing:-3px;margin:30px 0}footer{padding:28px 5vw;display:flex;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:1px;border-top:1px solid #ffffff20;color:var(--muted)}.skip{position:fixed;top:-80px;z-index:20;background:var(--ink);padding:15px}.skip:focus{top:10px}@media(max-width:760px){header{height:72px;padding:0 6vw}.brand span,.soundcloud{display:none}nav{gap:18px;font-size:12px}.hero{min-height:740px;height:95svh}.hero-art{background:linear-gradient(0deg,#0a1017 10%,#0a1017a6 60%,#0a101766),url('assets/hero-arcane-hd.webp') 65% 0/auto 80% no-repeat}.hero-copy{padding:150px 7vw 100px;align-self:end}h1{letter-spacing:-3px;font-size:60px}.hero .eyebrow{font-size:8px;letter-spacing:2px}.hero-bottom{font-size:8px}.hero-bottom>span:last-child{display:none}.intro,.index,.bio{padding:65px 7vw}.intro-grid,.bio{grid-template-columns:1fr;gap:35px}.index-head{display:block}.track-index{grid-template-columns:1fr}.track-inner{grid-template-columns:1fr;padding:65px 7vw;gap:35px}.track:after{background:linear-gradient(0deg,#080e16de,#080e16ad)}.listening{justify-self:start;max-width:100%;display:grid;grid-template-columns:100px 1fr;gap:14px}.listening>img{align-self:center}.listening iframe{height:166px;margin:0}.listening>a{grid-column:1/-1;margin:0}.track h2{font-size:46px}.bio-mark{display:none}.outro{padding:70px 7vw}footer{flex-wrap:wrap}footer>span:nth-child(2){display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Neon identity: logo left, navigation right. */
header{height:112px;padding:0 5vw;gap:32px;background:linear-gradient(180deg,#080b13de,#080b1350);border-bottom:1px solid #c55cda45}
header .brand{display:block;width:360px;max-width:36vw;flex-shrink:0;line-height:0}
header .brand img{display:block;width:100%;height:98px;object-fit:contain;object-position:left center}
header nav{margin-left:auto;gap:28px;align-items:center}
header nav a,.soundcloud{font-family:'Orbitron',sans-serif;font-size:10px;letter-spacing:1.3px;text-transform:uppercase}
header nav a{position:relative;padding:14px 0;color:#e6d8ed}
header nav a:after{content:'';position:absolute;bottom:4px;left:0;right:100%;height:1px;background:#ef69ee;box-shadow:0 0 10px #ed56e5;transition:right .2s}
header nav a:hover:after,header nav a:focus-visible:after{right:0}
header nav a:hover,.soundcloud:hover{color:#f2a7f0}
.soundcloud{padding:11px 14px;border:1px solid #b35cc754;background:#b35cc70c}
h1,h2,h3{font-family:'Rajdhani','Arial Narrow',sans-serif;font-weight:600;letter-spacing:.5px!important}
h1{font-weight:700;line-height:.96;text-transform:uppercase;font-size:clamp(60px,7.6vw,116px)}
.track h2{font-weight:700;text-transform:uppercase;line-height:1;letter-spacing:1px!important}
.track h3{font-weight:600;font-size:26px;line-height:1.2}
.intro h2,.bio h2,.outro h2,.index-head h2{text-transform:uppercase;font-weight:600;line-height:1.05}
h1 em,.intro h2 em,.bio h2 em,.outro h2 em{color:#cf91dd}
@media(max-width:900px){header{gap:18px;padding:0 4vw}header .brand{width:300px;max-width:36vw}header nav{gap:16px}header nav a,.soundcloud{font-size:9px;letter-spacing:.7px}.soundcloud{padding:10px}}
@media(max-width:760px){header{height:90px;flex-wrap:nowrap;justify-content:space-between;padding:0 5vw;gap:12px}header .brand{width:46%;max-width:46%;flex-shrink:1}header .brand img{height:78px}header nav{width:auto;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:0 14px;max-width:49%;margin-left:auto}header nav a{font-size:8px;letter-spacing:.45px;padding:7px 0}.soundcloud{display:none}h1{font-size:clamp(50px,13vw,76px);line-height:1}.hero-copy{padding-top:140px}.track h2{font-size:46px}.track h3{font-size:24px}}
@media(prefers-reduced-motion:reduce){header nav a:after{transition:none}}
.bio-photo img{aspect-ratio:1;object-fit:contain;object-position:center}

.language-switch{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;border-left:1px solid #c55cda50;padding-left:20px;color:#807488;font-size:10px}
.language-switch a[aria-current="page"]{color:#f2a7f0;text-shadow:0 0 12px #c55cda80}
@media(max-width:760px){header nav{max-width:52%;gap:0 10px}.language-switch{padding-left:8px;gap:5px;font-size:8px}.language-switch a{padding:7px 0}.hero h1{font-size:clamp(44px,12vw,76px)}}
/* Larger logo with balanced navigation. */
header .brand{width:460px;max-width:42vw}header .brand img{height:108px}
@media(max-width:900px){header .brand{width:360px;max-width:42vw}header nav{gap:12px}}
@media(max-width:760px){header{height:138px;flex-wrap:wrap;justify-content:flex-start;align-content:center;gap:0;padding:4px 5vw 10px}header .brand{width:290px;max-width:84vw;flex-shrink:0}header .brand img{height:94px}header nav{width:100%;max-width:100%;justify-content:flex-end;margin-left:0;gap:16px}header nav a{font-size:9px}.language-switch{font-size:9px}.hero-copy{padding-top:175px}}

.hero h1{font-family:'Black Ops One',Impact,sans-serif;font-weight:400;font-size:clamp(52px,6.2vw,94px);letter-spacing:0!important;line-height:1.05}
@media(max-width:760px){.hero h1{font-size:clamp(30px,8.8vw,60px);line-height:1.15}}
.bio-text .project-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:min(100%,420px);padding:24px 32px;margin-top:36px;border-color:#cf91dd70;background:linear-gradient(135deg,#cf91dd12,#a8d8cf08);text-align:center}
.project-link img{display:block;width:260px;max-width:100%;height:auto}.project-link span{font-family:'Orbitron',sans-serif;font-size:11px;letter-spacing:1px}.project-link:hover{border-color:#e8b8f2;background:#cf91dd20}
@media(max-width:760px){.bio-text .project-link{padding:20px 24px;width:100%}.project-link img{width:240px}}
/* Shared industrial display face for uppercase section and track headings. */
h2{font-family:'Black Ops One',Impact,sans-serif;font-weight:400!important;letter-spacing:0!important;line-height:1.12!important;overflow-wrap:break-word}
.intro h2,.bio h2{font-size:clamp(34px,4.2vw,62px)}
.index-head h2{font-size:clamp(27px,3vw,38px)}
.track h2{font-size:clamp(34px,4.2vw,62px)}
.outro h2{font-size:clamp(38px,5vw,72px)}
@media(max-width:760px){.intro h2,.bio h2{font-size:36px}.index-head h2{font-size:29px}.track h2{font-size:34px}.outro h2{font-size:38px}}
