.home-page {
  overflow: clip;
}

.home-page .home-hero {
  padding: var(--space-11) 0 var(--space-8);
  background: linear-gradient(115deg, var(--color-midnight-harbor) 42%, rgb(7 21 34 / 72%));
}

.home-page .home-hero__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: start;
  gap: var(--space-5);
  padding-top: var(--space-4);
}

.home-page .home-hero__copy {
  display: flex;
  grid-column: 1 / span 7;
  grid-row: 1;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
  position: relative;
  z-index: 1;
  padding-top: var(--space-3);
}

.home-page .home-hero__copy > * { margin: 0; }
.home-page .home-hero__copy h1 { max-width: 16ch; font-size: clamp(3.6rem, 6.4vw, 4.5rem); }
.home-page .home-hero__copy .lead { max-width: 37rem; }
.home-page .home-hero__actions { width: 100%; }

.home-page .home-hero__meta {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--space-3);
  padding-top: var(--space-4);
  border-top: var(--border-subtle);
  color: var(--color-mist-text);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: .08em;
  line-height: var(--line-meta);
  text-transform: uppercase;
}

.home-page .home-hero__meta span { min-width: 0; }
.home-page .home-hero__meta span + span::before { margin-right: var(--space-3); color: var(--color-amber-gold); content: "—"; }

.home-page .home-hero__media {
  grid-column: 7 / span 6;
  grid-row: 1;
  width: 100%;
  min-width: 0;
  min-height: 34rem;
  margin-left: var(--space-4);
}

.home-page .home-hero__media::after,
.home-page .home-service-card__media::after,
.home-page .home-poker__media::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgb(7 21 34 / 28%), rgb(7 21 34 / 10%));
  content: "";
  pointer-events: none;
}

.home-page .home-hero__media { position: relative; }
.home-page .home-hero__media img { width: 100%; height: 100%; object-fit: cover; }

.home-page .home-turnkey__intro {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: end;
  gap: var(--space-5);
  margin-bottom: var(--space-7);
}

.home-page .home-turnkey__intro-copy { grid-column: 1 / span 5; min-width: 0; }
.home-page .home-turnkey__intro-copy p:last-child { max-width: 36rem; }
.home-page .home-turnkey__emphasis {
  grid-column: 6 / span 7;
  min-width: 0;
  margin: 0;
  color: var(--color-paper-white);
  font-family: var(--font-heading);
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  line-height: 1.08;
}

.home-page .home-turnkey__cards,
.home-page .home-scenarios__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
}

.home-page .home-turnkey__card,
.home-page .home-scenario {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.home-page .home-turnkey__card > *,
.home-page .home-scenario > * { margin: 0; }
.home-page .home-turnkey__card p:not(.eyebrow):not(.home-card__number) { max-width: 29ch; }
.home-page .home-turnkey__card--raised { background: var(--surface-raised); }

.home-page .home-card__number {
  color: var(--color-amber-gold);
  font-size: var(--text-small);
  font-weight: 700;
  letter-spacing: .08em;
  line-height: var(--line-small);
}

.home-page .home-text-link,
.home-page .home-card-link {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: var(--space-2);
  color: var(--color-paper-white);
  font-size: var(--text-small);
  font-weight: 700;
  line-height: var(--line-small);
}
.home-page .home-text-link:hover,
.home-page .home-card-link { color: var(--color-ocean-cyan); }

.home-page .home-services__heading {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: end;
  gap: var(--space-5);
  margin-bottom: var(--space-7);
}
.home-page .home-services__heading > div { grid-column: 1 / span 7; min-width: 0; }
.home-page .home-services__heading > p { grid-column: 9 / span 4; min-width: 0; margin: 0; }

.home-page .home-services__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
}

