/* Restaurant scrolls as one scene. Native connection progress only moves the outgoing land card. */
.home-page .connection-figure.fg-meeting-background { height: 100vh; margin-bottom: -100vh; position: relative; z-index: 1; }
.home-page .connection-figure.fg-meeting-background .fg-meeting-backdrop { height: 100vh; position: relative; top: 0; overflow: hidden; border-radius: 14px; }
.home-page .connection-figure.fg-meeting-background .fg-meeting-terrace { inset: 0; width: 100%; height: 100%; margin: 0; transform: none; }
.home-page .fg-meeting-terrace img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.home-page .fg-meeting-backdrop::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, #181a1e15 10%, #151a2033 45%, #151b234d 75%, #111a204d); }
.home-page .fg-meeting-background .connection-path { z-index: 1; opacity: .65; }
.home-page .s-wrapper.fg-meeting-wrapper { position: relative; z-index: 40; }
.home-page .s-wrapper .c-connection.fg-meeting { overflow: clip; }
.home-page .fg-meeting-stage { height: 100vh; position: relative; }
.home-page .s-wrapper .fg-meeting .figure-holder.fg-meeting-sticky { position: relative; top: 0; height: 100vh; min-height: 100vh; overflow: hidden; color: #fff8ed; display: block; }
.home-page .fg-meeting-location { position: absolute; z-index: 5; top: 20%; left: 6%; margin: 0; font-size: clamp(11px, 1vw, 16px); letter-spacing: .12em; text-transform: uppercase; opacity: 1; }
.home-page .fg-meeting-title { position: absolute; z-index: 5; top: 30%; left: 7%; right: 7%; margin: 0; color: #fff8ed; font: 400 clamp(88px, 12vw, 205px)/.83 Georgia, 'Times New Roman', serif; letter-spacing: -.05em; pointer-events: none; opacity: 1; transform: none; text-shadow: 0 2px 25px #0002; }
.home-page .fg-meeting-title span { display: block; }
.home-page .fg-meeting-title span:last-child { margin-left: 18%; }
.home-page .fg-meeting-scenarios { position: absolute; z-index: 5; right: 7%; bottom: 12%; margin: 0; font-size: clamp(16px, 1.5vw, 26px); line-height: 1.55; text-align: right; opacity: 1; }
.home-page .fg-meeting-scenarios span { display: block; }
.home-page .fg-meeting-concept { position: absolute; z-index: 6; left: 6%; bottom: 5%; font-size: clamp(10px, .8vw, 13px); line-height: 1.4; letter-spacing: .06em; color: #fff8ed; padding: 7px 11px; background: #10151140; border-radius: 4px; }
.home-page .s-wrapper .fg-meeting .fg-meeting-description.-w { position: relative; padding-top: clamp(60px, 9vw, 150px); padding-bottom: clamp(70px, 10vw, 150px); background: #f1eade; color: #2b261f; grid-template-rows: auto auto; row-gap: 55px; }
.home-page .s-wrapper .fg-meeting .fg-meeting-description .caption { font-family: Georgia, 'Times New Roman', serif; font-size: clamp(28px, 3.2vw, 52px); line-height: 1.23; font-weight: 400; margin: 0; }
.home-page .s-wrapper .fg-meeting .fg-meeting-description .c-1 { --left: 2; --width: 7; }
.home-page .s-wrapper .fg-meeting .fg-meeting-description .c-2 { --left: 6; --width: 6; }
@media (max-width: 1023px) {
 .home-page .connection-figure.fg-meeting-background { height: 100vh; margin-bottom: -100vh; }
 .home-page .fg-meeting-stage { height: 100vh; }
 .home-page .fg-meeting-location { top: 22%; left: 5%; right: 5%; font-size: 9px; letter-spacing: .08em; }
 .home-page .fg-meeting-title { top: 33%; left: 5%; right: 3%; font-size: clamp(65px, 17vw, 130px); }
 .home-page .fg-meeting-title span:last-child { margin-left: 9%; }
 .home-page .fg-meeting-scenarios { right: 5%; bottom: 16%; font-size: 15px; }
 .home-page .fg-meeting-concept { left: 4%; bottom: 5%; max-width: 88%; font-size: 9px; }
 .home-page .s-wrapper .fg-meeting .fg-meeting-description .c-1 { --left: 1; --width: 5; }
 .home-page .s-wrapper .fg-meeting .fg-meeting-description .c-2 { --left: 2; --width: 5; }
 .home-page .s-wrapper .fg-meeting .fg-meeting-description .caption { font-size: clamp(26px, 6vw, 40px); }
}
@media (prefers-reduced-motion: reduce) {
 .home-page .fg-meeting-title { transform: none; }
}

/* The second physical wrapper contains the land card in the original sequence. */
.home-page .c-objects.fg-participation .-w .sequence .object-wrapper .sticky-wrapper .object-holder {
  scale: 1 !important;
  rotate: none !important;
  translate: 0 calc(var(--connection-progress, 0) * -115vh);
}

.home-page .fg-meeting-background .connection-path { display: none; }
.home-page .fg-family-eyebrow { display: block; margin-bottom: 22px; font-size: 11px; letter-spacing: .13em; text-transform: uppercase; }
.home-page .fg-family-copy > p { max-width: 660px; margin: 25px 0 0; font-size: clamp(16px, 1.3vw, 21px); line-height: 1.65; }
.home-page .c-objects.fg-participation .sequence .object-wrapper:not(.-active) .object-holder { opacity: clamp(0, calc(1 - var(--connection-progress, 0) * 8), 1); }

/* Reuse the map from the partnership scene as a quiet background layer.
   It scrolls with each section, avoiding additional scroll listeners or fixed layers. */
.home-page .s-wrapper .fg-meeting .fg-meeting-description.-w,
.home-page .c-updates.fg-economy {
 background-color: #f1eade;
 background-image:
  linear-gradient(180deg, #f1eade 0%, #f1eade70 14%, #f1eade70 83%, #f1eade 100%),
  linear-gradient(90deg, #f1eadee0 0%, #f1eade50 42%, #f1eade90 100%),
  url('/images/home/figure-map.webp');
 background-size: cover;
 background-position: center;
 background-repeat: no-repeat;
}
