:root{
  /* Page */
  --page-bg: #0b0f10;
  --ink: rgba(255,255,255,0.92);
  --muted: rgba(255,255,255,0.62);
  --hairline: rgba(255,255,255,0.12);

  /* Photowall */
  --img-dim: 0.78;
  --img-sat: 1.00;

  /* Layout */
  --wrap: min(1260px, 92vw);

  /* Header */
  --header-h: 86px;

  /* Hero type */
  --hero-top: 150px;

  /* Overlap geometry */
  --overlap-pull: 132px;
  --surface-radius: 22px;

  /* Glass surfaces */
  --glass-bg: rgba(0,0,0,0.58);
  --glass-border: rgba(255,255,255,0.14);

  /* Accent */
  --accent: rgba(255,255,255,0.78);
}

*{ box-sizing:border-box; }
html, body { height:100%; }
html{ scroll-behavior:smooth; }

body{
  margin:0;
  font-family:"Poppins",system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;
  color: var(--ink);
  overflow-x:hidden;
  background: var(--page-bg);
}

:focus-visible{
  outline: 2px solid rgba(255,255,255,0.82);
  outline-offset: 4px;
}

.btn-primary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height: 44px;
  padding: 0 18px;
  text-decoration:none;
  color: rgba(255,255,255,0.92);
  font-weight: 600;
  letter-spacing:0.16em;
  font-size: 12px;
  text-transform: uppercase;
  background: rgba(0,0,0,0.18);
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 999px;
  transition: transform .15s ease, background .15s ease, border-color .15s ease;
  white-space: nowrap;
}

.btn-primary:hover{
  transform: translateY(-1px);
  background: rgba(0,0,0,0.26);
  border-color: rgba(255,255,255,0.26);
}

.btn-primary:active{ transform: translateY(0) scale(0.99); }

.btn-primary.is-compact{
  height: 40px;
  padding: 0 14px;
  font-size: 11px;
}

@media (max-width: 520px){
  :root{ --header-h: 78px; --hero-top: 120px; --overlap-pull: 108px; }
  .btn-primary{ height: 40px; padding: 0 14px; font-size: 11px; }
}

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  .grain{ animation:none; }
}