.home-page .home-service-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  border: var(--border-subtle);
  border-radius: var(--radius-card);
  background: var(--surface-panel);
  box-shadow: var(--shadow-card);
  color: inherit;
  text-decoration: none;
  transition: transform var(--transition-base), border-color var(--transition-base), box-shadow var(--transition-base), background-color var(--transition-base);
}
.home-page .home-service-card:hover,
.home-page .home-service-card:focus-visible { border-color: var(--color-amber-gold); background: var(--surface-raised); box-shadow: var(--shadow-card-hover); transform: translateY(-4px); }
.home-page .home-service-card--corporate { grid-column: 1 / span 7; }
.home-page .home-service-card--vip { grid-column: 8 / span 5; }
.home-page .home-service-card--detail { grid-column: span 4; }

.home-page .home-service-card__media { position: relative; width: 100%; min-width: 0; border: 0; border-radius: 0; }
.home-page .home-service-card--corporate .home-service-card__media { aspect-ratio: 3 / 2; }
.home-page .home-service-card--vip .home-service-card__media { aspect-ratio: 4 / 5; }
.home-page .home-service-card__media img { width: 100%; height: 100%; object-fit: cover; }
.home-page .home-service-card__body {
  display: flex;
  min-width: 0;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-5);
}
.home-page .home-service-card__body > * { margin: 0; }
.home-page .home-service-card--corporate .home-service-card__body p { max-width: 50ch; }
.home-page .home-service-card--vip .home-service-card__body p { max-width: 34ch; }
.home-page .home-service-card--detail {
  align-items: flex-start;
  gap: var(--space-4);
}
.home-page .home-service-card--detail > * { margin: 0; }
.home-page .home-service-card--detail p:not(.home-card__number) { max-width: 35ch; }

.home-page .home-place { background: var(--color-deep-navy); }
.home-page .home-place > .container > h2 { margin-bottom: var(--space-7); }
.home-page .home-place__grid {
  display: grid;
  grid-template-columns: 5fr 1fr 6fr;
  gap: var(--space-5);
}
.home-page .home-place__narrative { min-width: 0; }
.home-page .home-place__narrative--arrival { grid-column: 1; padding-left: var(--space-5); border-left: 2px solid var(--color-amber-gold); }
.home-page .home-place__narrative:nth-child(2) { grid-column: 3; }
.home-page .home-place__narrative p { max-width: 48ch; }
.home-page .home-principle-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-3);
  margin: var(--space-5) 0 0;
  padding: 0;
}
.home-page .home-principle-list li { min-width: 0; padding-top: var(--space-3); border-top: 1px solid var(--color-metal-line); color: var(--color-paper-white); font-size: var(--text-small); font-weight: 700; }
.home-page .home-place__closing {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-4) var(--space-6);
  margin-top: var(--space-7);
  padding-top: var(--space-5);
  border-top: var(--border-subtle);
}
.home-page .home-place__closing p { width: min(100%, 44rem); min-width: 0; margin: 0; }

.home-page .home-poker { background: linear-gradient(135deg, var(--color-deep-navy), #0b2634); }
.home-page .home-poker__intro { width: min(100%, 46rem); min-width: 0; margin-bottom: var(--space-7); }
.home-page .home-poker__intro h2 { max-width: 20ch; }
.home-page .home-poker__intro .lead { max-width: 42rem; }
.home-page .home-poker__eyebrow { color: var(--color-ocean-cyan); }
.home-page .home-poker__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: var(--space-5);
}
.home-page .home-poker__panel {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-5);
}
.home-page .home-poker__panel > * { margin: 0; }
.home-page .home-poker__media { position: relative; width: 100%; min-width: 0; aspect-ratio: 3 / 2; }
.home-page .home-poker__media img { width: 100%; height: 100%; object-fit: cover; }
.home-page .home-poker__panel-copy { display: flex; min-width: 0; flex-direction: column; gap: var(--space-4); }
.home-page .home-poker__panel-copy > * { margin: 0; }
.home-page .home-poker__panel-copy p { max-width: 39ch; }
.home-page .home-poker__panel .content-list { margin: 0; }
.home-page .home-poker__panel--framework { background: var(--surface-raised); border-color: var(--color-ocean-cyan); }
.home-page .home-poker__panel--framework p:not(.home-poker__notice) { max-width: 40ch; }
.home-page .home-poker__notice { padding: var(--space-3); border: 1px solid var(--color-ocean-cyan); color: var(--color-paper-white); font-size: var(--text-small); font-weight: 700; }
.home-page .home-poker__cta {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-5);
  margin-top: var(--space-5);
  padding: var(--space-5);
  border: 1px solid var(--color-ocean-cyan);
}
.home-page .home-poker__cta p { width: min(100%, 42rem); min-width: 0; margin: 0; }

