/* Global spacing + width + alignment synchronizer (loaded on every page) */

/* --- 0) FONT: bump up by ~1pt step globally (16px -> 17px) --- */
html{
  font-size: 106.25% !important;
}

/* --- 1) SAME WIDTH + SAME LEFT/TOP ORIGIN EVERYWHERE --- */
:root{
  --container: 1200px;     /* same width on all pages */
  --wrap-pad-top: 26px;    /* ensures hero top-left aligns */
  --wrap-pad-x: 18px;      /* ensures hero left aligns */
  --wrap-pad-bot: 28px;    /* keep consistent across pages */
}

/* nav and main content must share the same max-width */
.nav,
.wrap{
  max-width: var(--container) !important;
}

/* force identical padding for the main content block on ALL pages */
.wrap{
  padding: var(--wrap-pad-top) var(--wrap-pad-x) var(--wrap-pad-bot) !important;
}

/* force the first hero (“blue panel”) to start at the same place on all pages */
.hero{
  margin-top: 0 !important;
}
.wrap > .hero:first-child,
.wrap > section.hero:first-child{
  margin-top: 0 !important;
}

/* --- 2) DOUBLE SPACING BETWEEN BLOCKS --- */
.home-layout{
  gap: 32px !important; /* was ~16px */
}
.home-layout + .card{
  margin-top: 32px !important; /* was ~16px */
}
ol.papers{
  gap: 28px !important; /* was ~14px */
}
.writings,
.writings-grid,
.writings-list{
  gap: 28px !important;
}

/* --- 3) BIO ONLY: keep "Last updated" at bottom of visible page
          WITHOUT increasing page height, AND CENTER IT --- */
body:has(.home-layout) footer,
body:has(.home-layout) .site-footer,
body:has(.home-layout) .footer{
  position: fixed !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  bottom: 14px !important;

  width: min(var(--container), calc(100% - (2 * var(--wrap-pad-x)))) !important;
  z-index: 50 !important;

  text-align: center !important; /* CENTER */
  padding: 0 !important;         /* no side padding needed for centered text */
}
