/* Rail Café — home: arrival hero, railway lines list, journey CTA, memory wall */
.rc-arrival{position:relative;display:grid;align-items:end;min-height:min(880px,100dvh);overflow:hidden;border-bottom:1px solid var(--rc-line);background:var(--rc-ink);contain:paint}
.rc-arrival__scene{position:absolute;inset:0;overflow:hidden;transform:translateZ(0);contain:strict;pointer-events:none}
.rc-arrival__scene>img:first-child{width:100%;height:100%;object-fit:cover;opacity:.5}
.rc-arrival__veil{position:absolute;inset:0;background:linear-gradient(0deg,var(--rc-ink) 2%,rgba(10,14,20,.55) 45%,rgba(10,14,20,.86)),linear-gradient(100deg,rgba(10,14,20,.92) 8%,rgba(10,14,20,.3) 55%,rgba(10,14,20,.75))}
.rc-arrival__lines{position:absolute;left:0;right:0;bottom:0;width:100%;height:22vh;object-fit:cover;object-position:top;opacity:.5;mix-blend-mode:screen}
.rc-arrival__train{position:absolute;left:6%;bottom:8vh;width:clamp(120px,16vw,240px);opacity:.9;filter:drop-shadow(0 18px 30px rgba(0,0,0,.6));animation:rc-arrival-drift 7s ease-in-out infinite}
@keyframes rc-arrival-drift{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

.rc-arrival__board{position:relative;z-index:2;padding-block:clamp(7rem,22vh,14rem) 4rem}
.rc-arrival__actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.6rem}
.rc-arrival__manifest{display:flex;flex-wrap:wrap;gap:clamp(1.4rem,4vw,4rem);margin:3rem 0 0;padding-top:1.2rem;border-top:1px solid var(--rc-line)}
.rc-arrival__manifest div{display:grid;gap:.15rem}
.rc-arrival__manifest dt{margin:0;color:#5f6772;font-size:.66rem;letter-spacing:.04em}
.rc-arrival__manifest dd{margin:0;color:var(--rc-white);font:600 .95rem var(--rc-font-display)}

.rc-lines{position:relative;padding:clamp(5rem,11vw,9rem) 0;background:radial-gradient(circle at 85% 0%,rgba(0,127,255,.06),transparent 45%)}
.rc-lines__map{position:relative;display:grid;gap:.15rem}
.rc-lines__rail{position:absolute;top:0;bottom:0;right:1.9rem;width:2px;background:linear-gradient(180deg,transparent,rgba(0,127,255,.5) 8%,rgba(0,127,255,.5) 92%,transparent)}
.rc-lines__rail::after{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(180deg,rgba(197,204,216,.35) 0 2px,transparent 2px 22px)}

.rc-line{position:relative;z-index:1;display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:1.1rem;padding:1.15rem 1.4rem;border:1px solid transparent;border-radius:var(--rc-r-lg);background:linear-gradient(150deg,rgba(42,49,64,.55),rgba(15,19,28,.7));transition:transform var(--rc-transition),border-color var(--rc-transition),background var(--rc-transition);animation:rc-line-in .7s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--i,0) * .07s)}
.rc-line:hover,.rc-line:focus-visible{transform:translateX(-8px);border-color:rgba(0,127,255,.35);background:linear-gradient(150deg,rgba(42,49,64,.85),rgba(15,19,28,.92))}
.rc-line:focus-visible{outline:2px solid var(--rc-blue);outline-offset:2px}
.rc-line__platform{color:#5f6772;font:600 .7rem var(--rc-font-display);letter-spacing:.06em}
.rc-line__signal{display:grid;place-items:center;width:46px;aspect-ratio:1;border:1px solid var(--rc-line);border-radius:50%;background:#0a0e16;color:var(--rc-blue);transition:border-color var(--rc-transition),box-shadow var(--rc-transition)}
.rc-line:hover .rc-line__signal{border-color:var(--rc-blue);box-shadow:0 0 18px rgba(0,127,255,.3)}
.rc-line__copy{display:grid;gap:.1rem;min-width:0}
.rc-line__copy strong{overflow:hidden;color:var(--rc-white);font:600 1.05rem var(--rc-font-display);text-overflow:ellipsis;white-space:nowrap}
.rc-line__copy em{color:var(--rc-muted);font-size:.74rem;font-style:normal}
.rc-line__arrow{color:var(--rc-muted);font-size:.85rem;transition:transform var(--rc-transition),color var(--rc-transition)}
.rc-line:hover .rc-line__arrow{transform:translateX(-4px);color:var(--rc-blue)}
@keyframes rc-line-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}

.rc-journey-cta{position:relative;overflow:hidden;padding:clamp(5rem,11vw,9rem) 0;border-block:1px solid var(--rc-line);background:linear-gradient(120deg,#0a0e16,#141a24 60%,#0a0e16)}
.rc-journey-cta__inner{display:grid;grid-template-columns:minmax(220px,.6fr) 1fr;gap:clamp(2rem,8vw,7rem);align-items:center}
.rc-journey-cta__scene{position:relative;justify-self:center;width:min(320px,80vw)}
.rc-journey-cta__scene img{width:100%;opacity:.85;filter:drop-shadow(0 20px 30px rgba(0,127,255,.15))}
.rc-journey-cta h2{margin:.7rem 0;color:var(--rc-white);font:600 clamp(1.7rem,4vw,3rem)/1.25 var(--rc-font-display)}
.rc-journey-cta p{max-width:48ch;margin:0;color:var(--rc-muted)}
.rc-journey-cta .rc-btn{margin-top:1.1rem}

.rc-memory{padding:clamp(5rem,11vw,9rem) 0}
.rc-memory__strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(190px,240px);gap:1rem;padding:.4rem .1rem 1.2rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin}
.rc-memory__strip>*{scroll-snap-align:start}
.rc-memory__frame{margin:0;overflow:hidden;border:1px solid var(--rc-line);border-radius:var(--rc-r-md);background:linear-gradient(150deg,rgba(42,49,64,.6),rgba(15,19,28,.75));box-shadow:0 16px 40px rgba(0,0,0,.3);transition:transform .3s ease,border-color .3s ease;animation:rc-line-in .6s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--i,0) * .06s)}
.rc-memory__frame:hover{transform:translateY(-6px);border-color:rgba(0,127,255,.35)}
.rc-memory__frame button{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in}
.rc-memory__frame img{width:100%;aspect-ratio:4/5;object-fit:cover}
.rc-memory__frame figcaption{overflow:hidden;padding:.65rem .75rem;color:var(--rc-muted);font-size:.72rem;text-align:center;text-overflow:ellipsis;white-space:nowrap}

