.bayou-intro {
  position:fixed; inset:0; z-index:10000; overflow:hidden;
  background:#fffdf8; color:#071947; isolation:isolate;
}
.bayou-intro[hidden] { display:none; }
.bayou-intro-shot {
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  opacity:0; transition:opacity .18s ease; pointer-events:none;
}
.bayou-intro-shot.is-active { opacity:1; }
.bayou-intro-shot:first-of-type { object-position:50% 50%; }
.bayou-intro-shot:nth-of-type(2) { object-position:50% 50%; }
.bayou-intro-logo {
  position:absolute; inset:0; display:flex; flex-direction:column;
  align-items:center; justify-content:center; background:#fffdf8;
  opacity:0; pointer-events:none; transition:opacity .25s ease;
}
.bayou-intro-logo.is-active { opacity:1; }
.bayou-intro-logo img {
  height:82vh; height:82svh; max-width:90vw; width:auto; object-fit:contain;
  mix-blend-mode:multiply; margin-top:-2vh; transform:scale(.94);
  mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent),
    linear-gradient(to bottom,transparent,#000 4%,#000 96%,transparent);
  mask-composite:intersect;
}
.bayou-intro-logo.is-active img { animation:bayou-intro-logo .7s cubic-bezier(.2,.8,.2,1) both; }
body[data-page="home"] .bayou-intro-tagline {
  font:600 3vmin/1.4 "Cormorant Garamond",Georgia,serif; color:#b8924a;
  letter-spacing:.42em; text-transform:uppercase; padding-left:.42em;
  margin:-1vh 16px 0; text-align:center; opacity:0;
}
.bayou-intro-logo.is-active .bayou-intro-tagline { animation:bayou-intro-tagline .4s .5s both; }
.bayou-intro-skip {
  position:absolute; right:max(24px,env(safe-area-inset-right)); bottom:max(24px,env(safe-area-inset-bottom));
  z-index:2; border:1px solid #07194733; border-radius:999px; padding:12px 20px;
  background:#fffdf8ed; color:#071947; cursor:pointer; font:500 13px/1.4 "DM Sans",sans-serif;
}
.bayou-intro-skip:focus-visible { outline:3px solid #b8924a; outline-offset:4px; }
@keyframes bayou-intro-logo { from { transform:scale(.94); opacity:0; } to { transform:scale(1); opacity:1; } }
@keyframes bayou-intro-tagline { from { transform:translateY(6px); opacity:0; } to { transform:translateY(0); opacity:1; } }
@media(max-width:640px) {
  .bayou-intro-logo img { width:92vw; height:auto; max-height:78svh; }
  body[data-page="home"] .bayou-intro-tagline { font-size:clamp(12px,3.2vw,18px); letter-spacing:.2em; margin-top:12px; }
}
@media(prefers-reduced-motion:reduce) { .bayou-intro { display:none!important; } }
