.home-page { background: var(--color-ivory-50); }
.home-page .section { min-width: 0; }
.home-hero { padding-block: var(--space-8) var(--space-10); }
.home-hero__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-6); align-items: center; }
.home-hero__copy { min-width: 0; max-width: 62ch; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.home-hero__copy > * { margin: 0; }
.home-hero__label { display: inline-flex; align-items: center; gap: var(--space-3); color: var(--color-navy-900); font-size: var(--text-xs); font-weight: 700; letter-spacing: .1em; line-height: 1.4; text-transform: uppercase; }
.home-hero__label .chip-marker { width: 1.5rem; height: 1.5rem; }
.home-hero__copy .eyebrow { margin-bottom: 0; }
.home-hero__copy .lead { max-width: 62ch; }
.home-hero__actions { width: 100%; }
.home-hero__media { min-width: 0; position: relative; padding-bottom: var(--space-8); }
.home-hero__image { width: 100%; aspect-ratio: 16 / 9; margin: 0; }
.home-hero__access { position: absolute; left: calc(var(--space-6) * -1); bottom: 0; width: min(100%, 24rem); margin: 0; }
.home-hero__access-stack { display: flex; flex-direction: column; gap: var(--space-3); }
.home-hero__access-stack > * { margin: 0; }
.home-hero__access h2 { font-size: 1.75rem; }
.home-hero__access p { max-width: 34ch; }
.home-hospitality__grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: var(--space-8); align-items: start; }
.home-hospitality__content { min-width: 0; max-width: 58ch; }
.home-hospitality__narratives { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
.home-numbered-story { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); gap: var(--space-4); padding-top: var(--space-5); border-top: 1px solid var(--color-champagne-400); }
.home-numbered-story > span { color: var(--color-burgundy-700); font-size: var(--text-sm); font-weight: 700; letter-spacing: .08em; }
.home-numbered-story > div { min-width: 0; }
.home-numbered-story h3 { margin-bottom: var(--space-3); }
.home-numbered-story p { margin-bottom: 0; }
.home-hospitality__figure { min-width: 0; margin: var(--space-7) 0 0; }
.home-hospitality__image { width: 100%; aspect-ratio: 4 / 3; }
.home-features__intro { max-width: 56ch; margin-inline: auto; text-align: center; }
.home-features__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.home-feature { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.home-feature > * { margin: 0; }
.home-feature p { min-width: 0; }
.home-features__strip { display: flex; gap: var(--space-4); align-items: flex-start; margin-top: var(--space-6); }
.home-features__strip > * { margin: 0; }
.home-features__strip p { max-width: 72ch; }
.home-evening__band { width: 100%; height: auto; margin: 0; }
.home-evening__band img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.home-evening__content { padding-top: var(--space-8); }
.home-evening__intro { max-width: 52ch; }
.home-timeline { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); margin-top: var(--space-7); }
.home-timeline > article { min-width: 0; border-top: 1px solid var(--color-champagne-400); padding-top: var(--space-4); }
.home-timeline span { display: block; margin-bottom: var(--space-4); color: var(--color-burgundy-700); font-size: var(--text-sm); font-weight: 700; letter-spacing: .1em; }
.home-timeline p { margin-bottom: 0; }
.home-evening__quote { width: min(100%, 52rem); margin-top: var(--space-8); margin-bottom: 0; background: var(--color-stone-100); }
.home-strategy__intro { max-width: 64ch; }
.home-strategy__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.home-strategy__panel { min-width: 0; display: flex; flex-direction: column; gap: var(--space-3); }
.home-strategy__panel > * { margin: 0; }
.home-strategy__panel--responsible { border-top: 3px solid var(--color-burgundy-700); }
.home-etiquette { margin-top: var(--space-6); }
.home-etiquette h3 { margin-bottom: var(--space-5); }
.home-etiquette__rows { max-width: 70ch; display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-3); }
.home-etiquette__rows p { margin: 0; padding-bottom: var(--space-3); border-bottom: var(--border-default); }
.home-etiquette__rows p:last-child { padding-bottom: 0; border-bottom: 0; }
.home-audiences__intro { max-width: 56ch; }
.home-audiences__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.home-audience { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.home-audience > * { margin: 0; }
.home-audiences__enquiry { margin-top: var(--space-6); }
.home-audiences__enquiry p { max-width: 60ch; margin: 0; }
.home-responsible__intro { max-width: 56ch; }
.home-responsible .eyebrow { color: var(--color-champagne-400); }
.home-responsible__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-7); margin-top: var(--space-7); }
.home-responsible__block { min-width: 0; max-width: 45ch; }
.home-responsible__block h3 { color: var(--color-ivory-50); }
.home-responsible__block p { margin-bottom: 0; color: var(--color-ivory-50); }
.home-responsible__age { display: flex; align-items: center; gap: var(--space-3); width: min(100%, 20rem); min-width: 0; margin-top: var(--space-6); padding: var(--space-4); border-radius: var(--radius-card); background: var(--color-burgundy-700); color: var(--color-white-0); }
.home-responsible__age strong { color: var(--color-white-0); font-size: 1.5rem; }
.home-dining__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-6); align-items: center; }
.home-dining__figure { grid-column: span 6; min-width: 0; margin: 0; }
.home-dining__image { width: 100%; aspect-ratio: 4 / 5; }
.home-dining__content { grid-column: 8 / span 5; min-width: 0; max-width: 54ch; }
.home-dining__cues { display: grid; grid-template-columns: minmax(0, 1fr); margin: var(--space-5) 0; border-top: var(--border-default); }
.home-dining__cues span { padding: var(--space-3) 0; border-bottom: var(--border-default); color: var(--color-navy-900); font-size: var(--text-sm); font-weight: 700; }
.home-routes__intro { max-width: 54ch; margin-inline: auto; text-align: center; }
.home-routes__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); margin-top: var(--space-7); }
.home-route { min-width: 0; min-height: 100%; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); color: var(--color-slate-700); text-decoration: none; }
.home-route > * { margin: 0; }
.home-route h3 { color: var(--color-navy-900); }
.home-route span, .home-route > a { margin-top: auto; color: var(--color-burgundy-700); font-size: var(--text-sm); font-weight: 700; text-decoration: underline; text-underline-offset: .16em; }
.home-route--burgundy { border-top: 3px solid var(--color-burgundy-700); }
.home-route--navy { border-top: 3px solid var(--color-navy-900); }
.home-route--champagne { border-top: 3px solid var(--color-champagne-400); }
.home-route--blue { border-top: 3px solid var(--color-blue-200); }
.home-route--blue > a + a { margin-top: 0; }
.home-final { padding-top: var(--space-8); }
.home-final__panel { padding: var(--space-9) var(--space-6); border-radius: var(--radius-panel); }
.home-final__content { max-width: 58ch; margin-inline: auto; display: flex; flex-direction: column; align-items: center; gap: var(--space-4); text-align: center; }
.home-final__content > * { margin: 0; }
.home-final__content .eyebrow { color: var(--color-champagne-400); }
.home-final__content .lead { color: var(--color-ivory-50); }
.home-final__note { padding-top: var(--space-3); border-top: 1px solid var(--color-champagne-400); color: var(--color-ivory-50); font-size: var(--text-sm); }
.home-hero__reveal { opacity: 0; transform: translateY(10px); transition: opacity 180ms ease, transform 180ms ease; }
.home-page.is-ready .home-hero__reveal { opacity: 1; transform: translateY(0); }
.home-page.is-ready .home-hero__access { transition-delay: 80ms; }
@media (max-width: 63.75rem) { .home-routes__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 61.1875rem) { .home-hero__grid { grid-template-columns: minmax(0, 1fr); } .home-hero__media { order: -1; padding-bottom: 0; } .home-hero__copy { max-width: 42.5rem; } .home-hero__access { position: static; width: min(100%, 26.25rem); margin-top: var(--space-4); } }
@media (max-width: 58.75rem) { .home-hospitality__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); } .home-hospitality__figure { width: 100%; max-width: 42.5rem; margin: 0; } .home-timeline { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); } .home-evening__quote { margin-top: var(--space-6); } }
@media (max-width: 56.25rem) { .home-features__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-audiences__grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 56.1875rem) { .home-dining__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); } .home-dining__figure, .home-dining__content { grid-column: auto; width: 100%; } .home-dining__content { max-width: 40rem; } }
@media (max-width: 51.25rem) { .home-strategy__grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 48.75rem) { .home-responsible__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); } }
@media (max-width: 47.4375rem) { .home-hero { padding-block: var(--space-7); } .home-hero__image { aspect-ratio: 4 / 5; } .home-hero__copy { max-width: none; } .home-hero__copy .display-title { font-size: clamp(2.625rem, 11vw, 3.25rem); } .home-hero__actions { display: grid; grid-template-columns: minmax(0, 1fr); } .home-hero__actions .button { width: 100%; } .home-hospitality__image, .home-evening__band img { aspect-ratio: 4 / 5; } .home-features__intro, .home-routes__intro { margin-inline: 0; text-align: left; } .home-features__grid, .home-routes__grid { grid-template-columns: minmax(0, 1fr); } .home-features__strip { flex-direction: column; } .home-final__panel { padding: var(--space-7) var(--space-5); } .home-final__content .button { width: min(100%, 26.25rem); } .home-evening__content { padding-top: var(--space-7); } }
@media (prefers-reduced-motion: reduce) { .home-hero__reveal, .home-page.is-ready .home-hero__reveal { opacity: 1; transform: none; transition: none; } }