/* =======================
   GLOBAL FOUNDATION (SAFE)
   ======================= */

/* If your theme already loads Inter, keep this out. 
   If you must load it, add the @import at the VERY TOP of the CSS pane. */
/* @import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap"); */

:root,
html,
body {
  background: #000 !important;     /* hard black root so overscroll never shows white */
  color-scheme: dark;
}

html, body, .site, .page, #container, .content { 
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, Helvetica, Arial, sans-serif !important;
  font-weight: 400 !important; /* fixed from 00 */ 
  margin: 0 !important; /* eliminate stray gaps that reveal root bg */ 
}

/* iOS rubber-band guard: fixed black sheet under everything */
body::before {
  content: "";
  position: fixed;
  top: 0; right: 0; bottom: 0; left: 0;
  background: #000;
  z-index: -1;
  pointer-events: none;
}

/* Viewport stability (broadly compatible) */
html, body { min-height: 100vh; }
html { height: -webkit-fill-available; }   /* iOS/Safari */
body { min-height: -webkit-fill-available; }

/* Prevent background peek on elastic scroll (supported browsers) */
html { overscroll-behavior-y: contain; }

/* Ensure wrappers don’t reintroduce white on single project pages */
.site, .page, .content, .project, .project-page,
.page__wrap, .container, #main, #content {
  background: transparent !important;
}

/* Media placeholders shouldn’t flash white while loading */
img, video, iframe, canvas { background: #000; }

/* =======================
   OVERLAY / CLICK FIXES
   ======================= */

.page__overlay,
.page::before, .page::after,
.content::before, .content::after,
.site::before, .site::after,
.header__overlay,
.cover, .hero-cover, .page-cover, .page-header,
*[class*="overlay"] {
  pointer-events: none !important;
  z-index: 0 !important;
}

/* Defensive: reset transforms/filters that create unexpected stacking contexts */
.site, .page, .content {
  transform: none !important;
  filter: none !important;
  overflow: visible !important;
}

/* =======================
   LANDING / FILTER BAR
   ======================= */

/* Keep landing block predictable without using 'isolation' */
#mao { position: relative !important; }

/* Keep hero + filters above the grid */
#mao .hero,
#mao nav,
#mao .filters,
#mao .filters-dock {
  position: relative !important;
  z-index: 9999 !important;
}

/* Ensure filter bar is interactive and solid-backed (prevents translucent white bleed) */
#mao .filters,
#mao .filters-dock,
#mao .filters__bar,
#mao .filter-btn {
  pointer-events: auto !important;
}

#mao .filters-dock {
  background: #000;                 /* solid base under any blur */
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}

/* Grid under sticky bar */
#mao .grid {
  position: relative !important;
  z-index: 1 !important;
  margin-top: 40px !important;
}

a {
  text-decoration: none;
}

[data-css-preset] .content_padding {
	padding-top: 0.4rem /*!main_margin*/;
	padding-bottom: 0.4rem /*!main_margin*/;
	padding-left: 0.4rem /*!main_margin*/;
	padding-right: 0.4rem /*!main_margin*/;
}

/* --- tighten columns --- */
.columns,
.column,
.column_text {
  padding: 0 !important;
  margin: 0 !important;
  line-height: 0.0 !important; /* tighter text spacing */
}

.columns p,
.columns h1,
.columns h2,
.columns h3,
.columns h4,
.columns h5,
.columns h6 {
  margin: 0 !important;
  line-height: 0.0 !important;
}

.columns > * + * {
  margin-top: 0.0em; /* small gap between elements; adjust or remove */
}