/* ============================================================
   SILICON VATICAN — HOME PAGE
   Front page hero, columns, sidebar
   ============================================================ */

/* ── HERO ── */
.hero {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 0;
  padding: 1.75rem 0;
  border-bottom: var(--rule);
}
.hero-main {
  padding-right: 1.75rem;
  border-right: var(--rule);
}
.hero-side { padding-left: 1.75rem; }

.hero .headline {
  font-size: clamp(1.8rem, 3.5vw, 3rem);
  margin-bottom: .75rem;
}
.hero .deck {
  font-size: 1.1rem;
  margin-bottom: 1rem;
}

/* ── ASIDE CARDS (hero sidebar) ── */
.aside-card {
  padding-bottom: 1.1rem;
  margin-bottom: 1.1rem;
  border-bottom: var(--rule);
}
.aside-card:last-child { border-bottom: none; padding-bottom: 0; margin-bottom: 0; }
.aside-card .headline { font-size: 1.1rem; margin-bottom: .35rem; }
.aside-card .deck     { font-size: .85rem; }

/* ── THREE-COLUMN ROW ── */
.cols {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: var(--rule);
  border-bottom: var(--rule);
  margin: 0 0 1.75rem;
}
.col {
  padding: 1.25rem 1.5rem;
  border-right: var(--rule);
}
.col:last-child { border-right: none; }
.col .headline  { font-size: 1.25rem; margin-bottom: .5rem; }
.col .body-text { font-size: .88rem; line-height: 1.65; color: rgba(242,232,213,.65); }

/* ── BOTTOM SECTION ── */
.bottom {
  display: grid;
  grid-template-columns: 1fr 260px;
  gap: 0;
}
.bottom-main {
  padding: 1.5rem 1.75rem 1.5rem 0;
  border-right: var(--rule);
}
.bottom-side { padding: 1.5rem 0 1.5rem 1.75rem; }

/* ── SIDEBAR MODULES ── */
.sb-module  { margin-bottom: 1.75rem; }
.sb-title {
  font-family: 'Cinzel', serif;
  font-size: .6rem;
  letter-spacing: .2em;
  color: var(--gold);
  padding-bottom: .4rem;
  border-bottom: var(--rule);
  margin-bottom: .65rem;
  text-transform: uppercase;
}
.sb-item {
  font-size: .87rem;
  line-height: 1.5;
  color: rgba(242,232,213,.65);
  padding: .5rem 0;
  border-bottom: 1px solid rgba(196,164,74,.1);
  cursor: pointer;
  transition: color .2s;
}
.sb-item:last-child { border-bottom: none; }
.sb-item:hover      { color: var(--gold); }
.sb-item strong {
  display: block;
  color: var(--parchment);
  font-style: italic;
  font-weight: 500;
}

/* ── INDULGENCES (market sidebar) ── */
.indulgence {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  font-family: 'Inconsolata', monospace;
  font-size: 11.5px;
  padding: .4rem 0;
  border-bottom: 1px solid rgba(196,164,74,.1);
  color: rgba(242,232,213,.65);
}
.indulgence:last-child { border-bottom: none; }
.indulgence .isym {
  color: var(--gold);
  font-size: 9.5px;
  letter-spacing: .1em;
}

/* ── MOBILE ── */
@media (max-width: 768px) {
  .hero { grid-template-columns: 1fr; }
  .hero-main {
    padding-right: 0;
    border-right: none;
    border-bottom: var(--rule);
    padding-bottom: 1.25rem;
  }
  .hero-side { padding-left: 0; padding-top: 1.25rem; }

  .cols { grid-template-columns: 1fr; }
  .col  { border-right: none; border-bottom: var(--rule); padding: 1rem 0; }
  .col:last-child { border-bottom: none; }

  .bottom      { grid-template-columns: 1fr; }
  .bottom-main { border-right: none; padding-right: 0; }
  .bottom-side { padding-left: 0; }
}
