/* First home visit only. Visual overlay: the page stays interactive beneath it. */
.site-intro { display:none; pointer-events:none; }
html[data-intro="play"] .site-intro {
  display:block;
  position:fixed;
  inset:0;
  z-index:1000;
  overflow:hidden;
  isolation:isolate;
  pointer-events:none;
  user-select:none;
  contain:layout paint style;
  animation:phosynd-intro-exit 2000ms linear both;
}
.site-intro__curtain {
  position:absolute;
  top:0;
  bottom:0;
  width:50.1%;
  background:var(--g0,#0e0e10);
  will-change:transform;
}
.site-intro__curtain--left {
  left:0;
  animation:phosynd-intro-left 2000ms cubic-bezier(.76,0,.24,1) both;
}
.site-intro__curtain--right {
  right:0;
  animation:phosynd-intro-right 2000ms cubic-bezier(.76,0,.24,1) both;
}
.site-intro__wordmark {
  position:absolute;
  left:50%;
  top:49%;
  display:block;
  color:var(--ink,#f3f1ec);
  font-family:var(--font-kr,Arial,Helvetica,sans-serif);
  font-size:clamp(62px,18vw,280px);
  font-weight:720;
  font-style:normal;
  font-kerning:normal;
  line-height:.9;
  letter-spacing:-.065em;
  white-space:nowrap;
  transform:translate(-50%,-50%);
  transform-origin:center bottom;
  backface-visibility:hidden;
  will-change:transform,opacity;
  animation:phosynd-intro-type 2000ms cubic-bezier(.22,.61,.36,1) both;
}
.site-intro__rule {
  position:absolute;
  left:14%;
  top:calc(49% + clamp(39px,9vw,142px));
  width:72%;
  height:2px;
  background:var(--signal,#e66b59);
  transform:scaleX(0);
  transform-origin:left center;
  will-change:transform;
  animation:phosynd-intro-rule 2000ms cubic-bezier(.65,0,.35,1) both;
}
@keyframes phosynd-intro-type {
  0%,12% { opacity:0; transform:perspective(900px) translate3d(-50%,calc(-50% + 72px),0) rotateX(38deg) scale(.88); }
  28% { opacity:1; transform:perspective(900px) translate3d(-50%,calc(-50% - 3px),0) rotateX(0deg) scale(1.015); }
  40%,55% { opacity:1; transform:perspective(900px) translate3d(-50%,-50%,0) rotateX(0deg) scale(1); }
  74%,100% { opacity:0; transform:perspective(900px) translate3d(-50%,calc(-50% - 28px),0) rotateX(-8deg) scale(1.025); }
}
@keyframes phosynd-intro-rule {
  0% { transform:scaleX(0); transform-origin:left center; }
  18%,54% { transform:scaleX(1); transform-origin:left center; }
  55% { transform:scaleX(1); transform-origin:right center; }
  74%,100% { transform:scaleX(0); transform-origin:right center; }
}
@keyframes phosynd-intro-left {
  0%,55% { transform:translateX(0); }
  100% { transform:translateX(-101%); }
}
@keyframes phosynd-intro-right {
  0%,55% { transform:translateX(0); }
  100% { transform:translateX(101%); }
}
/* This fallback ends the overlay even if intro.js never downloads or runs. */
@keyframes phosynd-intro-exit {
  0%,99.9% { visibility:visible; opacity:1; }
  100% { visibility:hidden; opacity:0; }
}
@media(prefers-reduced-motion:reduce) {
  html[data-intro="play"] .site-intro,.site-intro { display:none!important; animation:none!important; }
  .site-intro * { animation:none!important; }
}
