.home-page {
  padding-block: var(--space-8) var(--space-16);
}

.home-page .home-section + .home-section {
  margin-block-start: var(--space-16);
}

.home-page .panel {
  min-width: 0;
}

.home-hero__grid,
.home-formats__grid,
.home-flow__top,
.home-flow__steps,
.home-cards__grid,
.home-restaurant__grid,
.home-associations__grid,
.home-guided__grid,
.home-operational__grid,
.home-presence__grid,
.home-gallery-index__grid,
.home-cta__grid {
  display: grid;
  min-width: 0;
  gap: var(--grid-gap);
}

.home-hero__grid {
  /*grid-template-columns: repeat(12, minmax(0, 1fr));*/
}

.home-hero__editorial {
  grid-column: span 7;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-width: 0;
  gap: var(--space-8);
}

.home-hero__copy {
  width: min(100%, 34rem);
}

.home-hero__copy h1 {
  font-size: clamp(2.25rem, 5.5vw, 4.5rem);
}

.home-hero__status {
  grid-column: span 2;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-width: 0;
  gap: var(--space-4);
}

.home-status-list {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-4);
}

.home-status-list__item {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-2);
}

.home-status-list__item p {
  margin: 0;
  color: var(--color-muted);
  font-size: var(--text-secondary);
  line-height: var(--line-secondary);
}

.home-hero__media {
  grid-column: span 3;
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 0;
}

.home-hero__media .media-16x9 {
  width: 100%;
  min-width: 0;
  flex: 1 1 auto;
}

.home-hero__media figcaption,
.home-cards__media figcaption,
.home-associations__media figcaption {
  padding: var(--space-3) var(--space-4);
  margin: 0;
}

.home-hero__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  gap: var(--space-3);
}

.home-hero__actions .metadata {
  margin: 0;
}

.home-formats__header {
  width: min(100%, 44rem);
}

.home-formats__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.home-format-card,
.home-flow-step,
.home-moment,
.home-presence__card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  gap: var(--space-4);
}

.home-format-card > *,
.home-flow-step > *,
.home-moment > *,
.home-presence__card > * {
  margin: 0;
}

.home-format-card .display-number {
  color: var(--color-green-highlight);
}

.home-format-card a,
.home-flow__intro a,
.home-presence__card a {
  min-height: var(--control-height);
  display: inline-flex;
  align-items: center;
  margin-top: auto;
  font-weight: var(--weight-semibold);
}

.home-flow__top {
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.home-flow__intro {
  grid-column: span 5;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.home-flow__intro > * {
  margin: 0;
}

.home-flow__intro p {
  width: min(100%, 34rem);
}

.home-flow__rhythm {
  grid-column: span 3;
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-4);
}

.home-rhythm-chart {
  position: relative;
  height: 5rem;
  min-width: 0;
  border-bottom: var(--border);
}

.home-rhythm-chart__line {
  position: absolute;
  right: 8%;
  bottom: 1.25rem;
  left: 8%;
  height: 1px;
  background: var(--color-grid);
  transform: skewY(-12deg);
  transform-origin: left center;
}

.home-rhythm-chart__point {
  position: absolute;
  bottom: 1rem;
  width: 0.5rem;
  height: 0.5rem;
  border: 1px solid var(--color-green-highlight);
  border-radius: 50%;
  background: var(--color-green);
}

.home-rhythm-chart__point--one { left: 12%; }
.home-rhythm-chart__point--two { bottom: 2.5rem; left: 47%; }
.home-rhythm-chart__point--three { bottom: 3.75rem; left: 80%; }

.home-rhythm-labels {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  min-width: 0;
  gap: var(--space-2);
  color: var(--color-muted);
  font-size: var(--text-micro);
  font-weight: var(--weight-semibold);
  line-height: var(--line-micro);
}

.home-rhythm-labels > * { min-width: 0; }
.home-flow__rhythm .metadata { margin: 0; }

.home-flow__steps {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: var(--grid-gap);
}

.home-cards__grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.home-cards__content {
  grid-column: span 5;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  min-width: 0;
  gap: var(--space-4);
}

.home-cards__content > * { margin: 0; }
.home-cards__content > p { width: min(100%, 31rem); }

.home-cards__markers {
  display: grid;
  width: 100%;
  grid-template-columns: 1fr;
  min-width: 0;
  border-top: var(--border);
}

.home-cards__markers span {
  padding-block: var(--space-2);
  border-bottom: var(--border);
  color: var(--color-muted);
  font-size: var(--text-secondary);
  font-weight: var(--weight-semibold);
}

.home-cards__animation {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  padding-top: var(--space-4);
  border-top: var(--border);
  gap: var(--space-2);
}

.home-cards__animation p { width: min(100%, 27rem); margin: 0; }

.home-cards__media {
  grid-column: span 7;
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 0;
}

.home-cards__media .media-4x3,
.home-associations__media .media-4x3 { width: 100%; }

.home-restaurant__grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.home-restaurant__intro {
  grid-column: span 6;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  gap: var(--space-4);
}

.home-restaurant__intro > * { margin: 0; }
.home-restaurant__intro .lead { width: min(100%, 34rem); }

.home-restaurant__moments {
  grid-column: span 6;
  display: grid;
  grid-template-columns: 1fr;
  min-width: 0;
  gap: var(--grid-gap);
}

.home-associations__grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.home-associations__media {
  grid-column: span 5;
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 0;
}

.home-associations__content {
  grid-column: span 7;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  gap: var(--space-4);
}

.home-associations__content > * { margin: 0; }
.home-associations__content > p { width: min(100%, 36rem); }

.home-associations__group {
  display: flex;
  flex-direction: column;
  width: min(100%, 31rem);
  min-width: 0;
  padding: var(--space-4);
  border: var(--border);
  background: var(--color-panel-raised);
  gap: var(--space-2);
}

.home-associations__group p { margin: 0; }

.home-guided__grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.home-guided__editorial {
  grid-column: span 7;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  gap: var(--space-4);
}

.home-guided__editorial > * { margin: 0; }
.home-guided__editorial p { width: min(100%, 33rem); }

.home-guided__rail {
  grid-column: span 5;
  display: grid;
  grid-template-columns: 1fr;
  min-width: 0;
  gap: var(--grid-gap);
}

.home-guided__panel {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-3);
}

