:root{
  --bg:#0a0908;
  --bone:#ece7d9;
  --blood:#8a231d;
  --olive:#585c38;
  --dim:#847a68;
  --line:rgba(236,231,217,0.14);
  --ease:cubic-bezier(.16,.84,.44,1);
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);
  color:var(--bone);
  font-family:'JetBrains Mono',monospace;
  font-weight:300;
  overflow-x:hidden;
  cursor:default;
}
a{color:inherit;text-decoration:none;}
img,video{display:block;max-width:100%;}

::selection{background:var(--blood);color:var(--bone);}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.01ms !important;transition-duration:0.01ms !important;scroll-behavior:auto !important;}
}

/* grain overlay */
.grain{
  position:fixed;inset:0;z-index:999;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.4'/%3E%3C/svg%3E");
  opacity:0.05;
  mix-blend-mode:overlay;
}

/* flash / bloom transition layer */
.flash{
  position:fixed;inset:0;z-index:998;background:var(--bone);pointer-events:none;
  opacity:0;
}

/* intro */
.intro{
  position:fixed;inset:0;z-index:1000;background:var(--bone);
  display:flex;align-items:center;justify-content:center;
  animation:intro-out 1.6s var(--ease) forwards;
  animation-delay:0.9s;
}
.intro-mark{width:min(60vw,420px);filter:invert(1) brightness(0.05);opacity:0;animation:intro-mark 0.8s var(--ease) forwards 0.15s;}
@keyframes intro-mark{to{opacity:1;}}
@keyframes intro-out{
  0%{opacity:1;}
  60%{opacity:1;background:var(--bg);}
  100%{opacity:0;visibility:hidden;pointer-events:none;}
}

/* nav */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:22px clamp(20px,4vw,56px);
  background:linear-gradient(to bottom, rgba(10,9,8,0.85), transparent);
  opacity:0;animation:fade-in 1s var(--ease) forwards 2.2s;
}
@keyframes fade-in{to{opacity:1;}}
.nav-mark img{height:26px;width:auto;}
.nav-links{display:flex;gap:clamp(16px,2.6vw,36px);}
.nav-links a{font-size:11px;letter-spacing:.14em;color:var(--dim);transition:color .3s var(--ease);}
.nav-links a:hover{color:var(--bone);}
.nav-contact{font-size:11px;letter-spacing:.14em;color:var(--dim);border:1px solid var(--line);padding:8px 14px;transition:.3s var(--ease);}
.nav-contact:hover{color:var(--bg);background:var(--bone);border-color:var(--bone);}

@media (max-width:720px){
  .nav-links{gap:12px;}
  .nav-links a{font-size:9px;}
  .nav-contact{display:none;}
}

/* glitch text on hover */
[data-glitch]{position:relative;display:inline-block;}
[data-glitch]:hover{animation:glitch-jump .25s steps(2,end) 3;}
[data-glitch]:hover::before,[data-glitch]:hover::after{
  content:attr(data-glitch);position:absolute;left:0;top:0;width:100%;overflow:hidden;
}
[data-glitch]:hover::before{color:var(--blood);clip-path:inset(0 0 55% 0);transform:translate(-2px,-1px);}
[data-glitch]:hover::after{color:var(--olive);clip-path:inset(55% 0 0 0);transform:translate(2px,1px);}
@keyframes glitch-jump{0%,100%{transform:translate(0);}33%{transform:translate(-1px,1px);}66%{transform:translate(1px,-1px);}}

