.home-page {
  overflow: hidden;
}

.home-page .section {
  position: relative;
}

.home-hero {
  padding-top: clamp(var(--space-9), 10vw, var(--space-12));
  background: linear-gradient(120deg, rgb(255 255 255 / 0.025), transparent 42%), var(--surface-page);
}

.home-hero__grid,
.home-tasting__grid,
.home-mixology__grid,
.home-plan__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: start;
}

.home-hero__copy {
  grid-column: 1 / span 5;
  min-width: 0;
  display: grid;
  gap: var(--space-4);
  align-content: start;
}

.home-hero__copy > * { margin: 0; }
.home-hero__copy .eyebrow { margin-bottom: var(--space-1); }
.home-hero__copy h1 { max-width: 10ch; }
.home-hero__copy .lead { max-width: 35rem; }
.home-hero__actions { gap: var(--space-3); }
.home-hero__actions > * { flex: 0 1 auto; }
.home-hero__datum {
  display: grid;
  gap: var(--space-2);
  max-width: 31rem;
  margin-top: var(--space-2);
  padding: var(--space-4);
  border: 1px solid var(--border-subtle);
  background: var(--surface-panel);
}
.home-hero__datum p { margin: 0; color: var(--text-secondary); font-size: var(--text-13); }
.home-hero__image { grid-column: 7 / span 6; width: 100%; min-width: 0; align-self: stretch; }
.home-hero__image img { width: 100%; height: 100%; min-height: 35rem; object-fit: cover; object-position: center; }

.home-disciplines { background: var(--surface-panel); border-block: 1px solid var(--border-subtle); }
.home-disciplines__heading { width: 100%; max-width: 38.75rem; }
.home-disciplines__panel { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: var(--space-7); border: 1px solid var(--border-subtle); }
.home-discipline { min-width: 0; display: grid; align-content: start; gap: var(--space-4); padding: var(--space-6); }
.home-discipline + .home-discipline { border-left: 1px solid var(--border-subtle); }
.home-discipline > * { margin: 0; }
.home-discipline p:not(.meta) { max-width: 36ch; color: var(--text-secondary); }
.home-disciplines__close { max-width: 46rem; margin: var(--space-6) 0 0; padding-top: var(--space-5); border-top: 1px solid var(--border-subtle); color: var(--text-secondary); }

.home-tasting__image { grid-column: 1 / span 5; width: 100%; min-width: 0; }
.home-tasting__image img { width: 100%; height: 100%; min-height: 39rem; object-fit: cover; }
.home-tasting__copy { grid-column: 7 / span 6; min-width: 0; display: grid; align-content: start; gap: var(--space-4); padding: var(--space-7); background: var(--surface-panel); border: 1px solid var(--border-subtle); }
.home-tasting__copy > * { margin: 0; }
.home-tasting__copy .lead { max-width: 34rem; }
.home-tasting__notes { display: grid; gap: var(--space-4); }
.home-tasting__note { display: grid; gap: var(--space-2); padding-top: var(--space-4); border-top: 1px solid var(--border-subtle); }
.home-tasting__note:first-child { border-top-color: var(--color-amber-400); }
.home-tasting__note > * { margin: 0; }
.home-tasting__note h3 { font-size: var(--text-24); }
.home-tasting__note p { max-width: 55ch; color: var(--text-secondary); }
.home-tasting__action { width: max-content; }

