/* Site-wide layout consistency (approved by Frank 2026-10-16, README "Approved changes" #9).
   Linked from all 7 content pages, after custom.css. Keeps the text of every page at the
   same left/right edges at 768px and wider: one grid column (1/24 of the content width) in
   from the site margin, ending at the right margin (= /publications as built in Squarespace).
   Phones (< 768px) are untouched: all pages already share the same edges there. */
@media (min-width: 768px) {
  /* Fluid-engine pages: no column gap, so all pages use the same 24-column grid ... */
  .fluid-engine {
    column-gap: 0 !important;
    --grid-gutter: var(--sqs-site-gutter, 4vw) !important;
    --cell-max-width: calc(var(--sqs-site-max-width, 1500px) / 24) !important;
  }
  /* ... and every text block spans columns 3 to 26 (rows are unchanged). */
  .fluid-engine > .fe-block {
    grid-column: 3 / 26 !important;
  }
  /* Classic 12-column text block (/blogs): indent by the same one column. */
  .sqs-layout.sqs-grid-12 .col.span-12 > .html-block .sqs-html-content {
    padding-left: calc(100% / 24);
  }
}

/* Same vertical start for the body text on every page (approved by Frank 2026-10-17).
   Target: the first heading sits where it does on /, /research, /publications and
   /militaryconflict (one empty 33vh section, then the content section's own padding). */
@media (min-width: 768px) {
  /* /resume: Squarespace placed its only text block at grid row 3, leaving two empty rows
     (2 x 2.15% of the content width = 56px at 1440). Start it at row 1 like the other pages. */
  .fe-block-6abc7a211ba053ca6548ceef {
    grid-row-start: 1 !important;
  }
}
/* /bio and /militaryconflict: the content section is "vertical-alignment--middle" with a
   33vh minimum height, so short text was pushed down (bio +12px at 1440x900, more on taller
   windows). Top-align it, as the long pages effectively are. */
section[data-section-id="6abe813003a5bf6315dd7194"],
section[data-section-id="6abe7ef157bf39367c3b2b3c"] {
  align-items: flex-start !important;
  justify-content: flex-start !important;
}
@media (max-width: 767px) {
  /* /blogs (classic layout) on phones: Squarespace adds 17px above the first block. */
  #block-9b60db4a19bb20a45713 {
    padding-top: 0 !important;
  }
}
