.site-popup {
   position: fixed;
   inset: 0;
   z-index: 10050;
   display: flex;
   align-items: center;
   justify-content: center;
   padding: clamp(1rem, 4vw, 2rem);
}

.site-popup[hidden] {
   display: none;
}

.site-popup__backdrop {
   position: absolute;
   inset: 0;
   background: rgba(60, 60, 60, 0.42);
   backdrop-filter: blur(3px);
}

.site-popup__dialog {
   position: relative;
   z-index: 1;
   width: min(100%, 32rem);
   max-height: min(88vh, 36rem);
   overflow: auto;
   padding: clamp(1.5rem, 4vw, 2.1rem);
   border-radius: 1.5rem;
   background: rgba(255, 255, 255, 0.98);
   border: 1px solid rgba(195, 168, 67, 0.3);
   box-shadow:
      0 28px 70px rgba(60, 60, 60, 0.18),
      0 0 0 1px rgba(255, 255, 255, 0.65) inset;
   animation: site-popup-rise 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.site-popup__close {
   position: absolute;
   top: 0.85rem;
   right: 0.95rem;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 2.25rem;
   height: 2.25rem;
   border: 0;
   border-radius: 999px;
   background: rgba(60, 60, 60, 0.06);
   color: #3C3C3C;
   font-size: 1.45rem;
   line-height: 1;
   cursor: pointer;
   transition: background 0.2s ease, color 0.2s ease;
}

.site-popup__close:hover {
   background: rgba(195, 168, 67, 0.18);
   color: var(--color-accent, #C3A843);
}

.site-popup__eyebrow {
   margin: 0 0 0.45rem;
   font-size: 0.68rem;
   font-weight: 600;
   letter-spacing: 0.22em;
   text-transform: uppercase;
   color: var(--color-accent, #C3A843);
}

.site-popup__title {
   margin: 0 0 1rem;
   padding-right: 2rem;
   font-size: clamp(1.2rem, 2.6vw, 1.45rem);
   font-weight: 500;
   line-height: 1.25;
   color: #3C3C3C;
}

.site-popup__body {
   display: flex;
   flex-direction: column;
   gap: 0.85rem;
}

.site-popup__body p {
   margin: 0;
   font-size: clamp(0.98rem, 2vw, 1.08rem);
   font-weight: 300;
   line-height: 1.65;
   color: rgba(60, 60, 60, 0.88);
}

.site-popup__actions {
   margin-top: 1.35rem;
}

.site-popup__btn {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   min-height: 2.75rem;
   padding: 0.7rem 1.4rem;
   border: 1px solid var(--color-accent, #C3A843);
   border-radius: 999px;
   background: var(--color-accent, #C3A843);
   color: #fff;
   font: inherit;
   font-size: 0.82rem;
   font-weight: 500;
   letter-spacing: 0.08em;
   text-transform: uppercase;
   cursor: pointer;
   transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.site-popup__btn:hover {
   background: var(--color-accent-hover, #b39738);
   border-color: var(--color-accent-hover, #b39738);
   transform: translateY(-1px);
}

@keyframes site-popup-rise {
   from {
      opacity: 0;
      transform: translateY(12px) scale(0.98);
   }

   to {
      opacity: 1;
      transform: translateY(0) scale(1);
   }
}

@media (prefers-reduced-motion: reduce) {
   .site-popup__dialog {
      animation: none;
   }

   .site-popup__btn:hover {
      transform: none;
   }
}
