* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }

:root{
  --pad: 24px;
  --text: #111;
  --muted: #6b6b6b;
  --line: rgba(0,0,0,0.12);
  --max: 1500px;
}

body{
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  color: var(--text);
  background: #fff;
}

/* HEADER (fixed) */
.site-header{
  position: fixed;
  inset: 0 0 auto 0;
  height: 64px;
  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line);
  z-index: 50;
}

/* This is the IMPORTANT part: aligns brand + nav to the same 1500px container */
.site-header-inner{
  height: 64px;
  max-width: var(--max);
  margin: 0 auto;
  padding: 0 var(--pad);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.site-brand{
  font-size: 14px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.95;
}

.site-nav{
  display: flex;
  gap: 18px;
  font-size: 14px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.site-nav a{
  opacity: 0.70;
  padding: 6px 0;
  border-bottom: 1px solid transparent;
}

.site-nav a:hover{ opacity: 1; }

.site-nav a.active{
  opacity: 1;
  border-bottom-color: rgba(0,0,0,0.65);
}

/* MAIN */
.site-main{
  padding-top: 64px; /* account for fixed header */
}

/* Content container, matches header width */
.site-main-inner{
  max-width: var(--max);
  margin: 0 auto;
  padding: 18px var(--pad) 64px var(--pad);
}

/* Keep embeds hard-edged too */
.embed-wrap{
  position: relative;
  width: 100%;
  padding-top: 56.25%; /* 16:9 */
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.embed-wrap iframe{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
