/* 115 Schiller v0.9.1 — Riverlight Motion
   Two quiet decorative gestures: the "A Good Place to Land" seal and a
   locator beacon. CSS only; the booking interface is deliberately untouched.
   The wordmark, hero copy, and map remain readable without animation. */

/* Welcome seal: fixed center, calm brass orbital and a subtle luminosity cycle. */
.hero .hero-stamp {
  isolation:isolate;
  overflow:visible;
  border-color:rgba(238,221,184,.62);
  background-color:rgba(20,52,43,.87);
  box-shadow:0 15px 38px rgba(8,27,21,.16),inset 0 0 22px rgba(238,215,176,.045);
  backface-visibility:hidden;
}
.hero .hero-stamp > div,
.hero .hero-stamp > small {position:relative;z-index:2}
.hero .hero-stamp::before {
  content:"";
  position:absolute;
  inset:-9px;
  z-index:1;
  border-radius:50%;
  pointer-events:none;
  background:conic-gradient(from -27deg,
    transparent 0deg,
    transparent 105deg,
    rgba(220,187,134,.10) 144deg,
    rgba(246,222,178,.94) 168deg,
    rgba(220,187,134,.12) 198deg,
    transparent 235deg,
    transparent 360deg);
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 1.8px),#000 calc(100% - 1.3px));
  mask:radial-gradient(farthest-side,transparent calc(100% - 1.8px),#000 calc(100% - 1.3px));
  opacity:.78;
}
.hero .hero-stamp::after {
  content:"";
  position:absolute;
  inset:6px;
  z-index:0;
  pointer-events:none;
  border-radius:50%;
  border:1px solid rgba(235,216,175,.22);
  box-shadow:inset 0 0 21px rgba(237,220,183,.065);
}

/* In the illustrated map, the icon is a consistent vector house, not a font glyph.
   Static house remains perfectly visible if a visitor has reduced motion enabled. */
.location-section .map-art {isolation:isolate}
.location-section .map-pin {
  z-index:2;
  width:50px;height:50px;
  font-size:0;
  line-height:0;
  background-color:#153e32;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f6f4e9' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3.5 10 8.5-7 8.5 7v10a1 1 0 0 1-1 1h-15a1 1 0 0 1-1-1z'/%3E%3Cpath d='M9.5 21v-7h5v7'/%3E%3C/svg%3E");
  background-position:center;
  background-size:22px 22px;
  background-repeat:no-repeat;
  box-shadow:0 0 0 10px rgba(32,77,58,.13),0 8px 20px rgba(18,53,42,.14);
}
.location-section .map-pin::before,
.location-section .map-pin::after {
  content:"";
  position:absolute;
  inset:-8px;
  border-radius:50%;
  border:1.5px solid rgba(24,93,70,.45);
  box-shadow:0 0 0 2px rgba(237,247,232,.045);
  pointer-events:none;
  opacity:0;
}
@media (prefers-reduced-motion:no-preference) {
  .hero .hero-stamp {animation:sch-riverlight-seal 10s ease-in-out infinite}
  .hero .hero-stamp::before {animation:sch-riverlight-orbit 24s linear infinite}
  .hero .hero-stamp::after {animation:sch-riverlight-inner 10s ease-in-out infinite}
  .location-section .map-pin::before {animation:sch-riverlight-beacon 5.4s ease-out infinite}
  .location-section .map-pin::after {animation:sch-riverlight-beacon 5.4s ease-out -2.7s infinite}
}
@keyframes sch-riverlight-orbit {to {transform:rotate(360deg)}}
@keyframes sch-riverlight-seal {
  0%,100% {background-color:rgba(20,52,43,.87);box-shadow:0 15px 38px rgba(8,27,21,.16),inset 0 0 22px rgba(238,215,176,.045)}
  50% {background-color:rgba(23,58,46,.91);box-shadow:0 17px 43px rgba(8,27,21,.18),0 0 24px rgba(238,208,156,.14),inset 0 0 24px rgba(238,215,176,.095)}
}
@keyframes sch-riverlight-inner {0%,100% {opacity:.55}50% {opacity:1}}
@keyframes sch-riverlight-beacon {
  0% {transform:scale(.88);opacity:0}
  12% {opacity:.45}
  67% {opacity:.22}
  100% {transform:scale(3.25);opacity:0}
}
@media (prefers-reduced-motion:reduce) {
  .hero .hero-stamp,
  .hero .hero-stamp::before,
  .hero .hero-stamp::after,
  .location-section .map-pin::before,
  .location-section .map-pin::after {
    animation:none!important;
    transition:none!important;
  }
  .location-section .map-pin::before,
  .location-section .map-pin::after {opacity:0!important}
  .hero .hero-stamp::before {opacity:.6}
}
/* Small screens already omit the hero seal to protect text and booking controls.
   Map beacon stays at its original size and its pulses never affect layout. */
@media(max-width:760px){
  .hero .hero-stamp{display:none}
  .location-section .map-pin{width:46px;height:46px;background-size:20px 20px}
}
