.home-page { overflow: clip; }
.home-page .home-text-link { color: inherit; font-size: var(--text-sm); font-weight: 700; text-underline-offset: 0.24em; }
.home-page .home-text-link:hover { color: var(--color-copper); }
.home-page .eyebrow, .home-page .meta, .home-page .coordinates { margin: 0; }
.home-hero { position: relative; min-height: 43rem; isolation: isolate; display: grid; }
.home-hero__media, .home-hero__media::after { position: absolute; inset: 0; }
.home-hero__media { z-index: -1; overflow: hidden; background: var(--color-navy); }
.home-hero__media::after { content: ""; background: linear-gradient(90deg, rgba(17,22,26,.78) 0%, rgba(17,22,26,.52) 48%, rgba(17,22,26,.22) 100%); }
.home-hero__media img, .home-night__media img { width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: right center; }
.home-hero__layout { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--space-5); min-height: 43rem; padding-block: var(--space-9) var(--space-6); }
.home-hero__copy { grid-column: 1 / span 6; align-self: center; width: min(100%, 38.125rem); min-width: 0; display: flex; flex-direction: column; gap: var(--space-4); }
.home-hero__copy h1, .home-hero__copy p { margin: 0; }
.home-hero__copy h1 { font-size: clamp(3rem, 5.6vw, 4.5rem); line-height: .98; }
.home-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-5); min-width: 0; }
.home-hero__route { grid-column: 1 / -1; align-self: end; min-width: 0; display: flex; flex-direction: column; gap: var(--space-3); }
.home-hero__route-label { margin: 0; color: var(--color-limestone-muted); font-size: var(--text-xs); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.home-city-selector { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--color-map-line); }
.home-city-selector__item { position: relative; min-width: 0; min-height: 3.5rem; padding: var(--space-3) var(--space-2) 0 0; color: var(--color-limestone-muted); font-size: var(--text-sm); text-decoration: none; }
.home-city-selector__item::before { position: absolute; top: -4px; left: 0; width: 7px; height: 7px; border: 1px solid var(--color-map-line); border-radius: 50%; background: var(--color-graphite); content: ""; }
.home-city-selector__item span { display: block; margin-bottom: var(--space-1); color: var(--color-map-line); font-size: var(--text-xs); letter-spacing: .08em; }
.home-city-selector__item:hover, .home-city-selector__item:focus-visible, .home-city-selector__item.is-active { color: var(--color-copper); }
.home-city-selector__item:hover::before, .home-city-selector__item:focus-visible::before, .home-city-selector__item.is-active::before { border-color: var(--color-copper); background: var(--color-copper); }
.home-directions__header { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--space-5); align-items: end; margin-bottom: var(--space-8); }
.home-directions__intro { grid-column: 1 / span 6; width: min(100%, 36.25rem); min-width: 0; }
.home-directions__count { grid-column: 10 / span 3; justify-self: end; text-align: right; }
.home-directions__list { position: relative; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--space-5); row-gap: var(--space-6); }
.home-directions__list::before { position: absolute; top: 0; bottom: 0; left: calc(50% - .5px); width: 1px; background: var(--color-map-line); content: ""; }
.home-direction { position: relative; min-width: 0; display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); gap: var(--space-3); }
.home-direction--left { grid-column: 1 / span 5; }
.home-direction--right { grid-column: 8 / span 5; }
.home-direction__number { position: relative; z-index: 1; width: 2.5rem; height: 2.5rem; display: grid; place-items: center; border: 1px solid var(--color-map-line); border-radius: 50%; background: var(--color-graphite); color: var(--color-limestone-muted); font-size: var(--text-xs); font-weight: 700; }
.home-direction h3 { margin-bottom: var(--space-2); }
.home-direction p:not(.meta) { max-width: 20.625rem; }
.home-method__header { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--space-5); margin-bottom: var(--space-7); }
.home-method__header > div { grid-column: 1 / span 7; min-width: 0; }
.home-method__header > p { grid-column: 9 / span 4; min-width: 0; margin: 0; }
.home-method__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); }
.home-method__step { min-width: 0; display: grid; grid-template-columns: 3rem minmax(0, 1fr); gap: var(--space-3); border-top: 1px solid rgba(17,22,26,.2); padding-top: var(--space-4); }
.home-method__step > span { color: var(--color-copper); font-family: var(--font-heading); font-size: 1.75rem; line-height: 1; }
.home-method__step h3 { margin-bottom: var(--space-3); }
.home-attractions__top { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: center; }
.home-attractions__copy { grid-column: 1 / span 5; min-width: 0; width: min(100%, 38.75rem); }
.home-attractions__image { grid-column: 6 / -1; position: relative; min-width: 0; overflow: hidden; display: block; color: var(--color-limestone); text-decoration: none; }
.home-attractions__image img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; transition: transform var(--transition-base); }
.home-attractions__image span { position: absolute; right: var(--space-4); bottom: var(--space-4); padding: var(--space-2) var(--space-3); background: rgba(17,22,26,.78); font-size: var(--text-xs); font-weight: 700; letter-spacing: .08em; opacity: 0; transition: opacity var(--transition-fast); }
.home-attractions__image:hover img { transform: scale(1.02); }
.home-attractions__image:hover span, .home-attractions__image:focus-visible span { opacity: 1; }
.home-attractions__points { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); margin-top: var(--space-7); }
.home-attractions__points article { min-width: 0; border-top: 1px solid rgba(17,22,26,.2); padding-top: var(--space-4); }
.home-food__top { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: center; }
.home-food__copy { grid-column: 1 / span 7; min-width: 0; width: min(100%, 35rem); }
.home-food__image { grid-column: 8 / -1; min-width: 0; overflow: hidden; }
.home-food__image img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform var(--transition-base); }
.home-food__image:hover img { transform: scale(1.02); }
.home-food__categories { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 var(--space-5); margin-top: var(--space-7); border-top: 1px solid var(--color-map-line); }
.home-food__categories a { min-width: 0; min-height: 8.5rem; display: flex; flex-direction: column; gap: var(--space-2); padding: var(--space-4) 0; border-bottom: 1px solid var(--color-map-line); text-decoration: none; }
.home-food__categories a:nth-child(4n + 2), .home-food__categories a:nth-child(4n + 3), .home-food__categories a:nth-child(4n + 4) { padding-left: var(--space-4); }
.home-food__categories span { color: var(--color-copper); font-size: var(--text-xs); font-weight: 700; letter-spacing: .08em; }
.home-food__categories strong { font-family: var(--font-heading); font-size: var(--text-lead); font-weight: 600; line-height: var(--leading-lead); }
.home-food__categories small { color: var(--color-limestone-muted); font-size: var(--text-sm); line-height: var(--leading-sm); }
.home-food__note { width: min(100%, 42.5rem); margin-top: var(--space-7); margin-left: calc((100% + var(--space-5)) / 6); }
.home-food__note blockquote { margin-bottom: var(--space-3); }
.home-culture__header { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--space-5); align-items: end; margin-bottom: var(--space-7); }
.home-culture__header > div { grid-column: 1 / span 6; min-width: 0; width: min(100%, 35rem); }
.home-culture__header > p { grid-column: 9 / span 4; justify-self: end; text-align: right; }
.home-culture__items { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-5); }
.home-culture__items a { min-width: 0; display: flex; flex-direction: column; gap: var(--space-3); border-top: 1px solid var(--color-border); padding-top: var(--space-4); text-decoration: none; }
.home-culture__items h3, .home-culture__items p { margin: 0; }
.home-culture__items .home-text-link { margin-top: auto; }
.home-night { position: relative; min-height: 42.5rem; isolation: isolate; display: grid; }
.home-night__media, .home-night__media::after { position: absolute; inset: 0; z-index: -1; }
.home-night__media { overflow: hidden; background: var(--color-navy); }
.home-night__media::after { background: rgba(17,22,26,.45); content: ""; }
.home-night__layout { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-template-rows: 1fr auto; gap: var(--space-7) var(--space-5); min-height: 42.5rem; padding-block: var(--space-8); }
.home-night__copy { grid-column: 1 / span 6; align-self: center; min-width: 0; width: min(100%, 33.125rem); }
.home-night__scenarios { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.home-night__scenarios article { min-width: 0; display: flex; flex-direction: column; gap: var(--space-3); padding-top: var(--space-4); border-top: 1px solid var(--color-border); background: rgba(17,22,26,.76); padding-inline: var(--space-4); padding-bottom: var(--space-4); }
.home-night__scenarios article:hover { border-top-color: var(--color-copper); }
.home-night__scenarios h3, .home-night__scenarios p { margin: 0; }
.home-night__scenarios .button { align-self: flex-start; margin-top: auto; }
.home-casino__header { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--space-5); align-items: end; margin-bottom: var(--space-7); }
.home-casino__header > div { grid-column: 1 / span 7; min-width: 0; width: min(100%, 40.625rem); }
.home-casino__header > p { grid-column: 10 / span 3; justify-self: end; text-align: right; }
.home-casino__details { display: grid; grid-template-columns: 5fr 7fr; gap: var(--space-6); border-block: 1px solid rgba(17,22,26,.18); padding-block: var(--space-6); }
.home-casino__details > div { min-width: 0; }
.home-casino__details h3 { margin-bottom: 0; }
.home-casino__details p { max-width: 35rem; margin-bottom: 0; }
.home-casino__notice { width: min(100%, 46.25rem); display: flex; flex-direction: column; gap: var(--space-3); margin-top: var(--space-6); padding: var(--space-4); border: 1px solid var(--color-border-dark); }
.home-casino__notice p { margin: 0; }
.home-practical__header { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--space-5); align-items: end; margin-bottom: var(--space-7); }
.home-practical__header > div { grid-column: 1 / span 6; min-width: 0; width: min(100%, 33.75rem); }
.home-practical__header > p { grid-column: 9 / span 4; justify-self: end; text-align: right; }
.home-practical__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.home-practical__cards article { min-width: 0; display: flex; flex-direction: column; gap: var(--space-3); padding-top: var(--space-4); border-top: 1px solid rgba(17,22,26,.2); }
.home-practical__cards h3, .home-practical__cards p { margin: 0; }
.home-practical__cards .button { align-self: flex-start; margin-top: auto; }
.home-final { border-top: 1px solid var(--color-map-line); }
.home-final__inner { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); row-gap: var(--space-7); }
.home-final__copy { grid-column: 3 / span 7; min-width: 0; width: min(100%, 38.125rem); display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.home-final__copy h2, .home-final__copy p { margin: 0; }
.home-final__cities { grid-column: 3 / span 7; min-width: 0; }
.home-final__cities > p { margin-bottom: var(--space-3); }
.home-final__cities > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2) var(--space-6); }
.home-final__cities a { min-width: 0; min-height: 2.75rem; display: flex; align-items: center; border-top: 1px solid var(--color-map-line); padding-top: var(--space-2); text-decoration: none; }
.home-final__cities a::before { width: .45rem; height: .45rem; flex: 0 0 .45rem; margin-right: var(--space-3); border: 1px solid var(--color-copper); border-radius: 50%; content: ""; }
@media (max-width: 980px) { .home-directions__list::before { left: 1.25rem; } .home-direction--left, .home-direction--right { grid-column: 1 / -1; } .home-direction { grid-template-columns: 2.5rem minmax(0, 1fr); } .home-method__steps, .home-culture__items { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-attractions__top, .home-food__top { grid-template-columns: 1fr; } .home-attractions__copy, .home-attractions__image, .home-food__copy, .home-food__image { grid-column: 1; width: 100%; } .home-food__categories { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-food__categories a:nth-child(n) { padding-left: 0; } .home-food__categories a:nth-child(even) { padding-left: var(--space-4); } .home-food__note { margin-left: 0; } .home-night__scenarios { grid-template-columns: 1fr; } .home-night { min-height: auto; } .home-night__layout { min-height: auto; } }
@media (max-width: 960px) { .home-hero { min-height: auto; } .home-hero__layout { grid-template-columns: 1fr; min-height: auto; gap: var(--space-7); padding-block: var(--space-8); } .home-hero__copy, .home-hero__route { grid-column: 1; } .home-hero__copy { width: min(100%, 38.125rem); } .home-city-selector { grid-template-columns: repeat(4, minmax(0, 1fr)); row-gap: var(--space-4); } .home-hero__media::after { background: rgba(17,22,26,.58); } }
@media (max-width: 880px) { .home-method__header, .home-culture__header, .home-casino__header, .home-practical__header { grid-template-columns: 1fr; gap: var(--space-4); } .home-method__header > div, .home-method__header > p, .home-culture__header > div, .home-culture__header > p, .home-casino__header > div, .home-casino__header > p, .home-practical__header > div, .home-practical__header > p { grid-column: 1; width: 100%; justify-self: start; text-align: left; } .home-practical__cards { grid-template-columns: 1fr; } .home-practical__cards article { max-width: 40rem; } }
@media (max-width: 840px) { .home-casino__details { grid-template-columns: 1fr; gap: var(--space-4); } }
@media (max-width: 720px) { .home-hero { display: flex; flex-direction: column; } .home-hero__media { position: relative; inset: auto; height: auto; order: 0; } .home-hero__media::after { background: rgba(17,22,26,.34); } .home-hero__media img { height: auto; aspect-ratio: 16 / 11; object-position: center; } .home-hero__layout { order: 1; padding-block: var(--space-6); gap: var(--space-6); } .home-hero__copy { width: 100%; } .home-hero__copy h1 { font-size: 2.5rem; line-height: 1.1; } .home-hero__actions { flex-direction: column; align-items: stretch; gap: var(--space-3); } .home-hero__actions .button { width: 100%; } .home-city-selector { grid-template-columns: 1fr; border-top: 0; border-left: 1px solid var(--color-map-line); gap: var(--space-2); } .home-city-selector__item { min-height: 2.75rem; padding: 0 0 0 var(--space-4); display: flex; align-items: center; gap: var(--space-2); } .home-city-selector__item::before { top: calc(50% - 4px); left: -4px; } .home-city-selector__item span { margin: 0; } .home-directions__header { grid-template-columns: 1fr; gap: var(--space-4); margin-bottom: var(--space-6); } .home-directions__intro, .home-directions__count { grid-column: 1; width: 100%; justify-self: start; text-align: left; } .home-directions__list { grid-template-columns: 1fr; gap: var(--space-5); } .home-directions__list::before { left: 1.25rem; } .home-direction p:not(.meta) { max-width: none; } .home-method__steps, .home-attractions__points, .home-culture__items { grid-template-columns: 1fr; gap: var(--space-5); } .home-method__step { grid-template-columns: 2.75rem minmax(0, 1fr); } .home-food__categories { grid-template-columns: 1fr; } .home-food__categories a:nth-child(even) { padding-left: 0; } .home-food__categories a { min-height: auto; } .home-food__note { width: 100%; } .home-night { display: flex; flex-direction: column; } .home-night__media { position: relative; inset: auto; height: auto; order: 0; } .home-night__media img { height: auto; aspect-ratio: 4 / 3; object-position: center; } .home-night__layout { order: 1; grid-template-columns: 1fr; padding-block: var(--space-6); gap: var(--space-6); background: var(--color-graphite); } .home-night__copy, .home-night__scenarios { grid-column: 1; width: 100%; } .home-night__scenarios { gap: 0; } .home-night__scenarios article { padding-inline: 0; background: transparent; border-top-color: var(--color-map-line); } .home-night__scenarios .button { width: 100%; } .home-casino__notice { width: 100%; } .home-final__inner { grid-template-columns: 1fr; row-gap: var(--space-6); } .home-final__copy, .home-final__cities { grid-column: 1; width: 100%; } .home-final__copy .button { width: 100%; } .home-final__cities > div { grid-template-columns: 1fr; gap: 0; } }
@media (prefers-reduced-motion: reduce) { .home-page .home-attractions__image img, .home-page .home-food__image img { transform: none !important; } }