/* ==========================================================================
   Allseer Studios — stylesheet
   Dark, cinematic, minimal.
   ========================================================================== */

:root {
  --bg: #0a0a0a;
  --bg-alt: #111111;
  --fg: #f2f2f2;
  --fg-dim: #9a9a9a;
  --line: rgba(255, 255, 255, 0.12);
  --line-soft: rgba(255, 255, 255, 0.06);
  --max-w: 1100px;
  --font-display: 'Anton', 'Inter', sans-serif;
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--bg);
  color: var(--fg);
  font-family: var(--font-body);
  font-weight: 300;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; display: block; }

a {
  color: inherit;
  text-decoration: none;
}

/* subtle film-grain overlay */
.grain {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 999;
  opacity: 0.035;
  mix-blend-mode: overlay;
  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.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* starfield background — traversing different worlds */
.stars {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-repeat: repeat;
  background-attachment: fixed;
}

.stars-small {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MDAiIGhlaWdodD0iNTAwIj48Y2lyY2xlIGN4PSI2Ny4yIiBjeT0iNDIzLjciIHI9IjAuODYiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuMzQiLz48Y2lyY2xlIGN4PSIyNDcuNyIgY3k9IjIyNC43IiByPSIwLjc5IiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjUzIi8+PGNpcmNsZSBjeD0iNDYuOSIgY3k9IjE0LjIiIHI9IjAuOSIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC40Ii8+PGNpcmNsZSBjeD0iMzgxLjEiIGN5PSIxLjEiIHI9IjAuNjciIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuNSIvPjxjaXJjbGUgY3g9IjExNC40IiBjeT0iNDcyLjYiIHI9IjAuOTQiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuMjYiLz48Y2lyY2xlIGN4PSIxMi43IiBjeT0iMjcwLjciIHI9IjAuOTYiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuMzgiLz48Y2lyY2xlIGN4PSIxMDguMyIgY3k9IjIxMS4xIiByPSIwLjQyIiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjMzIi8+PGNpcmNsZSBjeD0iMjE4LjkiIGN5PSIyNDcuOSIgcj0iMC41NCIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC4zMyIvPjxjaXJjbGUgY3g9IjEwOS40IiBjeT0iMjI5LjgiIHI9IjAuNTciIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuMjYiLz48Y2lyY2xlIGN4PSI0MTguOCIgY3k9IjI3OC4yIiByPSIwLjc5IiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjMyIi8+PGNpcmNsZSBjeD0iNDk2LjMiIGN5PSI0MzAuMCIgcj0iMC40NyIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC4zNyIvPjxjaXJjbGUgY3g9IjM2MC43IiBjeT0iMzU1LjYiIHI9IjAuOTYiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuNCIvPjxjaXJjbGUgY3g9IjQxNS4wIiBjeT0iMzM1LjIiIHI9IjAuNTgiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuNDYiLz48Y2lyY2xlIGN4PSI0NDEuMiIgY3k9IjQyMy4xIiByPSIwLjciIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuNDYiLz48Y2lyY2xlIGN4PSIxNy4zIiBjeT0iMTIxLjQiIHI9IjAuODgiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuNCIvPjxjaXJjbGUgY3g9Ijg2LjUiIGN5PSIyNzQuNCIgcj0iMC44MiIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC40OSIvPjxjaXJjbGUgY3g9IjE4Ny40IiBjeT0iMjE5LjUiIHI9IjAuNzEiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuNTIiLz48Y2lyY2xlIGN4PSIyNjAuNSIgY3k9IjE5Ni42IiByPSIwLjY5IiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjI2Ii8+PGNpcmNsZSBjeD0iMjEuNyIgY3k9IjM1MS43IiByPSIwLjk5IiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjQ2Ii8+PGNpcmNsZSBjeD0iMTk2LjgiIGN5PSI4NS4yIiByPSIwLjciIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuNTkiLz48Y2lyY2xlIGN4PSIzODUuMyIgY3k9IjI2OS44IiByPSIwLjkyIiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjMzIi8+PGNpcmNsZSBjeD0iMjU2LjkiIGN5PSI0NzYuMiIgcj0iMC43NSIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC40MSIvPjxjaXJjbGUgY3g9IjEzNC42IiBjeT0iMjc0LjAiIHI9IjAuOTciIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuMjUiLz48Y2lyY2xlIGN4PSIzOTEuOCIgY3k9IjQxMC4yIiByPSIwLjkzIiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjUxIi8+PGNpcmNsZSBjeD0iNDA0LjYiIGN5PSIyNTkuMyIgcj0iMC43NCIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC40Ii8+PGNpcmNsZSBjeD0iMjguMSIgY3k9IjQzNS4wIiByPSIwLjc0IiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjMyIi8+PGNpcmNsZSBjeD0iMjUyLjQiIGN5PSIyNDIuNSIgcj0iMC42MSIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC4zNyIvPjxjaXJjbGUgY3g9IjI2OS4yIiBjeT0iMzExLjciIHI9IjAuNzciIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuNDEiLz48Y2lyY2xlIGN4PSIxNC4wIiBjeT0iMTE0LjgiIHI9IjAuNTEiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuNDUiLz48Y2lyY2xlIGN4PSI0MzAuNSIgY3k9IjM5OS4yIiByPSIwLjg4IiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjU0Ii8+PGNpcmNsZSBjeD0iMTI3LjYiIGN5PSI0MjAuOSIgcj0iMC44IiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjI4Ii8+PGNpcmNsZSBjeD0iOC4zIiBjeT0iNy4zIiByPSIwLjg1IiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjM0Ii8+PGNpcmNsZSBjeD0iNTQuNyIgY3k9IjMxMi40IiByPSIwLjYxIiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjI3Ii8+PGNpcmNsZSBjeD0iNzkuOCIgY3k9IjI2My43IiByPSIwLjUiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuMzUiLz48Y2lyY2xlIGN4PSIzNTUuOCIgY3k9IjIyNy40IiByPSIwLjU5IiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjQyIi8+PGNpcmNsZSBjeD0iMTEuOCIgY3k9IjE5My4zIiByPSIwLjY1IiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjMyIi8+PGNpcmNsZSBjeD0iNTQuNCIgY3k9IjQ0OS45IiByPSIwLjcxIiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjMyIi8+PGNpcmNsZSBjeD0iMzAyLjgiIGN5PSI0MDguNSIgcj0iMC40MSIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC4yNiIvPjxjaXJjbGUgY3g9IjczLjIiIGN5PSIzNTkuNCIgcj0iMC41IiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjUiLz48Y2lyY2xlIGN4PSIzMzkuMSIgY3k9IjI3Mi40IiByPSIwLjUzIiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjU5Ii8+PGNpcmNsZSBjeD0iMzk4LjkiIGN5PSIyNTguMyIgcj0iMC41MyIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC40OCIvPjxjaXJjbGUgY3g9IjE5Ny40IiBjeT0iMjg3LjkiIHI9IjAuNTkiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuNDciLz48Y2lyY2xlIGN4PSIyOS40IiBjeT0iMTQ5LjMiIHI9IjAuOTgiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuNTYiLz48Y2lyY2xlIGN4PSIxNTMuMiIgY3k9IjQyOS4zIiByPSIwLjU5IiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjU4Ii8+PGNpcmNsZSBjeD0iMzcxLjkiIGN5PSIyMDguMSIgcj0iMC41NSIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC4yNSIvPjxjaXJjbGUgY3g9IjQzOS40IiBjeT0iMTkuMCIgcj0iMC44OSIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC41OSIvPjxjaXJjbGUgY3g9IjI4NS4xIiBjeT0iODUuOCIgcj0iMC45MiIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC41OSIvPjxjaXJjbGUgY3g9IjM1Mi4wIiBjeT0iMjU0LjQiIHI9IjAuNjMiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuMzciLz48Y2lyY2xlIGN4PSIxMDIuOSIgY3k9IjMzNy4xIiByPSIwLjY2IiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjMyIi8+PGNpcmNsZSBjeD0iNTIuMiIgY3k9IjMzMy4wIiByPSIwLjU4IiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjQyIi8+PGNpcmNsZSBjeD0iMTYyLjciIGN5PSI0MzUuOCIgcj0iMC45NCIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC4yNiIvPjxjaXJjbGUgY3g9IjEwMC40IiBjeT0iMTYzLjkiIHI9IjAuOTkiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuNTIiLz48Y2lyY2xlIGN4PSIxNjkuNSIgY3k9IjEwNi41IiByPSIwLjgiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuNTQiLz48Y2lyY2xlIGN4PSI0NjYuMSIgY3k9IjE3MS45IiByPSIwLjkzIiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjQ5Ii8+PGNpcmNsZSBjeD0iMjQyLjIiIGN5PSI0OTIuOCIgcj0iMC41NCIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC41Ii8+PGNpcmNsZSBjeD0iNDIuMyIgY3k9Ijg0LjgiIHI9IjAuOTUiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuMzIiLz48Y2lyY2xlIGN4PSIzNzkuNiIgY3k9IjMwMC4xIiByPSIwLjkiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuMzgiLz48Y2lyY2xlIGN4PSIxNzAuMSIgY3k9IjE0NS42IiByPSIwLjkyIiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjQ2Ii8+PGNpcmNsZSBjeD0iNDc3LjIiIGN5PSI0NDMuNiIgcj0iMC40OCIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC40NCIvPjxjaXJjbGUgY3g9IjUyLjEiIGN5PSIxOS42IiByPSIwLjQ0IiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjU1Ii8+PGNpcmNsZSBjeD0iMzk0LjEiIGN5PSI0MTQuMyIgcj0iMC42IiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjQ3Ii8+PGNpcmNsZSBjeD0iMzkxLjAiIGN5PSIxODkuMCIgcj0iMC43NCIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC4zMyIvPjxjaXJjbGUgY3g9IjQwLjkiIGN5PSIxMzMuNCIgcj0iMC45MyIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC40NSIvPjxjaXJjbGUgY3g9IjQ2Mi41IiBjeT0iMjI4LjkiIHI9IjAuNTciIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuNTMiLz48Y2lyY2xlIGN4PSI0MTMuOSIgY3k9IjYuMiIgcj0iMC44IiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjI4Ii8+PGNpcmNsZSBjeD0iNTcuNiIgY3k9IjQ0Mi41IiByPSIwLjQyIiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjMzIi8+PGNpcmNsZSBjeD0iNDk0LjEiIGN5PSIyMTAuNSIgcj0iMC40NyIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC4zMSIvPjxjaXJjbGUgY3g9IjEyMC43IiBjeT0iMzcyLjAiIHI9IjAuNDYiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuNTciLz48Y2lyY2xlIGN4PSIxODkuMSIgY3k9IjQ4NS4xIiByPSIwLjk1IiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjM1Ii8+PGNpcmNsZSBjeD0iMTI2LjciIGN5PSIyMzguNSIgcj0iMC40NiIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC40OCIvPjxjaXJjbGUgY3g9IjE5LjgiIGN5PSI1LjMiIHI9IjAuOTkiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuMzUiLz48Y2lyY2xlIGN4PSIyOTguMyIgY3k9IjIyNC45IiByPSIwLjU5IiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjI3Ii8+PGNpcmNsZSBjeD0iNDU2LjciIGN5PSI0ODQuOSIgcj0iMC45OCIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC4yOSIvPjxjaXJjbGUgY3g9IjEwNy42IiBjeT0iMzA4LjkiIHI9IjAuOTkiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuNDQiLz48Y2lyY2xlIGN4PSIzNDQuMSIgY3k9IjMzMC45IiByPSIwLjU2IiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjQ0Ii8+PGNpcmNsZSBjeD0iMTUzLjciIGN5PSIxMjMuMiIgcj0iMC40NSIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC4zNSIvPjxjaXJjbGUgY3g9IjQ5MS43IiBjeT0iMjI0LjAiIHI9IjAuNzkiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuNDgiLz48Y2lyY2xlIGN4PSI0NzAuNCIgY3k9IjE5NS4yIiByPSIwLjU4IiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjM2Ii8+PGNpcmNsZSBjeD0iMTU4LjQiIGN5PSI0MjMuNiIgcj0iMC45NCIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC4zNiIvPjxjaXJjbGUgY3g9IjE2Ny4yIiBjeT0iMjcyLjEiIHI9IjAuNzUiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuNDYiLz48Y2lyY2xlIGN4PSIxMjIuNSIgY3k9IjEwLjIiIHI9IjAuNTUiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuMjgiLz48Y2lyY2xlIGN4PSIyNzUuNiIgY3k9IjM1LjUiIHI9IjAuNDUiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuNDciLz48Y2lyY2xlIGN4PSIxNDUuNCIgY3k9IjM5Ni4xIiByPSIwLjciIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuNTUiLz48Y2lyY2xlIGN4PSI3Ny4xIiBjeT0iMjUwLjciIHI9IjAuODgiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuMjgiLz48Y2lyY2xlIGN4PSI0NzQuNiIgY3k9Ijg2LjYiIHI9IjAuODciIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuNTkiLz48Y2lyY2xlIGN4PSI0MTAuOCIgY3k9IjE1OS45IiByPSIwLjQ2IiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjQzIi8+PGNpcmNsZSBjeD0iNDU5LjciIGN5PSIxNDYuNyIgcj0iMC45NCIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC4zIi8+PGNpcmNsZSBjeD0iNDU1LjIiIGN5PSIxNS45IiByPSIwLjU5IiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjU3Ii8+PGNpcmNsZSBjeD0iNDAxLjkiIGN5PSI0NTMuNiIgcj0iMC45IiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjUxIi8+PGNpcmNsZSBjeD0iMzQ0LjgiIGN5PSI4OS4xIiByPSIwLjY2IiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjMxIi8+PGNpcmNsZSBjeD0iMzU3LjQiIGN5PSIzMzMuOSIgcj0iMC41NSIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC4yNyIvPjxjaXJjbGUgY3g9IjQ4MS43IiBjeT0iNDA0LjEiIHI9IjAuNzMiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuNDQiLz48Y2lyY2xlIGN4PSI0MjUuNiIgY3k9IjIyNi43IiByPSIwLjY0IiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjM3Ii8+PGNpcmNsZSBjeD0iMTI5LjAiIGN5PSIxMi4yIiByPSIwLjc5IiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjQiLz48Y2lyY2xlIGN4PSIyODUuMyIgY3k9IjMxLjIiIHI9IjAuNjEiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuMyIvPjxjaXJjbGUgY3g9IjYyLjYiIGN5PSIxMjkuNiIgcj0iMC45IiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjM5Ii8+PGNpcmNsZSBjeD0iMjAwLjUiIGN5PSIzMDYuMiIgcj0iMC41NCIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC4yNSIvPjxjaXJjbGUgY3g9IjI2NC40IiBjeT0iMjUwLjQiIHI9IjAuNzkiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuNCIvPjxjaXJjbGUgY3g9IjM0My4zIiBjeT0iMzY1LjciIHI9IjAuNTQiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuNDIiLz48Y2lyY2xlIGN4PSIyMzkuNCIgY3k9IjExMi41IiByPSIwLjY1IiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjQ1Ii8+PGNpcmNsZSBjeD0iNDUzLjUiIGN5PSI0NTguOSIgcj0iMC41NyIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC40OCIvPjxjaXJjbGUgY3g9IjI0LjEiIGN5PSIzNS44IiByPSIwLjcxIiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjU2Ii8+PGNpcmNsZSBjeD0iNzkuNyIgY3k9IjM4My4wIiByPSIwLjkzIiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjM2Ii8+PGNpcmNsZSBjeD0iMzQ2LjMiIGN5PSI0MjQuNSIgcj0iMC42MiIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC41Ii8+PGNpcmNsZSBjeD0iMzY4LjIiIGN5PSIyOTcuMyIgcj0iMC45MSIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC41NiIvPjxjaXJjbGUgY3g9IjQ4MC4wIiBjeT0iMjg1LjYiIHI9IjAuNTEiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuMzQiLz48Y2lyY2xlIGN4PSIxMDguOCIgY3k9IjI4NC44IiByPSIwLjg1IiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjI3Ii8+PGNpcmNsZSBjeD0iMzQwLjgiIGN5PSIzNTguNiIgcj0iMC42MSIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC40MyIvPjxjaXJjbGUgY3g9IjgyLjQiIGN5PSIzNjQuOSIgcj0iMC40MiIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC41OSIvPjxjaXJjbGUgY3g9IjQwNC4wIiBjeT0iMzE0LjIiIHI9IjAuNTYiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuNTciLz48Y2lyY2xlIGN4PSI0NzkuNyIgY3k9IjY5LjYiIHI9IjAuODciIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuNTQiLz48Y2lyY2xlIGN4PSIzMjkuOSIgY3k9IjM1MC4yIiByPSIwLjY3IiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjU3Ii8+PGNpcmNsZSBjeD0iNDg1LjYiIGN5PSIxOTEuMiIgcj0iMC44OCIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC40Ii8+PGNpcmNsZSBjeD0iODIuNCIgY3k9IjE2Mi43IiByPSIwLjQ4IiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjU3Ii8+PGNpcmNsZSBjeD0iNDc5LjciIGN5PSI1OS42IiByPSIwLjc2IiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjM5Ii8+PGNpcmNsZSBjeD0iNTkuMCIgY3k9IjE0Ny43IiByPSIwLjU1IiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjUxIi8+PGNpcmNsZSBjeD0iMi4wIiBjeT0iOTQuOSIgcj0iMC42NiIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC4yNiIvPjxjaXJjbGUgY3g9IjMxMy44IiBjeT0iMzAyLjgiIHI9IjAuOSIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC4zMiIvPjxjaXJjbGUgY3g9IjE0Mi40IiBjeT0iMjcxLjIiIHI9IjAuNTYiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuNDYiLz48Y2lyY2xlIGN4PSIxMjUuNCIgY3k9IjM0MS44IiByPSIwLjg3IiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjUzIi8+PGNpcmNsZSBjeD0iNDg2LjgiIGN5PSIyNzIuNyIgcj0iMC42OSIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC41NSIvPjxjaXJjbGUgY3g9IjM4NC41IiBjeT0iMjg1LjMiIHI9IjAuNjMiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuMzUiLz48Y2lyY2xlIGN4PSI1NC4xIiBjeT0iNDAzLjgiIHI9IjAuNDciIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuNTEiLz48Y2lyY2xlIGN4PSIyNzIuNiIgY3k9IjQ4Mi41IiByPSIwLjg2IiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjU5Ii8+PGNpcmNsZSBjeD0iNjguMyIgY3k9IjI1MC4yIiByPSIwLjc0IiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjM2Ii8+PGNpcmNsZSBjeD0iMjUxLjUiIGN5PSIxNzguNCIgcj0iMC43MiIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC4yNSIvPjxjaXJjbGUgY3g9IjIyMS4yIiBjeT0iMjI0LjgiIHI9IjAuNTgiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuMzkiLz48Y2lyY2xlIGN4PSIzOTEuNSIgY3k9IjM0MS43IiByPSIwLjciIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuNDgiLz48Y2lyY2xlIGN4PSIxODguOCIgY3k9IjEwMi4wIiByPSIwLjQiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuMzUiLz48Y2lyY2xlIGN4PSIyOTkuMSIgY3k9IjQ0MC44IiByPSIwLjkiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuNDMiLz48Y2lyY2xlIGN4PSI0OTMuNSIgY3k9IjIzMC44IiByPSIwLjkiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuMzkiLz48Y2lyY2xlIGN4PSIzNzIuMyIgY3k9IjQ5My44IiByPSIwLjU4IiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjMxIi8+PGNpcmNsZSBjeD0iMzEwLjAiIGN5PSIyNjUuNSIgcj0iMC42MiIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC4yNSIvPjxjaXJjbGUgY3g9IjE5NC42IiBjeT0iMjEyLjkiIHI9IjAuNjQiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuNTUiLz48Y2lyY2xlIGN4PSIyOTIuMiIgY3k9IjM2Ni45IiByPSIwLjk0IiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjUxIi8+PGNpcmNsZSBjeD0iMjQ2LjQiIGN5PSIzNzIuOSIgcj0iMC43OCIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC40OCIvPjxjaXJjbGUgY3g9IjMxNC44IiBjeT0iMjAzLjUiIHI9IjAuNzgiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuNDciLz48Y2lyY2xlIGN4PSI0NjguNiIgY3k9IjM5MS4yIiByPSIwLjkxIiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjUyIi8+PGNpcmNsZSBjeD0iNDA3LjciIGN5PSIzMDIuNyIgcj0iMC42MSIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC4zNCIvPjxjaXJjbGUgY3g9IjM1NC4wIiBjeT0iNDM3LjAiIHI9IjAuNzMiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuMyIvPjwvc3ZnPg==");
  background-size: 500px 500px;
  opacity: 0.9;
}

.stars-big {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI5MDAiIGhlaWdodD0iOTAwIj48Y2lyY2xlIGN4PSI4NjAuNCIgY3k9Ijg1My4wIiByPSIwLjg2IiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjU0Ii8+PGNpcmNsZSBjeD0iNzUxLjkiIGN5PSI2NjIuNCIgcj0iMS40NyIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC42NCIvPjxjaXJjbGUgY3g9IjU0NS4zIiBjeT0iNTQ2LjEiIHI9IjEuMzgiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuNTciLz48Y2lyY2xlIGN4PSIzODcuNiIgY3k9IjM1NC4yIiByPSIxLjUyIiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjk1Ii8+PGNpcmNsZSBjeD0iODU0LjUiIGN5PSI0ODkuOCIgcj0iMS4yNCIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC42MiIvPjxjaXJjbGUgY3g9IjMyLjMiIGN5PSIyNC43IiByPSIxLjI2IiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjY0Ii8+PGNpcmNsZSBjeD0iMzQyLjAiIGN5PSI4MDIuNiIgcj0iMS4zMyIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC43NSIvPjxjaXJjbGUgY3g9IjIxMi41IiBjeT0iMjEuNSIgcj0iMS4xMyIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC41NiIvPjxjaXJjbGUgY3g9IjQ1OS4yIiBjeT0iODk4LjgiIHI9IjEuNDciIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuNTgiLz48Y2lyY2xlIGN4PSI4MDQuMiIgY3k9IjcxNy4xIiByPSIxLjUzIiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjkxIi8+PGNpcmNsZSBjeD0iNjg2LjYiIGN5PSI3MTAuOCIgcj0iMS4xNSIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC45NCIvPjxjaXJjbGUgY3g9Ijg2NS43IiBjeT0iMTQ1LjEiIHI9IjEuNTUiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuODIiLz48Y2lyY2xlIGN4PSI0MTUuMyIgY3k9IjQ3Ny4zIiByPSIxLjI5IiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjkyIi8+PGNpcmNsZSBjeD0iNDUwLjgiIGN5PSI3NDguNCIgcj0iMS4xNSIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC45Ii8+PGNpcmNsZSBjeD0iODA5LjciIGN5PSI0MTQuOSIgcj0iMS4zNyIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC45MSIvPjxjaXJjbGUgY3g9IjY1MS40IiBjeT0iNDM3LjkiIHI9IjEuMDIiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuNjUiLz48Y2lyY2xlIGN4PSI2MjkuNiIgY3k9IjE0OS41IiByPSIxLjcxIiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjYyIi8+PGNpcmNsZSBjeD0iODIwLjIiIGN5PSIyNzguNiIgcj0iMS43NiIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC44MiIvPjxjaXJjbGUgY3g9IjQ1My44IiBjeT0iNDY2LjAiIHI9IjEuNDUiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuNzYiLz48Y2lyY2xlIGN4PSIyODAuNyIgY3k9IjE4Ny4wIiByPSIxLjMxIiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjkyIi8+PGNpcmNsZSBjeD0iNTYwLjkiIGN5PSI2Ny44IiByPSIxLjYyIiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjgzIi8+PGNpcmNsZSBjeD0iODE2LjkiIGN5PSIxNzIuMyIgcj0iMS41NCIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC41MyIvPjxjaXJjbGUgY3g9IjU4Ny42IiBjeT0iMjQ1LjgiIHI9IjEuMDMiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuODkiLz48Y2lyY2xlIGN4PSI5NS42IiBjeT0iNDcwLjEiIHI9IjEuNjUiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuNjEiLz48Y2lyY2xlIGN4PSIxODkuNCIgY3k9Ijc5Mi41IiByPSIxLjIyIiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjgyIi8+PGNpcmNsZSBjeD0iMjguNyIgY3k9IjMyNi4xIiByPSIwLjk3IiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjgiLz48Y2lyY2xlIGN4PSI3NC42IiBjeT0iODU5LjEiIHI9IjAuODMiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuODMiLz48Y2lyY2xlIGN4PSIxOS4wIiBjeT0iMjMwLjEiIHI9IjEuNjEiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuNTciLz48Y2lyY2xlIGN4PSIxNjUuNCIgY3k9IjYyMi4zIiByPSIxLjE5IiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjUyIi8+PGNpcmNsZSBjeD0iODkxLjAiIGN5PSIxMzYuMyIgcj0iMC44NCIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC42NSIvPjxjaXJjbGUgY3g9IjU1My43IiBjeT0iNjY4LjIiIHI9IjAuOTEiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuNjUiLz48Y2lyY2xlIGN4PSIyNy43IiBjeT0iNDAzLjgiIHI9IjEuNTciIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuODMiLz48Y2lyY2xlIGN4PSI4MTEuOCIgY3k9IjY4MC4xIiByPSIxLjY2IiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjgyIi8+PGNpcmNsZSBjeD0iNDI1LjUiIGN5PSIyMDMuMCIgcj0iMS40NiIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC42NCIvPjxjaXJjbGUgY3g9IjkxLjgiIGN5PSI0MDMuMCIgcj0iMS42NyIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC41NiIvPjxjaXJjbGUgY3g9IjUyNi41IiBjeT0iMzUzLjciIHI9IjEuMzEiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuNTYiLz48Y2lyY2xlIGN4PSI4NjMuOCIgY3k9IjIzMy4yIiByPSIxLjQxIiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjY5Ii8+PGNpcmNsZSBjeD0iMTYuMiIgY3k9IjUwMi4yIiByPSIwLjk0IiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjUzIi8+PGNpcmNsZSBjeD0iMzAuMiIgY3k9IjE0NS4wIiByPSIwLjkiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuNzkiLz48Y2lyY2xlIGN4PSI0NTcuNCIgY3k9Ijg4NS4xIiByPSIxLjczIiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjk1Ii8+PGNpcmNsZSBjeD0iMjA5LjIiIGN5PSI0MDAuMiIgcj0iMS4wNSIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC43NyIvPjxjaXJjbGUgY3g9IjU2MS43IiBjeT0iNzIwLjIiIHI9IjEuNTEiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuNjIiLz48Y2lyY2xlIGN4PSIzODAuNyIgY3k9IjQ3My42IiByPSIwLjgiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuNTIiLz48Y2lyY2xlIGN4PSIzNjcuOSIgY3k9IjEwMC4xIiByPSIxLjUyIiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjYxIi8+PGNpcmNsZSBjeD0iODkuOCIgY3k9IjE2My42IiByPSIxLjAzIiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjYiLz48L3N2Zz4=");
  background-size: 900px 900px;
  animation: twinkle 6s ease-in-out infinite;
}

@keyframes twinkle {
  0%, 100% { opacity: 0.5; }
  50% { opacity: 1; }
}

/* ---------- header / nav ---------- */
.site-header {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 22px 5vw;
  background: linear-gradient(to bottom, rgba(10,10,10,0.85), rgba(10,10,10,0));
  backdrop-filter: blur(2px);
}

.brand {
  display: flex;
  align-items: center;
}

.brand-eye {
  width: 30px;
  height: auto;
  transition: opacity 0.2s ease;
  animation: blink 6s ease-in-out infinite;
}

.brand:hover .brand-eye { opacity: 0.75; }

@keyframes blink {
  0%, 90%, 100% { transform: scaleY(1); }
  95% { transform: scaleY(0.05); }
}

.nav-list {
  display: flex;
  gap: 2.2rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.nav-list a {
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--fg-dim);
  transition: color 0.2s ease;
}

.nav-list a:hover { color: var(--fg); }

.nav-toggle {
  display: none;
  flex-direction: column;
  justify-content: space-between;
  width: 26px;
  height: 18px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}

.nav-toggle span {
  display: block;
  height: 1.5px;
  width: 100%;
  background: var(--fg);
}

/* ---------- hero ---------- */
.hero {
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 120px 6vw 60px;
  position: relative;
}

.hero-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.6rem;
}

