/* Polished gold: broad reflections and a fine bevel, matched to the ARTCH mark. */
:root{
  --button-gold:linear-gradient(112deg,#ad8641 0%,#d5ae60 12%,#f5dca0 24%,#e4bd72 36%,#fff2c6 43%,#f8e2a5 47%,#c29b50 55%,#d5ae63 65%,#f0d18b 78%,#fff0b8 87%,#ba9149 100%);
  --button-gold-edge:#dfc181;
  --button-gold-ink:#181109;
  --button-gold-transition:background-position .6s ease,box-shadow .25s ease,transform .25s ease;
  --button-gold-press:translateY(1px);
}

body :is(
  .book,.masthead .book,.closing .book,.button,.button.light,
  .booking-button,.booking-minimal .booking-button,.header .header-cta,
  .mobile-booking>a,.gallery-controls button,.film-control,
  .hero-cinematic .hero-film .video-toggle,.video-toggle,
  .visual-play,.advanced-visual.is-playing .visual-play,.next-stage,
  .stage-button[aria-pressed="true"],.shape-choice[aria-pressed="true"]
){
  background-color:#d8b56e;
  background-image:var(--button-gold);
  background-size:160% 100%;
  background-position:45% 50%;
  background-repeat:no-repeat;
  border:1px solid var(--button-gold-edge);
  color:var(--button-gold-ink);
  box-shadow:inset 0 1px 0 #fff8da,inset 0 -1px 0 #80602d,
    inset 1px 0 0 #ffedb77a,inset -1px 0 0 #7d592942,
    0 3px 10px #0000003d;
  text-shadow:0 1px 0 #fff5d233;
  font-weight:500;
  transition:var(--button-gold-transition);
}

@media(hover:hover){
  body :is(
    .book,.masthead .book,.closing .book,.button,.button.light,
    .booking-button,.booking-minimal .booking-button,.header .header-cta,
    .mobile-booking>a,.gallery-controls button,.film-control,
    .hero-cinematic .hero-film .video-toggle,.video-toggle,
    .visual-play,.advanced-visual.is-playing .visual-play,.next-stage,
    .stage-button[aria-pressed="true"],.shape-choice[aria-pressed="true"]
  ):hover:not(:disabled){
    background-image:var(--button-gold);
    background-position:65% 50%;
    color:var(--button-gold-ink);
    border-color:#f1d89d;
    box-shadow:inset 0 1px 0 #fff9df,inset 0 -1px 0 #886731,
      inset 1px 0 0 #ffedb77a,0 4px 14px #00000045;
  }
}

body :is(
  .book,.masthead .book,.closing .book,.button,.button.light,
  .booking-button,.booking-minimal .booking-button,.header .header-cta,
  .mobile-booking>a,.gallery-controls button,.film-control,
  .hero-cinematic .hero-film .video-toggle,.video-toggle,
  .visual-play,.advanced-visual.is-playing .visual-play,.next-stage,
  .stage-button[aria-pressed="true"],.shape-choice[aria-pressed="true"]
):active:not(:disabled){
  transform:var(--button-gold-press);
  box-shadow:inset 0 2px 4px #6b4d2940,inset 0 -1px 0 #fff0b780;
}

body :is(.book,.button,.booking-button,.header-cta,.mobile-booking>a,button):focus-visible{
  outline:2px solid #fff0c3;
  outline-offset:4px;
}

.book,.button,.booking-button,.header-cta,.mobile-booking>a,.next-stage{border-radius:2px}
body .next-stage{padding:12px 18px;text-decoration:none}
body .stage-button[aria-pressed="true"] span{color:var(--button-gold-ink)}
body :is(.stage-button,.shape-choice):not([aria-pressed="true"]){
  border-color:#9d824d;
  box-shadow:inset 0 1px 0 #f3d99a1a;
}
body .gallery-controls button:disabled{opacity:.28;cursor:default;box-shadow:none}

@media(min-width:761px){
  body .header .header-cta{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    min-height:44px;
    padding:11px 17px;
    line-height:1.4;
  }
}

@media(prefers-reduced-motion:reduce){
  :root{--button-gold-transition:none;--button-gold-press:none}
}
