:root{--bg:#0a0f12;--text:#f4f6f8;--muted:rgba(255,255,255,0.7);--space-3:1rem;}
@font-face{font-family:Novara;src:url(../fonts/Novara.ttf) format("truetype");font-display:swap;}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:Novara,system-ui,sans-serif}
a{text-decoration:none;color:inherit}
.site-header{position:fixed;inset:0 0 auto 0;display:flex;justify-content:space-between;align-items:center;padding:0.75rem 1rem;z-index:1000}
.brand a{color:var(--muted);letter-spacing:.30em;text-transform:uppercase;white-space:nowrap}
.nav-inline{display:none;gap:1rem}@media(min-width:900px){.nav-inline{display:flex}.menu-toggle{display:none}}
.menu-toggle{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:.4rem .75rem;color:#fff}
.menu-overlay[hidden]{display:none}.menu-overlay{position:fixed;inset:0;background:rgba(8,10,14,.92);display:grid;grid-template-rows:auto 1fr;padding:1rem;z-index:1500}
.menu-close{justify-self:end;font-size:2rem;background:0;border:0;color:#fff}
.menu-nav{display:grid;align-content:center;justify-items:center;gap:1rem}
.menu-item{padding:.75rem 1rem;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);width:min(80vw,480px);text-align:center}

.hero {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 1rem;
  text-align: center;
  background-image: radial-gradient(ellipse at 50% 30%, rgba(0,0,0,0.18), rgba(0,0,0,0.6)), url("../img/hero.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.hero-title {
  font-family: 'Novara', system-ui, sans-serif;
  font-weight: 400;
  line-height: 1.05;
  font-size: clamp(3rem, 8vw, 8rem);
  letter-spacing: clamp(0.1em, 2vw, 0.35em);
  text-transform: uppercase;
  margin: 0;
  text-shadow: 0 2px 20px rgba(0,0,0,0.45);
  word-break: keep-all;
  white-space: nowrap;
  overflow-wrap: normal;
}

/* Hide captions absolutely everywhere */
.cap, .caption, #lb-cap, .card-m .cap, .masonry .cap { display: none !important; }

/* iOS scrolling fix - less aggressive approach */
html, body { 
  -webkit-overflow-scrolling: touch;
}

/* --- Scroll container normalization for iOS/Brave ---
   Route scrolling through the main content to avoid top-edge pull-to-refresh.
   Does not change layout or structure; header/overlays remain fixed. */
html, body { height: 100%; overflow: hidden; }
main.page-wrap { height: 100dvh; overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior-y: contain; }

