/* Art-directed homepage: quiet typography, depth, and touch-first reel controls. */
.em-showcase { position: relative; background: #0d0e13; isolation: isolate; }
.em-showcase .parallax-slider { height: 100vh; height: 100svh; overflow: hidden; }
.em-showcase .parallax-slider .swiper-wrapper { transition-timing-function: cubic-bezier(.22,.72,.18,1); }
.em-showcase .parallax-slider .swiper-slide { height: 100%; min-height: 0 !important; padding: 0 !important; overflow: hidden; }
.em-showcase .parallax-slider .swiper-slide .bg-img { position: relative; height: 100%; min-height: 0; padding: 150px 0 140px; overflow: hidden; background: #101117; }
.em-showcase .em-slide-visual { position: absolute; inset: 0; background-position: center; background-size: cover; transform: scale(1.065); transition: transform 8s cubic-bezier(.2,.45,.35,1); }
.em-showcase .swiper-slide-active .em-slide-visual { transform: scale(1); }
.em-showcase .bg-img:before { z-index: 1; opacity: 1 !important; background: linear-gradient(90deg,rgba(8,9,16,.82),rgba(8,9,16,.12) 85%),linear-gradient(0deg,rgba(8,9,16,.9),transparent 50%); pointer-events: none; }
.em-showcase .bg-img > .container { position: relative; z-index: 2; overflow: visible; max-width: 1320px; padding-inline: 64px; }
.em-showcase .parallax-slider .caption { max-width: 1020px; }
.em-showcase .parallax-slider .caption h1 { font-size: clamp(38px,5.2vw,76px) !important; line-height: 1.13 !important; font-weight: 600; letter-spacing: -.045em; margin: 0; opacity: 1; visibility: visible; transform: none; transition: none; }
.em-showcase .parallax-slider .caption h1 a { display: block; }
.em-showcase .parallax-slider .caption h1 .stroke { display: block; font-size: .64em; font-weight: 400; margin-bottom: 18px; color: #e0dfe8; -webkit-text-stroke: 0; }
.em-showcase .parallax-slider .caption h1 a > span { display: block; max-width: 100%; overflow-wrap: break-word; }
.em-showcase .parallax-slider .caption h1 .bord { display: none; }
.em-slide-kicker { display: flex; align-items: center; gap: 14px; color: #d4c4fa; font-size: 11px !important; font-weight: 500; letter-spacing: .24em; margin: 0 0 30px; }
.em-slide-kicker:before { content: ''; width: 32px; height: 1px; background: #c4a7f5; }
.em-showcase .parallax-slider .caption .discover { position: relative; inset: auto; transform: none; width: max-content; height: auto; margin-top: 36px; border: 0; border-radius: 0; font-size: 12px; font-weight: 500; letter-spacing: .12em; opacity: 1; transition: none; }
.em-showcase .parallax-slider .caption .discover a { display: flex; align-items: center; gap: 20px; min-height: 48px; padding: 8px 0; color: white; }
.em-showcase .parallax-slider .caption .discover a:after { content: '↗'; display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid #ffffff55; border-radius: 50%; font-size: 21px; transition: background .25s,transform .25s; }
.em-showcase .parallax-slider .caption .discover a:hover:after { background: #ffffff20; transform: rotate(45deg); }
.em-showcase .parallax-slider .caption .discover span { position: static; transform: none; line-height: 1.5; }
.em-showcase .discover br { display: none; }
.em-showcase .caption .em-slide-kicker, .em-showcase .caption h1 .stroke, .em-showcase .caption h1 a > span, .em-showcase .caption .discover { opacity: 0 !important; transform: translate3d(0,26px,0); transition: opacity .7s ease,transform .9s cubic-bezier(.16,1,.3,1) !important; }
.em-showcase .swiper-slide-active .caption .em-slide-kicker, .em-showcase .swiper-slide-active .caption h1 .stroke, .em-showcase .swiper-slide-active .caption h1 a > span, .em-showcase .swiper-slide-active .caption .discover { opacity: 1 !important; transform: translate3d(0,0,0); }
.em-showcase .swiper-slide-active .caption .em-slide-kicker { transition-delay: .1s !important; }
.em-showcase .swiper-slide-active .caption h1 .stroke { transition-delay: .17s !important; }
.em-showcase .swiper-slide-active .caption h1 a > span { transition-delay: .25s !important; }
.em-showcase .swiper-slide-active .caption .discover { transition-delay: .34s !important; }
.em-showcase:not(.em-reel-ready) .caption .em-slide-kicker, .em-showcase:not(.em-reel-ready) .caption h1 .stroke, .em-showcase:not(.em-reel-ready) .caption h1 a > span, .em-showcase:not(.em-reel-ready) .caption .discover { opacity: 0 !important; transform: translate3d(0,26px,0); }
.em-reel-controls { position: absolute; z-index: 5; inset-inline: 64px; bottom: max(30px,env(safe-area-inset-bottom)); display: flex; align-items: center; gap: 14px; color: white; }
.em-reel-hint { font-size: 11px; letter-spacing: .12em; color: #d0cdd8; margin-inline-end: auto; }
.em-reel-count { font-size: 12px; font-variant-numeric: tabular-nums; letter-spacing: .15em; white-space: nowrap; }
.em-reel-track { display: flex; width: clamp(100px,22vw,320px); gap: 6px; margin-inline: 16px; }
.em-reel-dot { flex: 1; min-width: 0; height: 44px; padding: 20px 0; border: 0; border-radius: 0; background: transparent; position: relative; cursor: pointer; }
.em-reel-dot:before, .em-reel-dot > span { content: ''; position: absolute; top: 21px; inset-inline: 0; height: 2px; background: #ffffff30; border-radius: 2px; }
.em-reel-dot > span { background: #cab2fc; transform: scaleX(0); transform-origin: left; }
.em-reel-dot.is-past > span { transform: scaleX(1); background: #ffffff80; }
.em-reel-dot.is-current:before { background: #ffffffa0; }
.em-reel-button { flex: 0 0 44px; width: 44px; height: 44px; display: grid; place-items: center; background: #11121a55; -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border: 1px solid #ffffff40; border-radius: 50%; color: white; font-size: 19px; cursor: pointer; touch-action: manipulation; transition: background .25s,border-color .25s; }
.em-reel-button:last-child { font-size: 13px; }
.em-reel-button:hover { background: #ffffff20; border-color: #cbb4fa; }
.em-reel-button:disabled { opacity: .3; cursor: default; }
.em-reel-button:focus-visible, .em-reel-dot:focus-visible { outline: 2px solid #d2b8ff; outline-offset: 3px; }
.em-showcase .swiper-container-horizontal { touch-action: pan-y pinch-zoom; }
.em-showcase .swiper-container-vertical { touch-action: pan-x pinch-zoom; }
.em-reel-at-start .swiper-container-vertical { touch-action: pan-x pan-up pinch-zoom; }
.em-reel-at-end .swiper-container-vertical { touch-action: pan-x pan-down pinch-zoom; }
body:has(.em-showcase) .wa-float { left: auto; right: 28px; bottom: 110px; }
.em-reel-vertical .em-reel-button:not(:last-child) span { transform: rotate(90deg); }
[dir="rtl"] .em-showcase:not(.em-reel-vertical) .em-reel-button:not(:last-child) span { transform: scaleX(-1); }
.hamenu-open .em-showcase .em-slide-visual { transition-duration: 0s; }
[dir="rtl"] .em-showcase .bg-img:before { background: linear-gradient(270deg,rgba(8,9,16,.82),rgba(8,9,16,.12) 85%),linear-gradient(0deg,rgba(8,9,16,.9),transparent 50%); }
@media(max-width:768px) {
  .em-showcase .parallax-slider .swiper-slide .bg-img { align-items: flex-end; padding: 132px 0 154px; }
  .em-showcase .bg-img > .container { padding-inline: 26px; }
  .em-showcase .parallax-slider .caption h1 { font-size: clamp(34px,9.5vw,60px) !important; line-height: 1.14 !important; letter-spacing: -.035em; }
  .em-showcase .parallax-slider .caption h1 .stroke { font-size: .65em; margin-bottom: 12px; }
  .em-slide-kicker { margin-bottom: 23px; }
  .em-showcase .bg-img:before { background: linear-gradient(0deg,#090a12 0%,rgba(9,10,18,.75) 35%,rgba(9,10,18,.1) 80%,rgba(9,10,18,.55)); }
  .em-showcase .parallax-slider .caption .discover { margin-top: 24px; }
  .em-reel-controls { inset-inline: 26px; bottom: max(32px,env(safe-area-inset-bottom)); gap: 10px; flex-wrap: wrap; }
  .em-reel-track { position: absolute; bottom: 52px; inset-inline: 0; width: auto; margin: 0; }
  .em-reel-hint { display: none; }
  .em-reel-count { margin-inline-end: auto; }
  .em-showcase ~ .wa-float, body:has(.em-showcase) .wa-float { bottom: 122px; left: auto; right: 22px; min-width: 44px; height: 44px; }
  body:has(.em-showcase) .wa-icon { width: 44px; height: 44px; }
  body:has(.em-showcase) .wa-pulse { display: none; }
}
@media(max-height:600px) {
  .em-showcase .parallax-slider .swiper-slide .bg-img { padding-top: 100px; padding-bottom: 118px; }
  .em-showcase .parallax-slider .caption h1 { font-size: clamp(28px,5.2vw,46px) !important; }
  .em-slide-kicker { margin-bottom: 12px; }
  .em-showcase .parallax-slider .caption .discover { margin-top: 12px; }
}
@media(prefers-reduced-motion:reduce) {
  .em-showcase .em-slide-visual, .em-showcase .caption .em-slide-kicker, .em-showcase .caption h1 .stroke, .em-showcase .caption h1 a > span, .em-showcase .caption .discover { transition: none !important; transform: none; }
}
@media(max-height:480px) {
  .em-showcase .parallax-slider .swiper-slide .bg-img { padding-top: 94px; padding-bottom: 132px; }
  .em-showcase .caption .em-slide-kicker { display: none; }
  .em-showcase .parallax-slider .caption h1 { font-size: clamp(22px,3.6vw,28px) !important; }
  .em-showcase .parallax-slider .caption h1 .stroke { margin-bottom: 8px; }
  .em-showcase .parallax-slider .caption .discover { margin-top: 8px; }
  .em-showcase .parallax-slider .caption .discover a { min-height: 36px; padding: 0; }
  .em-showcase .parallax-slider .caption .discover a:after { width: 34px; height: 34px; }
}