.home-mixology { background: var(--surface-page); }
.home-mixology__copy { grid-column: 1 / span 5; min-width: 0; display: grid; gap: var(--space-4); padding: var(--space-6); background: var(--surface-raised); border: 1px solid var(--border-strong); }
.home-mixology__copy > * { margin: 0; }
.home-mixology__copy .lead { max-width: 31rem; }
.home-mixology__image { grid-column: 6 / span 7; width: 100%; min-width: 0; align-self: stretch; }
.home-mixology__image img { width: 100%; height: 100%; min-height: 34rem; object-fit: cover; object-position: right center; }
.home-mixology__details { display: grid; gap: var(--space-4); }
.home-mixology__detail { display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: var(--space-3); padding-top: var(--space-4); border-top: 1px solid var(--border-subtle); }
.home-mixology__detail > span { color: var(--color-amber-400); font-family: var(--font-heading); font-size: var(--text-13); font-variant-numeric: tabular-nums; }
.home-mixology__detail > div { min-width: 0; display: grid; gap: var(--space-2); }
.home-mixology__detail h3,
.home-mixology__detail p { margin: 0; }
.home-mixology__detail h3 { font-size: var(--text-24); }
.home-mixology__detail p { max-width: 42ch; color: var(--text-secondary); }

.home-poker { background: var(--surface-panel); border-block: 1px solid var(--border-subtle); }
.home-poker__intro { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: start; }
.home-poker__lead { grid-column: 1 / span 6; min-width: 0; display: grid; gap: var(--space-4); }
.home-poker__lead > * { margin: 0; }
.home-poker__lead .lead { max-width: 37.5rem; }
.home-poker__lead .button { width: max-content; }
.home-poker__image { grid-column: 8 / span 5; width: 100%; min-width: 0; }
.home-poker__image img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.home-poker__principles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); margin-top: var(--space-7); }
.home-poker__principle { min-width: 0; display: grid; align-content: start; gap: var(--space-3); padding: var(--space-5); border: 1px solid var(--border-subtle); background: var(--surface-page); }
.home-poker__principle > * { margin: 0; }
.home-poker__principle h3 { font-size: var(--text-24); }
.home-poker__principle p:not(.meta) { max-width: 38ch; color: var(--text-secondary); }

.home-evening__layout { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: end; }
.home-evening__copy { grid-column: 1 / span 5; min-width: 0; display: grid; gap: var(--space-4); align-self: start; }
.home-evening__copy > * { margin: 0; }
.home-evening__copy p:not(.eyebrow) { max-width: 32.5rem; color: var(--text-secondary); }
.home-evening__copy .button { width: max-content; margin-top: var(--space-1); }
.home-evening__image { grid-column: 4 / span 9; width: 100%; min-width: 0; margin-top: var(--space-8); }
.home-evening__image img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }

.home-strategy { background: var(--surface-page); }
.home-strategy__panel { display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: var(--space-6); width: min(100%, 64.5rem); margin-inline: auto; padding: var(--space-7); border: 1px solid var(--border-strong); background: var(--surface-raised); box-shadow: var(--shadow-card); }
.home-strategy__lead { grid-column: 1 / span 5; min-width: 0; display: grid; gap: var(--space-4); }
.home-strategy__lead > * { margin: 0; }
.home-strategy__lead .lead { max-width: 33.75rem; }
.home-strategy__prompts { grid-column: 6 / span 5; min-width: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
.home-strategy__prompts article { min-width: 0; display: grid; align-content: start; gap: var(--space-3); padding-left: var(--space-3); border-left: 1px solid rgb(40 99 69 / 0.9); }
.home-strategy__prompts article > * { margin: 0; }
.home-strategy__prompts span { color: var(--text-muted); font-family: var(--font-heading); font-size: var(--text-13); font-variant-numeric: tabular-nums; }
.home-strategy__prompts h3 { font-size: var(--text-18); }
.home-strategy__prompts p { max-width: 42ch; color: var(--text-secondary); font-size: var(--text-13); }
.home-strategy__action { grid-column: 1 / span 5; width: max-content; }

.home-plan { background: var(--surface-panel); border-block: 1px solid var(--border-subtle); }
.home-plan__intro { grid-column: 1 / span 5; min-width: 0; display: grid; gap: var(--space-4); }
.home-plan__intro > * { margin: 0; }
.home-plan__intro .lead { max-width: 32.5rem; }
.home-plan__facts { grid-column: 6 / span 7; min-width: 0; border: 1px solid var(--border-subtle); background: var(--surface-page); }
.home-plan__fact { display: grid; grid-template-columns: 7rem minmax(0, 1fr); gap: var(--space-4); padding: var(--space-5); }
.home-plan__fact + .home-plan__fact { border-top: 1px solid var(--border-subtle); }
.home-plan__fact > div { min-width: 0; }
.home-plan__fact h3 { margin-bottom: var(--space-2); font-size: var(--text-18); }
.home-plan__fact p { max-width: 60ch; margin: 0; color: var(--text-secondary); }
.home-plan__fact a { color: var(--text-primary); }
.home-plan__close { margin: 0; padding: var(--space-4) var(--space-5); border-top: 1px solid var(--border-subtle); color: var(--text-muted); font-size: var(--text-13); }

.home-routes__heading { max-width: 35rem; }
.home-routes__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-6); }
.home-route { min-width: 0; display: grid; align-content: start; gap: var(--space-4); min-height: 100%; padding: var(--space-5); border: 1px solid var(--border-subtle); background: var(--surface-panel); color: var(--text-primary); text-decoration: none; transition: border-color var(--transition-fast), background-color var(--transition-fast); }
.home-route > * { margin: 0; }
.home-route h3 { font-size: var(--text-24); }
.home-route p:not(.meta) { max-width: 35ch; color: var(--text-secondary); }
.home-route:hover { border-color: var(--color-platinum-300); background: var(--surface-raised); }
.home-route .link-arrow { align-self: end; }

