:root{
  --bg:#020b11;
  --cyan:#6fe7ff;
  --line:rgba(111,231,255,.45);
  --text:#eefaff;
  --muted:#bdd3dd;
}
*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;background:var(--bg);color:var(--text);font-family:Segoe UI,Arial,sans-serif;overflow:hidden}
button{font:inherit}
.showcase{position:relative;width:100vw;height:100dvh;background:#020b11;overflow:hidden;touch-action:pan-y}
.slides{position:absolute;inset:0}
.slide{position:absolute;inset:0;opacity:0;transform:scale(1.012);transition:opacity 1.1s ease,transform 5s ease;pointer-events:none}
.slide.is-active{opacity:1;transform:scale(1);pointer-events:auto;z-index:2}
.slide picture,.slide img{display:block;width:100%;height:100%}
.slide img{object-fit:contain;background:#020b11;user-select:none;-webkit-user-drag:none}
.screen-ui{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);z-index:20;display:flex;flex-direction:column;align-items:center;gap:10px;filter:drop-shadow(0 2px 6px #000)}
.progress{width:min(330px,30vw);height:2px;background:rgba(255,255,255,.18);overflow:hidden;border-radius:2px}
.progress span{display:block;width:0;height:100%;background:var(--cyan)}
.dots{display:flex;gap:9px}
.dot{width:9px;height:9px;padding:0;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(120,190,220,.2);cursor:pointer}
.dot.is-active{background:var(--cyan);border-color:var(--cyan);box-shadow:0 0 12px rgba(111,231,255,.65)}
.nav{position:absolute;z-index:25;top:50%;transform:translateY(-50%);width:50px;height:72px;border:1px solid rgba(111,231,255,.15);background:rgba(1,12,18,.20);color:rgba(230,250,255,.75);font-size:54px;line-height:1;cursor:pointer;opacity:.12;transition:.25s;border-radius:6px;backdrop-filter:blur(4px)}
.nav:hover,.nav:focus-visible{opacity:.92;border-color:var(--line);outline:none}
.prev{left:12px}.next{right:12px}
.mobile-copy{display:none}

/* Fullscreen signage: 1920x1080 and other landscape monitors */
@media (orientation:landscape){
  .slide img{object-fit:contain}
}

/* Smartphone / portrait: artwork stays intact, key message is repeated large and readable. */
@media (max-width:699px), (orientation:portrait){
  html,body{overflow:auto}
  .showcase{min-height:100dvh;height:auto;overflow:hidden;padding-bottom:210px;background:linear-gradient(180deg,#020b11,#061823)}
  .slides{position:relative;width:100%;height:auto;aspect-ratio:16/9;margin-top:max(0px,env(safe-area-inset-top))}
  .slide{height:100%;}
  .slide img{object-fit:contain}
  .screen-ui{position:absolute;top:calc((100vw * .5625) + 10px);bottom:auto}
  .progress{width:42vw}
  .nav{top:calc((100vw * .5625)/2);width:38px;height:58px;font-size:42px;opacity:.45}
  .prev{left:4px}.next{right:4px}
  .mobile-copy{display:block;position:relative;z-index:10;padding:56px 24px 30px;background:linear-gradient(180deg,rgba(2,11,17,.55),#061823 25%,#061823);min-height:310px}
  .mobile-brand{font-weight:800;letter-spacing:3px;font-size:14px;margin-bottom:20px}
  .mobile-brand span{font-weight:400;color:var(--cyan);margin-left:7px}
  .mobile-copy h1{font-size:clamp(31px,9vw,48px);line-height:1.02;letter-spacing:-1.5px;margin:0 0 18px;max-width:650px}
  .mobile-copy p{font-size:18px;line-height:1.5;margin:0;max-width:680px;color:var(--muted)}
  .mobile-note{margin-top:24px;color:var(--cyan);font-size:12px;letter-spacing:2.4px}
}

@media (prefers-reduced-motion:reduce){
  .slide{transition:none;transform:none!important}
}
