.home-page { overflow: clip; }
.home-page a:focus-visible, .home-page button:focus-visible { box-shadow: var(--focus-ring); outline: none; }
.home-hero { min-height: calc(100svh - 4rem); background: var(--color-coal-950); }
.home-hero__panels { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-width: 0; min-height: calc(100svh - 4rem); }
.home-hero__panels::after { content: ""; position: absolute; z-index: 4; top: 0; bottom: 0; left: 50%; width: 2px; background: var(--color-ash-50); transform: translateX(-1px); }
.home-hero__panel { position: relative; isolation: isolate; overflow: clip; min-width: 0; min-height: calc(100svh - 4rem); }
.home-hero__image { position: absolute; inset: 0; z-index: -3; width: 100%; height: 100%; object-fit: cover; transition: transform var(--transition-base); }
.home-hero__panel--food .home-hero__image { object-position: 62% 58%; }
.home-hero__panel--tables .home-hero__image { object-position: 42% 52%; }
.home-hero__shade { position: absolute; inset: 0; z-index: -2; background: linear-gradient(0deg, rgba(16,16,15,.94) 2%, rgba(16,16,15,.48) 53%, rgba(16,16,15,.14) 100%); }
.home-hero__ink { position: absolute; top: 12%; bottom: 12%; width: 4px; opacity: 0; background: var(--color-oxide-orange); transition: opacity var(--transition-fast), transform var(--transition-fast); }
.home-hero__panel--food .home-hero__ink { left: 0; transform: translateX(-4px); }
.home-hero__panel--tables .home-hero__ink { right: 0; background: var(--color-signal-yellow); transform: translateX(4px); }
.home-hero__panel.is-active .home-hero__image { transform: scale(1.02) translateX(-3px); }
.home-hero__panel--tables.is-active .home-hero__image { transform: scale(1.02) translateX(3px); }
.home-hero__panel.is-active .home-hero__ink { opacity: 1; transform: none; }
.home-hero__content { position: absolute; bottom: clamp(1.5rem, 5vw, 4rem); display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); min-width: 0; width: min(38ch, calc(100% - clamp(2.5rem, 8vw, 8rem))); }
.home-hero__content > * { min-width: 0; margin: 0; }
.home-hero__content--food { left: clamp(1.25rem, 5vw, 4rem); }
.home-hero__content--tables { right: clamp(1.25rem, 5vw, 4rem); align-items: flex-end; text-align: right; }
.home-hero__kicker, .home-hero__stamp { font-family: var(--font-heading); font-size: var(--text-small); font-weight: 800; letter-spacing: .06em; line-height: 1; text-transform: uppercase; }
.home-hero__stamp { padding: var(--space-2) var(--space-3); background: var(--color-oxide-orange); color: var(--color-ash-50); }
.home-hero__title { font-size: clamp(3.5rem, 7vw, 6.5rem); line-height: .84; }
.home-hero__tables-title { max-width: 12ch; font-size: clamp(2.25rem, 4.5vw, 4rem); line-height: .9; }
.home-hero__content p { max-width: 38ch; font-size: var(--text-body); line-height: 1.55; }
.home-hero__clarification { color: var(--color-signal-yellow); font-size: var(--text-small) !important; font-weight: 600; }
.home-hero__notes { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.home-hero__notes span { background: var(--color-ash-50); color: var(--color-coal-950); padding: var(--space-2) var(--space-3); font-family: var(--font-heading); font-size: var(--text-micro); font-weight: 800; letter-spacing: .04em; line-height: 1; text-transform: uppercase; }
.home-hero__notes span:last-child { background: var(--color-signal-yellow); transform: rotate(-2deg); }
.home-hero__bridge { position: absolute; z-index: 5; top: 50%; left: 50%; width: min(26.25rem, calc(100% - 3rem)); padding: var(--space-3) var(--space-4); background: var(--color-ash-50); color: var(--color-coal-950); font-family: var(--font-heading); font-size: var(--text-lead); font-weight: 800; letter-spacing: .015em; line-height: 1; text-align: center; text-transform: uppercase; transform: translate(-50%, -50%) rotate(-1deg); }
.home-three__intro { width: min(62ch, 66.666%); }
.home-three__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.home-three__item { min-width: 0; padding-top: var(--space-4); border-top: 2px solid var(--color-oxide-orange); }
.home-three__item--offset { margin-top: var(--space-5); border-top-color: var(--color-ash-50); }
.home-three__item--social { border-top-color: var(--color-signal-yellow); }
.home-three__item p { max-width: 30ch; }
.home-three__item--social p { max-width: 34ch; }
.home-three__notice { display: inline-block; padding: var(--space-2) var(--space-3); background: var(--color-signal-yellow); color: var(--color-coal-950); font-size: var(--text-small); font-weight: 600; }
.home-number { display: block; margin-bottom: var(--space-3); color: var(--color-oxide-orange); font-family: var(--font-heading); font-size: 2.5rem; font-weight: 900; line-height: .8; }
.home-text-link { display: inline-flex; min-height: 2.75rem; align-items: center; color: var(--color-ash-50); font-family: var(--font-heading); font-size: var(--text-body); font-weight: 800; letter-spacing: .02em; text-decoration-color: var(--color-oxide-orange); text-transform: uppercase; transition: color var(--transition-fast), transform var(--transition-fast); }
.home-text-link:hover { color: var(--color-signal-yellow); transform: translateX(2px); }
.home-food__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-7); align-items: start; }
.home-food__figure { grid-column: 1; grid-row: 1 / span 2; width: 100%; margin: 0; }
.home-food__rail { grid-column: 2; grid-row: 1; min-width: 0; }
.home-food__rail > .lead { max-width: 54ch; }
.home-food__paper { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); margin-top: var(--space-6); padding: var(--panel-padding); background: var(--color-ash-50); color: var(--color-coal-950); box-shadow: var(--shadow-offset-orange); }
.home-food__paper > * { min-width: 0; margin: 0; }
.home-food__paper h3 { color: var(--color-coal-950); }
.home-food__paper p { max-width: 50ch; }
.home-food__caption { grid-column: 2; grid-row: 2; min-width: 0; padding-top: var(--space-4); border-top: var(--border-default); }
.home-food__caption p { max-width: 34ch; }
.home-room__layout { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--space-5); align-items: start; }
.home-room__slab { z-index: 1; min-width: 0; margin-top: var(--space-6); padding: var(--panel-padding); background: var(--color-coal-950); border: var(--border-default); }
.home-room__slab .lead { max-width: 60ch; }
.home-room__image { min-width: 0; width: 100%; margin: 0; }
.home-room__observations { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 4fr) minmax(0, 4fr); gap: var(--space-5); }
.home-room__observation { grid-column: span 4; min-width: 0; padding-top: var(--space-4); border-top: var(--border-default); }
.home-room__observation:nth-child(2) { grid-column: 5 / span 4; }
.home-room__observation p { max-width: 34ch; }
.home-social__intro { width: min(58ch, 58.333%); }
.home-social__notice { width: min(62ch, 66.666%); margin: var(--space-6) 0 var(--space-7) 8.333%; padding: var(--space-5); border: 1px solid var(--color-coal-950); background: var(--color-signal-yellow); color: var(--color-coal-950); }
.home-social__notice > * { margin: 0; }
.home-social__notice span { display: inline-block; margin-bottom: var(--space-3); padding: var(--space-1) var(--space-2); background: var(--color-coal-950); color: var(--color-ash-50); font-family: var(--font-heading); font-size: var(--text-micro); font-weight: 800; letter-spacing: .05em; line-height: 1; text-transform: uppercase; }
.home-social__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.home-social__item { min-width: 0; padding: var(--panel-padding); border: var(--border-default); background: var(--color-asphalt-900); }
.home-social__item p { max-width: 36ch; }
.home-social__actions, .home-gatherings__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); min-width: 0; }
.home-social__actions > *, .home-gatherings__actions > * { min-width: 0; }
.home-gatherings__layout { position: relative; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-7); align-items: start; }
.home-gatherings__intro { min-width: 0; }
.home-gatherings__intro .lead { max-width: 56ch; }
.home-gatherings__plans { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); min-width: 0; }
.home-gatherings__plan { min-width: 0; padding-top: var(--space-4); border-top: 2px solid var(--color-oxide-orange); }
.home-gatherings__plan p { max-width: 34ch; }
.home-gatherings__note { position: absolute; right: 0; top: calc(100% + var(--space-4)); width: min(25%, 18rem); padding: var(--space-4); background: var(--color-signal-yellow); color: var(--color-coal-950); transform: rotate(1deg); }
.home-gatherings__note > * { margin: 0; }
.home-gatherings__note span { display: block; margin-bottom: var(--space-2); font-family: var(--font-heading); font-weight: 800; letter-spacing: .04em; line-height: 1; text-transform: uppercase; }
.home-gatherings__note p { font-size: var(--text-small); line-height: 1.45; }
.home-gallery__layout { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--space-6); align-items: start; }
.home-gallery__intro { min-width: 0; border-left: 4px solid var(--color-oxide-orange); }
.home-gallery__intro p { max-width: 50ch; }
.home-gallery__rail { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 3fr) minmax(0, 2fr); gap: var(--space-4); min-width: 0; }
.home-gallery__link { display: flex; flex-direction: column; gap: var(--space-3); min-width: 0; color: var(--color-ash-50); text-decoration: none; }
.home-gallery__link > * { min-width: 0; }
.home-gallery__link:hover .home-gallery__caption { color: var(--color-signal-yellow); }
.home-gallery__caption { border-top: var(--border-default); padding-top: var(--space-2); color: var(--color-ash-300); font-size: var(--text-small); line-height: 1.45; transition: color var(--transition-fast); }
.home-gallery__caption b { color: var(--color-oxide-orange); font-family: var(--font-heading); }
.home-gallery__tag { align-self: flex-start; margin-bottom: calc(var(--space-3) * -1); padding: var(--space-1) var(--space-2); background: var(--color-signal-yellow); color: var(--color-coal-950); font-family: var(--font-heading); font-size: var(--text-micro); font-weight: 800; letter-spacing: .04em; line-height: 1; text-transform: uppercase; }
.home-faq { background: var(--color-asphalt-900); border-block: var(--border-default); }
.home-faq__inner { width: min(var(--editorial-width), var(--container-inline)); margin-inline: auto; }
.home-faq__intro { width: min(56ch, 100%); }
.home-faq__list { border-top: var(--border-default); }
.home-faq__item { min-width: 0; border-bottom: var(--border-default); }
.home-faq__item--social { border-left: 4px solid var(--color-signal-yellow); }
.home-faq__trigger { display: flex; width: 100%; min-height: 3.25rem; align-items: center; justify-content: space-between; gap: var(--space-4); padding: var(--space-4) 0; background: transparent; color: var(--color-ash-50); font-family: var(--font-heading); font-size: var(--text-lead); font-weight: 800; letter-spacing: -.01em; line-height: 1; text-align: left; text-transform: uppercase; }
.home-faq__trigger span { flex: 0 0 auto; color: var(--color-signal-yellow); font-family: var(--font-body); font-size: 1.5rem; }
.home-faq__answer { overflow: hidden; }
.home-faq__answer p { max-width: 62ch; margin-bottom: var(--space-5); }
.home-faq__all { margin-top: var(--space-4); }
.home-routes__intro { width: min(56ch, 50%); }
.home-routes__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin-top: var(--space-6); border: var(--border-default); }
.home-routes__tile { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); min-width: 0; min-height: 15rem; padding: var(--space-5); border-right: var(--border-default); background: var(--color-asphalt-900); }
.home-routes__tile:last-child { border-right: 0; }
.home-routes__tile::before { content: ""; position: absolute; top: 0; left: 0; width: 2rem; height: 4px; background: var(--color-oxide-orange); transition: transform var(--transition-fast); }
.home-routes__tile:hover::before { transform: translateX(2px); }
.home-routes__tile > * { min-width: 0; margin: 0; }
.home-routes__tile p { max-width: 28ch; }
.home-routes__subroute { min-height: 2.25rem; color: var(--color-ash-300); font-size: var(--text-small); }
.home-routes__tag { padding: var(--space-1) var(--space-2); background: var(--color-signal-yellow); color: var(--color-coal-950); font-family: var(--font-heading); font-size: var(--text-micro); font-weight: 800; letter-spacing: .04em; line-height: 1; text-transform: uppercase; }
.home-booking__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-5); align-items: start; }
.home-booking__action { min-width: 0; }
.home-booking__action .lead { max-width: 56ch; }
.home-booking__contact { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-2); min-width: 0; padding: var(--panel-padding); border: var(--border-strong); background: var(--color-asphalt-800); }
.home-booking__contact > * { min-width: 0; margin: 0; }
.home-booking__label { margin-top: var(--space-3); color: var(--color-ash-300); font-family: var(--font-heading); font-size: var(--text-micro); font-weight: 800; letter-spacing: .06em; line-height: 1; text-transform: uppercase; }
.home-booking__label:first-child { margin-top: 0; }
.home-booking__contact a { display: inline-flex; min-height: 2.75rem; align-items: center; color: var(--color-ash-50); font-size: var(--text-lead); font-weight: 600; overflow-wrap: anywhere; }
.home-booking__contact p { font-size: var(--text-lead); }
.home-booking__notice { grid-column: 1 / -1; width: min(60ch, 100%); min-width: 0; padding: var(--space-4); background: var(--color-signal-yellow); color: var(--color-coal-950); line-height: 1.5; }
.home-booking__notice strong { font-weight: 600; }
@media (max-width: 980px) { .home-three__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-three__item--social { grid-column: 1 / -1; } .home-gatherings__layout { grid-template-columns: 1fr; } .home-gatherings__note { position: static; width: min(30ch, 100%); transform: none; } .home-routes__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-routes__tile:nth-child(2) { border-right: 0; } .home-routes__tile:nth-child(-n+2) { border-bottom: var(--border-default); } }
@media (max-width: 940px) { .home-room__layout { grid-template-columns: 1fr; } .home-room__slab { grid-column: 1; grid-row: 1; margin-top: 0; } .home-room__image { grid-column: 1; grid-row: 2; } .home-room__observations { grid-column: 1; grid-row: 3; } }
@media (max-width: 920px) { .home-food__grid { grid-template-columns: 1fr; gap: var(--space-6); } .home-food__figure, .home-food__rail, .home-food__caption { grid-column: 1; grid-row: auto; } .home-food__caption p { max-width: 48ch; } .home-gallery__layout { grid-template-columns: 1fr; } }
@media (max-width: 900px) { .home-social__intro, .home-social__notice { width: min(62ch, 100%); margin-left: 0; } .home-social__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-social__item--actions { grid-column: 1 / -1; } }
@media (max-width: 820px) { .home-booking__grid { grid-template-columns: 1fr; } .home-booking__notice { grid-column: 1; } }
@media (max-width: 759px) { .home-hero { min-height: auto; } .home-hero__panels { display: flex; flex-direction: column; min-height: 0; } .home-hero__panels::after { display: none; } .home-hero__panel { flex: 0 0 auto; min-height: 31rem; } .home-hero__bridge { position: relative; top: auto; left: auto; order: 2; width: 100%; transform: none; } .home-hero__panel--food { order: 1; } .home-hero__panel--tables { order: 3; } .home-hero__content { right: auto; bottom: var(--space-6); left: var(--gutter); width: min(38ch, calc(100% - (var(--gutter) * 2))); align-items: flex-start; text-align: left; } .home-hero__tables-title { max-width: 15ch; } .home-hero__panel--tables .home-hero__image { object-position: 38% 50%; } }
@media (max-width: 700px) { .home-gallery__rail { grid-template-columns: 1fr; } .home-gallery__link { width: 100%; } .home-gallery__link .image-frame { width: 100%; } }
@media (max-width: 680px) { .home-room__observations { grid-template-columns: 1fr; } .home-room__observation, .home-room__observation:nth-child(2) { grid-column: 1; } .home-social__grid { grid-template-columns: 1fr; } .home-social__item--actions { grid-column: 1; } }
@media (max-width: 640px) { .home-three__intro, .home-routes__intro { width: 100%; } .home-three__grid { grid-template-columns: 1fr; } .home-three__item, .home-three__item--social { grid-column: 1; } .home-three__item--offset { margin-top: 0; } .home-gatherings__plans { grid-template-columns: 1fr; } .home-social__actions, .home-gatherings__actions { flex-direction: column; align-items: stretch; } .home-social__actions > *, .home-gatherings__actions > * { width: 100%; } }
@media (max-width: 560px) { .home-hero__panel { min-height: 26.25rem; } .home-hero__title { font-size: clamp(3.25rem, 16vw, 4.5rem); } .home-routes__grid { grid-template-columns: 1fr; } .home-routes__tile, .home-routes__tile:nth-child(2) { border-right: 0; border-bottom: var(--border-default); } .home-routes__tile:last-child { border-bottom: 0; } .home-routes__tile { min-height: auto; } .home-booking__contact a { font-size: 1rem; } }
@media (prefers-reduced-motion: reduce) { .home-hero__panel.is-active .home-hero__image, .home-hero__panel--tables.is-active .home-hero__image { transform: none; } .home-hero__ink { transition: none; } .home-routes__tile:hover::before, .home-text-link:hover { transform: none; } }