.home-reserve { padding-bottom: clamp(var(--space-10), 10vw, var(--space-12)); }
.home-reserve__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); }
.home-reserve__panel { grid-column: 3 / span 8; min-width: 0; display: grid; justify-items: center; gap: var(--space-4); padding: var(--space-9); border: 1px solid var(--border-strong); border-top-color: var(--color-amber-400); background: var(--surface-raised); box-shadow: var(--shadow-raised); text-align: center; }
.home-reserve__panel > * { margin: 0; }
.home-reserve__panel h2 { max-width: 20ch; }
.home-reserve__panel .lead { max-width: 35rem; }
.home-reserve__action { width: max-content; min-width: 10rem; }
.home-reserve__contact { max-width: 38rem; color: var(--text-secondary); font-size: var(--text-13); }

@media (max-width: 1000px) {
  .home-hero__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .home-hero__copy { grid-column: 1 / -1; max-width: 37.5rem; }
  .home-hero__image { grid-column: 1 / -1; }
  .home-hero__image img { min-height: 28rem; }
  .home-poker__intro { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .home-poker__lead, .home-poker__image { grid-column: 1 / -1; }
  .home-poker__image img { aspect-ratio: 3 / 2; }
}

@media (max-width: 920px) {
  .home-evening__layout { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .home-evening__copy, .home-evening__image { grid-column: 1 / -1; }
  .home-evening__image { margin-top: 0; }
}

@media (max-width: 900px) {
  .home-disciplines__panel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-discipline:nth-child(3) { grid-column: 1 / -1; border-top: 1px solid var(--border-subtle); border-left: 0; }
  .home-tasting__grid, .home-mixology__grid, .home-plan__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .home-tasting__image, .home-tasting__copy, .home-mixology__copy, .home-mixology__image, .home-plan__intro, .home-plan__facts { grid-column: 1 / -1; }
  .home-tasting__copy { padding: var(--space-6); }
  .home-tasting__image img { min-height: 31rem; }
  .home-mixology__image img { min-height: 25rem; }
  .home-plan__intro { max-width: 35rem; }
  .home-reserve__panel { grid-column: 2 / span 10; }
}

@media (max-width: 880px) {
  .home-strategy__panel { grid-template-columns: 1fr; }
  .home-strategy__lead, .home-strategy__prompts, .home-strategy__action { grid-column: 1; }
  .home-strategy__prompts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
  .home-routes__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-route:nth-child(3) { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  .home-poker__principles { grid-template-columns: 1fr; gap: 0; border: 1px solid var(--border-subtle); }
  .home-poker__principle { border: 0; border-bottom: 1px solid var(--border-subtle); }
  .home-poker__principle:last-child { border-bottom: 0; }
}

@media (max-width: 680px) {
  .home-hero__grid, .home-tasting__grid, .home-mixology__grid, .home-plan__grid, .home-poker__intro, .home-evening__layout, .home-reserve__grid { grid-template-columns: 1fr; gap: var(--space-5); }
  .home-hero__copy, .home-hero__image, .home-tasting__image, .home-tasting__copy, .home-mixology__copy, .home-mixology__image, .home-poker__lead, .home-poker__image, .home-evening__copy, .home-evening__image, .home-plan__intro, .home-plan__facts, .home-reserve__panel { grid-column: 1; }
  .home-hero__copy { gap: var(--space-4); }
  .home-hero__copy h1 { max-width: 11ch; font-size: clamp(2.375rem, 10vw, 2.625rem); }
  .home-hero__copy .lead { font-size: 1.0625rem; }
  .home-hero__actions { display: grid; grid-template-columns: 1fr; }
  .home-hero__actions > * { width: 100%; }
  .home-hero__image img { min-height: 20rem; }
  .home-disciplines__panel { grid-template-columns: 1fr; margin-top: var(--space-5); }
  .home-discipline { padding: var(--space-5); }
  .home-discipline + .home-discipline, .home-discipline:nth-child(3) { border-top: 1px solid var(--border-subtle); border-left: 0; }
  .home-tasting__copy, .home-mixology__copy { padding: var(--space-5); }
  .home-tasting__image { order: 2; }
  .home-tasting__copy { order: 1; }
  .home-tasting__image img { min-height: 0; aspect-ratio: 4 / 5; }
  .home-tasting__action, .home-poker__lead .button, .home-evening__copy .button, .home-strategy__action { width: 100%; }
  .home-mixology__image img { min-height: 0; aspect-ratio: 3 / 2; object-position: center; }
  .home-poker__principles { margin-top: var(--space-5); }
  .home-evening__image { margin-top: 0; }
  .home-evening__image img { aspect-ratio: 3 / 2; }
  .home-strategy__panel { gap: var(--space-5); padding: var(--space-5); }
  .home-strategy__prompts { grid-template-columns: 1fr; gap: var(--space-5); }
  .home-strategy__prompts article { padding-bottom: var(--space-5); border-bottom: 1px solid var(--border-subtle); }
  .home-strategy__prompts article:last-child { padding-bottom: 0; border-bottom: 0; }
  .home-plan__fact { grid-template-columns: 1fr; gap: var(--space-2); padding: var(--space-5); }
  .home-routes__grid { grid-template-columns: 1fr; gap: var(--space-4); }
  .home-route:nth-child(3) { grid-column: 1; }
  .home-reserve__panel { padding: var(--space-5); }
  .home-reserve__action { width: 100%; }
  .home-reserve__contact { display: grid; gap: var(--space-1); }
}

@media (prefers-reduced-motion: reduce) {
  .home-route { transition: none; }
}

/* mobile-photo-center */
@media (max-width: 56.25rem) {
  img,
  video {
    object-position: center !important;
  }

  .image-frame,
  .media-frame,
  .card__media,
  [class*='__media'] {
    width: 100%;
    max-width: 100%;
    margin-inline: 0;
    justify-self: stretch;
    overflow: hidden;
  }

  .image-frame img,
  .media-frame img,
  .media-frame video,
  .card__media img,
  [class*='__media'] img,
  [class*='hero'] img,
  [class*='hero__image'] {
    width: 100%;
    height: 100%;
    max-width: none;
    min-width: 100%;
    min-height: 100%;
    object-fit: cover;
    object-position: center !important;
  }
}
