.home-page { overflow: hidden; }
.home-page :is(.home-orientation__top, .home-orientation__copy, .home-guide-finder, .home-index-grid, .home-routes__layout, .home-routes__grid, .home-sequence__panel, .home-sequence__cards, .home-dining__layout, .home-dining__copy, .home-dining__reference, .home-dining__facts, .home-leisure__grid, .home-casino__layout, .home-casino__intro, .home-casino__reference, .home-casino__matrix, .home-services__panel, .home-services__content, .home-services__cards, .home-faq__layout, .home-faq__intro, .home-faq__items, .home-closing__layout, .home-closing__routes) { min-width: 0; }
.home-orientation__panel { border: var(--border-structural); background: var(--color-marine-900); padding: var(--space-6); }
.home-orientation__top { display: grid; grid-template-columns: minmax(360px, .44fr) minmax(460px, .56fr); gap: var(--space-8); align-items: start; }
.home-orientation__copy { display: flex; flex-direction: column; align-items: stretch; gap: var(--space-4); }
.home-orientation__copy > * { margin: 0; }
.home-orientation__lead { max-width: 66ch; }
.home-orientation__lead p { margin-bottom: var(--space-4); }
.home-orientation__lead p:last-child { margin-bottom: 0; }
.home-orientation__visual { width: 100%; margin: 0; }
.home-orientation__visual img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border: var(--border-structural); }
.home-guide-finder { display: flex; flex-direction: column; align-items: stretch; gap: var(--space-2); border-top: var(--border-structural); padding-top: var(--space-4); }
.home-guide-finder label, .home-guide-finder__help, .home-guide-finder__route { margin: 0; }
.home-guide-finder__help { color: var(--color-silver-200); font-size: var(--text-small); line-height: var(--leading-small); }
.home-guide-finder__controls { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: var(--space-2); }
.home-guide-finder__clear { border-color: var(--color-steel-500); background: transparent; color: var(--color-white-100); }
.home-guide-finder__route { align-self: flex-start; font-size: var(--text-small); }
.home-index-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-3); margin-top: var(--space-6); }
.home-index-card { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); border: var(--border-structural); background: var(--color-marine-800); padding: var(--space-4); }
.home-index-card > * { margin: 0; }
.home-index-card a { margin-top: auto; }
.home-routes__layout { display: grid; grid-template-columns: minmax(220px, .25fr) minmax(0, .75fr); gap: var(--space-8); align-items: start; }
.home-routes__intro { max-width: 62ch; }
.home-routes__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
.home-route-card { position: relative; display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); border: var(--border-structural); background: var(--color-marine-900); padding: var(--space-5); transition: border-color var(--transition-fast); }
.home-route-card:nth-child(4) { grid-column: 1 / span 1; }
.home-route-card:nth-child(5) { grid-column: 2 / span 1; }
.home-route-card > * { margin: 0; }
.home-route-card > span { color: var(--color-amber-500); font-family: var(--font-heading); font-size: 1.5rem; font-weight: var(--weight-bold); }
.home-route-card a { margin-top: auto; }
.home-route-card:hover { border-color: var(--color-amber-500); }
.home-sequence__panel { display: grid; grid-template-columns: minmax(260px, .28fr) minmax(0, .72fr); gap: var(--space-8); border: var(--border-structural); background: var(--color-marine-800); padding: var(--space-6); }
.home-sequence__intro { max-width: 62ch; }
.home-sequence__cards { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
.home-sequence__cards::before { content: ""; position: absolute; z-index: 0; top: 1.5rem; right: 8%; left: 8%; height: 1px; background: var(--color-steel-500); }
.home-sequence__cards article { position: relative; z-index: 1; display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); border: var(--border-structural); border-left: 4px solid var(--color-amber-500); background: var(--color-marine-900); padding: var(--space-4); }
.home-sequence__cards article:nth-child(4) { grid-column: 1 / span 1; }
.home-sequence__cards article:nth-child(5) { grid-column: 2 / span 1; }
.home-sequence__cards article > * { margin: 0; }
.home-sequence__cards a { margin-top: auto; font-size: var(--text-small); }
.home-dining__layout { display: grid; grid-template-columns: minmax(340px, .42fr) minmax(460px, .58fr); gap: var(--space-8); align-items: start; }
.home-dining__copy { max-width: 68ch; }
.home-dining__check { border: var(--border-structural); background: var(--color-graphite-700); padding: var(--space-5); }
.home-dining__check h3 { margin-bottom: var(--space-3); }
.home-dining__check ol { margin-bottom: 0; }
.home-dining__reference figure { margin: 0; }
.home-dining__reference img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border: var(--border-structural); }
.home-dining__facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); margin-top: var(--space-4); }
.home-dining__facts a { display: flex; min-width: 0; flex-direction: column; gap: var(--space-2); border: var(--border-structural); padding: var(--space-4); text-decoration: none; }
.home-dining__facts a:hover { border-color: var(--color-amber-500); }
.home-dining__facts span { color: var(--color-silver-200); font-size: var(--text-small); line-height: var(--leading-small); }
.home-leisure { background: var(--color-marine-900); border-block: var(--border-structural); }
.home-leisure__intro { max-width: 66ch; }
.home-leisure__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); margin-top: var(--space-6); }
.home-leisure__grid article { display: flex; min-width: 0; min-height: 16rem; flex-direction: column; align-items: flex-start; gap: var(--space-3); border: var(--border-structural); background: var(--color-marine-800); padding: var(--space-5); }
.home-leisure__grid article > * { margin: 0; }
.home-leisure__grid a { margin-top: auto; }
.home-casino__layout { display: grid; grid-template-columns: minmax(250px, .3fr) minmax(460px, .7fr); gap: var(--space-8); align-items: start; }
.home-casino__intro { max-width: 60ch; }
.home-casino__reference figure { margin: 0; }
.home-casino__reference img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border: var(--border-structural); }
.home-casino__matrix { display: grid; grid-template-columns: 1fr; border: var(--border-structural); margin-top: var(--space-4); }
.home-casino__matrix > div { display: grid; grid-template-columns: minmax(8rem, .28fr) minmax(0, .72fr); gap: var(--space-4); padding: var(--space-4); }
.home-casino__matrix > div + div { border-top: var(--border-structural); }
.home-casino__matrix span { color: var(--color-silver-200); font-size: var(--text-small); line-height: var(--leading-small); }
.home-casino__reference aside { margin-top: var(--space-4); border: var(--border-structural); background: var(--color-graphite-700); padding: var(--space-4); }
.home-casino__reference aside > *:last-child { margin-bottom: 0; }
.home-services__panel { display: grid; grid-template-columns: minmax(0, .66fr) minmax(280px, .34fr); gap: var(--space-6); border: var(--border-structural); background: var(--color-marine-800); padding: var(--space-6); }
.home-services__lead { max-width: 64ch; }
.home-services__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); }
.home-services__cards article { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); border: var(--border-structural); background: var(--color-marine-900); padding: var(--space-4); }
.home-services__cards article > * { margin: 0; }
.home-services__cards a { margin-top: auto; font-size: var(--text-small); }
.home-services__diagram { border: var(--border-structural); background: var(--color-graphite-700); padding: var(--space-5); }
.home-services__diagram-lines { display: grid; grid-template-columns: 1fr; gap: var(--space-3); margin: var(--space-5) 0; }
.home-services__diagram-lines span { border-left: 4px solid var(--color-amber-500); padding-left: var(--space-3); color: var(--color-white-100); font-family: var(--font-heading); font-weight: var(--weight-semibold); }
.home-services__diagram-lines i { width: 1px; height: 1.5rem; margin-left: var(--space-2); background: var(--color-steel-500); }
.home-comparison__panel { padding: var(--space-6); }
.home-comparison__panel .eyebrow { color: var(--color-marine-900); }
.home-comparison__intro { max-width: 68ch; }
.home-comparison__scroll { position: relative; margin-bottom: var(--space-3); }
.home-comparison__scroll.has-overflow::after { content: "Scroll →"; position: sticky; float: right; right: 0; bottom: 0; background: var(--color-amber-100); color: var(--color-marine-950); padding: var(--space-1) var(--space-2); font-size: var(--text-meta); font-weight: var(--weight-semibold); letter-spacing: .08em; text-transform: uppercase; }
.home-comparison__note { margin-bottom: 0; color: var(--color-marine-900); font-size: var(--text-small); }
.home-faq { background: var(--color-marine-900); border-block: var(--border-structural); }
.home-faq__layout { display: grid; grid-template-columns: minmax(280px, .35fr) minmax(500px, .65fr); gap: var(--space-8); align-items: start; }
.home-faq__intro { max-width: 58ch; }
.home-faq__items { display: grid; grid-template-columns: 1fr; border: var(--border-structural); }
.home-faq details { min-width: 0; padding: var(--space-4); }
.home-faq details + details { border-top: var(--border-structural); }
.home-faq summary { display: flex; min-height: 2.75rem; align-items: center; gap: var(--space-3); color: var(--color-white-100); cursor: pointer; font-family: var(--font-heading); font-size: var(--text-module-title); font-weight: var(--weight-semibold); }
.home-faq summary::before { content: "+"; flex: 0 0 auto; color: var(--color-amber-500); font-size: 1.4rem; line-height: 1; }
.home-faq details[open] summary::before { content: "−"; }
.home-faq details > div { padding: var(--space-3) 0 0 var(--space-6); }
.home-faq details > div > *:last-child { margin-bottom: 0; }
.home-closing__layout { display: grid; grid-template-columns: minmax(0, .7fr) minmax(280px, .3fr); gap: var(--space-6); align-items: start; }
.home-closing__note { padding: var(--space-6); }
.home-closing__note .eyebrow { color: var(--color-marine-900); }
.home-closing__note p { max-width: 72ch; }
.home-closing__routes { display: flex; min-width: 0; flex-direction: column; align-items: stretch; gap: var(--space-4); border: var(--border-structural); background: var(--color-marine-800); padding: var(--space-5); }
.home-closing__routes > * { margin: 0; }
.home-closing__routes .button { width: 100%; }
@media (max-width: 1040px) { .home-routes__layout { grid-template-columns: 1fr; gap: var(--space-6); } .home-routes__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-route-card:nth-child(4), .home-route-card:nth-child(5) { grid-column: auto; } }
@media (max-width: 980px) { .home-sequence__panel { grid-template-columns: 1fr; gap: var(--space-6); } .home-sequence__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-sequence__cards::before { display: none; } .home-sequence__cards article:nth-child(4), .home-sequence__cards article:nth-child(5) { grid-column: auto; } }
@media (max-width: 960px) { .home-orientation__top { grid-template-columns: 1fr; } .home-orientation__copy, .home-orientation__visual { width: 100%; } }
@media (max-width: 900px) { .home-index-grid, .home-leisure__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-services__panel { grid-template-columns: 1fr; } .home-services__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 880px) { .home-dining__layout, .home-casino__layout { grid-template-columns: 1fr; gap: var(--space-6); } }
@media (max-width: 840px) { .home-faq__layout { grid-template-columns: 1fr; gap: var(--space-6); } }
@media (max-width: 800px) { .home-closing__layout { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .home-orientation__panel, .home-sequence__panel, .home-services__panel, .home-comparison__panel, .home-closing__note { padding: var(--space-5); } .home-guide-finder__controls { grid-template-columns: 1fr; } .home-guide-finder__controls > * { width: 100%; } .home-guide-finder__route { align-self: stretch; } .home-comparison__scroll table { min-width: 45rem; } }
@media (max-width: 620px) { .home-index-grid, .home-routes__grid, .home-sequence__cards, .home-dining__facts, .home-leisure__grid, .home-services__cards { grid-template-columns: 1fr; } .home-dining__facts a, .home-route-card, .home-leisure__grid article { min-height: auto; } .home-casino__matrix > div { grid-template-columns: 1fr; gap: var(--space-2); } .home-faq details > div { padding-left: 0; } .home-closing__routes .button { min-height: 3rem; } }
