/* Gather Around — front-end + editor CSS (loaded via functions.php so media queries always apply). */

.ga-doodle { overflow: visible; }

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

.ga-poly { transition: transform .18s ease; }
.ga-poly:hover { transform: rotate(0deg) scale(1.05) !important; z-index: 20 !important; }

::selection { background: color-mix(in srgb, var(--wp--preset--color--accent) 30%, transparent); }

/* layout resets */
main { overflow-x: clip; margin-top: 0; }
.wp-site-blocks > main, .wp-site-blocks > main > *:first-child { margin-top: 0; }
.wp-site-blocks > header, .site-header { position: sticky; top: 0; z-index: 60; }

/* header shrink-on-scroll */
.site-nav, .brand-mark, .brand-word, .nav-link, .nav-cta {
  transition: padding .28s ease, font-size .28s ease, width .28s ease, height .28s ease;
}
.site-nav { padding-top: 26px; padding-bottom: 26px; }
.site-header.is-shrunk .site-nav { padding-top: 14px; padding-bottom: 14px; }
.site-header.is-shrunk .brand-mark { width: 36px; height: 36px; }
.site-header.is-shrunk .brand-word { font-size: 19px; }
.site-header.is-shrunk .nav-link { font-size: 15px; }
.site-header.is-shrunk .nav-cta { font-size: 14px; padding: 10px 20px; }

/* mobile menu toggle */
.nav-mobile { display: none; }
.nav-mobile summary::-webkit-details-marker { display: none; }

@media (max-width: 782px) {
  .nav-desktop { display: none !important; }
  .nav-mobile { display: block !important; }
  .film-table {
    position: static !important; aspect-ratio: auto !important; height: auto !important;
    column-count: 2; column-gap: 14px;
  }
  .film-table > figure {
    position: static !important; left: auto !important; top: auto !important;
    width: auto !important; z-index: auto !important; transform: none !important;
    break-inside: avoid; margin: 0 0 14px !important;
  }
}