.hero-logo {
  width: clamp(240px, 46vw, 620px);
  height: auto;
}

.btn {
  display: inline-block;
  margin-top: 1rem;
  padding: 0.85rem 2rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
  background: transparent;
  color: var(--fg);
  cursor: pointer;
  font-family: var(--font-body);
}

.btn:hover {
  background: var(--fg);
  color: var(--bg);
  border-color: var(--fg);
}

.scroll-cue {
  position: absolute;
  bottom: 34px;
  left: 50%;
  transform: translateX(-50%);
  width: 1px;
  height: 46px;
  background: var(--line);
  overflow: hidden;
}

.scroll-cue span {
  position: absolute;
  top: -100%;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--fg);
  animation: scrollDown 2.2s ease-in-out infinite;
}

@keyframes scrollDown {
  0% { top: -100%; }
  60% { top: 100%; }
  100% { top: 100%; }
}

/* ---------- generic section ---------- */
.section {
  padding: 130px 6vw;
  border-top: 1px solid var(--line-soft);
}

.section-inner {
  max-width: var(--max-w);
  margin: 0 auto;
}

.eyebrow {
  font-size: 0.78rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--fg-dim);
  margin: 0 0 0.8rem;
}

.section-title {
  font-family: var(--font-display);
  font-weight: normal;
  font-size: clamp(2rem, 4.5vw, 3.2rem);
  margin: 0 0 1.3rem;
  letter-spacing: 0.01em;
  text-transform: uppercase;
}