.rc-wall-lightbox{position:fixed;inset:0;z-index:1500;display:grid;place-items:center;padding:1rem}
.rc-wall-lightbox[hidden]{display:none}
.rc-wall-lightbox__veil{position:absolute;inset:0;border:0;background:rgba(6,9,14,.92)}
.rc-wall-lightbox__panel{position:relative;z-index:1;width:min(760px,100%);padding:.7rem;border:1px solid var(--rc-line);border-radius:var(--rc-r-lg);background:var(--rc-steel);box-shadow:var(--rc-shadow)}
.rc-wall-lightbox__panel img{width:100%;max-height:76dvh;object-fit:contain;border-radius:calc(var(--rc-r-lg) - 8px)}
.rc-wall-lightbox__panel p{margin:.6rem 0 0;color:var(--rc-muted);text-align:center}
.rc-wall-lightbox__close{position:absolute;z-index:2;top:1rem;left:1rem;width:42px;height:42px;border:1px solid var(--rc-line);border-radius:50%;background:rgba(6,9,14,.75);color:var(--rc-white);font-size:1.3rem;cursor:pointer;transition:border-color var(--rc-transition)}
.rc-wall-lightbox__close:hover{border-color:var(--rc-blue)}

@media(max-width:768px){
    .rc-arrival{min-height:min(680px,100dvh)}
    .rc-arrival__train{left:-6%;width:min(160px,44vw)}
    .rc-arrival__board{padding-top:9rem}
    .rc-arrival__manifest div:last-child{display:none}
    .rc-journey-cta__inner{grid-template-columns:1fr;text-align:center}
    .rc-journey-cta__scene{width:min(240px,60vw)}
    .rc-line{padding:1rem}
    .rc-line__copy strong{font-size:.95rem}
    .rc-lines__rail{right:1.55rem}
}
@media(max-width:480px){
    .rc-line__platform{display:none}
    .rc-lines__rail{display:none}
    .rc-memory__strip{grid-auto-columns:minmax(150px,180px)}
}
@media(prefers-reduced-motion:reduce){
    .rc-arrival__train{animation:none}
    .rc-line,.rc-memory__frame{animation:none;opacity:1;transform:none}
}
html.rc-scrolling .rc-line,html.rc-scrolling .rc-memory__frame{transition:none!important}
