/* CASTLE v255 — index page layout + readability fixes */

/* ── Body: grid layout for proper vertical centering on index ── */
html.castle-v223-ui body.castle-v223-page-index {
  display: grid !important;
  grid-template-rows: auto 1fr auto auto !important;
  flex-direction: unset !important;
}

/* ── Hero: sit in the 1fr row and centre its own content ── */
html.castle-v223-ui body.castle-v223-page-index .hero {
  flex: unset !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 40px 32px !important;
}

/* ── Tiles section: no extra top padding ── */
html.castle-v223-ui body.castle-v223-page-index .tiles-section {
  padding-top: 0 !important;
  padding-bottom: 32px !important;
}

/* ── Tile images: contain not cover so full illustration shows ── */
html.castle-v223-ui body.castle-v223-page-index .tile-art {
  overflow: visible !important;
  background: transparent !important;
}
html.castle-v223-ui body.castle-v223-page-index .tile-art img {
  object-fit: contain !important;
  padding: 8px !important;
  border-radius: 0 !important;
}

/* ── Acronym line: readable contrast ── */
html.castle-v223-ui body.castle-v223-page-index .h-acro {
  color: var(--ink2, #3A3A38) !important;
}
html.castle-v223-ui body.castle-v223-page-index .h-acro b {
  color: var(--cyan, #009BAA) !important;
  font-weight: 500 !important;
}

/* ── Tagline sub: readable contrast ── */
html.castle-v223-ui body.castle-v223-page-index .h-sub {
  color: var(--ink2, #3A3A38) !important;
  font-weight: 500 !important;
}