.section-lede {
  color: var(--fg-dim);
  max-width: 60ch;
  font-size: 1.02rem;
}

/* ---------- new release ---------- */
.release .section-inner {
  text-align: center;
}

.release .section-lede {
  margin-left: auto;
  margin-right: auto;
  font-size: 0.85rem;
  max-width: none;
  white-space: nowrap;
}

@media (max-width: 700px) {
  .release .section-lede { white-space: normal; }
}

.release-single {
  display: flex;
  justify-content: center;
  margin-top: 3.5rem;
}

.release-single .work-card {
  width: 100%;
  max-width: 460px;
  text-align: left;
}

.work-card { position: relative; }

.work-thumb {
  aspect-ratio: 16 / 10;
  background: var(--bg-alt);
  border: 1px solid var(--line);
  border-radius: 4px;
  margin-bottom: 1rem;
  position: relative;
  overflow: hidden;
  transition: border-color 0.25s ease;
}

.work-thumb::before {
  content: attr(data-label);
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--fg-dim);
}

.work-thumb::after {
  content: '';
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    135deg,
    transparent,
    transparent 10px,
    rgba(255,255,255,0.02) 10px,
    rgba(255,255,255,0.02) 20px
  );
}

.work-card:hover .work-thumb { border-color: rgba(255,255,255,0.35); }

