/* 115 Schiller v0.8.1 — Atelier Motion System
   Animated monogram is decorative. Letter never spins.
   All effects respect prefers-reduced-motion and pointer types. */
:root { --luxe-brass:#c9a776; --luxe-dark:#17382f; }
.lux-signet {
  position:relative; isolation:isolate; overflow:visible;
  flex-shrink:0; vertical-align:middle;
  -webkit-tap-highlight-color:transparent;
}
.lux-signet .monogram-letter {
  position:relative; z-index:2; display:block;
  line-height:1; transform:translateY(-.02em);
  font:inherit; font-style:italic; color:inherit;
  text-shadow:0 1px 0 rgba(255,255,255,.06);
}
.lux-signet::before {
  content:""; position:absolute; inset:-5px; border-radius:50%; pointer-events:none;
  background:conic-gradient(from -45deg,
     transparent 0deg,transparent 84deg,
     rgba(201,167,118,.15) 122deg,
     rgba(212,180,127,.94) 162deg,
     rgba(255,236,199,.52) 179deg,
     transparent 210deg, transparent 300deg,
     rgba(201,167,118,.22) 326deg,transparent 350deg);
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 1.5px));
  mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 1.5px));
  animation:schiller-orbit 18s linear infinite; opacity:.68;
}
.lux-signet::after {
  content:""; position:absolute; inset:3px; z-index:1; pointer-events:none;
  border-radius:50%; border:1px solid rgba(197,163,113,.13);
  box-shadow:inset 0 0 8px rgba(201,167,118,.06),0 0 15px rgba(201,167,118,.06);
  animation:schiller-halo 8s ease-in-out infinite;
}
:is(a.brand,a.wordmark,.admin-brand,.footer-brand,.cleaner-header .brand):hover .lux-signet::before,
:is(a.brand,a.wordmark,.admin-brand,.footer-brand,.cleaner-header .brand):focus-visible .lux-signet::before,
.lux-signet:hover::before{animation-duration:5s;opacity:1}
:is(a.brand,a.wordmark,.footer-brand):hover .monogram-letter,
:is(a.brand,a.wordmark,.footer-brand):focus-visible .monogram-letter{color:var(--luxe-brass);transition:color .5s ease}
/* When a mark is a desktop navigation brand or footer brand, the signet gets a little more air. */
.public-header .brand .lux-signet,
.public-footer .brand .lux-signet {margin-inline:3px 4px}
:is(.public-header .brand,.public-footer .brand,.sitebar .brand,.wordmark) .word,
:is(.public-header .brand,.public-footer .brand,.sitebar .brand,.wordmark) strong {transition:letter-spacing .45s cubic-bezier(.2,.8,.2,1)}
@media (hover:hover) and (pointer:fine) {
  :is(.public-header .brand,.public-footer .brand,.sitebar .brand,.wordmark):hover .word,
  :is(.public-header .brand,.public-footer .brand,.sitebar .brand,.wordmark):hover strong {letter-spacing:.205em}
  .premium-stay-card .stay-slide-photo img,
  .editorial-frame img,
  .street-story-photos img {transition:transform .9s cubic-bezier(.18,.78,.2,1),filter .65s ease}
  .premium-stay-card:hover .stay-slide-photo img,
  .editorial-frame:hover img,
  .street-story-photos figure:hover img {transform:scale(1.018)}
  .stay-slide-arrow {transition:background .25s ease,box-shadow .25s ease,scale .25s ease}
  .stay-slide-arrow:hover {scale:1.08;box-shadow:0 6px 20px #0b291b26}
  .stay-card-actions .btn,.hero-actions .btn,.public-header .nav .btn {
    transition:transform .25s ease,box-shadow .3s ease,background .25s ease;
  }
  .stay-card-actions .btn:hover,.hero-actions .btn:hover,.public-header .nav .btn:hover {
    box-shadow:0 9px 21px rgba(16,48,35,.18); transform:translateY(-2px)
  }
}
/* Brief first-view motion. Never conceal account fields, booking actions or other functional UI. */
@keyframes schiller-orbit {to {transform:rotate(360deg)}}
@keyframes schiller-halo {0%,100%{opacity:.3}50%{opacity:.84}}
@keyframes schiller-arrive {from{opacity:.0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}
@media (prefers-reduced-motion:no-preference) {
  .hero .container>h1{animation:schiller-arrive .82s cubic-bezier(.16,1,.3,1) both}
  .hero .container>.intro{animation:schiller-arrive .8s .12s both}
  .hero .hero-actions{animation:schiller-arrive .8s .2s both}
  .hero-stamp{box-shadow:0 0 0 1px rgba(236,212,164,.12);transition:box-shadow .5s ease}
  /* JS sets lux-reveal only for secondary editorial sections on the public website. */
  .lux-reveal{opacity:0;transform:translateY(14px);transition:opacity .8s ease,transform .85s cubic-bezier(.16,1,.3,1)}
  .lux-reveal.lux-visible{opacity:1;transform:translateY(0)}
}
@media (prefers-reduced-motion:reduce) {
  .lux-signet::before,.lux-signet::after{animation:none!important;transition:none!important;opacity:.45!important}
  .lux-reveal,.lux-reveal.lux-visible{opacity:1!important;transform:none!important;transition:none!important}
  .hero .container>h1,.hero .container>.intro,.hero .hero-actions{animation:none!important}
  .premium-stay-card img,.editorial-frame img,.street-story-photos img{transition:none!important;transform:none!important}
}
@media (max-width:600px){.lux-signet::before{inset:-3px}.lux-signet::after{inset:2px}}
