/* Homepage section rhythm + full-bleed strips.
   Keeps one consistent vertical gap between every major homepage section
   while preserving centered inner content. */
.site-homepage main{
  --home-section-gap:1.6rem;
  overflow-x:clip;
}

/* Every homepage section occupies the full available width. */
.site-homepage main > section{
  width:100%;
  max-width:none;
  box-sizing:border-box;
  margin-top:0!important;
  margin-bottom:0!important;
  margin-inline:0!important;
}

/* One shared gap between every adjacent section. */
.site-homepage main > section:not(:first-of-type){
  margin-top:var(--home-section-gap)!important;
}

/* Hidden conditional strips should not reserve their own gap. */
.site-homepage main > section[hidden]{
  margin-top:0!important;
  margin-bottom:0!important;
}

/* Strip backgrounds are full-bleed; only their inner content stays aligned. */
.site-homepage .independence,
.site-homepage .credibility-strip,
.site-homepage .mission-strip-section,
.site-homepage .mission-future-snapshot,
.site-homepage .jcal-today,
.site-homepage .discover-home,
.site-homepage .record-preview-section{
  width:100%;
  max-width:none!important;
  margin-inline:0!important;
  border-radius:0!important;
}

/* The calendar now behaves like the heritage strip: full-width backdrop,
   centered console/content inside it. */
.site-homepage .jcal-today{
  background:
    radial-gradient(circle at 10% 30%,rgba(126,151,158,.10),transparent 28%),
    radial-gradient(circle at 88% 25%,rgba(188,166,113,.09),transparent 30%),
    linear-gradient(180deg,rgba(241,239,232,.88),rgba(247,246,242,.94))!important;
  padding:1rem 0!important;
  border-top:1px solid rgba(90,95,88,.07);
  border-bottom:1px solid rgba(90,95,88,.07);
}

/* Keep the strip contents on the same visual grid. */
.site-homepage .independence > .container,
.site-homepage .credibility-strip > .container,
.site-homepage .jcal-today > .container{
  width:min(1180px,calc(100% - 40px));
  max-width:1180px;
  margin-inline:auto;
}

@media (max-width:680px){
  .site-homepage main{--home-section-gap:1rem}
  .site-homepage .independence > .container,
  .site-homepage .credibility-strip > .container,
  .site-homepage .jcal-today > .container{
    width:min(100% - 28px,1180px);
  }
}

/* Full-bleed color treatment: calendar + Track II.
   Background reaches viewport edges; content remains on the shared grid. */
.site-homepage .jcal-today{
  padding:0!important;
  background:
    radial-gradient(circle at 7% 50%,rgba(91,187,255,.17),transparent 24%),
    radial-gradient(circle at 86% 16%,rgba(240,193,92,.10),transparent 28%),
    linear-gradient(116deg,#07172b 0%,#09243e 48%,#07182e 100%)!important;
  border-top:1px solid rgba(91,187,255,.18);
  border-bottom:1px solid rgba(91,187,255,.16);
}
.site-homepage .jcal-today > .container{
  width:min(1180px,calc(100% - 40px))!important;
  max-width:1180px!important;
  margin-inline:auto!important;
}
.site-homepage .jcal-console{
  min-height:144px;
  margin:0!important;
  padding:1.15rem 0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible;
}

.site-homepage #initiatives.section.paper{
  padding:0!important;
  background:linear-gradient(145deg,#58675f,#728178)!important;
  color:#fff;
  border:0!important;
}
.site-homepage #initiatives > .container{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
/* The Track II strip itself is the full-bleed element. */
.site-homepage #initiatives .initiative{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:54px max(20px,calc((100vw - 1180px)/2))!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.site-homepage #initiatives .initiative:after{
  right:-140px;
}

@media (max-width:760px){
  .site-homepage .jcal-today > .container{
    width:min(100% - 28px,1180px)!important;
  }
  .site-homepage .jcal-console{
    padding:1rem 0!important;
  }
  .site-homepage #initiatives .initiative{
    padding:36px 14px!important;
  }
}