.work-title {
  font-size: 1.05rem;
  font-weight: 500;
  margin: 0 0 0.25rem;
}

.work-meta {
  color: var(--fg-dim);
  font-size: 0.85rem;
  margin: 0;
}

/* ---------- about ---------- */
.about-grid {
  display: grid;
  grid-template-columns: 1.3fr 0.9fr;
  gap: 4rem;
  align-items: center;
}

.about-copy p {
  color: #d8d8d8;
  font-size: 1rem;
}

.about-visual {
  display: flex;
  justify-content: center;
}

.about-eye {
  width: 100%;
  max-width: 280px;
  opacity: 0.9;
  animation: blink 6s ease-in-out infinite;
  animation-delay: 1.2s;
}

/* ---------- contact ---------- */
.contact-form {
  margin-top: 3rem;
  max-width: 560px;
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
}

.contact-form .btn[disabled] {
  opacity: 0.5;
  cursor: default;
}

.form-status {
  margin: 0;
  font-size: 0.85rem;
  color: #ff8080;
}

.hidden-field { display: none; }

/* ---------- contact form success panel ---------- */
.form-success {
  margin-top: 3rem;
  max-width: 560px;
  padding: 2rem;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--bg-alt);
}

.form-success-title {
  font-family: var(--font-display);
  text-transform: uppercase;
  font-size: 1.4rem;
  margin: 0 0 0.6rem;
}

