/* Motion is decorative; the document remains fully readable without scripts. */
.reading-progress {
  position: fixed;
  inset: 0 0 auto;
  height: 3px;
  background: #d78624;
  transform: scaleX(0);
  transform-origin: left;
  pointer-events: none;
  z-index: 50;
}
.site-header { position: sticky; top: 0; transition: box-shadow .3s ease, background-color .3s ease; }
.site-header.is-scrolled { box-shadow: 0 6px 26px #543a2812; background: #fffaf0f5; }
.reservation-link,.btn-primary,input[type=submit] { transition: background-color .25s ease, color .25s ease, box-shadow .25s ease; }
.reservation-link span,.back-top,.hero-scroll span { transition: transform .35s ease; }
.reservation-link:hover span { transform: translate(3px,-3px); }
.navigation-list a { transition: color .25s ease; }
.experience-copy .btn:after { transition: transform .35s ease; }
.experience-copy .btn:hover:after { transform: translateX(7px); }
.news-row a,.footer-booking { transition: color .25s ease; }
.experience-image { overflow: hidden; }
.experience-image img { transition: transform 1s cubic-bezier(.22,1,.36,1); }
.mobile-menu summary span { transition: transform .3s ease; }
.back-top:hover { transform: translateY(-3px); }
.hero-copy h1 .hero-line { display: block; overflow: hidden; white-space: nowrap; font-size: inherit; letter-spacing: inherit; }
.hero-copy h1 .hero-line > span { display: block; font-size: inherit; letter-spacing: inherit; }
.hero-copy h1 .hero-line-brand { font-size: clamp(58px,5.5vw,84px); letter-spacing: .23em; }
.hero-accent { display: block; width: 72px; height: 2px; margin: -7px 0 25px; background: #ffca08; transform-origin: left; }
@media(max-width:900px) { .hero-copy h1 .hero-line-brand { font-size: 64px; } }
@media(max-width:600px) {
  .hero-copy h1 .hero-line-brand { font-size: clamp(46px,14.3vw,56px); }
  .hero-accent { width: 50px; margin: -5px 0 20px; }
}
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .experience:hover .experience-image img { transform: scale(1.025); }
  .reservation-link:hover { box-shadow: 0 5px 16px #d7862426; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
  *,*::before,*::after { animation: none !important; transition: none !important; }
}