.home-page .home-portfolio__heading {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: end;
  gap: var(--space-5);
  margin-bottom: var(--space-7);
}
.home-page .home-portfolio__heading > div { grid-column: 1 / span 6; min-width: 0; }
.home-page .home-portfolio__heading p:last-child { max-width: 42rem; }
.home-page .home-portfolio__heading > a { grid-column: 10 / span 3; min-width: 0; justify-self: end; }
.home-page .home-portfolio__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: start; gap: var(--space-5); }
.home-page .home-portfolio__item { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); color: inherit; text-decoration: none; }
.home-page .home-portfolio__item--wide { grid-column: 1 / span 6; }
.home-page .home-portfolio__item:nth-child(2) { grid-column: 7 / span 3; }
.home-page .home-portfolio__item:nth-child(3) { grid-column: 10 / span 3; }
.home-page .home-portfolio__item figure { width: 100%; min-width: 0; margin: 0; }
.home-page .home-portfolio__item--wide figure { aspect-ratio: 3 / 2; }
.home-page .home-portfolio__item:nth-child(2) figure { aspect-ratio: 4 / 5; }
.home-page .home-portfolio__item:nth-child(3) figure { aspect-ratio: 1 / 1; }
.home-page .home-portfolio__item img { width: 100%; height: 100%; object-fit: cover; }
.home-page .home-portfolio__item h3 { margin: 0; font-size: clamp(1.35rem, 2vw, 1.7rem); }
.home-page .home-portfolio__item:hover h3 { color: var(--color-ocean-cyan); }

.home-page .home-scenarios { background: var(--color-deep-navy); }
.home-page .home-scenarios__heading { width: min(100%, 44rem); min-width: 0; margin-bottom: var(--space-7); }
.home-page .home-scenarios__heading p:last-child { max-width: 40rem; }
.home-page .home-scenario p { max-width: 35ch; }
.home-page .home-scenario--raised { background: var(--surface-raised); border-color: var(--color-ocean-cyan); }
.home-page .home-scenarios__closing {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-4) var(--space-6);
  margin-top: var(--space-7);
  padding-top: var(--space-5);
  border-top: var(--border-subtle);
}
.home-page .home-scenarios__closing p { width: min(100%, 43rem); min-width: 0; margin: 0; }

.home-page .home-process__heading { margin-bottom: var(--space-7); }
.home-page .home-process__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); position: relative; }
.home-page .home-process__card { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); position: relative; }
.home-page .home-process__card > * { margin: 0; }
.home-page .home-process__card p:not(.home-card__number) { max-width: 30ch; }
.home-page .home-process__card--last { border-top-color: var(--color-amber-gold); }
.home-page .home-process__closing { width: min(100%, 34rem); min-width: 0; margin: var(--space-7) auto 0; color: var(--color-paper-white); text-align: center; }

.home-page .home-final-cta { padding-top: var(--space-10); padding-bottom: var(--space-10); background: radial-gradient(circle at center, rgb(213 154 58 / 14%), transparent 48%); }
.home-page .home-final-cta__content { display: flex; width: min(100%, 40rem); min-width: 0; margin-inline: auto; flex-direction: column; align-items: center; gap: var(--space-5); text-align: center; }
.home-page .home-final-cta__content > * { margin: 0; }
.home-page .home-final-cta__content h2 { max-width: 19ch; }
.home-page .home-final-cta__content p { max-width: 36rem; }
.home-page .home-final-cta__actions { display: flex; min-width: 0; flex-direction: column; align-items: center; gap: var(--space-4); }