.form-success-text {
  color: var(--fg-dim);
  font-size: 0.95rem;
  margin: 0 0 1.4rem;
  max-width: 46ch;
}

.form-success .btn {
  margin-top: 0;
}

.form-row {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.form-row label {
  font-size: 0.78rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--fg-dim);
}

.form-row input,
.form-row textarea {
  background: var(--bg-alt);
  border: 1px solid var(--line);
  border-radius: 4px;
  padding: 0.85rem 1rem;
  color: var(--fg);
  font-family: var(--font-body);
  font-size: 0.95rem;
  resize: vertical;
}

.form-row input:focus,
.form-row textarea:focus {
  outline: none;
  border-color: rgba(255,255,255,0.5);
}

.contact-form .btn {
  align-self: flex-start;
  border: 1px solid var(--fg);
}

.contact-alt {
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid var(--line-soft);
  color: var(--fg-dim);
}

.contact-alt a:hover { color: var(--fg); }

.socials {
  display: flex;
  gap: 1.4rem;
  margin-top: 1rem;
}

.socials a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: 1px solid var(--line);
  border-radius: 50%;
  color: var(--fg);
  font-size: 1.05rem;
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.socials a:hover {
  background: var(--fg);
  color: var(--bg);
  border-color: var(--fg);
  transform: translateY(-2px);
}

/* ---------- footer ---------- */
.site-footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.8rem;
  padding: 3rem 6vw 2.5rem;
  border-top: 1px solid var(--line-soft);
  color: var(--fg-dim);
  font-size: 0.8rem;
}

.footer-eye {
  width: 26px;
  opacity: 0.6;
}

/* ---------- responsive ---------- */
@media (max-width: 860px) {
  .about-grid {
    grid-template-columns: 1fr;
    gap: 2.5rem;
    text-align: left;
  }
  .about-visual { order: -1; max-width: 160px; margin: 0 auto; }
  .about-eye { max-width: 160px; }
}

@media (max-width: 720px) {
  .nav-toggle { display: flex; }

  .nav-list {
    position: fixed;
    top: 0;
    right: 0;
    height: 100vh;
    width: min(78vw, 320px);
    background: var(--bg-alt);
    border-left: 1px solid var(--line);
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 2rem;
    padding: 2rem 2.5rem;
    transform: translateX(100%);
    transition: transform 0.35s ease;
  }

  .nav-list.open { transform: translateX(0); }

  .nav-list a { font-size: 1rem; }

  .section { padding: 90px 6vw; }
}
