/* Shared motion layer: grain, cursor, videos, mega footer, image trail */
.m-video{display:block;width:100%;height:100%;object-fit:cover}

.m-grain{position:fixed;inset:-50%;z-index:180;pointer-events:none;opacity:var(--grain,.06);
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  animation:m-grain 1.2s steps(6) infinite}
@keyframes m-grain{0%{transform:translate(0,0)}20%{transform:translate(-4%,3%)}40%{transform:translate(3%,-5%)}60%{transform:translate(-6%,2%)}80%{transform:translate(5%,6%)}100%{transform:translate(0,0)}}

.m-cursor,.m-dot{position:fixed;left:0;top:0;pointer-events:none;z-index:190;display:none}
.m-dot{width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:var(--m-cursor,#fff);mix-blend-mode:difference}
.m-cursor{width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;border:1px solid var(--m-cursor,#fff);mix-blend-mode:difference;
  display:none;align-items:center;justify-content:center;font:600 11px/1 system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#000;
  transition:width .35s cubic-bezier(.7,0,.2,1),height .35s cubic-bezier(.7,0,.2,1),margin .35s cubic-bezier(.7,0,.2,1),background .3s,border-color .3s}
.m-cursor span{opacity:0;transition:opacity .2s}
.m-cursor.link{width:64px;height:64px;margin:-32px 0 0 -32px}
.m-cursor.label{width:92px;height:92px;margin:-46px 0 0 -46px;background:var(--m-label,var(--m-cursor,#fff));mix-blend-mode:normal;border-color:transparent}
.m-cursor.label span{opacity:1;color:var(--m-cursor-text,#111)}
@media (pointer:fine){.m-cursor{display:flex}.m-dot{display:block}}

.mega{display:block;white-space:nowrap;overflow:hidden;line-height:.86;letter-spacing:-.045em;font-size:clamp(64px,17.5vw,300px);padding:.04em 0 .06em;text-align:center}
.mega .ml{display:inline-block;overflow:hidden;vertical-align:top}
.mega .ml>span{display:inline-block}
.mega .sp{display:inline-block;width:.28em}

[data-trail]{position:relative}
.m-trail{position:absolute;left:0;top:0;width:180px;height:240px;object-fit:cover;border-radius:14px;pointer-events:none;z-index:5;box-shadow:0 20px 40px -18px rgba(0,0,0,.55)}

section.vband,.vband{padding:0;margin:0}
.vband{position:relative;height:88vh;min-height:520px;overflow:hidden;display:grid;place-items:center;text-align:center;color:#fff}
.vband video{position:absolute;inset:0}
.vband:after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.45)}
.vband .vt{position:relative;z-index:2;padding:0 24px}

@media (prefers-reduced-motion:reduce){.m-grain{animation:none}}