.home-page .home-disclaimer { padding: 0 0 var(--space-8); }
.home-page .home-disclaimer__copy { width: min(100%, 60rem); min-width: 0; padding-top: var(--space-5); border-top: var(--border-subtle); }
.home-page .home-disclaimer__copy .eyebrow { color: var(--color-mist-text); }
.home-page .home-disclaimer__copy p:last-child { max-width: 82ch; margin-bottom: 0; font-size: var(--text-small); line-height: var(--line-small); }

@media (max-width: 1100px) {
  .home-page .home-hero__grid,
  .home-page .home-turnkey__intro,
  .home-page .home-services__heading,
  .home-page .home-services__grid,
  .home-page .home-portfolio__heading,
  .home-page .home-portfolio__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .home-page .home-hero__copy { grid-column: 1 / span 4; }
  .home-page .home-hero__media { grid-column: 5 / span 2; min-height: 31rem; margin-left: 0; }
  .home-page .home-turnkey__intro-copy { grid-column: 1 / span 3; }
  .home-page .home-turnkey__emphasis { grid-column: 4 / span 3; }
  .home-page .home-turnkey__cards { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .home-page .home-turnkey__card { grid-column: span 3; }
  .home-page .home-turnkey__card:nth-child(3) { grid-column: 1 / span 6; }
  .home-page .home-services__heading > div { grid-column: 1 / span 4; }
  .home-page .home-services__heading > p { grid-column: 5 / span 2; }
  .home-page .home-service-card--corporate,
  .home-page .home-service-card--vip,
  .home-page .home-service-card--detail { grid-column: span 3; }
  .home-page .home-portfolio__heading > div { grid-column: 1 / span 4; }
  .home-page .home-portfolio__heading > a { grid-column: 5 / span 2; }
  .home-page .home-portfolio__item--wide { grid-column: 1 / span 6; }
  .home-page .home-portfolio__item:nth-child(2) { grid-column: 1 / span 3; }
  .home-page .home-portfolio__item:nth-child(3) { grid-column: 4 / span 3; }
  .home-page .home-process__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
}

@media (max-width: 840px) {
  .home-page .home-poker__grid { grid-template-columns: minmax(0, 1fr); }
  .home-page .home-place__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-page .home-place__narrative--arrival { grid-column: 1; }
  .home-page .home-place__narrative:nth-child(2) { grid-column: 2; }
  .home-page .home-scenarios__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-page .home-scenario:nth-child(3) { grid-column: 1 / span 2; }
}

@media (max-width: 780px) {
  .home-page .home-services__grid { grid-template-columns: minmax(0, 1fr); }
  .home-page .home-service-card--corporate,
  .home-page .home-service-card--vip,
  .home-page .home-service-card--detail { grid-column: 1; }
  .home-page .home-place__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .home-page .home-place__narrative--arrival,
  .home-page .home-place__narrative:nth-child(2) { grid-column: 1; }
}

@media (max-width: 720px) {
  .home-page .home-hero { padding-top: var(--space-8); padding-bottom: var(--space-7); }
  .home-page .home-hero__grid { padding-top: var(--space-4); gap: var(--space-6); }
  .home-page .home-hero__grid,
  .home-page .home-turnkey__intro,
  .home-page .home-services__heading,
  .home-page .home-portfolio__heading,
  .home-page .home-portfolio__grid { grid-template-columns: minmax(0, 1fr); }
  .home-page .home-hero__copy,
  .home-page .home-hero__media,
  .home-page .home-turnkey__intro-copy,
  .home-page .home-turnkey__emphasis,
  .home-page .home-services__heading > div,
  .home-page .home-services__heading > p,
  .home-page .home-portfolio__heading > div,
  .home-page .home-portfolio__heading > a,
  .home-page .home-portfolio__item--wide,
  .home-page .home-portfolio__item:nth-child(2),
  .home-page .home-portfolio__item:nth-child(3) { grid-column: 1; }
  /* Desktop overlay uses shared grid-row:1; reset so copy stacks above media */
  .home-page .home-hero__copy,
  .home-page .home-hero__media { grid-row: auto; }
  .home-page .home-hero__copy {
    gap: var(--space-4);
    z-index: auto;
    padding-top: 0;
  }
  .home-page .home-hero__copy h1 { max-width: 14ch; font-size: clamp(2.15rem, 8.5vw, 2.5rem); }
  .home-page .home-hero__copy .lead { max-width: none; }
  .home-page .home-hero__media { min-height: 0; margin-left: 0; aspect-ratio: 3 / 2; }
  .home-page .home-hero__actions { align-items: stretch; }
  .home-page .home-hero__meta { gap: var(--space-2); }
  .home-page .home-hero__meta span { width: 100%; }
  .home-page .home-hero__meta span + span::before { display: none; }
  .home-page .home-turnkey__intro { align-items: start; margin-bottom: var(--space-6); }
  .home-page .home-turnkey__emphasis { font-size: 1.9rem; }
  .home-page .home-turnkey__cards,
  .home-page .home-scenarios__grid,
  .home-page .home-process__grid { grid-template-columns: minmax(0, 1fr); }
  .home-page .home-turnkey__card,
  .home-page .home-turnkey__card:nth-child(3),
  .home-page .home-scenario,
  .home-page .home-scenario:nth-child(3) { grid-column: 1; }
  .home-page .home-turnkey__card p:not(.eyebrow):not(.home-card__number),
  .home-page .home-scenario p,
  .home-page .home-process__card p:not(.home-card__number) { max-width: none; }
  .home-page .home-services__heading { align-items: start; margin-bottom: var(--space-6); }
  .home-page .home-services__heading > p { margin: 0; }
  .home-page .home-place > .container > h2 { margin-bottom: var(--space-6); }
  .home-page .home-principle-list { grid-template-columns: minmax(0, 1fr); }
  .home-page .home-place__closing,
  .home-page .home-scenarios__closing,
  .home-page .home-poker__cta { align-items: flex-start; flex-direction: column; }
  .home-page .home-poker__intro { width: 100%; margin-bottom: var(--space-6); }
  .home-page .home-poker__intro h2 { max-width: 16ch; }
  .home-page .home-poker__panel-copy p,
  .home-page .home-poker__panel--framework p:not(.home-poker__notice) { max-width: none; }
  .home-page .home-poker__cta .button { width: 100%; }
  .home-page .home-portfolio__heading { align-items: start; margin-bottom: var(--space-6); }
  .home-page .home-portfolio__heading > a { justify-self: start; }
  .home-page .home-portfolio__item:nth-child(2) figure,
  .home-page .home-portfolio__item:nth-child(3) figure { aspect-ratio: auto; }
  .home-page .home-portfolio__item:nth-child(2) img { aspect-ratio: 4 / 5; }
  .home-page .home-portfolio__item:nth-child(3) img { aspect-ratio: 1 / 1; }
  .home-page .home-scenarios__heading { width: 100%; margin-bottom: var(--space-6); }
  .home-page .home-process__grid { gap: var(--space-4); padding-left: var(--space-5); border-left: 1px solid var(--color-metal-line); }
  .home-page .home-process__card { position: relative; }
  .home-page .home-process__card::before { position: absolute; top: var(--space-5); left: calc(var(--space-5) * -1 - 1px); width: var(--space-5); height: 1px; background: var(--color-metal-line); content: ""; }
  .home-page .home-process__closing { width: 100%; margin-top: var(--space-6); }
  .home-page .home-final-cta { padding-top: var(--space-8); padding-bottom: var(--space-8); }
  .home-page .home-final-cta__content { width: 100%; }
  .home-page .home-final-cta__actions { width: 100%; }
  .home-page .home-final-cta__actions .button { width: 100%; min-height: 3.25rem; }
}

@media (prefers-reduced-motion: reduce) {
  .home-page .home-service-card:hover,
  .home-page .home-service-card:focus-visible { transform: none; }
}
