.welcome{min-height:100vh;min-height:100svh;display:flex;flex-direction:column}.welcome-header{width:100%;max-width:1184px;margin:0 auto;padding:28px 0;border:0;justify-content:space-between;flex-wrap:nowrap}.welcome-languages{flex:0;flex-basis:auto;order:0;flex-wrap:nowrap;justify-content:flex-end;gap:4px}.welcome-languages a{min-width:44px;min-height:44px;justify-content:center;font-size:12px}.welcome-main{width:100%;max-width:1184px;flex:1;display:flex;align-items:center;padding:80px 0 120px}.welcome-main section{max-width:620px}.welcome-main .eyebrow{margin:0 0 24px}.welcome-main h1{font-size:clamp(48px,6.5vw,80px);margin:0 0 26px;letter-spacing:-.045em}.welcome-description{max-width:360px;margin:0 0 30px;color:var(--muted);font-size:16px;line-height:1.65}.booking{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:46px;padding:12px 20px;border-radius:30px;font-size:13px;font-weight:550}.booking:hover{text-decoration:none}.welcome-footer{width:100%;max-width:1184px;margin:0 auto;display:flex;justify-content:space-between;gap:16px;padding:22px 0;font-size:12px}@media(max-width:1240px){.welcome-header,.welcome-main,.welcome-footer{width:calc(100% - 56px)}}@media(max-width:760px){.welcome-header,.welcome-main,.welcome-footer{width:calc(100% - 40px)}.welcome-header{padding:22px 0;gap:12px}.welcome-header .brand{font-size:18px}.welcome-languages a{padding:9px;min-width:38px}.welcome-main{padding:64px 0 88px}.welcome-main h1{font-size:clamp(43px,10vw,64px)}.welcome-description{font-size:15px;max-width:310px}.welcome-footer{font-size:10px;padding:20px 0}}@media(max-width:380px){.welcome-header,.welcome-main,.welcome-footer{width:calc(100% - 32px)}.welcome-languages{gap:0}.welcome-languages a{min-width:34px}.welcome-main h1{font-size:42px}}
.welcome-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px}.table-viewer{min-width:0;align-self:center}.table-viewer #table-scene{position:relative;width:100%;height:420px}.table-viewer canvas{display:block;width:100%;height:100%;touch-action:pan-y}.table-navigation{display:flex;justify-content:center;gap:12px;margin-top:8px}.table-navigation .icon{width:44px;height:44px;background:var(--paper);color:var(--ink)}.table-navigation .icon:hover{background:var(--soft)}#table-fallback{width:100%;height:100%;object-fit:contain}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:760px){.welcome-main{grid-template-columns:minmax(0,1fr);gap:32px;padding-bottom:48px}.table-viewer #table-scene{height:310px}.table-navigation{margin-top:0}}@media(max-width:380px){.table-viewer #table-scene{height:260px}}
.table-viewer canvas[hidden],#table-fallback[hidden]{display:none}
.welcome{overflow-x:clip}.table-viewer #table-scene{overflow:visible}.table-viewer canvas{cursor:grab;user-select:none}.table-viewer canvas.dragging{cursor:grabbing}.table-viewer canvas:focus-visible{outline-offset:-4px}#table-fallback{margin:0;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:13px;text-align:center}
.table-viewer canvas.table-outgoing{position:absolute;inset:0;pointer-events:none;cursor:default}

#table-scene[data-transition="sliding"] canvas{pointer-events:none}
.welcome-tools{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:0}
.welcome-tools .theme-toggle{flex-shrink:0}
@media(max-width:760px){.welcome-header{grid-template-columns:minmax(0,1fr) auto}.welcome-tools{gap:6px}.welcome-tools .theme-toggle{width:44px;height:44px;min-height:44px}.welcome-languages a{padding:9px 7px;min-width:34px}}

.welcome-contacts{display:flex;flex-wrap:wrap;gap:24px 36px;margin-top:36px;font-style:normal;font-size:14px;line-height:1.6}.contact-label{display:block;margin-bottom:6px;color:var(--muted);font-size:12px}.welcome-contacts a{color:var(--ink)}.contact-address{display:inline-block}.contact-map{display:block;margin-top:6px;font-size:12px;text-decoration:underline;text-underline-offset:3px}.contact-phone{display:inline-flex;align-items:center;min-height:44px;font-size:17px;font-weight:550}.welcome-contacts a:focus-visible{outline:2px solid currentColor;outline-offset:4px;border-radius:4px}
