.home-page { background: var(--color-limestone-white); }
.home-page .button:focus-visible, .home-page a:focus-visible { box-shadow: var(--focus-ring); }
.home-hero { position: relative; min-height: 46rem; display: grid; grid-template-rows: 1fr auto; overflow: hidden; color: var(--color-limestone-white); background: var(--color-deep-jarrah); }
.home-hero__image, .home-hero__shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.home-hero__image { object-position: 50% 42%; }
.home-hero__shade { background: linear-gradient(90deg, rgba(45,41,37,.92) 0%, rgba(20,90,112,.70) 44%, rgba(45,41,37,.12) 76%); }
.home-hero__content { position: relative; z-index: 1;  align-self: center; padding-block: var(--space-10); display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-5); }
.home-hero__content > * { min-width: 0; margin: 0; }
.home-hero__eyebrow { font-family: var(--font-heading); font-size: var(--font-size-utility); font-weight: var(--font-weight-label); letter-spacing: var(--tracking-utility); text-transform: uppercase; color: var(--color-ocean-glass); }
.home-hero h1 { width: min(100%, 14ch); color: var(--color-limestone-white); font-size: clamp(2.8rem, 5.6vw, 4.5rem); }
.home-hero__lead { width: min(100%, 35rem); font-size: var(--font-size-lead); line-height: var(--line-height-lead); }
.home-hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); min-width: 0; }
.home-hero__actions > * { min-width: 0; }
.home-hero__proof { position: relative; z-index: 1; padding: var(--space-4) 0; background: var(--color-indian-ocean-blue); border-left: 4px solid var(--color-burnt-coral); font-family: var(--font-heading); font-size: var(--font-size-utility); font-weight: var(--font-weight-label); letter-spacing: var(--tracking-utility); line-height: 1.7; text-transform: uppercase; }
.home-hero__proof span { color: var(--color-ocean-glass); padding-inline: .4em; }
.home-venue__top { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: calc(var(--space-6) + var(--space-4)); align-items: start; }
.home-venue__intro, .home-venue__panel { min-width: 0; }
.home-venue__intro p:not(.eyebrow) { max-width: 39rem; }
.home-venue__panel { padding: var(--space-7); background: var(--color-eucalyptus-green); color: var(--color-limestone-white); border-top: 1px solid var(--color-limestone-white); }
.home-venue__panel > * { margin: 0; }
.home-venue__panel { display: flex; flex-direction: column; gap: var(--space-4); }
.home-proofs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); margin-top: var(--space-8); }
.home-proofs__group { display: grid; grid-template-columns: minmax(0, 1fr); }
.home-proofs__group > div { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) minmax(9rem, 13rem); gap: var(--space-4); padding-block: var(--space-3); border-top: var(--border-default); }
.home-proofs strong { font-family: var(--font-heading); font-weight: var(--font-weight-heading); }
.home-proofs span { font-size: .875rem; }
.home-materials { padding-top: var(--space-9); overflow: hidden; }
.home-materials__media { position: relative; }
.home-materials__media > img { width: 100%; height: min(42vw, 34rem); object-position: 50% 42%; }
.home-materials__caption { position: relative; margin-top: calc(var(--space-8) * -1); z-index: 1; }
.home-materials__caption > div { width: min(100%, 27rem); padding: var(--space-6); background: var(--color-limestone-white); }
.home-materials__caption > div > *:last-child { margin-bottom: 0; }
.home-materials__stories { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); margin-top: var(--space-7); }
.home-materials__stories article { min-width: 0; padding-top: var(--space-5); border-top: var(--border-dark); }
.home-materials__stories article:nth-child(2) { margin-top: var(--space-7); }
.home-materials__stories article:nth-child(3) { padding: var(--space-5); background: var(--color-limestone-warm); }
.home-materials__stories span { display: block; margin-bottom: var(--space-5); color: var(--color-burnt-coral); font-family: var(--font-heading); font-size: var(--font-size-utility); font-weight: var(--font-weight-label); letter-spacing: var(--tracking-utility); }
.home-experiences__lead { width: min(100%, 40rem); border-left: 3px solid var(--color-burnt-coral); padding-left: var(--space-5); }
.home-experience-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.home-experience { min-width: 0; padding: var(--space-6); display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); border: var(--border-default); }
.home-experience > * { min-width: 0; margin: 0; }
.home-experience p { max-width: 29rem; }
.home-experience--lounge { grid-column: span 4; background: var(--color-limestone-warm); }
.home-experience--room { grid-column: span 8; background: var(--color-eucalyptus-green); border-color: var(--color-eucalyptus-green); color: var(--color-limestone-white); }
.home-experience--room h3 { font-size: clamp(1.7rem, 3vw, 2.35rem); }
.home-experience--room a, .home-experience--private a { color: var(--color-limestone-white); }
.home-experience--nights, .home-experience--private { grid-column: span 6; }
.home-experience--private { background: var(--color-indian-ocean-blue); border-color: var(--color-indian-ocean-blue); color: var(--color-limestone-white); }
.home-schedule { color: var(--color-limestone-white); }
.home-schedule__lead { width: min(100%, 33rem); }
.home-schedule__lead h2 { color: var(--color-limestone-white); }
.home-schedule__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); margin-top: var(--space-7); }
.home-schedule__grid article { min-width: 0; padding-top: var(--space-5); border-top: 1px solid rgba(244,240,232,.5); display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.home-schedule__grid article > * { min-width: 0; margin: 0; }
.home-schedule__grid h3 { color: var(--color-limestone-white); }
.home-private__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: calc(var(--space-6) + var(--space-4)); align-items: start; }
.home-private__image { min-width: 0; margin: 0; }
.home-private__image img { width: 100%; height: 31rem; object-position: 45% 55%; }
.home-private__content { min-width: 0; }
.home-private__content > .lead { max-width: 37rem; }
.home-private__prompts { display: grid; grid-template-columns: minmax(0, 1fr); }
.home-private__prompts p { min-width: 0; display: grid; grid-template-columns: minmax(10rem, 13rem) minmax(0, 1fr); gap: var(--space-4); padding-block: var(--space-3); margin: 0; border-top: var(--border-default); }
.home-private__prompts span { min-width: 0; }
.home-private__callout { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); margin-top: var(--space-6); padding: var(--space-5); background: var(--color-indian-ocean-blue); color: var(--color-limestone-white); }
.home-private__callout > * { margin: 0; min-width: 0; }
.home-private__callout a { color: var(--color-limestone-white); }
.home-restaurant__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-6); align-items: start; }
.home-restaurant__lead { grid-column: span 6; min-width: 0; }
.home-restaurant__lead .lead { max-width: 39rem; }
.home-restaurant__image { grid-column: 8 / span 5; min-width: 0; margin: 0; }
.home-restaurant__image img { width: 100%; height: 22rem; }
.home-restaurant__dinner { grid-column: span 5; min-width: 0; }
.home-restaurant__transition { grid-column: 7 / span 5; min-width: 0; padding: var(--space-6); background: var(--color-limestone-white); }
.home-restaurant__transition .button { margin-top: var(--space-2); }
.home-reservation { background: var(--color-limestone-white); }
.home-reservation__panel { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: calc(var(--space-6) + var(--space-4)); padding: var(--space-8); background: var(--color-eucalyptus-green); color: var(--color-limestone-white); border: 1px solid var(--color-eucalyptus-green); }
.home-reservation__intro, .home-reservation__form { min-width: 0; }
.home-reservation__intro h2 { color: var(--color-limestone-white); }
.home-reservation__intro p:not(.eyebrow) { max-width: 25rem; }
.home-reservation__form { display: flex; flex-direction: column; align-items: stretch; gap: var(--space-4); }
.home-reservation__form > * { min-width: 0; margin: 0; }
.home-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.home-form__field { min-width: 0; }
.home-form__field--full { grid-column: span 2; }
.home-reservation label { color: var(--color-limestone-white); }
.home-form__error { min-height: 1.25em; margin: var(--space-1) 0 0; color: #ffe1d9; font-size: var(--font-size-utility); line-height: var(--line-height-utility); }
.home-form__field.is-invalid input, .home-form__field.is-invalid select { border-color: var(--color-burnt-coral); box-shadow: 0 0 0 2px rgba(201,99,77,.35); }
.home-form__consent { display: grid; grid-template-columns: 1rem minmax(0, 1fr); align-items: start; gap: var(--space-3); margin: 0; font-family: var(--font-body); font-size: .875rem; font-weight: var(--font-weight-body); }
.home-form__consent input { margin-top: .25rem; }
.home-form__consent a { color: var(--color-limestone-white); }
.home-form__adult-note { display: grid; grid-template-columns: minmax(8rem, 11rem) minmax(0, 1fr); gap: var(--space-4); padding: var(--space-4); border: 1px solid rgba(244,240,232,.55); font-size: .875rem; }
.home-form__adult-note strong { font-family: var(--font-heading); }
.home-form__expectation { font-size: .875rem; }
.home-form__status { color: var(--color-ocean-glass); font-weight: 700; }
.home-approach__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 4fr) minmax(0, 3fr); gap: var(--space-6); align-items: start; }
.home-approach__lead, .home-approach__details, .home-approach__action { min-width: 0; }
.home-approach__lead p:not(.eyebrow) { max-width: 34rem; }
.home-approach__details { padding-left: var(--space-5); border-left: 1px solid var(--color-indian-ocean-blue); }
.home-approach__action { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.home-approach__action > * { margin: 0; min-width: 0; }
.home-approach__action p { max-width: 16rem; font-size: .875rem; }
@media (max-width: 63.99rem) { .home-hero { min-height: 40rem; } .home-venue__top { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); } .home-materials__stories { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-materials__stories article:nth-child(3) { grid-column: span 2; } .home-experience--lounge, .home-experience--room, .home-experience--nights, .home-experience--private { grid-column: span 6; } .home-schedule__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-schedule__grid article:last-child { grid-column: span 2; } .home-private__grid { grid-template-columns: minmax(0, 1fr); } .home-private__image img { height: 26rem; } .home-restaurant__lead { grid-column: span 7; } .home-restaurant__image { grid-column: 8 / span 5; } .home-restaurant__dinner { grid-column: span 6; } .home-restaurant__transition { grid-column: 7 / span 6; } .home-reservation__panel { grid-template-columns: minmax(0, 1fr); } .home-reservation__intro p:not(.eyebrow) { max-width: 38rem; } .home-approach__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); } .home-approach__action { grid-column: span 2; } }
@media (max-width: 59.99rem) { .home-restaurant__grid { grid-template-columns: minmax(0, 1fr); } .home-restaurant__lead, .home-restaurant__image, .home-restaurant__dinner, .home-restaurant__transition { grid-column: auto; } .home-restaurant__image { order: 2; } .home-restaurant__dinner { order: 3; } .home-restaurant__transition { order: 4; } }
@media (max-width: 47.99rem) { .home-hero { min-height: 41rem; } .home-hero__shade { background: linear-gradient(0deg, rgba(45,41,37,.96) 0%, rgba(20,90,112,.70) 58%, rgba(45,41,37,.15) 100%); } .home-hero__content { justify-content: end; padding-block: var(--space-8) var(--space-6); gap: var(--space-4); } .home-hero h1 { width: min(100%, 11ch); font-size: clamp(2.35rem, 10vw, 2.75rem); } .home-hero__lead { width: 100%; font-size: 1.0625rem; } .home-hero__actions { width: 100%; flex-direction: column; } .home-hero__actions .button { width: 100%; } .home-hero__proof { font-size: .68rem; } .home-proofs { grid-template-columns: minmax(0, 1fr); gap: 0; margin-top: var(--space-6); } .home-proofs__group > div { grid-template-columns: minmax(0, 1fr); gap: var(--space-1); } .home-materials { padding-top: var(--space-8); } .home-materials__media > img { height: 30rem; } .home-materials__caption { margin-top: 0; } .home-materials__caption > div { width: 100%; padding: var(--space-5) var(--gutter); } .home-materials__stories { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); margin-top: var(--space-6); } .home-materials__stories article:nth-child(2), .home-materials__stories article:nth-child(3) { grid-column: auto; margin-top: 0; } .home-experiences__lead { width: 100%; } .home-experience-grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); } .home-experience--room { order: 1; } .home-experience--lounge { order: 2; } .home-experience--nights { order: 3; } .home-experience--private { order: 4; } .home-experience--lounge, .home-experience--room, .home-experience--nights, .home-experience--private { grid-column: auto; } .home-schedule__lead { width: 100%; } .home-schedule__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); margin-top: var(--space-6); } .home-schedule__grid article:last-child { grid-column: auto; } .home-private__grid { gap: var(--space-6); } .home-private__image img { height: 19rem; } .home-private__prompts p, .home-form__adult-note { grid-template-columns: minmax(0, 1fr); gap: var(--space-2); } .home-restaurant__image img { height: 17rem; } .home-reservation__panel { padding: var(--space-5); gap: var(--space-6); } .home-form__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-3); } .home-form__field--full { grid-column: auto; } .home-reservation__form .button { width: 100%; } .home-approach__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); } .home-approach__action { grid-column: auto; width: 100%; } .home-approach__action .button { width: 100%; } .home-approach__details { padding-left: 0; padding-top: var(--space-5); border-left: 0; border-top: 1px solid var(--color-indian-ocean-blue); } }