keyhome-city-loop { display:block; width:clamp(126px,34vw,186px); flex:none; }
.city-loop-control { display:block; position:relative; width:100%; min-height:44px; padding:0; border:0; border-radius:8px; background:transparent; color:#244b65; cursor:pointer; }
.city-loop-control:focus-visible { outline:2px solid #1462ff; outline-offset:3px; }
.city-loop-art { display:block; width:100%; height:auto; overflow:hidden; }
.city-train { animation:city-train-cross 7.2s linear -3.5s infinite; animation-play-state:paused; }
keyhome-city-loop[data-running] .city-train { animation-play-state:running; }
@keyframes city-train-cross { from { transform:translateX(-80px) } to { transform:translateX(188px) } }
.city-loop-glyph { position:absolute; top:1px; right:1px; width:19px; height:19px; border-radius:50%; display:grid; place-items:center; background:#eff4f6; }
.city-loop-glyph::after { content:''; width:0; height:0; border-left:6px solid currentColor; border-top:4px solid transparent; border-bottom:4px solid transparent; margin-left:2px; }
.city-loop-control[data-playing] .city-loop-glyph::after { width:3px; height:7px; margin:0; border:0; border-inline:2px solid currentColor; box-sizing:content-box; }
.room-section .section-heading keyhome-city-loop { margin-left:auto; align-self:center; }
.room-search-section .search-intro { display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:10px; align-items:center; }
.room-search-section .search-intro h2 { grid-column:1/-1; }
.room-search-section .search-intro p { margin-top:4px; }
.room-search-section .search-intro keyhome-city-loop { align-self:end; }
.room-search-section .room-search-form { margin-top:18px; }
@media print { .city-train { animation:none; transform:translateX(44px); } .city-loop-glyph { display:none; } }