.home-guided__panel > * { margin: 0; }
.home-guided__panel p { width: min(100%, 25rem); }
.home-guided__panel dl { display: flex; flex-direction: column; gap: var(--space-3); }
.home-guided__panel dl > div { min-width: 0; }
.home-guided__panel dd { margin: 0; }

.home-guided__action {
  grid-column: span 4;
  min-width: 0;
}

.home-guided__action .button { width: 100%; }

.home-operational__grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.home-operational__intro {
  grid-column: span 5;
  align-self: start;
}

.home-operational__intro p { width: min(100%, 30rem); }

.home-operational__table {
  grid-column: span 7;
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-3);
}

.home-operational-row {
  display: grid;
  grid-template-columns: minmax(8rem, 1.2fr) minmax(7rem, 0.8fr) minmax(0, 1.5fr) auto;
  align-items: center;
  min-width: 0;
  gap: var(--space-3);
  padding: var(--space-4);
}

.home-operational-row > * { min-width: 0; }
.home-operational-row h3,
.home-operational-row p { margin: 0; }
.home-operational-row p { color: var(--color-muted); font-size: var(--text-secondary); line-height: var(--line-secondary); }
.home-operational-row a { min-height: var(--control-height); display: inline-flex; align-items: center; font-weight: var(--weight-semibold); white-space: nowrap; }

.home-presence__grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.home-presence__intro {
  grid-column: span 6;
}

.home-presence__intro p { width: min(100%, 36rem); }
.home-presence__card { grid-column: span 6; }

.home-gallery-index__grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.home-gallery-index__intro {
  grid-column: span 5;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  gap: var(--space-4);
}

.home-gallery-index__intro > * { margin: 0; }
.home-gallery-index__intro p { width: min(100%, 30rem); }

.home-gallery-index__folders {
  grid-column: span 7;
  display: grid;
  grid-template-columns: 1fr;
  min-width: 0;
  padding: 0;
}

.home-gallery-index__folders a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  min-height: 7.5rem;
  padding: var(--space-4);
  border-bottom: var(--border);
  color: var(--color-text);
  text-decoration: none;
  gap: var(--space-2);
}

.home-gallery-index__folders a:last-child { border-bottom: 0; }
.home-gallery-index__folders a:hover { color: var(--color-green-highlight); }
.home-gallery-index__folders strong { font-family: var(--font-heading); font-size: var(--text-card-heading); }
.home-gallery-index__folders small { color: var(--color-muted); font-size: var(--text-secondary); line-height: var(--line-secondary); }

.home-cta__grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 0;
  padding: 0;
}

.home-cta__content {
  grid-column: span 8;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  padding: var(--space-6);
  gap: var(--space-4);
}

.home-cta__content > * { margin: 0; }
.home-cta__content p { width: min(100%, 36rem); }

.home-cta__next {
  grid-column: span 4;
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: var(--space-6);
  border-left: var(--border);
  background: var(--color-panel-raised);
  gap: var(--space-5);
}

.home-cta__next > div {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  min-width: 0;
  gap: var(--space-3);
}

.home-cta__next .display-number { font-size: clamp(2rem, 3vw, 2.8rem); color: var(--color-green-highlight); }
.home-cta__next p { margin: 0; font-size: var(--text-secondary); line-height: var(--line-secondary); }