/* hero */
.hero{
  position:relative;min-height:100svh;display:flex;flex-direction:column;
  align-items:center;justify-content:center;overflow:hidden;
}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(0.6) contrast(1.15) brightness(0.55);}
.hero-veil{
  position:absolute;inset:0;
  background:radial-gradient(ellipse at center, rgba(10,9,8,0.25) 0%, rgba(10,9,8,0.86) 78%),
             linear-gradient(180deg, rgba(10,9,8,0.5), transparent 25%, transparent 70%, var(--bg) 100%);
}
.hero-content{position:relative;text-align:center;padding:0 20px;}
.hero-wordmark{
  width:min(88vw,780px);margin:0 auto;
  filter:drop-shadow(0 0 40px rgba(0,0,0,0.6));
  opacity:0;transform:scale(1.06);
  animation:hero-in 1.8s var(--ease) forwards 2.4s;
}
@keyframes hero-in{to{opacity:1;transform:scale(1);}}
.hero-tag{
  margin-top:22px;font-size:11px;letter-spacing:.35em;color:var(--dim);
  opacity:0;animation:fade-in 1s var(--ease) forwards 3.2s;
}
.hero-scroll{
  position:absolute;bottom:34px;left:50%;transform:translateX(-50%);
  font-size:10px;letter-spacing:.3em;color:var(--dim);
  opacity:0;animation:fade-in 1s var(--ease) forwards 3.6s, bob 2.4s ease-in-out infinite 4s;
}
@keyframes bob{0%,100%{transform:translate(-50%,0);}50%{transform:translate(-50%,8px);}}

/* section labels */
.section-label{
  font-family:'Pirata One',serif;font-weight:400;
  font-size:clamp(28px,5vw,52px);
  display:flex;align-items:baseline;gap:14px;
  color:var(--bone);
  padding:0 clamp(20px,5vw,64px);
  margin-bottom:clamp(30px,6vw,64px);
}
.section-label::before{content:'';flex:0 0 auto;}
.section-label{position:relative;}
.section-label span{color:var(--bone);}
.section-label{font-variant-numeric:tabular-nums;}
.section-label{
  border-top:1px solid var(--line);padding-top:18px;
}
section{padding-top:clamp(70px,10vw,140px);}

/* reveal */
.reveal{opacity:0;filter:brightness(3) blur(6px);transform:translateY(24px);transition:opacity 1.1s var(--ease), filter 1.3s var(--ease), transform 1.1s var(--ease);}
.reveal.is-in{opacity:1;filter:brightness(1) blur(0);transform:translateY(0);}

/* music */
.music{padding-bottom:clamp(40px,8vw,90px);}
.release{
  display:grid;grid-template-columns:0.9fr 1.1fr;gap:clamp(24px,5vw,72px);
  align-items:center;
  padding:clamp(30px,6vw,70px) clamp(20px,5vw,64px);
  border-bottom:1px solid var(--line);
}
.release.reverse{grid-template-columns:1.1fr 0.9fr;}
.release.reverse .release-art{order:2;}
.release-art{position:relative;overflow:hidden;}
.release-art img{width:100%;height:100%;object-fit:cover;filter:grayscale(0.35) contrast(1.1) brightness(0.9);transition:filter .6s var(--ease), transform 1.2s var(--ease);}
.release-art:hover img{filter:grayscale(0) contrast(1.15) brightness(1);transform:scale(1.03);}
.release-eyebrow{font-size:11px;letter-spacing:.2em;color:var(--blood);margin-bottom:14px;}
.release-info h3{font-family:'Pirata One',serif;font-weight:400;font-size:clamp(28px,4vw,46px);line-height:1.08;margin-bottom:20px;}
.ast{color:var(--blood);}
.tag-cloud{color:var(--dim);font-size:13px;line-height:1.9;letter-spacing:.02em;max-width:46ch;margin-bottom:26px;}
.release-links{display:flex;flex-wrap:wrap;gap:10px 20px;}
.release-links a{font-size:11px;letter-spacing:.1em;padding-bottom:3px;border-bottom:1px solid var(--line);transition:.3s var(--ease);}
.release-links a:hover{color:var(--blood);border-color:var(--blood);}

@media (max-width:820px){
  .release,.release.reverse{grid-template-columns:1fr;}
  .release.reverse .release-art{order:0;}
}

