.reading-progress{position:fixed;inset:0 0 auto;height:2px;background:#d1b97c;z-index:100;transform:scaleX(var(--read-progress,0));transform-origin:left;pointer-events:none}.hero-frame{opacity:0;transition:opacity 1.5s ease;will-change:opacity}.hero-frame.is-active{opacity:1}.hero-frame[data-hero-frame="1"]{object-position:65% 55%}.hero-frame[data-hero-frame="2"]{object-position:60% 45%}.motion-ready .hero-frame{animation:stage-drift 10s ease-out both;animation-play-state:paused}.hero.is-running .hero-frame.is-active{animation-play-state:running}.hero-slide-controls{display:flex;gap:20px;align-items:center;color:#e5d8b5}.hero-slide-controls>span{font-size:9px;min-width:110px;text-align:right}.hero-slide-buttons{display:flex;align-items:center;gap:6px}.hero-slide-buttons button{position:relative;min-height:44px;min-width:40px;background:none;color:#b8c0c9;padding:10px 8px;font-size:10px;overflow:hidden}.hero-slide-buttons button[data-hero-slide]:before,.hero-slide-buttons button[data-hero-slide]:after{content:'';position:absolute;bottom:6px;left:8px;right:8px;height:1px;background:#e5d8b533;transform-origin:left}.hero-slide-buttons button[data-hero-slide]:after{background:#e5d8b5;transform:scaleX(0)}.hero-slide-buttons button[aria-pressed=true]{color:#e5d8b5}.hero-slide-buttons button[aria-pressed=true]:after{transform:scaleX(1)}.hero.is-running .hero-slide-buttons button[aria-pressed=true]:after{animation:slide-cycle 8s linear both}.hero-play{font-size:15px!important}.hero-slide-buttons button:hover{color:#fff}.motion-ready .hero-title h1 span{animation:title-enter 1.15s cubic-bezier(.2,.8,.2,1) both}.motion-ready .hero-title h1 span:nth-child(2){animation-delay:.17s}.motion-ready .hero-seal{animation:seal-enter 1.1s ease both;animation-delay:.4s}.reveal-target{--reveal-delay:0ms}.motion-ready .reveal-target:not(.is-revealed){opacity:0;transform:translateY(32px)}.motion-ready .reveal-target{transition:opacity .85s ease var(--reveal-delay),transform .95s cubic-bezier(.18,.75,.25,1) var(--reveal-delay)}.motion-ready .photo-reveal:not(.is-revealed){opacity:0;transform:translateY(20px)}.motion-ready .photo-reveal{transition:opacity .85s ease,transform 1.1s ease;clip-path:none}.motion-ready .photo-reveal.is-revealed{animation:photo-curtain 1.1s cubic-bezier(.2,.75,.2,1)}.motion-ready .music-visual img{transform:scale(1.065) translateY(var(--photo-shift,0px));transition:transform .3s ease-out}.music-visual{overflow:hidden}.music-visual .photo-label{z-index:2}.gallery-item{transition:box-shadow .4s ease,transform .5s cubic-bezier(.2,.8,.2,1)}.gallery-item:after{content:'';position:absolute;inset:10px;border:1px solid #e5d8b500;transition:border-color .4s;pointer-events:none}.gallery-item:hover,.gallery-item:focus-visible{box-shadow:0 16px 30px #1c2b4820;transform:translateY(-5px)}.gallery-item:hover:after,.gallery-item:focus-visible:after{border-color:#e5d8b566}.gallery-item>span{transition:padding-bottom .4s}.gallery-item:hover>span{padding-bottom:24px}.brand svg{transition:transform .7s cubic-bezier(.2,.75,.3,1)}.brand:hover svg{transform:rotate(45deg)}.about-emblem{transform:rotate(var(--ornament-turn,0deg))}.site-header nav a{position:relative}.site-header nav a:after{content:'';position:absolute;left:0;bottom:-5px;height:1px;width:100%;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s}.site-header nav a:hover:after,.site-header nav a:focus-visible:after{transform:scaleX(1)}.contact-icon{transition:background .3s,transform .3s}.contact-icon:hover{background:#705827;transform:translateY(-3px)}.email span{transition:transform .4s}.email:hover span{transform:translate(4px,-4px)}.repertoire-tabs button{transition:color .3s,padding .35s}.repertoire-tabs button:hover{padding-left:10px}.map-views{display:flex;gap:25px;border-bottom:1px solid #53617a;margin:0 0 30px}.map-views button{background:none;color:#aebbd0;padding:14px 0;font-size:12px;position:relative;text-align:left;min-height:48px}.map-views button:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:#d1b97c;transform:scaleX(0);transform-origin:left;transition:transform .45s}.map-views button[aria-selected=true]{color:#e5d8b5}.map-views button[aria-selected=true]:after{transform:scaleX(1)}.map-panel[hidden]{display:none}.map-panel:not([hidden]){animation:panel-enter .6s ease both}#routes path.active{stroke-dasharray:1100;stroke-dashoffset:0;animation:route-draw 1.5s ease-out both}.destination-detail{animation:panel-enter .5s ease both}dialog[open]{animation:dialog-enter .35s ease-out}dialog::backdrop{animation:backdrop-enter .4s ease-out}.motion-ready .timeline{position:relative}.motion-ready .timeline:before{content:'';position:absolute;top:-1px;left:0;width:100%;height:1px;background:#d1b97c77;transform:scaleX(var(--timeline-progress,0));transform-origin:left;transition:transform 1.5s ease}.motion-ready .timeline.is-revealed{--timeline-progress:1}
@keyframes stage-drift{from{transform:scale(1)}to{transform:scale(1.055)}}@keyframes slide-cycle{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes title-enter{from{opacity:0;transform:translateY(30px);clip-path:inset(100% 0 0)}to{opacity:1;transform:translateY(0);clip-path:inset(0)}}@keyframes seal-enter{from{opacity:0;transform:rotate(-15deg) scale(.9)}to{opacity:1;transform:rotate(0) scale(1)}}@keyframes panel-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes dialog-enter{from{opacity:0;transform:translateY(15px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes backdrop-enter{from{opacity:0}to{opacity:1}}@keyframes route-draw{from{stroke-dashoffset:1100}to{stroke-dashoffset:0}}
@media(max-width:760px){.hero-footer{flex-wrap:wrap;gap:12px}.hero-slide-controls{width:100%;justify-content:space-between;gap:10px}.hero-slide-controls>span{text-align:left;min-width:0}.hero-slide-buttons button{min-width:44px}.hero{min-height:690px}.map-views{gap:22px}.map-views button{font-size:10px;max-width:48%}.motion-ready .timeline:before{display:none}.gallery-item:hover{transform:none}.map-panel:not([hidden]){animation-duration:.4s}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal-target,.motion-ready .photo-reveal{opacity:1!important;transform:none!important;clip-path:none!important}.motion-ready .music-visual img,.about-emblem,.gallery-item,.brand svg{transform:none!important}.reading-progress{display:none}.hero-frame{animation:none!important}.hero-play{display:none!important}}
body.reduce-motion *,body.reduce-motion *:before,body.reduce-motion *:after{animation:none!important;transition:none!important}body.reduce-motion .reveal-target{opacity:1!important;transform:none!important;clip-path:none!important}body.reduce-motion .music-visual img,body.reduce-motion .about-emblem{transform:none!important}

.gallery-item.is-revealed{clip-path:none}.gallery-item:focus-visible{clip-path:none!important}

@keyframes photo-curtain{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}
.skip{opacity:0;pointer-events:none}.skip:focus{opacity:1;pointer-events:auto}
