/* Editorial lunch section: picture, typography and directions flow on the paper. */
.venue{width:78%;padding:35px 0 45px}.venue>.soft-line{font-size:27px}.venue h2{font-size:58px;margin-bottom:32px}
.venue-landscape{position:relative;margin:0 -5% 30px;overflow:hidden;aspect-ratio:1.5;mask-image:linear-gradient(transparent,#000 7%,#000 87%,transparent);border:0}
.venue .venue-photo{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:50% 55%;border:0;border-radius:0;transform:scale(1.035) translateY(var(--photo-y,0px));will-change:transform}
.venue-name{font-size:38px;letter-spacing:-.025em;margin:5px 0 8px}.venue-city{letter-spacing:.16em;font-size:9px}
.lunch-details{display:flex;align-items:center;justify-content:center;gap:26px;margin:30px auto 35px}.lunch-details p{margin:0}.lunch-details span,.lunch-details small{display:block;font:8px/1.8 Manrope;letter-spacing:.1em;text-transform:uppercase}.lunch-details strong{font-size:29px;font-weight:400;white-space:nowrap}.lunch-details i{font-style:normal;color:#a98b58;font-size:23px}
.heritage-map{margin:0 0 25px;border:0;border-radius:0;background:none;overflow:visible;box-shadow:none}.heritage-map-stage{height:280px;border-radius:160px 160px 8px 8px;overflow:hidden;border:1px solid #baa17870;box-shadow:0 12px 28px #71572c0b}.map-event,#map-reset{top:auto;bottom:15px;font-size:8px;padding:8px 12px}.map-event{left:15px}#map-reset{right:15px}.leaflet-control-zoom{margin-bottom:66px!important}.venue .directions{background:transparent;color:#365f79;border-color:#365f7970;font-size:10px}.venue .directions:hover{background:#e2ebee}
.date-section{perspective:900px}.month-grid{perspective:700px}.calendar-animate .month-day{animation:calendar-date .65s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--day-delay)}.calendar-animate .month-day.chosen{animation:calendar-date .65s cubic-bezier(.16,1,.3,1) both,date-halo 3.4s ease-in-out 1.5s infinite;animation-delay:var(--day-delay),1.5s}.month-day.chosen{position:relative;isolation:isolate}.month-day.chosen::after{content:'';position:absolute;inset:-5px;border:1px solid #b09255;border-radius:50%;opacity:.4}
@keyframes calendar-date{from{opacity:0;transform:translateY(15px) rotateX(-35deg)}to{opacity:1;transform:none}}
@keyframes date-halo{0%,100%{box-shadow:0 0 0 3px #b0925515}50%{box-shadow:0 0 0 9px #b0925500}}
.scroll-thread{position:fixed;top:0;left:max(0px,calc((100vw - 660px)/2));width:min(100vw,660px);height:2px;transform-origin:left;background:linear-gradient(90deg,#8aafc5,#caa573,#d598a9);transform:scaleX(var(--progress,0));z-index:42;pointer-events:none}
.rule{transform:scaleX(.5);transition:transform 1.4s ease}.rule.in-view{transform:scaleX(1)}
@media(max-width:480px){.venue{width:78%}.venue h2{font-size:43px}.venue>.soft-line{font-size:22px}.venue-landscape{margin-bottom:22px;aspect-ratio:1.4}.venue-name{font-size:29px}.lunch-details{gap:18px;margin:24px 0 28px}.lunch-details strong{font-size:24px}.lunch-details span,.lunch-details small{font-size:7px}.heritage-map-stage{height:255px}.venue .directions{font-size:9px;padding:12px 17px}}
@media(prefers-reduced-motion:reduce){.calendar-animate .month-day,.calendar-animate .month-day.chosen{animation:none}.venue .venue-photo{transform:none;will-change:auto}.rule{transform:none;transition:none}}
