/* === LAYOUT UTILITIES (LOCKED) === */

/* margins */
.mt-4  { margin-top:4px; }
.mt-6  { margin-top:6px; }
.mt-8  { margin-top:8px; }
.mt-10 { margin-top:10px; }
.mt-12 { margin-top:12px; }
.mt-14 { margin-top:14px; }
.mt-16 { margin-top:16px; }

/* zero margins */
.m-0 { margin:0; }

/* spacing helpers */
.mb-6 { margin-bottom:6px; }
.mb-8 { margin-bottom:8px; }

/* flex helpers */
.flex {
  display:flex;
}
.flex-wrap {
  flex-wrap:wrap;
}
.flex-col {
  flex-direction:column;
}
.items-start {
  align-items:flex-start;
}
.items-center {
  align-items:center;
}
.justify-between {
  justify-content:space-between;
}
.gap-10 { gap:10px; }
.gap-12 { gap:12px; }

/* cards / boxes */
.box-soft {
  padding:12px;
  border:1px solid rgba(255,255,255,0.08);
  border-radius:14px;
}

/* grid helpers */
.grid {
  display:grid;
}
.grid-gap-10 { gap:10px; }
.grid-gap-12 { gap:12px; }

/* modal overlay */
.modal-overlay {
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(0,0,0,0.60);
  z-index:9999;
  padding:16px;
}

/* modal dialog */
.modal {
  width:min(680px, 100%);
  border-radius:18px;
  padding:16px;
  border:1px solid rgba(255,255,255,0.10);
  background:rgba(15,15,18,0.98);
  box-shadow:0 20px 80px rgba(0,0,0,0.50);
}
/* === SMALL UTILITIES (LOCKED) === */
.hidden { display:none; }
.mb-16 { margin-bottom:16px; }
.p-14 { padding:14px; }
.cursor-pointer { cursor:pointer; }
.fw-800 { font-weight:800; }
}
/* === PROJECTS LIST UTILITIES (LOCKED) === */
.card-row{
  padding:12px;
  border:1px solid rgba(255,255,255,0.08);
  border-radius:14px;
}
.row-head{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
}
.fw-800{ font-weight:800; } /* if already present, keep single copy */

.grid-gap-10{
  display:grid;
  gap:10px;
}

.mt-6{ margin-top:6px; }
.mt-8{ margin-top:8px; }
.mt-10{ margin-top:10px; }
.mt-14{ margin-top:14px; }
.mt-12{ margin-top:12px; }
}

/* NAV NO-JUMP (LOCKED): stabilize overflow container */
header.nav .nav-links{
  scrollbar-gutter: stable;   /* prevents width shift when scrollbar appears */
  min-height: 44px;           /* prevents vertical jump from rounding */
  align-items: center;
}
