/* Public pages only. All content is visible without JavaScript or motion. */
.site-multipage{--ls-motion-ease:cubic-bezier(.22,1,.36,1)}
.site-multipage :is(.button,.contact-top,.contact-channel,.reservation-channel,.route-estimate,.zone-list button){transition:background-color .45s var(--ls-motion-ease),color .45s var(--ls-motion-ease),border-color .45s var(--ls-motion-ease),box-shadow .45s var(--ls-motion-ease)}
.site-multipage .nav-links a:not(.contact-top)::after{transition:transform .45s var(--ls-motion-ease)}
.site-multipage .nav-group summary::after{transition:transform .45s var(--ls-motion-ease)}
.site-multipage :is(.card,.content-card,.featured-fare,.heritage-place,.vehicle-gallery figure){transition:transform .55s var(--ls-motion-ease),box-shadow .55s var(--ls-motion-ease),border-color .55s var(--ls-motion-ease),background-color .45s var(--ls-motion-ease)}
.site-multipage .ls-photo-frame{display:block;width:100%;padding:0;border:0;margin:0;background:transparent;overflow:hidden;cursor:zoom-in;text-align:inherit;line-height:0}
.site-multipage .ls-photo-frame:focus-visible{outline:3px solid var(--gold-light);outline-offset:-5px}
.site-multipage .ls-photo-frame img{pointer-events:none}
.site-multipage .ls-photo-zoom{transition:transform .65s var(--ls-motion-ease);transform-origin:center}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .site-multipage :is(.button,.contact-top,.contact-channel):hover{box-shadow:0 5px 17px #09291f1a}
 .site-multipage :is(.card,.content-card,.featured-fare,.heritage-place,.vehicle-gallery figure):hover{transform:translateY(-2px);box-shadow:0 10px 25px #0b2a2114}
 .site-multipage :is(.ls-photo-frame,.page-hero figure,.story-layout figure):hover .ls-photo-zoom{transform:scale(1.018)}
}
@media(prefers-reduced-motion:no-preference){
 .site-multipage :is(.signature-hero .hero-content,.page-hero-copy,.local-hero>.wrap)>h1{animation:ls-intro .6s var(--ls-motion-ease) backwards}
 .site-multipage :is(.signature-hero .hero-content,.page-hero-copy,.local-hero>.wrap)>:is(.hero-copy,.lead){animation:ls-intro .6s .08s var(--ls-motion-ease) backwards}
 .site-multipage :is(.signature-hero .hero-content,.page-hero-copy,.local-hero>.wrap)>.actions{animation:ls-intro .55s .14s var(--ls-motion-ease) backwards}
 .site-multipage .hero-meta{animation:ls-intro .5s .18s var(--ls-motion-ease) backwards}
 .site-multipage .signature-hero .hero-background.ls-photo-intro{animation:ls-photo-intro .7s var(--ls-motion-ease) backwards}
 .site-multipage .nav-group[open]>.nav-submenu{animation:ls-menu-in .4s var(--ls-motion-ease) backwards}
}
.site-multipage :is(.signature-hero .hero-content,.page-hero-copy,.local-hero>.wrap):focus-within>.actions{animation:none}
@media(max-width:1180px) and (prefers-reduced-motion:no-preference){
 .js .site-multipage .site-menu.is-open{animation:ls-menu-in .45s var(--ls-motion-ease) backwards}
}
@keyframes ls-intro{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes ls-photo-intro{from{transform:scale(1.025)}to{transform:scale(1)}}
@keyframes ls-menu-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
/* A manually controlled photo viewer; the originals and their aspect ratios stay intact. */
.site-multipage .ls-photo-viewer{width:min(1160px,calc(100% - 64px));max-height:calc(100svh - 64px);padding:24px;background:#102e25;color:var(--paper);border:1px solid #ad9063;border-radius:6px;overflow-y:auto;box-shadow:0 24px 90px #0007}
.site-multipage .ls-photo-viewer::backdrop{background:#061a14df}
.site-multipage .ls-photo-viewer[open]{animation:ls-menu-in .4s var(--ls-motion-ease) backwards}
.site-multipage .ls-photo-viewer [hidden]{display:none!important}
.site-multipage .ls-photo-toolbar{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-bottom:18px}
.site-multipage .ls-photo-toolbar h2{font:700 .9375rem/1.5 var(--font);letter-spacing:.02em;margin:0;color:var(--gold-light)}
.site-multipage .ls-photo-viewer button{display:inline-flex;justify-content:center;align-items:center;min-height:44px;min-width:44px;border:1px solid #80917f;border-radius:4px;color:var(--paper);background:transparent;font:700 .875rem/1.4 var(--font);padding:10px 16px;cursor:pointer;transition:background-color .45s var(--ls-motion-ease),border-color .45s var(--ls-motion-ease)}
.site-multipage .ls-photo-viewer button:hover{background:#23483a;border-color:var(--gold-light)}
.site-multipage .ls-photo-viewer button:focus-visible{outline:3px solid var(--gold-light);outline-offset:3px}
.site-multipage .ls-photo-viewer figure{margin:0}
.site-multipage .ls-photo-stage{display:grid;height:min(64svh,680px);background:#0c231c;overflow:hidden}
.site-multipage .ls-photo-stage img{grid-area:1/1;display:block;width:100%;height:100%;min-width:0;min-height:0;object-fit:contain}
.site-multipage .ls-photo-caption{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:20px}
.site-multipage .ls-photo-caption h3{font-size:1.25rem;margin:0 0 8px;color:var(--paper)}
.site-multipage .ls-photo-caption p{margin:0;color:#dce5dd;font-size:.9375rem}
.site-multipage .ls-photo-counter{white-space:nowrap;font-size:.8125rem;color:var(--gold-light)}
.site-multipage .ls-photo-controls{display:flex;justify-content:space-between;gap:16px;margin-top:22px}
.site-multipage .ls-photo-status{margin:12px 0 0;color:#dce5dd;font-size:.8125rem}
@media(max-width:760px){
 .site-multipage .ls-photo-viewer{width:calc(100% - 24px);max-height:calc(100svh - 24px);padding:18px}
 .site-multipage .ls-photo-toolbar{gap:12px;padding-bottom:16px}
 .site-multipage .ls-photo-stage{height:min(52svh,500px)}
 .site-multipage .ls-photo-caption{gap:14px;align-items:flex-start;padding-top:18px}
 .site-multipage .ls-photo-controls{margin-top:20px;gap:10px}
 .site-multipage .ls-photo-viewer button{padding-inline:13px}
}
@media(prefers-reduced-motion:reduce){
 .site-multipage .ls-photo-zoom{transform:none!important}
 .site-multipage :is(.card,.content-card,.featured-fare,.heritage-place,.vehicle-gallery figure){transform:none!important}
 .site-multipage .ls-photo-viewer,.site-multipage .ls-photo-viewer::backdrop{animation:none!important;transition:none!important}
}