@media (min-width: 760px) and (max-width: 1080px) {
  .home-hero__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .home-hero__editorial { grid-column: span 5; }
  .home-hero__status { grid-column: span 3; }
  .home-hero__media { grid-column: 1 / -1; }
  .home-hero__media .media-16x9 { aspect-ratio: 16 / 7; }

  .home-formats__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-format-card:nth-child(3) { grid-column: 1 / -1; }

  .home-flow__top,
  .home-cards__grid,
  .home-restaurant__grid,
  .home-associations__grid,
  .home-guided__grid,
  .home-operational__grid,
  .home-presence__grid,
  .home-gallery-index__grid,
  .home-cta__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }

  .home-flow__intro { grid-column: span 5; }
  .home-flow__rhythm { grid-column: span 3; }
  .home-flow__steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .home-cards__content { grid-column: 1 / -1; }
  .home-cards__media { grid-column: 1 / -1; }
  .home-cards__media .media-4x3 { aspect-ratio: 16 / 8; }
  .home-restaurant__intro { grid-column: 1 / -1; }
  .home-restaurant__moments { grid-column: 1 / -1; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .home-associations__media { grid-column: 1 / -1; }
  .home-associations__media .media-4x3 { aspect-ratio: 16 / 8; }
  .home-associations__content { grid-column: 1 / -1; }
  .home-guided__editorial { grid-column: 1 / -1; }
  .home-guided__rail { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-guided__action { grid-column: span 4; }
  .home-operational__intro { grid-column: 1 / -1; }
  .home-operational__table { grid-column: 1 / -1; }
  .home-presence__intro { grid-column: 1 / -1; }
  .home-presence__card { grid-column: span 4; }
  .home-gallery-index__intro { grid-column: 1 / -1; }
  .home-gallery-index__folders { grid-column: 1 / -1; }
  .home-cta__content { grid-column: 1 / -1; }
  .home-cta__next { grid-column: 1 / -1; border-top: var(--border); border-left: 0; }
}

@media (max-width: 759px) {
  .home-page { padding-block: var(--space-6) var(--space-12); }
  .home-page .home-section + .home-section { margin-block-start: var(--space-12); }

  .home-hero__grid,
  .home-formats__grid,
  .home-flow__top,
  .home-flow__steps,
  .home-cards__grid,
  .home-restaurant__grid,
  .home-restaurant__moments,
  .home-associations__grid,
  .home-guided__grid,
  .home-guided__rail,
  .home-operational__grid,
  .home-presence__grid,
  .home-gallery-index__grid,
  .home-cta__grid { grid-template-columns: minmax(0, 1fr); }

  .home-hero__editorial,
  .home-hero__status,
  .home-hero__media,
  .home-flow__intro,
  .home-flow__rhythm,
  .home-cards__content,
  .home-cards__media,
  .home-restaurant__intro,
  .home-restaurant__moments,
  .home-associations__media,
  .home-associations__content,
  .home-guided__editorial,
  .home-guided__rail,
  .home-guided__action,
  .home-operational__intro,
  .home-operational__table,
  .home-presence__intro,
  .home-presence__card,
  .home-gallery-index__intro,
  .home-gallery-index__folders,
  .home-cta__content,
  .home-cta__next { grid-column: 1; }

  .home-hero__editorial { gap: var(--space-6); }
  .home-hero__copy { width: 100%; }
  .home-hero__copy h1 { font-size: clamp(2.25rem, 12vw, 3.25rem); }
  .home-hero__copy .lead { font-size: 1.0625rem; }
  .home-hero__media .media-16x9 { aspect-ratio: 16 / 9; }
  .home-hero__actions .action-group { width: 100%; }
  .home-hero__actions .button { width: 100%; }

  .home-formats__header,
  .home-flow__intro p,
  .home-cards__content > p,
  .home-cards__animation p,
  .home-restaurant__intro .lead,
  .home-associations__content > p,
  .home-guided__editorial p,
  .home-guided__panel p,
  .home-operational__intro p,
  .home-presence__intro p,
  .home-gallery-index__intro p,
  .home-cta__content p { width: 100%; }

  .home-flow__steps { margin-top: var(--grid-gap); }
  .home-flow__rhythm { gap: var(--space-3); }
  .home-rhythm-chart { height: 3.5rem; }
  .home-rhythm-chart__point--two { bottom: 2rem; }
  .home-rhythm-chart__point--three { bottom: 2.75rem; }

  .home-cards__media .media-4x3,
  .home-associations__media .media-4x3 { aspect-ratio: 4 / 3; }
  .home-associations__group { width: 100%; }
  .home-guided__action .button { width: 100%; }

  .home-operational-row {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: var(--space-3);
  }

  .home-operational-row a { min-height: 2.75rem; }
  .home-gallery-index__folders a { min-height: 5.5rem; }

  .home-cta__content,
  .home-cta__next { padding: var(--space-4); }
  .home-cta__next { border-top: var(--border); border-left: 0; }
  .home-cta__content .action-group { width: 100%; }
  .home-cta__content .button { width: 100%; }
}
