/* The spaces belong to the layout. One shared figure moves between them. */
.ramen-journey{position:relative;isolation:isolate}
.journey-scene{position:relative}
.journey-slot{width:300px;aspect-ratio:640/763;position:relative;flex:none;justify-self:center}
.journey-slot>img{width:100%;height:100%;object-fit:contain}
.journey-slot::before,.journey-float::before{content:'';position:absolute;width:120%;aspect-ratio:1;left:-10%;top:0;border-radius:50%;background:var(--paper);z-index:-1}
.journey-slot{isolation:isolate}
.journey-enabled .journey-slot>img{visibility:hidden}
.journey-enabled .journey-slot::before{visibility:hidden}
.journey-flight{display:none;position:fixed;left:0;top:0;width:320px;transform-origin:top left;z-index:2;pointer-events:none;will-change:transform}
.journey-enabled .journey-flight{display:block}
.journey-float{position:relative;isolation:isolate;animation:bowl-breathe 6s ease-in-out infinite;transform-origin:50% 70%}
.journey-flight img{width:320px;height:auto;filter:drop-shadow(12px 18px 15px #33333320)}
.journey-steam{position:absolute;width:48%;height:100px;top:-55px;left:20%;stroke:var(--red);stroke-width:3;stroke-linecap:round;opacity:.55}
.journey-steam path{stroke-dasharray:55 120;animation:steam-drift 5s linear infinite}
.journey-hidden .journey-float,.journey-hidden .journey-steam path,.journey-offscreen .journey-float,.journey-offscreen .journey-steam path{animation-play-state:paused}
.hero-tools{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.motion-toggle{display:flex;align-items:center;gap:9px;padding:8px 0;min-height:44px;background:transparent;color:var(--ink);border:0;font-size:13px;text-decoration:underline;text-underline-offset:4px}
.motion-toggle:hover{background:white}
.ramen-journey .hero{overflow:visible;padding-top:30px}
.ramen-journey .hero-stage{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:5%;height:auto;min-height:420px}
.ramen-journey .hero-type{position:relative;top:auto;left:auto;font-size:clamp(76px,9.7vw,140px);background:var(--paper);z-index:3}
.ramen-journey .hero-type span{white-space:nowrap}
.ramen-journey .hero-type span:last-child{margin-left:0}
.hero-slot{width:clamp(270px,27vw,330px);transform:none}
.ramen-journey .hero-bottom{margin-top:15px;z-index:3;background:var(--paper)}
.ramen-journey .intro{grid-template-columns:1fr 1.15fr;gap:12%;min-height:760px;padding-block:140px}
.ramen-journey .intro-copy{position:relative;z-index:3;background:var(--paper)}
.ramen-journey .intro h2{font-size:clamp(45px,5vw,72px)}
.ramen-journey .intro .lead{margin-top:28px;font-size:23px;max-width:30ch}
.intro-slot{width:clamp(270px,29vw,350px)}
.ramen-journey .menu-teaser{overflow:visible}
.ramen-journey .menu-teaser-inner{grid-template-columns:1.1fr 1fr;gap:14%;align-items:center;padding-block:100px;min-height:780px}
.menu-story{position:relative;z-index:3;background:var(--red)}
.ramen-journey .menu-preview{margin:20px 0 30px;padding:0}
.ramen-journey .menu-preview>a{font-size:26px;padding:15px 0}
.menu-slot{width:clamp(275px,29vw,360px)}
.ramen-journey .community{min-height:720px;padding-block:130px;gap:12%}
.ramen-journey .community-art{overflow:visible;aspect-ratio:1/1.15}
.ramen-journey .community-art>img{position:absolute;inset:0;object-fit:cover;opacity:.8}
.community-slot{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:75%;max-width:325px}
.ramen-journey .community-copy{position:relative;z-index:3;background:var(--paper)}
.ramen-journey .locations{padding-top:45px}
.ramen-journey .locations .section-heading{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px;min-height:180px}
.ramen-journey .locations h2,.ramen-journey .locations .section-heading>p{position:relative;z-index:3;background:var(--paper)}
.location-slot{width:115px}
.branch-journey{position:relative}
.ramen-journey .branch-grid{position:relative;z-index:3;background:var(--paper)}
.journey-waypoint{position:absolute;right:calc(-1 * var(--space) + 2px);top:18%;width:52px;height:62px;pointer-events:none}
.waypoint-end{top:80%}
.ramen-journey .last-call .wrap{padding-block:65px;gap:15%;min-height:380px}
.ramen-journey .last-call .wrap>div:first-child{position:relative;z-index:3;background:var(--red)}
.ramen-journey .last-call h2{font-size:clamp(46px,5.2vw,74px);margin-bottom:28px}
.final-slot{width:200px;margin-right:8%}
.footer{position:relative;z-index:3}
@keyframes bowl-breathe{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-8px) rotate(1deg)}}
@keyframes steam-drift{from{stroke-dashoffset:0;opacity:.25}50%{opacity:.7}to{stroke-dashoffset:175;opacity:.25}}
/* Community remains useful between confirmed event dates. */
.community-plans{display:grid;grid-template-columns:.85fr 1.15fr;gap:10%;padding-block:95px}
.community-plans>div>p{margin-top:25px;font-size:20px}
.community-plans details{border-bottom:1px solid var(--line);padding:0 0 24px;margin-bottom:24px}
.community-plans summary{font-family:var(--display);font-size:35px;line-height:1.2;list-style:none;cursor:pointer;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.community-plans summary::-webkit-details-marker{display:none}
.community-plans summary::after{content:'+';font:28px var(--body)}
.community-plans details[open] summary::after{content:'−'}
.community-plans details p{margin-top:20px;max-width:50ch}
.community-plans details a{margin-top:16px}
.community-social{background:var(--navy);color:var(--paper)}
.community-social .wrap{display:grid;grid-template-columns:.8fr 1fr;align-items:center;gap:14%;padding-block:70px}
.community-social img{width:min(100%,320px);justify-self:center;transform:rotate(-5deg)}
.community-social p{margin:25px 0 30px}
.community-social :focus-visible{outline-color:white}
.agenda .agenda-empty{padding-block:28px}
@media(max-width:1100px) and (min-width:761px){
  .ramen-journey .hero-stage{min-height:430px}
  .hero-slot,.intro-slot,.menu-slot{width:250px}
  .ramen-journey .intro{gap:8%;min-height:690px}
  .ramen-journey .menu-teaser-inner{gap:10%}
  .ramen-journey .menu-preview>a{font-size:24px}
  .ramen-journey .community{gap:8%}
  .ramen-journey .locations .section-heading{gap:20px}
  .location-slot{width:90px}
}
@media(max-width:760px){
  .hero-tools{align-items:flex-start;margin-top:12px}
  .ramen-journey .hero{padding-top:25px}
  .ramen-journey .hero-stage{display:flex;flex-direction:column;gap:20px;min-height:0;margin-top:0}
  .ramen-journey .hero-type{font-size:clamp(60px,17vw,115px);align-self:stretch;line-height:1.03}
  .hero-slot{width:200px;margin:4px 0 15px 65px}
  .ramen-journey .hero-bottom{margin-top:8px}
  .ramen-journey .intro{display:flex;flex-direction:column;gap:40px;padding-block:95px 70px;min-height:0}
  .ramen-journey .intro>div{margin-top:0}
  .intro-slot{width:185px;align-self:flex-start;margin-left:15px!important}
  .ramen-journey .intro-copy{align-self:stretch}
  .ramen-journey .intro h2{font-size:49px}
  .ramen-journey .intro .lead{font-size:22px;margin-top:25px}
  .ramen-journey .menu-teaser-inner{display:flex;flex-direction:column-reverse;align-items:stretch;gap:40px;padding-block:70px;min-height:0}
  .menu-slot{width:200px;align-self:flex-end;margin-right:12px}
  .ramen-journey .menu-preview{padding:0;margin:24px 0 30px}
  .ramen-journey .menu-preview>a{font-size:25px}
  .ramen-journey .community{display:block;padding-block:75px;min-height:0}
  .ramen-journey .community-art{aspect-ratio:1.2}
  .community-slot{width:190px}
  .ramen-journey .community-copy{margin-top:35px}
  .ramen-journey .locations .section-heading{grid-template-columns:1fr auto;gap:20px;min-height:0}
  .ramen-journey .locations .section-heading h2{font-size:44px}
  .ramen-journey .locations .section-heading>p{grid-column:1/-1;margin-top:0}
  .location-slot{width:70px}
  .journey-waypoint{width:30px;height:36px;right:-20px}
  .ramen-journey .last-call .wrap{display:flex;flex-direction:column-reverse;align-items:stretch;gap:35px;padding-block:55px;min-height:0}
  .final-slot{width:150px;margin:0;align-self:flex-end}
  .ramen-journey .last-call h2{font-size:46px}
  .community-plans{display:block;padding-block:60px}
  .community-plans>div:first-child{margin-bottom:40px}
  .community-plans>div>p{font-size:18px}
  .community-plans summary{font-size:29px}
  .community-social .wrap{grid-template-columns:1fr;gap:45px;padding-block:55px}
  .community-social img{width:210px}
  .community-social h2{font-size:43px}
}
@media(prefers-reduced-motion:reduce){.journey-flight{display:none!important}.journey-slot>img{visibility:visible!important}.journey-slot{transform:none}.community-slot{transform:translate(-50%,-50%)}.motion-toggle{display:none!important}}
