/* One-shot interaction details. Scroll and photographic motion live in motion.css. */
.button,
.project-enquire {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.button::before,
.project-enquire::before {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
  inset-block: -60%;
  left: -65%;
  width: 48%;
  background: linear-gradient(100deg, transparent, #ffffff38, transparent);
  transform: skewX(-18deg);
  opacity: 0;
}
.button:focus-visible::before,
.project-enquire:focus-visible::before {
  animation: alvera-sweep .85s cubic-bezier(.2,.7,.2,1) both;
}
.button:active:not(:disabled) {
  transform: translateY(0) scale(.985);
  transition-duration: .12s;
}
.hero-actions .button:first-child::after,
.contact-form .button::after,
.project-enquire > span[aria-hidden="true"]:last-child {
  display: inline-block;
  flex-shrink: 0;
}
.hero-actions .button:first-child:focus-visible::after,
.contact-form .button:focus-visible::after,
.project-enquire:focus-visible > span[aria-hidden="true"]:last-child {
  animation: alvera-arrow .65s cubic-bezier(.2,.7,.2,1) both;
}
.project-disclosure summary {
  transition: color .3s;
}
.project-disclosure summary:focus-visible {
  color: var(--gold-deep);
}
.project-hotel .project-disclosure summary:focus-visible {
  color: var(--gold);
}
.details-plus {
  transition: transform .45s cubic-bezier(.2,.8,.2,1), opacity .3s;
}
.project-disclosure[open] .project-benefits > li {
  animation: alvera-detail .48s cubic-bezier(.2,.7,.2,1) both;
}
.project-disclosure[open] .project-benefits > li:nth-child(2) { animation-delay: .065s; }
.project-disclosure[open] .project-benefits > li:nth-child(3) { animation-delay: .13s; }
.contact-form :is(input:not([type="checkbox"]),select,textarea),
.investor-form :is(input:not([type="checkbox"]),select) {
  background-image: linear-gradient(var(--gold-deep),var(--gold-deep));
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 0 1px;
  transition: border-color .3s, background-size .45s cubic-bezier(.2,.7,.2,1);
}
.contact-form :is(input:not([type="checkbox"]),select,textarea):focus,
.investor-form :is(input:not([type="checkbox"]),select):focus {
  background-size: 100% 1px;
}
.language-switcher button,
.modal-close {
  transition: background .25s, color .25s, border-color .25s;
}
.modal-close:focus-visible { background: #142d4e0a; border-color: var(--gold-deep); }
@media (hover:hover) and (pointer:fine) {
  .button:not(:disabled):hover::before,
  .project-enquire:not(:disabled):hover::before {
    animation: alvera-sweep .85s cubic-bezier(.2,.7,.2,1) both;
  }
  .hero-actions .button:first-child:hover::after,
  .contact-form .button:not(:disabled):hover::after,
  .project-enquire:hover > span[aria-hidden="true"]:last-child {
    animation: alvera-arrow .65s cubic-bezier(.2,.7,.2,1) both;
  }
  .project-disclosure summary:hover { color: var(--gold-deep); }
  .project-hotel .project-disclosure summary:hover { color: var(--gold); }
  .language-switcher button:hover { color: var(--gold-deep); background: #ad8c5109; }
  .modal-close:hover { background: #142d4e0a; border-color: var(--gold-deep); }
}
@media (max-width:980px) {
  .main-nav.open > a,
  .main-nav.open .mobile-nav-tools {
    animation: alvera-menu .65s cubic-bezier(.16,1,.3,1) both;
  }
  .main-nav.open > a:nth-child(1) { animation-delay: .04s; }
  .main-nav.open > a:nth-child(2) { animation-delay: .10s; }
  .main-nav.open > a:nth-child(3) { animation-delay: .16s; }
  .main-nav.open > a:nth-child(4) { animation-delay: .22s; }
  .main-nav.open .mobile-nav-tools { animation-name: alvera-tools; animation-delay: .16s; }
}
@keyframes alvera-sweep {
  0% { opacity: 0; transform: translateX(0) skewX(-18deg); }
  12% { opacity: 1; }
  85% { opacity: 1; }
  100% { opacity: 0; transform: translateX(400%) skewX(-18deg); }
}
@keyframes alvera-arrow {
  0%,100% { transform: translate(0,0); opacity: 1; }
  42% { transform: translate(10px,-10px); opacity: 0; }
  43% { transform: translate(-8px,8px); opacity: 0; }
}
@keyframes alvera-tools {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes alvera-menu {
  from { opacity: 0; transform: translateY(28px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes alvera-detail {
  from { opacity: 0; transform: translateY(9px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion:reduce) {
  .button::before,
  .project-enquire::before { display: none; }
  .button,
  .project-enquire,
  .hero-actions .button:first-child::after,
  .contact-form .button::after,
  .project-enquire > span[aria-hidden="true"]:last-child,
  .project-disclosure summary,
  .details-plus,
  .project-disclosure[open] .project-benefits > li,
  .main-nav.open > a,
  .main-nav.open .mobile-nav-tools,
  .contact-form :is(input,select,textarea),
  .investor-form :is(input,select),
  .language-switcher button,
  .modal-close { animation: none !important; transition: none !important; }
  .button:active:not(:disabled) { transform: none; }
}