/* exp grid */
.exp-grid{
  display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:14vw;gap:10px;
  padding:0 clamp(20px,5vw,64px) clamp(40px,8vw,90px);
}
.exp-item{position:relative;overflow:hidden;background:#111;}
.exp-item img{width:100%;height:100%;object-fit:cover;filter:grayscale(0.25) contrast(1.1);transition:transform 1.4s var(--ease), filter .5s var(--ease);}
.exp-item:hover img{transform:scale(1.06);filter:grayscale(0) contrast(1.15);}
.exp-item figcaption{
  position:absolute;left:0;right:0;bottom:0;padding:10px 12px;
  font-size:10px;letter-spacing:.1em;color:var(--bone);
  background:linear-gradient(to top, rgba(10,9,8,0.85), transparent);
  opacity:0;transform:translateY(6px);transition:.35s var(--ease);
}
.exp-item:hover figcaption{opacity:1;transform:translateY(0);}
.size-a{grid-column:span 2;grid-row:span 2;}
.size-b{grid-column:span 3;grid-row:span 1;}
.size-c{grid-column:span 3;grid-row:span 2;}

@media (max-width:820px){
  .exp-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:38vw;}
  .size-a,.size-b,.size-c{grid-column:span 1;grid-row:span 1;}
}

/* video list */
.video-list{padding:0 clamp(20px,5vw,64px) clamp(40px,8vw,90px);display:flex;flex-direction:column;}
.video-row{
  position:relative;display:flex;align-items:center;gap:24px;
  padding:20px 10px;border-top:1px solid var(--line);
  overflow:hidden;cursor:pointer;
}
.video-list a.video-row:last-of-type,.video-row:last-child{border-bottom:1px solid var(--line);}
.video-thumb{
  position:absolute;left:0;top:0;height:100%;width:180px;object-fit:cover;
  opacity:0;transform:translateX(-16px) scale(1.05);filter:grayscale(1) brightness(0.7);
  transition:opacity .5s var(--ease), transform .6s var(--ease);
  pointer-events:none;
}
.video-row:hover .video-thumb{opacity:0.9;transform:translateX(0) scale(1);}
.video-num{font-family:'Pirata One',serif;font-size:22px;color:var(--dim);width:34px;position:relative;z-index:1;}
.video-title{flex:1;font-size:14px;letter-spacing:.05em;position:relative;z-index:1;transition:transform .4s var(--ease);}
.video-row:hover .video-title{transform:translateX(190px);}
.video-title em{color:var(--dim);font-style:normal;}
.video-yt{font-size:11px;letter-spacing:.1em;color:var(--blood);position:relative;z-index:1;}
.is-loop{cursor:default;}

@media (max-width:720px){
  .video-thumb{width:110px;}
  .video-row:hover .video-title{transform:translateX(118px);}
}

/* statement */
.statement{padding-bottom:clamp(50px,9vw,100px);}
.statement-body{
  max-width:74ch;padding:0 clamp(20px,5vw,64px);
  font-size:15px;line-height:1.95;color:var(--dim);
}
.statement-body .drop{
  font-family:'Pirata One',serif;font-size:clamp(20px,2.6vw,28px);color:var(--bone);
  line-height:1.5;margin-bottom:30px;
}
.statement-body p{margin-bottom:22px;}
.statement-body p:last-child{margin-bottom:0;}

/* links / footer */
.links{padding-bottom:40px;}
.links-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line);
  margin:0 clamp(20px,5vw,64px);
}
.links-grid a{
  padding:28px 6px;text-align:center;font-size:13px;letter-spacing:.14em;
  border-right:1px solid var(--line);border-bottom:1px solid var(--line);
  transition:color .3s var(--ease), background .3s var(--ease);
}
.links-grid a:nth-child(3n){border-right:none;}
.links-grid a:hover{color:var(--bg);background:var(--bone);}

@media (max-width:640px){
  .links-grid{grid-template-columns:repeat(2,1fr);}
  .links-grid a:nth-child(3n){border-right:1px solid var(--line);}
  .links-grid a:nth-child(2n){border-right:none;}
}

.footer-bottom{
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;
  padding:26px clamp(20px,5vw,64px) 40px;
  font-size:11px;letter-spacing:.08em;color:var(--dim);
}
.footer-logo{height:20px;width:auto;opacity:.7;}
.footer-mail{transition:color .3s var(--ease);}
.footer-mail:hover{color:var(--blood);}
.footer-clock{font-variant-numeric:tabular-nums;}