/* isola blue kouri — calm reveal motion */
.ibk-header {
  opacity: 0;
  transform: translateY(-14px);
}
.ibk-page-ready .ibk-header {
  opacity: 1;
  transform: none;
  transition: height .35s, background .35s, color .35s, box-shadow .35s,
              opacity .8s .1s ease, transform .8s .1s cubic-bezier(.22,1,.36,1);
}

.ibk-hero__media {
  transform: scale(1.045);
  filter: brightness(.88);
  transition: transform 2.4s cubic-bezier(.22,1,.36,1),
              filter 1.5s ease;
}
.ibk-page-ready .ibk-hero__media {
  transform: scale(1);
  filter: brightness(1);
}

.ibk-hero__copy > * {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .9s ease, transform 1s cubic-bezier(.22,1,.36,1);
}
.ibk-page-ready .ibk-hero__copy > * { opacity: 1; transform: none; }
.ibk-page-ready .ibk-hero__copy > :nth-child(1) { transition-delay: .35s; }
.ibk-page-ready .ibk-hero__copy > :nth-child(2) { transition-delay: .52s; }
.ibk-page-ready .ibk-hero__copy > :nth-child(3) { transition-delay: .7s; }

.ibk-scroll {
  opacity: 0;
  transform: translateY(-12px);
  transition: opacity .8s 1.05s ease, transform .8s 1.05s ease;
}
.ibk-page-ready .ibk-scroll { opacity: 1; transform: none; }
.ibk-scroll span { transform-origin: top; animation: ibk-scroll-line 2.2s 1.5s ease-in-out infinite; }
@keyframes ibk-scroll-line {
  0%,100% { transform: scaleY(.15); opacity: .35; }
  45% { transform: scaleY(1); opacity: 1; }
}

.ibk-reveal {
  opacity: 0;
  transform: translateY(38px);
  transition: opacity 1s ease, transform 1.05s cubic-bezier(.22,1,.36,1);
}
.ibk-reveal.is-visible { opacity: 1; transform: none; }

.ibk-card .ibk-card__image,
.ibk-feature .ibk-feature__image {
  clip-path: inset(0 0 100% 0);
  transform: scale(1.035);
  transition: clip-path 1.15s cubic-bezier(.76,0,.24,1),
              transform 1.4s cubic-bezier(.22,1,.36,1);
}
.ibk-card.is-visible .ibk-card__image,
.ibk-feature.is-visible .ibk-feature__image {
  clip-path: inset(0 0 0 0);
  transform: scale(1);
}
.ibk-card:nth-child(2) { transition-delay: .12s; }
.ibk-card:nth-child(2) .ibk-card__image { transition-delay: .12s; }
.ibk-card__body > * {
  opacity: 0;
  transform: translateY(14px);
  transition: opacity .7s ease, transform .8s cubic-bezier(.22,1,.36,1);
}
.ibk-card.is-visible .ibk-card__body > * { opacity: 1; transform: none; }
.ibk-card.is-visible .ibk-card__body > :nth-child(1) { transition-delay: .45s; }
.ibk-card.is-visible .ibk-card__body > :nth-child(2) { transition-delay: .52s; }
.ibk-card.is-visible .ibk-card__body > :nth-child(3) { transition-delay: .6s; }
.ibk-card.is-visible .ibk-card__body > :nth-child(4) { transition-delay: .68s; }

.ibk-button,
.ibk-card a,
.ibk-cta a {
  transition: color .35s ease, background-color .35s ease,
              border-color .35s ease, transform .35s ease;
}
@media (hover:hover) {
  .ibk-button:hover,.ibk-card a:hover,.ibk-cta a:hover { transform: translateY(-3px); }
}

@media (prefers-reduced-motion: reduce) {
  .ibk-header,.ibk-hero__media,.ibk-hero__copy>* ,.ibk-scroll,
  .ibk-reveal,.ibk-card .ibk-card__image,.ibk-feature .ibk-feature__image,
  .ibk-card__body>* { opacity:1; transform:none; clip-path:none; animation:none; transition:none; }
}

@media (max-width: 1080px) {
  .ibk-nav,
  .ibk-header__reserve { display: none; }
  .ibk-menu-button { display: block; margin-left: auto; }
}
