:root{--night:#18091f;--night2:#210b2b;--panel:#2d1238;--panel2:#3a1745;--line:#5a285f;--rose:#ff5f9f;--rose2:#ff8fba;--magenta:#c94cff;--violet:#8d6cff;--amber:#ffc06a;--text:#f7e7f2;--muted:#c5a5be;--display:"Unbounded",Arial,sans-serif;--body:"Manrope","Segoe UI",sans-serif;--nav:64px;box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}html{scroll-behavior:smooth;scroll-padding-top:0}body{margin:0;background:var(--night);color:var(--text);font:16.5px/1.68 var(--body);-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit}.site-nav{position:fixed;z-index:40;left:0;right:0;top:0;background:rgba(24,9,31,.78);border-bottom:1px solid rgba(255,95,159,.15);backdrop-filter:blur(14px)}.nav-inner{height:var(--nav);max-width:1220px;margin:auto;padding:0 24px;display:flex;align-items:center;gap:24px}.logo{font:500 15px var(--display);letter-spacing:.18em;text-decoration:none;color:var(--rose2)}.nav-links{display:flex;gap:4px;margin-left:auto}.nav-links a,.lang-switch{color:var(--muted);text-decoration:none;font-size:14px;padding:9px 11px;border-radius:8px}.nav-links a:hover,.lang-switch:hover{color:var(--text);background:rgba(255,95,159,.08)}.lang-switch{border:1px solid var(--line);font-weight:700}.hero{min-height:100vh;min-height:100svh;position:relative;display:flex;align-items:center;overflow:hidden;background:radial-gradient(circle at 75% 38%,rgba(255,95,159,.12),transparent 28%),radial-gradient(circle at 20% 80%,rgba(201,76,255,.08),transparent 34%),linear-gradient(180deg,#18091f,#130719)}#sky{position:absolute;inset:0;width:100%;height:100%}.hero-glow{position:absolute;width:55vw;height:55vw;right:-12vw;bottom:-22vw;border-radius:50%;background:radial-gradient(circle,rgba(255,95,159,.27),rgba(201,76,255,.08) 40%,transparent 68%);filter:blur(12px)}.hero-grid{position:relative;z-index:3;width:100%;max-width:1220px;margin:auto;padding:125px 24px 70px;display:grid;grid-template-columns:1.03fr .97fr;align-items:center;gap:64px}.eyebrow,.section-kicker{font-size:12px;letter-spacing:.18em;font-weight:700;color:var(--rose2)}.hero h1{font:700 clamp(58px,9vw,132px)/.93 var(--display);letter-spacing:.035em;margin:15px 0 0;text-shadow:0 0 60px rgba(255,95,159,.28)}.hero h1 span{display:block;width:min(430px,72%);height:4px;margin-top:24px;background:linear-gradient(90deg,var(--rose),var(--magenta),transparent);border-radius:4px}.hero-lead{font-size:clamp(21px,2.25vw,28px);line-height:1.45;max-width:24em;margin:30px 0 11px}.hero-sub{color:var(--muted);max-width:39em;margin:0}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.btn{display:inline-block;text-decoration:none;padding:13px 22px;border-radius:999px;background:linear-gradient(90deg,var(--rose),var(--rose2));color:#270b1a;font-weight:800;box-shadow:0 14px 38px rgba(255,95,159,.22)}.btn.ghost{background:transparent;color:var(--text);border:1px solid var(--line);box-shadow:none}.duo-hero{height:min(66vh,610px);min-height:420px;position:relative;border-radius:28px;overflow:hidden;border:1px solid rgba(255,143,186,.32);background:#240d2e;box-shadow:0 40px 100px rgba(0,0,0,.4),0 0 80px rgba(255,95,159,.09)}.duo-hero img{width:100%;height:100%;object-fit:cover;object-position:center}.duo-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(20,4,21,.86))}.duo-caption{position:absolute;z-index:2;left:28px;bottom:25px;display:flex;flex-direction:column}.duo-caption strong{font:500 20px var(--display)}.duo-caption span{color:var(--rose2);font-weight:700}.duo-placeholder,.photo-slot{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(circle at 50% 40%,rgba(255,95,159,.2),transparent 30%),repeating-linear-gradient(115deg,transparent 0 26px,rgba(255,143,186,.035) 27px 28px),linear-gradient(145deg,#35113f,#190820)}.duo-placeholder b{font:700 clamp(32px,5vw,64px) var(--display);letter-spacing:.08em}.duo-placeholder span{margin-top:12px;color:var(--rose2);font-weight:700}.duo-placeholder small{margin-top:7px;color:var(--muted);max-width:260px}.scroll-hint{position:absolute;z-index:5;bottom:24px;left:50%;text-decoration:none;color:var(--muted);font-size:22px}.block{max-width:1220px;margin:0 auto;padding:110px 24px 20px}.section-head{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:end;margin:12px 0 44px}.section-head h2,.feature-copy h2,.tdh-copy h2{font:500 clamp(34px,4.6vw,58px)/1.09 var(--display);margin:0}.section-head p{margin:0;color:var(--muted);max-width:540px}.heaven-grid{display:grid;grid-template-columns:430px 1fr;gap:58px;align-items:start}.duo-photo-secondary{aspect-ratio:4/5;border:1px solid var(--line);border-radius:24px;overflow:hidden;background:var(--panel)}.duo-photo-secondary img{width:100%;height:100%;object-fit:cover}.photo-slot span{font:500 24px var(--display);color:var(--rose2)}.bio-copy{max-width:72ch}.bio-copy p{font-size:18px;margin:0 0 22px}.source-note{margin-top:30px;padding:16px 18px;border:1px solid rgba(255,95,159,.22);border-radius:12px;color:var(--muted);background:rgba(255,95,159,.05);font-size:14px}.tdh-section{margin-top:110px;border-block:1px solid rgba(141,108,255,.18);background:linear-gradient(100deg,rgba(141,108,255,.07),rgba(255,95,159,.04),transparent)}.tdh-inner{max-width:1220px;margin:auto;padding:86px 24px;display:grid;grid-template-columns:.72fr 1.28fr;gap:70px;align-items:center}.tdh-mark{min-height:350px;border-radius:25px;border:1px solid rgba(141,108,255,.28);display:flex;align-items:flex-end;padding:30px;background:radial-gradient(circle at 60% 25%,rgba(141,108,255,.26),transparent 28%),linear-gradient(145deg,#15102d,#25123a);font:700 clamp(48px,6vw,82px)/.88 var(--display);letter-spacing:.04em;color:#eee8ff;text-shadow:14px 12px 0 rgba(255,95,159,.09)}.tdh-copy h2{margin:12px 0 10px}.tdh-copy h3{font:500 20px/1.4 var(--display);color:#c9bdff;margin:0 0 20px}.tdh-copy p{color:var(--muted);max-width:68ch;font-size:17px}.text-link{font-weight:800;color:var(--rose2);text-decoration:none}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.project-card{position:relative;min-height:340px;border:1px solid var(--line);border-radius:20px;padding:28px;background:linear-gradient(180deg,rgba(58,23,69,.6),rgba(26,8,32,.72));overflow:hidden}.project-card:after{content:"";position:absolute;right:-70px;top:-70px;width:200px;height:200px;border-radius:50%;background:var(--accent);filter:blur(45px);opacity:.16}.accent-rose{--accent:var(--rose)}.accent-violet{--accent:var(--violet)}.accent-amber{--accent:var(--amber)}.project-type{font-size:11px;letter-spacing:.15em;color:var(--muted)}.project-card h3{font:500 30px var(--display);margin:52px 0 6px}.project-sub{color:var(--accent);font-weight:700;font-size:14px}.project-card p{color:var(--muted);margin:18px 0 34px}.project-card a{position:absolute;bottom:26px;text-decoration:none;font-weight:800}.release-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 20px}.release-card{text-decoration:none}.cover{aspect-ratio:1;position:relative;border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.08);padding:24px;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:0 18px 45px rgba(0,0,0,.24);transition:.2s transform}.release-card:hover .cover{transform:translateY(-4px)}.cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cover-heaven42{background:radial-gradient(circle at 70% 20%,rgba(255,143,186,.52),transparent 24%),radial-gradient(circle at 20% 30%,rgba(201,76,255,.45),transparent 30%),linear-gradient(145deg,#45133f,#1b0822)}.cover-tdhdriver{background:radial-gradient(circle at 70% 20%,rgba(141,108,255,.4),transparent 28%),linear-gradient(155deg,#0e1027,#291346)}.cover-noise{position:absolute;inset:0;opacity:.13;background-image:repeating-linear-gradient(0deg,transparent 0 4px,rgba(255,255,255,.08) 5px)}.cover-project{position:absolute;left:22px;top:20px;letter-spacing:.16em;font:500 12px var(--display);color:rgba(255,255,255,.78)}.cover strong{font:500 clamp(18px,2vw,27px)/1.12 var(--display);position:relative;z-index:2}.cover small{z-index:2;color:rgba(255,255,255,.68)}.release-info{padding:14px 5px 0}.release-info span{color:var(--rose2);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.release-info h3{margin:4px 0 3px;font-size:17px}.release-info p{margin:0;color:var(--muted);font-size:13px}.formator-feature{margin-top:110px;padding:90px 24px;background:linear-gradient(180deg,rgba(50,17,60,.52),rgba(24,9,31,0));border-top:1px solid rgba(255,95,159,.12);border-bottom:1px solid rgba(255,95,159,.08)}.feature-inner{max-width:1220px;margin:auto;display:grid;grid-template-columns:1.12fr .88fr;gap:55px;align-items:center}.feature-shot{border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.4);transform:perspective(1200px) rotateY(3deg)}.feature-copy h2{margin:10px 0 18px}.feature-copy h3{font:500 20px/1.4 var(--display);margin:0 0 20px}.feature-copy p{color:var(--muted);margin-bottom:30px}.social-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.social-grid a{border:1px solid var(--line);border-radius:13px;padding:16px 18px;text-decoration:none;display:flex;align-items:center;gap:13px;background:rgba(58,23,69,.32)}.social-grid a:hover{border-color:rgba(255,95,159,.65)}.social-grid b{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--panel);font-size:11px;color:var(--rose2)}.social-grid i{margin-left:auto;color:var(--muted);font-style:normal}footer{margin-top:100px;border-top:1px solid rgba(255,95,159,.14)}.footer-inner{max-width:1220px;margin:auto;padding:38px 24px 55px;display:flex;justify-content:space-between;gap:30px;color:var(--muted);font-size:13px}.footer-inner>div:first-child{display:flex;flex-direction:column}.footer-inner b{color:var(--rose2);font:500 17px var(--display);letter-spacing:.12em}@media(max-width:940px){.nav-links{display:none}.logo{margin-right:auto}.hero-grid{grid-template-columns:1fr;padding-top:115px;gap:38px}.duo-hero{height:520px;max-width:650px}.section-head{grid-template-columns:1fr;gap:15px}.heaven-grid,.tdh-inner,.feature-inner{grid-template-columns:1fr}.duo-photo-secondary{max-width:520px}.project-grid,.release-grid{grid-template-columns:1fr 1fr}.social-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){body{font-size:16px}.hero-grid,.block{padding-left:18px;padding-right:18px}.hero h1{font-size:clamp(48px,17vw,76px)}.duo-hero{height:420px;min-height:0}.block{padding-top:82px}.project-grid,.release-grid,.social-grid{grid-template-columns:1fr}.tdh-inner{padding:70px 18px}.tdh-mark{min-height:280px}.footer-inner{flex-direction:column}}

/* v3: wider Heaven42 hero image + TDHDriver project photo */
.hero-grid{max-width:1400px;grid-template-columns:minmax(430px,.82fr) minmax(610px,1.18fr);gap:48px}
.duo-hero{width:100%;height:auto;min-height:0;aspect-ratio:16/10}
.duo-hero img{object-position:center center}
.tdh-mark{position:relative;overflow:hidden}
.tdh-mark.has-photo{min-height:420px;padding:0;background:#15102d;text-shadow:none}
.tdh-mark.has-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top}
.tdh-mark.has-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(12,7,28,.82) 100%)}
.tdh-photo-label{position:absolute;z-index:2;left:28px;bottom:24px;font:500 22px var(--display);letter-spacing:.06em;color:#f2edff;text-shadow:0 4px 20px rgba(0,0,0,.65)}
@media(max-width:1100px){.hero-grid{grid-template-columns:minmax(390px,.9fr) minmax(520px,1.1fr);gap:38px}}
@media(max-width:940px){.hero-grid{grid-template-columns:1fr;max-width:900px}.duo-hero{height:auto;max-width:none;aspect-ratio:16/10}.tdh-mark.has-photo{min-height:460px}}
@media(max-width:600px){.duo-hero{height:auto;aspect-ratio:4/3}.tdh-mark.has-photo{min-height:320px}}


/* v5: safer Heaven42 hero layout + round social icons */
.hero-copy{position:relative;z-index:3;padding-right:22px}
.hero-copy h1{max-width:6.4ch}
.hero-grid{max-width:1380px;grid-template-columns:minmax(500px,.98fr) minmax(460px,1.02fr);align-items:center;gap:34px}
.duo-hero{justify-self:end;max-width:700px;aspect-ratio:16/10}
.duo-hero:before{content:"";position:absolute;left:-10%;top:8%;bottom:8%;width:24%;background:linear-gradient(90deg,rgba(24,9,31,.92),rgba(24,9,31,0));z-index:1}
.duo-caption{left:32px;bottom:28px}
@media(max-width:1200px){.hero-grid{grid-template-columns:minmax(450px,1fr) minmax(420px,.95fr)}.duo-hero{max-width:620px}}
@media(max-width:940px){.hero-copy{padding-right:0}.hero-copy h1{max-width:none}.hero-grid{grid-template-columns:1fr;gap:34px}.duo-hero{justify-self:stretch;max-width:none;aspect-ratio:16/10}.duo-hero:before{display:none}}
@media(max-width:600px){.duo-hero{aspect-ratio:4/3}}

.social-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.social-link{border:1px solid var(--line);border-radius:16px;padding:16px 18px;text-decoration:none;display:flex;align-items:center;gap:14px;background:linear-gradient(180deg,rgba(58,23,69,.38),rgba(33,11,43,.55));box-shadow:0 12px 28px rgba(0,0,0,.12);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.social-link:hover{transform:translateY(-2px);border-color:rgba(255,95,159,.65);box-shadow:0 18px 34px rgba(0,0,0,.18)}
.social-icon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;flex:0 0 46px;background:linear-gradient(180deg,#321440,#1b0a24);border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.03),0 10px 20px rgba(0,0,0,.18);overflow:hidden}
.social-icon svg{width:24px;height:24px;display:block}
.social-icon img{width:100%;height:100%;object-fit:cover;display:block}
.social-icon-bandcamp{color:#83e6f8;background:linear-gradient(180deg,#243f52,#122331)}
.social-icon-youtube{color:#ff4848;background:linear-gradient(180deg,#3b1421,#21080f)}
.social-icon-soundcloud{color:#ff9448;background:linear-gradient(180deg,#442114,#241007)}
.social-icon-spotify{color:#63ea86;background:linear-gradient(180deg,#14331d,#0b1a10)}
.social-icon-discogs{color:#f4f4f4;background:linear-gradient(180deg,#313131,#161616)}
.social-icon-spacesynth{background:linear-gradient(180deg,#1f2c61,#0c132f)}
.social-icon-fallback span{font:700 11px var(--display);letter-spacing:.08em;color:var(--rose2)}
.social-link span{font-weight:700}
.social-link i{margin-left:auto;color:var(--muted);font-style:normal}


/* v6: raster social icons only */
.social-icon{background:transparent!important;border:0!important;box-shadow:0 10px 22px rgba(0,0,0,.22)!important}
.social-icon img{width:100%;height:100%;display:block;object-fit:contain;border-radius:50%}


/* v7: smoother raster icon crop + slightly smaller Heaven42 hero title */
.hero-copy{min-width:0}
.hero h1{font-size:clamp(50px,6vw,92px);max-width:none}
.social-icon{overflow:hidden;border-radius:50%;-webkit-mask-image:-webkit-radial-gradient(white,black)}
.social-icon img{
  width:100%;height:100%;object-fit:cover;border-radius:0;
  clip-path:circle(48.5% at 50% 50%);
  -webkit-clip-path:circle(48.5% at 50% 50%);
  transform:translateZ(0) scale(1.015);
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}
@media(max-width:600px){.hero h1{font-size:clamp(44px,14vw,64px)}}

/* v8: cleaner light PNG icon edges on the dark background */
.social-icon{
  padding:1px;
  background:rgba(10,4,15,.92)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  box-shadow:
    0 0 0 1px rgba(7,2,11,.92),
    0 7px 18px rgba(0,0,0,.32),
    0 0 12px rgba(255,95,159,.05)!important;
}
.social-icon img{
  border-radius:50%;
  clip-path:circle(49.2% at 50% 50%);
  -webkit-clip-path:circle(49.2% at 50% 50%);
  transform:translateZ(0) scale(1.01);
}

/* v9: keep the Heaven42 section title on one line on desktop */
.heaven-about .section-head h2{
  font-size:clamp(30px,3vw,42px);
  white-space:nowrap;
  max-width:none;
}
@media(max-width:940px){
  .heaven-about .section-head h2{
    white-space:normal;
    font-size:clamp(30px,5.5vw,44px);
  }
}

/* v10: Heaven42 section subtitle below title + mobile navigation */
.heaven-about .section-head{
  display:block;
  margin-top:12px;
}
.heaven-about .section-head p{
  margin-top:14px;
  max-width:760px;
}

.mobile-menu-toggle{
  display:none;
  width:42px;
  height:42px;
  flex:0 0 42px;
  padding:0;
  border:1px solid var(--line);
  border-radius:50%;
  background:rgba(58,23,69,.46);
  color:var(--text);
  cursor:pointer;
  position:relative;
  align-items:center;
  justify-content:center;
  transition:border-color .18s ease,background .18s ease,transform .18s ease;
}
.mobile-menu-toggle:hover{border-color:rgba(255,95,159,.65);background:rgba(255,95,159,.10)}
.mobile-menu-toggle span{
  position:absolute;
  width:17px;
  height:2px;
  border-radius:2px;
  background:currentColor;
  transition:transform .22s ease,opacity .18s ease,top .22s ease;
}
.mobile-menu-toggle span:nth-child(1){top:13px}
.mobile-menu-toggle span:nth-child(2){top:19px}
.mobile-menu-toggle span:nth-child(3){top:25px}
.site-nav.menu-open .mobile-menu-toggle span:nth-child(1){top:19px;transform:rotate(45deg)}
.site-nav.menu-open .mobile-menu-toggle span:nth-child(2){opacity:0}
.site-nav.menu-open .mobile-menu-toggle span:nth-child(3){top:19px;transform:rotate(-45deg)}

.mobile-menu{
  display:none;
}

@media(max-width:940px){
  .nav-inner{position:relative;gap:10px}
  .lang-switch{margin-left:auto}
  .mobile-menu-toggle{display:flex}
  .mobile-menu{
    display:block;
    position:absolute;
    top:calc(var(--nav) + 10px);
    left:16px;
    right:16px;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-10px) scale(.985);
    transform-origin:top center;
    transition:opacity .18s ease,transform .22s ease,visibility .18s ease;
  }
  .site-nav.menu-open .mobile-menu{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0) scale(1);
  }
  .mobile-menu-inner{
    overflow:hidden;
    padding:8px;
    border:1px solid rgba(255,143,186,.20);
    border-radius:18px;
    background:rgba(27,9,35,.97);
    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);
    box-shadow:0 24px 70px rgba(0,0,0,.48),0 0 40px rgba(255,95,159,.06);
  }
  .mobile-menu a{
    display:flex;
    align-items:center;
    gap:14px;
    min-height:50px;
    padding:10px 14px;
    border-radius:12px;
    color:var(--text);
    text-decoration:none;
    font-weight:700;
  }
  .mobile-menu a+a{border-top:1px solid rgba(255,255,255,.045)}
  .mobile-menu a:hover,.mobile-menu a:focus-visible{background:rgba(255,95,159,.09)}
  .mobile-menu a span{
    width:27px;
    flex:0 0 27px;
    color:var(--rose2);
    font:500 10px var(--display);
    letter-spacing:.08em;
  }
  .heaven-about .section-head h2{white-space:normal}
}

@media(max-width:430px){
  .nav-inner{padding-left:16px;padding-right:16px}
  .logo{font-size:13px;letter-spacing:.14em}
  .lang-switch{padding:8px 9px}
  .mobile-menu-toggle{width:40px;height:40px;flex-basis:40px}
  .mobile-menu{left:10px;right:10px}
}

/* v11: mobile viewport containment + always-fixed mobile navigation */
html,body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}

@media(max-width:940px){
  .site-nav{
    position:fixed;
    top:0;
    left:0;
    right:0;
    width:100%;
    z-index:100;
    background:rgba(24,9,31,.94);
    box-shadow:0 8px 28px rgba(0,0,0,.28);
    -webkit-backdrop-filter:blur(18px);
    backdrop-filter:blur(18px);
  }
  .nav-inner{
    width:100%;
    max-width:100%;
    min-width:0;
  }
  .mobile-menu{
    position:fixed;
    top:calc(var(--nav) + 10px);
    left:16px;
    right:16px;
    width:auto;
    z-index:101;
  }
  .hero-grid,.block,.tdh-inner,.feature-inner,.footer-inner{
    width:100%;
    max-width:100%;
    min-width:0;
  }
  .hero-copy,.duo-hero,.heaven-grid,.bio-copy,.tdh-copy,.project-card,.release-card,.feature-shot,.feature-copy,.social-link{
    min-width:0;
    max-width:100%;
  }
  .feature-shot{
    transform:none;
  }
}

@media(max-width:600px){
  .hero h1{
    font-size:clamp(36px,11vw,50px);
    line-height:.96;
    letter-spacing:.02em;
    white-space:nowrap;
    max-width:100%;
  }
  .hero h1 span{
    width:min(330px,78%);
    margin-top:18px;
  }
  .hero-grid{
    padding-left:18px;
    padding-right:18px;
  }
}

@media(max-width:430px){
  .mobile-menu{
    left:10px;
    right:10px;
  }
}


/* v12: Formator-style fixed navigation + section scrollspy */
.site-nav{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:100;
}
.nav-inner{
  min-width:0;
}
.nav-links{
  display:flex;
  align-items:center;
  gap:4px;
  margin-left:auto;
  min-width:0;
}
.nav-links::-webkit-scrollbar{display:none}
.nav-link{
  display:block;
  position:relative;
  flex:0 0 auto;
  padding:9px 11px;
  border-radius:8px;
  color:var(--muted);
  text-decoration:none;
  font-size:14px;
  font-weight:500;
  white-space:nowrap;
  transition:color .16s ease,background .16s ease;
}
.nav-link:hover{color:var(--text);background:rgba(255,95,159,.08)}
.nav-link.active{color:var(--text)}
.nav-link.active::after{
  content:"";
  position:absolute;
  left:11px;
  right:11px;
  bottom:3px;
  height:2px;
  border-radius:2px;
  background:linear-gradient(90deg,var(--rose),var(--rose2));
  box-shadow:0 0 10px rgba(255,95,159,.25);
}

/* The old hamburger/drop-down is retired; keep these hidden even if stale markup is cached. */
.mobile-menu-toggle,.mobile-menu{display:none!important}

@media(max-width:940px){
  .site-nav{
    background:rgba(24,9,31,.94);
    box-shadow:0 8px 28px rgba(0,0,0,.28);
    -webkit-backdrop-filter:blur(18px);
    backdrop-filter:blur(18px);
  }
  .nav-inner{
    width:100%;
    max-width:100%;
    gap:8px;
    padding:0 16px;
  }
  .logo{display:none}
  .nav-links{
    display:flex!important;
    flex:1 1 auto;
    margin-left:0;
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:none;
    -ms-overflow-style:none;
    overscroll-behavior-x:contain;
    scroll-behavior:smooth;
    padding:0 2px;
  }
  .nav-link{
    padding:9px 10px;
    font-size:13.5px;
  }
  .nav-link.active::after{left:10px;right:10px}
  .lang-switch{
    flex:0 0 auto;
    margin-left:2px;
    position:relative;
    z-index:2;
    background:rgba(24,9,31,.88);
  }
}

@media(max-width:430px){
  .nav-inner{padding-left:10px;padding-right:10px;gap:6px}
  .nav-link{padding-left:9px;padding-right:9px;font-size:13px}
  .nav-link.active::after{left:9px;right:9px}
  .lang-switch{padding:7px 8px;font-size:12px}
}


/* v13: compact social links on phones */
@media(max-width:600px){
  .social-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
  }
  .social-link{
    min-height:70px;
    padding:10px;
    justify-content:center;
    gap:0;
    border-radius:16px;
  }
  .social-link > span:not(.social-icon),
  .social-link > i{
    display:none;
  }
  .social-icon{
    width:48px;
    height:48px;
    flex-basis:48px;
  }
}
@media(max-width:360px){
  .social-grid{gap:9px}
  .social-link{min-height:64px;padding:8px}
  .social-icon{width:44px;height:44px;flex-basis:44px}
}


/* v14: visually separate Heaven42 / TDHDriver discographies */
.discography-groups{display:grid;gap:58px}
.discography-group{position:relative;padding:30px;border:1px solid rgba(255,255,255,.08);border-radius:24px;background:linear-gradient(180deg,rgba(45,18,56,.42),rgba(24,9,31,.2));scroll-margin-top:calc(var(--nav) + 24px);overflow:hidden}
.discography-group:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:3px;background:var(--group-accent)}
.discography-group:after{content:"";position:absolute;right:-120px;top:-120px;width:290px;height:290px;border-radius:50%;background:var(--group-accent);filter:blur(90px);opacity:.08;pointer-events:none}
.discography-group-heaven42{--group-accent:var(--rose)}
.discography-group-tdhdriver{--group-accent:var(--violet);border-color:rgba(141,108,255,.18);background:linear-gradient(180deg,rgba(27,19,59,.48),rgba(24,9,31,.18))}
.discography-group-head{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.08)}
.discography-group-head h3{margin:4px 0 0;font:500 clamp(27px,3vw,40px)/1.1 var(--display)}
.discography-project-label{font-size:11px;letter-spacing:.16em;font-weight:800;color:var(--group-accent)}
.release-count{flex:0 0 auto;padding:7px 11px;border:1px solid rgba(255,255,255,.1);border-radius:999px;color:var(--muted);font-size:12px}
.discography-group .release-grid{position:relative;z-index:1}
@media(max-width:600px){
  .discography-groups{gap:36px}
  .discography-group{padding:20px 16px;border-radius:20px}
  .discography-group-head{align-items:flex-start;flex-direction:column;gap:10px;margin-bottom:22px}
  .release-count{font-size:11px}
}


/* v15: localized release counts, cleaner section kickers and heading sizing */
.hero h1{
  font-size:85px;
}
.social .section-head{
  grid-template-columns:1fr;
  gap:10px;
  align-items:start;
}
.social .section-head h2{
  font-size:clamp(34px,4vw,52px);
  white-space:nowrap;
  max-width:none;
}
.social .section-head p{
  max-width:none;
}
@media(max-width:940px){
  .hero h1{font-size:72px}
}
@media(max-width:600px){
  .hero h1{font-size:clamp(36px,11vw,50px)}
  .social .section-head h2{
    font-size:clamp(30px,9vw,42px);
    white-space:normal;
  }
}

/* v23: content architecture — Heaven42 / Discography / Projects / Software / Links */
.projects-section,.software-section{scroll-margin-top:calc(var(--nav) + 20px)}
.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.project-card{min-height:0;padding:0;display:flex;flex-direction:column;background:linear-gradient(180deg,rgba(58,23,69,.62),rgba(26,8,32,.78))}
.project-card:after{z-index:0;pointer-events:none}
.project-card-media{position:relative;z-index:1;aspect-ratio:16/9;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.08);background:radial-gradient(circle at 72% 24%,color-mix(in srgb,var(--accent) 40%,transparent),transparent 26%),linear-gradient(145deg,#281032,#17091e)}
.project-card-media img{width:100%;height:100%;object-fit:cover;object-position:center top}
.project-card-media.no-photo{display:grid;place-items:center;padding:24px}
.project-card-media.no-photo span{font:600 clamp(25px,3vw,42px)/1.08 var(--display);text-align:center;color:var(--text);opacity:.9;text-shadow:0 0 34px color-mix(in srgb,var(--accent) 38%,transparent)}
.project-card-body{position:relative;z-index:1;padding:24px 26px 28px;display:flex;flex-direction:column;flex:1}
.project-card h3{font:500 clamp(25px,3vw,34px)/1.14 var(--display);margin:10px 0 7px}
.project-card p{color:var(--muted);margin:17px 0 0}
.project-sub{color:var(--accent);font-weight:700;font-size:14px}
.accent-magenta{--accent:var(--magenta)}
.accent-cyan{--accent:#61d8ec}
.discography-section>.discography-group{margin-top:30px}
.software-list{display:grid;gap:22px}
.software-feature-card{--accent:var(--amber);position:relative;border:1px solid color-mix(in srgb,var(--accent) 30%,rgba(255,255,255,.06));border-radius:24px;padding:30px;overflow:hidden;background:linear-gradient(145deg,rgba(55,27,49,.72),rgba(28,10,35,.78));box-shadow:0 24px 65px rgba(0,0,0,.16)}
.software-feature-card:after{content:"";position:absolute;right:-120px;top:-150px;width:340px;height:340px;border-radius:50%;background:var(--accent);filter:blur(110px);opacity:.11;pointer-events:none}
.software-feature-card .feature-inner{position:relative;z-index:1}
.software-feature-card .feature-shot{transform:perspective(1200px) rotateY(2deg)}
.software-feature-card .feature-copy h3{font:500 clamp(31px,4vw,48px)/1.08 var(--display);margin:10px 0 14px}
.software-feature-card .feature-copy h4{font:500 18px/1.45 var(--display);margin:0 0 18px;color:color-mix(in srgb,var(--accent) 72%,#fff)}
.software-project-card{max-width:590px}
@media(max-width:940px){
  .project-grid{grid-template-columns:1fr 1fr}
  .software-feature-card{padding:24px}
  .software-feature-card .feature-shot{transform:none}
}
@media(max-width:650px){
  .project-grid{grid-template-columns:1fr}
  .project-card-media{aspect-ratio:16/10}
  .software-feature-card{padding:18px;border-radius:20px}
}

/* v24: project-specific discographies */
.project-showcases{display:grid;gap:34px}
.project-showcase{--accent:var(--rose);position:relative;border:1px solid color-mix(in srgb,var(--accent) 24%,rgba(255,255,255,.06));border-radius:26px;overflow:hidden;background:linear-gradient(180deg,rgba(58,23,69,.46),rgba(24,9,31,.24));box-shadow:0 24px 70px rgba(0,0,0,.13)}
.project-showcase:after{content:"";position:absolute;right:-110px;top:-130px;width:300px;height:300px;border-radius:50%;background:var(--accent);filter:blur(95px);opacity:.08;pointer-events:none}
.project-summary{position:relative;z-index:1;display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);align-items:stretch;border-bottom:1px solid rgba(255,255,255,.07)}
.project-showcase .project-card-media{aspect-ratio:auto;min-height:280px;border-bottom:0;border-right:1px solid rgba(255,255,255,.07)}
.project-showcase .project-card-body{padding:32px 34px;justify-content:center}
.project-showcase .project-card-body h3{font:500 clamp(28px,3.5vw,43px)/1.1 var(--display);margin:10px 0 8px}
.project-showcase .project-card-body p{max-width:68ch;margin:18px 0 0}
.project-actions{margin-top:24px}
.project-actions .text-link{display:inline-flex;align-items:center;gap:8px;color:var(--accent)}
.project-discography{position:relative;z-index:1;padding:28px 30px 32px;scroll-margin-top:calc(var(--nav) + 24px)}
.project-discography-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}
.project-discography-head .discography-project-label{color:var(--accent)}
.project-discography-head h4{font:500 clamp(23px,2.8vw,34px)/1.1 var(--display);margin:5px 0 0}
.project-showcase .release-count{border-color:color-mix(in srgb,var(--accent) 20%,rgba(255,255,255,.08))}
.project-showcase .cover-project-generic{background:radial-gradient(circle at 75% 20%,color-mix(in srgb,var(--accent) 42%,transparent),transparent 28%),linear-gradient(150deg,color-mix(in srgb,var(--accent) 18%,#211026),#130817)}
.project-showcase .release-info span{color:var(--accent)}
@media(max-width:780px){
  .project-summary{grid-template-columns:1fr}
  .project-showcase .project-card-media{min-height:0;aspect-ratio:16/9;border-right:0;border-bottom:1px solid rgba(255,255,255,.07)}
  .project-showcase .project-card-body{padding:24px 22px 26px}
  .project-discography{padding:24px 18px 28px}
}
@media(max-width:600px){
  .project-showcases{gap:26px}
  .project-showcase{border-radius:21px}
  .project-discography-head{align-items:flex-start;flex-direction:column;gap:10px}
}


/* v25: exact top-level anchors below the fixed navigation */
.section-kicker[id]{
  scroll-margin-top:calc(var(--nav) + 12px);
}
/* Older section-level margins caused a doubled offset together with the fixed nav. */
.projects-section,.software-section{
  scroll-margin-top:0;
}

/* v30: footer support credit */
.footer-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right}
.footer-meta a{color:var(--rose2);text-decoration:none;font-weight:700}
.footer-meta a:hover{text-decoration:underline}
@media(max-width:600px){.footer-meta{align-items:flex-start;text-align:left}}


/* v31: reliable project accents */
/* Keep these definitions after project/showcase rules: the showcase has a fallback --accent. */
.accent-rose{--accent:var(--rose)}
.accent-violet{--accent:var(--violet)}
.accent-magenta{--accent:var(--magenta)}
.accent-amber{--accent:var(--amber)}
.accent-cyan{--accent:#61d8ec}
.discography-group.accent-rose,.discography-group.accent-violet,.discography-group.accent-magenta,.discography-group.accent-amber,.discography-group.accent-cyan{--group-accent:var(--accent)}

/* v32: project discographies use the same accent rail as Heaven42 */
.project-discography:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:3px;
  border-radius:0 3px 3px 0;
  background:var(--accent);
  box-shadow:0 0 18px color-mix(in srgb,var(--accent) 42%,transparent);
  pointer-events:none;
}

/* v33: soft full-card glow from the selected project accent */
.project-showcase{
  box-shadow:
    0 24px 70px rgba(0,0,0,.16),
    0 0 34px color-mix(in srgb,var(--accent) 10%,transparent),
    inset 0 0 34px color-mix(in srgb,var(--accent) 4%,transparent);
}
.project-showcase:hover{
  border-color:color-mix(in srgb,var(--accent) 34%,rgba(255,255,255,.08));
  box-shadow:
    0 26px 76px rgba(0,0,0,.18),
    0 0 42px color-mix(in srgb,var(--accent) 14%,transparent),
    inset 0 0 38px color-mix(in srgb,var(--accent) 5%,transparent);
}
.software-feature-card{
  box-shadow:
    0 24px 65px rgba(0,0,0,.18),
    0 0 32px color-mix(in srgb,var(--accent) 9%,transparent),
    inset 0 0 30px color-mix(in srgb,var(--accent) 4%,transparent);
}
