/* October 11 client review: shared desktop and mobile presentation. */
.feedback-refresh { --body: 'Zen Kaku Gothic New','Hiragino Kaku Gothic ProN',sans-serif; --muted:#d5d9ec; }
.feedback-refresh :is(h2,h3,.ribbon-lead-copy) { font-family:var(--body); }
.feedback-refresh .hero { height:max(55rem,calc(100svh + 5rem)); min-height:55rem; background:#071c48; }
.feedback-refresh .hero::after { content:''; position:absolute; inset:0 0 25%; z-index:-4; background:url('assets/feedback/sky-clean.webp') center top / cover no-repeat; }
.feedback-refresh .hero .hero-skyline { inset:auto 0 0; width:100%; height:64%; object-fit:cover; object-position:center 60%; transform:none; filter:none; -webkit-mask-image:linear-gradient(transparent,#000 26%,#000 85%,transparent); mask-image:linear-gradient(transparent,#000 26%,#000 85%,transparent); }
.feedback-refresh .hero::before { inset:0; height:100%; background:linear-gradient(180deg,#091a431f,transparent 70%,var(--night)); }
.feedback-refresh .hero-content { padding-top:7.5rem; max-width:calc(100% - 2rem); }
.feedback-refresh .hero-logo { width:min(30rem,82vw); margin:0 auto; }
.feedback-refresh .hero-logo img { filter:brightness(1.14) saturate(1.15) drop-shadow(0 2px 14px #06102b); }
.feedback-refresh .hero-description { font-size:1.125rem; line-height:1.9; font-weight:700; margin-top:1rem; }
.feedback-refresh .hero-schedule-card { width:max-content; max-width:100%; margin:2.2rem auto 0; padding:1.25rem 2rem 1rem; background:#fff9eb; border:1px solid #ffe5a1; border-radius:1rem; color:#161d4b; box-shadow:0 .75rem 2.5rem #07152e40; animation:none; backdrop-filter:none; }
.feedback-refresh .hero-schedule-card::before,.feedback-refresh .hero-schedule-card::after { display:none; }
.feedback-refresh .hero-schedule-card,.feedback-refresh .hero-schedule-card * { text-shadow:none; }
.feedback-refresh .site-header.is-stuck { background:#18204eed; backdrop-filter:blur(12px); }
.feedback-refresh .site-header.is-stuck.on-light { background:#fff9ebed; }
.feedback-refresh .hero-schedule-card .hero-date { gap:1rem; padding:0; }
.feedback-refresh .hero-schedule-card .date-year { color:#24335d; font-size:1.6rem; }
.feedback-refresh .hero-schedule-card .date-year small { color:#33436a; font-size:.85rem; }
.feedback-refresh .hero-schedule-card .date-large { color:#172553; font-size:2.8rem; }
.feedback-refresh .hero-schedule-card .date-large small { color:#6b4463; font-size:.8rem; }
.feedback-refresh .hero-schedule-card .planned { color:#7a5b30; background:#f7e9c9; border-color:#d8bf83; font-size:.7rem; }
.feedback-refresh .hero-schedule-card .hero-location { color:#25375f; font-size:.95rem; letter-spacing:.025em; border-top:1px dashed #d8c6a3; padding-top:.6rem; margin-top:.55rem; }
.hero-admission { position:absolute; right:1.1rem; top:-1.15rem; border:3px solid #fff9eb; border-radius:999px; background:#b83c55; padding:.15rem 1.1rem; font-size:.95rem; font-weight:900; color:#fff; letter-spacing:.1em; box-shadow:0 .2rem .8rem #12183830; }
.feedback-refresh .hero + .food-ribbon-divider--double { position:relative; z-index:2; margin-top:-10rem; padding-top:0; background:transparent; }
.feedback-refresh .food-ribbon-divider--double { padding-bottom:2rem; }
/* Keep the headline first, then the round food photos. */
.feedback-refresh .ribbon-lead { padding-top:1.5rem; }
.feedback-refresh .ribbon-lead .gourmet-invitation { padding:1rem 1.5rem 2rem; max-width:65rem; }
.feedback-refresh .gourmet-invitation .ribbon-lead-copy { margin-top:1.5rem; font-size:clamp(2rem,4.4vw,3.8rem); line-height:1.5; font-weight:900; letter-spacing:.02em; }
.feedback-refresh .gourmet-invitation .ribbon-lead-copy :is(.c-world,.c-local,.c-all) { color:#ffda68; }
.feedback-refresh .gourmet-invitation .ribbon-lead-copy .c-all { display:block; font-size:1.15em; color:#fff8e9; }
.feedback-refresh .gourmet-invitation .ribbon-lead-copy .c-local::after { display:none; }
.invitation-event { margin:1.25rem auto 0; font-weight:900; font-size:1.3rem; color:#ffe59a; }
.invitation-event > span { display:inline-block; margin-right:.35rem; padding:0 .65rem; color:#fff7e4; border:1px solid #f6c76070; border-radius:999px; font-size:.75em; vertical-align:middle; }
.feedback-refresh .gourmet-invitation__message { max-width:none; font-size:1.05rem; line-height:1.9; margin:1rem auto 0; color:#ede9de; }
.invitation-dishes { display:flex; align-items:center; justify-content:center; gap:2rem; margin:2rem auto; }
.feedback-refresh .invitation-dishes .gourmet-invitation__dish { position:relative; inset:auto; z-index:0; width:9rem; margin:0; rotate:0deg; }
.feedback-refresh .invitation-dishes .gourmet-invitation__dish img { width:100%; max-width:100%; }
.feedback-refresh .invitation-dishes .gourmet-invitation__dish span { display:none; }
.feedback-refresh .plate-highlights { width:100%; max-width:52rem; margin:2rem auto 0; gap:1.5rem; padding:1.5rem 0; }
.feedback-refresh .plate-highlights li { display:flex; flex-direction:column; align-items:center; gap:.45rem; padding:0 .5rem; }
.highlight-icon { width:3rem; height:2.7rem; object-fit:contain; }
.feedback-refresh .plate-highlights strong { font-size:1.3rem; color:#ffda68; }
.feedback-refresh .plate-highlights strong > span { font-size:2.35rem; }
.feedback-refresh .plate-highlights small { font-size:.82rem; line-height:1.7; color:#e4e7f3; }
/* Brighter photography and readable supporting copy. */
.feedback-refresh { --photo-grade-night:saturate(1.02) brightness(1.07); --photo-grade-food:saturate(1.04) brightness(1.12); --photo-grade-people:saturate(1.05) brightness(1.15); }
.feedback-refresh img[src^="assets/feedback/"] { --photo-grade:none; }
.feedback-refresh .section-heading > p { font-size:1rem; line-height:1.9; }
.feedback-refresh .eyebrow-label { font-size:1.125rem; font-weight:700; line-height:1.7; letter-spacing:.08em; }
.feedback-refresh .about-section { padding-top:5rem; }
.feedback-refresh .about-copy { max-width:55rem; }
.feedback-refresh .about-copy h2 { font-size:clamp(1.8rem,3.5vw,2.8rem); font-weight:700; line-height:1.6; }
.feedback-refresh .about-copy > p:not(.eyebrow) { font-size:1.05rem; line-height:2; }
.feedback-refresh .about-copy .about-special { color:#ffe3a0; }
.feedback-refresh .about-pillars { gap:2rem; }
.feedback-refresh .about-pillars h3 { font-size:1.45rem; line-height:1.6; }
.feedback-refresh .about-pillars article > p:last-child,.feedback-refresh .about-pillars article > p:not(.eyebrow) { font-size:.95rem; line-height:1.9; }
.feedback-refresh .pillar-image > span { left:1rem; right:auto; bottom:1rem; width:2.7rem; height:2.7rem; display:grid; place-items:center; background:#ffda68; color:#17214d; font:700 1.05rem var(--latin); border-radius:50%; z-index:3; }
.participation-tags { display:flex; flex-wrap:wrap; gap:.5rem; list-style:none; margin:1rem 0 0; padding:0; }
.participation-tags li { background:#ffe1a7; color:#65401f; padding:.3rem .7rem; font-size:.75rem; border-radius:999px; }
.participation-tags li:nth-child(2) { background:#c6ecf2; color:#1f687c; }
.participation-tags li:nth-child(3) { background:#f7ccdd; color:#8f3359; }
.participation-tags li:nth-child(4) { background:#f5dfa6; color:#705022; }
.feedback-refresh .allnight-carousel { position:relative; border-radius:1.2rem; overflow:hidden; }
.allnight-slide { position:relative; width:100%; height:100%; min-height:18rem; animation:night-slide-in .55s ease both; }
.allnight-slide[hidden] { display:none; }
.feedback-refresh .allnight-slide > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border-radius:0; filter:none; }
.allnight-slide::after { content:''; position:absolute; inset:50% 0 0; background:linear-gradient(transparent,#101738d9); pointer-events:none; }
.allnight-slide > b { position:absolute; bottom:4rem; left:1.15rem; right:1rem; z-index:1; color:#fff4cf; font-size:1rem; }
.allnight-controls { position:absolute; right:.65rem; bottom:.65rem; z-index:4; display:flex; align-items:center; gap:.25rem; border-radius:999px; background:#111b48e8; color:#fff7dd; padding:.25rem; }
.allnight-controls button { display:grid; place-items:center; min-width:2.5rem; min-height:2.5rem; border-radius:50%; font:1rem var(--latin); }
.allnight-controls button:hover { background:#f8d275; color:#17214d; }
.allnight-count { font:.75rem var(--latin); padding:0 .2rem; }
.allnight-slide--secret { background:radial-gradient(ellipse at center,#744271,#20234f 65%); display:grid; place-items:center; }
.allnight-slide--secret strong { font:500 7rem var(--latin); color:#ffe49b; text-shadow:0 0 30px #ffce7180; }
.allnight-slide--secret small { position:absolute; top:1.3rem; left:1rem; color:#ffe49b; font-size:.9rem; }
@keyframes night-slide-in { from{opacity:.3} to{opacity:1} }
@media(min-width:901px) {
  .feedback-refresh .pillar-image.allnight-carousel { height:14.375rem; }
  .allnight-slide { min-height:0; }
}
.feedback-refresh .menu-card { --menu-accent:#b94863; background:#fff3e9; border:1px solid #efb9b0; }
.feedback-refresh .menu-card:nth-child(2) { --menu-accent:#217b8e; background:#eff9f6; border-color:#aed6cf; }
.feedback-refresh .menu-card:nth-child(3) { --menu-accent:#a56624; background:#fff5da; border-color:#e5c477; }
.feedback-refresh .menu-card :is(h3,.menu-number) { color:var(--menu-accent); }
.feedback-refresh .menu-card .menu-copy { font-size:.95rem; }
.feedback-refresh .menu-card .menu-status { font-size:.8rem; }
.feedback-refresh .menu-card .menu-card-visual img { filter:var(--photo-grade-food); }
.feedback-refresh .menu-card:first-child .menu-card-visual img { filter:none; }
.feedback-refresh .menu-badge { background:#fff8e4f0; color:var(--menu-accent); border-color:var(--menu-accent); font-size:.85rem; }
.feedback-refresh .experience-small strong { font-size:1.5rem; }
.feedback-refresh .experience-small > span > span { font-size:.85rem; }
.feedback-refresh .experience-feature .experience-text > span { font-size:1rem; }
.feedback-refresh .experience-feature .experience-text strong { font-size:1.9rem; line-height:1.5; }
.feedback-refresh .experience-shade { background:linear-gradient(transparent 40%,#102042cc 100%); }
.feedback-refresh .midnight-secret { position:relative; border:1px solid #dbc48a38; border-radius:1.2rem; background:linear-gradient(115deg,#111737,#19214b 70%,#18204e); box-shadow:inset 0 1px 0 #ffe6a00c; padding:2.2rem; animation:none; }
.feedback-refresh .midnight-secret::before { background:radial-gradient(ellipse at 8% 50%,#e5be581a,transparent 48%); }
.feedback-refresh .midnight-secret::after { opacity:.5; }
.feedback-refresh .midnight-secret__mark { color:#e9d49c; text-shadow:0 0 18px #ffcd7433; font-family:var(--latin); border-color:#e0c38540; }
.feedback-refresh .midnight-secret__copy h3 { color:#fff3d7; font-size:1.5rem; line-height:1.7; letter-spacing:.04em; }
.feedback-refresh .midnight-secret__copy > p:last-child { font-size:1rem; color:#c4c9df; }
.feedback-refresh .midnight-secret__status { justify-self:start; background:transparent; color:#d7c394; border:1px solid #dbc48a38; border-radius:999px; padding:.55rem .9rem; font-size:.75rem; letter-spacing:.06em; }
.feedback-refresh .midnight-secret__eyebrow { color:#c9b47f; font-size:.65rem; letter-spacing:.16em; }
.feedback-refresh .schedule-moon [data-season="0"],.feedback-refresh .schedule-moon [data-active-season="0"] { --ticket-accent:#b64472; --ticket-edge:#d891ad; }
.feedback-refresh .schedule-moon [data-season="1"],.feedback-refresh .schedule-moon [data-active-season="1"] { --ticket-accent:#207e9c; --ticket-edge:#84bdd0; }
.feedback-refresh .schedule-moon [data-season="2"],.feedback-refresh .schedule-moon [data-active-season="2"] { --ticket-accent:#b46a26; --ticket-edge:#d9ac58; }
.feedback-refresh .schedule-moon .moon-season-name,.feedback-refresh .schedule-moon .season-panel h3 { color:var(--ticket-accent); }
.feedback-refresh .schedule-section.schedule-moon .season-tab:nth-child(n) > b { color:var(--ticket-accent); text-shadow:none; }
.feedback-refresh .schedule-section.schedule-moon .season-tab:nth-child(n) > .season-caption { font-size:.8rem; }
.feedback-refresh .season-intro > p,.feedback-refresh .event-details { font-size:.95rem; }
.feedback-refresh .event-details dd small { font-size:.8rem; }
.feedback-refresh .section-note { font-size:.8rem; }
@media(max-width:900px) {
  .feedback-refresh .hero-content { padding-top:6.5rem; }
  .feedback-refresh .hero-logo { width:min(25rem,80vw); }
  .feedback-refresh .about-pillars { grid-template-columns:1fr; max-width:38rem; margin-inline:auto; }
  .allnight-slide { min-height:22rem; }
}
@media(max-width:600px) {
  .feedback-refresh .hero { height:max(49rem,calc(100svh + 3rem)); min-height:49rem; }
  .feedback-refresh .hero-content { padding-top:5.75rem; width:100%; max-width:calc(100% - 2rem); }
  .feedback-refresh .hero-logo { width:min(20rem,84vw); }
  .feedback-refresh .hero-description { font-size:1rem; line-height:1.9; letter-spacing:.015em; margin-top:1rem; }
  .feedback-refresh .hero .hero-skyline { height:51%; object-position:34% center; -webkit-mask-image:linear-gradient(transparent,#000 20%,#000 80%,transparent); mask-image:linear-gradient(transparent,#000 20%,#000 80%,transparent); }
  .feedback-refresh .hero::after { background-position:62% top; bottom:30%; }
  .feedback-refresh .hero-schedule-card { width:calc(100% - 1rem); padding:1.25rem .7rem .75rem; margin-top:2rem; border-radius:.8rem; }
  .feedback-refresh .hero-schedule-card .hero-date { gap:.6rem; flex-wrap:nowrap; }
  .feedback-refresh .hero-schedule-card .date-year { font-size:1.25rem; line-height:1.3; }
  .feedback-refresh .hero-schedule-card .date-year small { font-size:.75rem; }
  .feedback-refresh .hero-schedule-card .date-large { font-size:clamp(1.75rem,7.6vw,2.2rem); white-space:nowrap; }
  .feedback-refresh .hero-schedule-card .date-large small { font-size:.65rem; margin-left:.15rem; }
  .feedback-refresh .hero-schedule-card .date-large i { font-size:1rem; margin:0 .3rem; }
  .feedback-refresh .hero-schedule-card .planned { font-size:.6rem; padding:.1rem .25rem; }
  .feedback-refresh .hero-schedule-card .hero-location { font-size:.8rem; }
  .feedback-refresh .hero + .food-ribbon-divider--double { margin-top:-9rem; }
  .feedback-refresh .food-ribbon-divider--double { padding-bottom:1rem; }
  .feedback-refresh .ribbon-lead { padding-top:1rem; }
  .feedback-refresh .ribbon-lead .gourmet-invitation { padding:1rem .25rem 1rem; }
  .feedback-refresh .gourmet-invitation .ribbon-lead-copy { font-size:clamp(1.7rem,7.2vw,2.65rem); line-height:1.55; margin-top:1rem; }
  .invitation-event { font-size:1.1rem; line-height:1.8; margin-top:.85rem; }
  .feedback-refresh .gourmet-invitation__message { font-size:.95rem; }
  .invitation-dishes { gap:.7rem; margin:1.6rem -.6rem; }
  .feedback-refresh .invitation-dishes .gourmet-invitation__dish { width:calc((100% - 2.1rem)/4); }
  .feedback-refresh .invitation-dishes .gourmet-invitation__dish img { padding:.15rem; box-shadow:none; }
  .feedback-refresh .plate-highlights { gap:.4rem; padding-top:.75rem; margin-top:1rem; }
  .feedback-refresh .plate-highlights li { padding:0; gap:.3rem; }
  .highlight-icon { width:2.4rem; height:2.15rem; }
  .feedback-refresh .plate-highlights strong { font-size:.95rem; white-space:nowrap; }
  .feedback-refresh .plate-highlights strong > span { font-size:1.75rem; }
  .feedback-refresh .plate-highlights small { font-size:.7rem; line-height:1.55; }
  .feedback-refresh .about-section { padding-top:3rem; }
  .feedback-refresh .about-copy h2 { font-size:clamp(1.4rem,5.9vw,1.8rem); }
  .feedback-refresh .about-copy > p:not(.eyebrow),.feedback-refresh .section-heading > p { font-size:.95rem; line-height:1.9; }
  .feedback-refresh .about-copy > p br { display:none; }
  .feedback-refresh .about-copy > p.about-special br { display:block; }
  .feedback-refresh .about-pillars h3 { font-size:1.35rem; }
  .feedback-refresh .about-pillars article > p:not(.eyebrow) { font-size:.95rem; }
  .allnight-slide { min-height:17rem; }
  .feedback-refresh .experience-small strong { font-size:1.15rem; }
  .feedback-refresh .experience-small > span > span { font-size:.75rem; }
  .feedback-refresh .experience-feature .experience-text strong { font-size:1.6rem; }
  .feedback-refresh .midnight-secret { padding:1.5rem 1.1rem; gap:1rem; }
  .feedback-refresh .midnight-secret__copy h3 { font-size:1.25rem; }
  .feedback-refresh .midnight-secret__copy > p:last-child { font-size:.9rem; }
  .feedback-refresh .season-intro > p,.feedback-refresh .event-details { font-size:.85rem; }
  .feedback-refresh .event-details dd small,.feedback-refresh .section-note { font-size:.75rem; }
}
@media(prefers-reduced-motion:reduce) { .allnight-slide { animation:none; } }

/* Allow room above the curved baseline for the full letterforms. */
.feedback-refresh .about-arc text {
  font-family:var(--latin);
  font-weight:400;
  font-size:2.125rem;
  letter-spacing:.08em;
  opacity:.18;
}
@media(max-width:600px) {
  .feedback-refresh .about-arc text { font-size:2.375rem; }
}

@media(max-width:600px) {
  .feedback-refresh .eyebrow-label { font-size:1rem; letter-spacing:.06em; }
}

@media(min-width:901px) {
  .feedback-refresh .hero::after { background-image:url("assets/feedback/sky-clean.webp"); }
}

/* More festival lights around the headline, especially in wide margins. */
.feedback-refresh .ribbon-lantern { animation-duration:var(--float-duration,9s); }
.feedback-refresh .ribbon-lantern--extra { animation-name:invitation-lantern-float; }
@keyframes invitation-lantern-float {
  from { translate:-.3rem 1.2rem; opacity:.4; }
  to { translate:.6rem -1.6rem; opacity:.85; }
}
@media(max-width:900px) {
  .feedback-refresh .ribbon-lantern--desktop { display:none; }
}
@media(prefers-reduced-motion:reduce) {
  .feedback-refresh .ribbon-lantern { animation:none; }
}

/* Compact, legible caption over the lantern photograph. */
.feedback-refresh .experience-feature .experience-shade {
  background:linear-gradient(180deg,transparent 32%,#07132e80 62%,#07132ef2 100%);
}
.feedback-refresh .experience-feature .experience-text {
  left:1.75rem; right:4.5rem; bottom:1.75rem;
  text-shadow:0 2px 8px #030916b3;
}
.feedback-refresh .experience-feature .experience-text small { display:none; }
.feedback-refresh .experience-feature .experience-text .experience-lead {
  font-size:.9rem; line-height:1.5; margin:0 0 .3rem; color:#fff1cf;
}
.feedback-refresh .experience-feature .experience-text strong {
  font-size:clamp(1.2rem,1.65vw,1.55rem); line-height:1.5; letter-spacing:.015em; margin:0;
  color:#fffaf0; text-wrap:balance;
}
.feedback-refresh .experience-feature .experience-text > span:last-child {
  font-size:.85rem; line-height:1.5; margin-top:.4rem; color:#fff1cf;
}
@media(max-width:600px) {
  .feedback-refresh .experience-feature .experience-text { left:1.2rem; right:1.2rem; bottom:4.5rem; }
  .feedback-refresh .experience-feature .experience-text strong { font-size:1.15rem; letter-spacing:0; }
  .feedback-refresh .experience-feature .experience-text .experience-lead { font-size:.8rem; }
  .feedback-refresh .experience-feature .experience-text > span:last-child { font-size:.8rem; }
}

/* Visible starlight behind the invitation, alongside the lanterns. */
.feedback-refresh .ribbon-atmosphere { z-index:0; }
.feedback-refresh .gourmet-invitation { position:relative; z-index:1; }
.feedback-refresh .ribbon-star { color:#ffe5a0; font-size:1rem; animation:invitation-star-glow 3.8s ease-in-out var(--delay) infinite alternate; }
.ribbon-spark {
  position:absolute; left:var(--x); top:var(--y); width:3px; height:3px;
  border-radius:50%; background:#fff3d6; box-shadow:0 0 7px #ffe2a0aa;
  animation:invitation-star-glow var(--twinkle,4s) ease-in-out var(--delay) infinite alternate;
}
@keyframes invitation-star-glow { from { opacity:.25; transform:scale(.7); } to { opacity:.95; transform:scale(1.15); } }
.motion-paused .ribbon-spark,.tab-hidden .ribbon-spark { animation-play-state:paused; }
@media(prefers-reduced-motion:reduce) {
  .feedback-refresh .ribbon-star,.ribbon-spark { animation:none; opacity:.65; }
}

/* Clear date hierarchy: edition, date range, then venue. */
.feedback-refresh .hero-schedule-card { width:28rem; padding:1.1rem 1.6rem 1rem; border-radius:1rem; }
.hero-schedule-top { display:flex; align-items:center; gap:.7rem; border-bottom:1px solid #d6cbb4; padding-bottom:.65rem; }
.hero-edition { font-size:.8rem; font-weight:700; letter-spacing:.08em; }
.hero-schedule-year { font:500 1.2rem/1 var(--latin); letter-spacing:.07em; }
.feedback-refresh .hero-admission { position:static; margin-left:auto; padding:.25rem .7rem; border:0; box-shadow:none; font-size:.75rem; line-height:1.5; letter-spacing:.06em; }
.hero-schedule-dates { display:flex; justify-content:center; align-items:center; gap:1.1rem; margin-top:.65rem; }
.hero-day { display:flex; align-items:baseline; gap:.3rem; }
.hero-day b { font:600 3.2rem/1.05 var(--latin); letter-spacing:-.045em; font-variant-numeric:tabular-nums; color:#172553; }
.hero-day small { font:600 .7rem/1 var(--latin); letter-spacing:.04em; color:#6b4463; }
.hero-date-dash { font:400 1.35rem/1 var(--latin); color:#a68d59; }
.hero-schedule-note { margin:.25rem 0 0; font-size:.65rem; color:#786643; letter-spacing:.12em; }
.feedback-refresh .hero-schedule-card .hero-location { display:flex; justify-content:center; align-items:center; gap:.5rem; margin:.65rem 0 0; padding-top:.65rem; border-top:1px solid #d6cbb4; }
.hero-location > span { display:flex; align-items:baseline; gap:.65rem; }
.hero-location small { font-size:.75rem; font-weight:500; }
.hero-location strong { font-size:1rem; font-weight:700; letter-spacing:.05em; }
.feedback-refresh .hero-location .icon { filter:none; }
@media(max-width:600px) {
  .feedback-refresh .hero-schedule-card { width:calc(100% - 1rem); padding:.85rem 1rem; }
  .hero-schedule-dates { gap:.65rem; margin-top:.6rem; }
  .hero-day b { font-size:clamp(2rem,9.8vw,2.65rem); }
  .hero-day small { font-size:.6rem; }
  .hero-day { gap:.2rem; }
  .hero-date-dash { font-size:1rem; }
  .hero-location > span { gap:.4rem; }
  .hero-location small { font-size:.65rem; }
  .hero-location strong { font-size:.9rem; }
}

/* Quiet the hero's colour slightly while keeping the warm waterfront lights. */
.feedback-refresh .hero .hero-skyline { filter:saturate(.78) brightness(.92); }
.feedback-refresh .hero::after { filter:saturate(.72) brightness(.88); }
.feedback-refresh .hero::before { background:linear-gradient(180deg,#091a4330,#111c4318 55%,#18204e12 75%,var(--night)); }

/* Invitation lanterns rise through the section instead of hovering in place. */
.feedback-refresh .ribbon-lantern {
  top:100%;
  animation:invitation-lantern-rise calc(var(--float-duration,10s) * 2.8) linear var(--delay,0s) infinite;
}
.feedback-refresh .ribbon-lantern:nth-child(3n) { --rise-drift:-1.2rem; }
.feedback-refresh .ribbon-lantern:nth-child(3n + 1) { --rise-drift:1.5rem; }
.feedback-refresh .ribbon-atmosphere { overflow:hidden; }
@keyframes invitation-lantern-rise {
  0% { top:100%; transform:translate(0,0); opacity:0; }
  12% { opacity:.7; }
  80% { opacity:.8; }
  100% { top:0%; transform:translate(var(--rise-drift,.7rem),-120%); opacity:0; }
}
.motion-paused.feedback-refresh .ribbon-lantern,
.tab-hidden.feedback-refresh .ribbon-lantern { animation-play-state:paused; }
@media(prefers-reduced-motion:reduce) {
  .feedback-refresh .ribbon-lantern { animation:none; top:var(--y); opacity:.65; }
}

/* Richer seasonal motion inside the large ticket only. */
.feedback-refresh .schedule-moon .season-panel > .season-fx { opacity:.5; container-type:size; }
.feedback-refresh .season-panel > .season-fx--sakura i,
.feedback-refresh .season-panel > .season-fx--leaf i {
  animation-name:large-ticket-fall;
  animation-duration:calc(var(--duration) * 1.4);
}
@keyframes large-ticket-fall {
  0% { transform:translate3d(0,-1rem,0) rotate(0deg); opacity:0; }
  12% { opacity:.85; }
  82% { opacity:.65; }
  100% { transform:translate3d(calc(var(--drift) * 4rem),calc(100cqh + 3rem),0) rotate(var(--spin)); opacity:0; }
}
.feedback-refresh .season-panel > .season-fx--fireworks i { width:calc(var(--size) * 2); height:calc(var(--size) * 2); }
@media(prefers-reduced-motion:reduce) {
  .feedback-refresh .season-panel > .season-fx i { animation:none; }
}

/* Summer: light blue confetti falling through both ticket sizes. */
.feedback-refresh #schedule .season-fx--fireworks { container-type:size; }
.feedback-refresh #schedule .season-fx--fireworks i {
  top:-2rem; width:var(--size); height:calc(var(--size) * .5);
  border:0; border-radius:2px; box-shadow:none;
  background:#438fa9;
  animation-name:summer-confetti-fall;
  animation-duration:calc(var(--duration) * 1.3);
  animation-timing-function:linear;
}
.feedback-refresh #schedule .season-fx--fireworks i:nth-child(3n + 1) { background:#75b8c6; }
.feedback-refresh #schedule .season-fx--fireworks i:nth-child(3n + 2) { background:#e8f9fc; }
@keyframes summer-confetti-fall {
  0% { transform:translate3d(0,0,0) rotate(0deg) rotateY(0deg); opacity:0; }
  12% { opacity:.85; }
  48% { transform:translate3d(calc(var(--drift) * 2.5rem),50cqh,0) rotate(150deg) rotateY(150deg); opacity:.75; }
  85% { opacity:.65; }
  100% { transform:translate3d(calc(var(--drift) * 1rem),calc(100cqh + 3rem),0) rotate(var(--spin)) rotateY(320deg); opacity:0; }
}
@media(prefers-reduced-motion:reduce) {
  .feedback-refresh #schedule .season-fx--fireworks i { animation-name:none; top:var(--y); opacity:.3; }
}
