/* isola blue Yanbaru — calm reveal motion */
.iby-header {
  opacity: 0;
  transform: translateY(-14px);
}
.iby-page-ready .iby-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);
}

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

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

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

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

.iby-card .iby-card__image,
.iby-feature .iby-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);
}
.iby-card.is-visible .iby-card__image,
.iby-feature.is-visible .iby-feature__image {
  clip-path: inset(0 0 0 0);
  transform: scale(1);
}
.iby-card:nth-child(2) { transition-delay: .12s; }
.iby-card:nth-child(2) .iby-card__image { transition-delay: .12s; }
.iby-card__body > * {
  opacity: 0;
  transform: translateY(14px);
  transition: opacity .7s ease, transform .8s cubic-bezier(.22,1,.36,1);
}
.iby-card.is-visible .iby-card__body > * { opacity: 1; transform: none; }
.iby-card.is-visible .iby-card__body > :nth-child(1) { transition-delay: .45s; }
.iby-card.is-visible .iby-card__body > :nth-child(2) { transition-delay: .52s; }
.iby-card.is-visible .iby-card__body > :nth-child(3) { transition-delay: .6s; }
.iby-card.is-visible .iby-card__body > :nth-child(4) { transition-delay: .68s; }

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

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

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