.pt-home-mosaic{position:relative;isolation:isolate;padding:110px 0 132px;overflow:hidden;background:#fff}
.pt-home-mosaic>.pt-shell{width:min(calc(100vw - 32px),1720px);max-width:none;margin-inline:auto}
/* The housing includes white padding above its frame. Keep the complete heading in front of that padding. */
.pt-home-mosaic-head{position:relative;z-index:2;width:min(100%,1120px);margin:0 auto 44px;padding-bottom:14px;overflow:visible}
.pt-home-mosaic-head .pt-kicker{color:#8d48eb}.pt-home-mosaic-head .pt-kicker::before{background:#8d48eb}
.pt-home-mosaic-head .pt-display{margin-top:17px;font-size:clamp(42px,5vw,76px);line-height:.9}.pt-home-mosaic-head .pt-display em{color:#20bee9}
/* The housing and live windows share the 1672 × 941 source coordinate space. */
.pt-mosaic-device{position:relative;z-index:1;width:100%;height:clamp(430px,45vw,700px);margin:0 auto;padding:0;isolation:isolate}
.pt-mosaic-artboard{position:absolute;left:-4.6%;top:-20.4%;width:109.4%;height:141.6%;isolation:isolate}
.pt-mosaic-artboard>.pt-mosaic-housing{position:absolute;z-index:0;inset:0;display:block;width:100%;height:100%;max-width:none;object-fit:fill;pointer-events:none;user-select:none}
/* Cover the reference photos only inside the black display recess. */
.pt-mosaic-artboard::before{content:"";position:absolute;z-index:1;left:6.519139%;right:6.638756%;top:21.041445%;bottom:25.079702%;border-radius:2% / 6%;background:#050708;pointer-events:none}
.pt-mosaic-screen{position:absolute;z-index:2;left:7.595694%;right:8.014354%;top:23.379384%;bottom:26.673751%;display:grid;grid-template-columns:302fr 375fr 369fr 299fr;grid-template-rows:234fr 212fr;grid-template-areas:"left wide wide right" "left medium small right";column-gap:1.559178%;row-gap:5.106383%;min-width:0;min-height:0;padding:0;border:0;border-radius:12px;background:#050708}
.pt-mosaic-panel{position:relative;min-width:0;min-height:0;overflow:hidden;border:1px solid rgba(255,255,255,.25);border-radius:13px;background:#06090a;box-shadow:0 0 0 2px #090c0e,0 7px 16px rgba(0,0,0,.46)}.pt-mosaic-panel.is-left{grid-area:left}.pt-mosaic-panel.is-wide{grid-area:wide}.pt-mosaic-panel.is-medium{grid-area:medium}.pt-mosaic-panel.is-small{grid-area:small}.pt-mosaic-panel.is-right{grid-area:right}.pt-mosaic-panel::before{content:"";position:absolute;z-index:5;inset:0;border:2px solid var(--mosaic-accent,#20bee9);border-radius:inherit;opacity:.22;pointer-events:none}
.pt-mosaic-panel img,.pt-mosaic-panel video{display:block;width:100%;height:100%;object-fit:cover;object-position:center;background:#080b0d;transition:opacity .32s ease,transform .7s cubic-bezier(.2,.75,.2,1)}.pt-mosaic-panel.is-changing img,.pt-mosaic-panel.is-changing video{opacity:0;transform:scale(1.035)}
.pt-mosaic-panel-copy{position:absolute;z-index:4;right:0;bottom:0;left:0;padding:50px 18px 16px;color:#fff;background:linear-gradient(0deg,rgba(4,6,7,.96),rgba(4,6,7,.72) 45%,transparent);text-shadow:0 1px 5px rgba(0,0,0,.55)}.pt-mosaic-panel-copy small{display:block;margin-bottom:5px;color:var(--mosaic-accent,#20bee9);font-size:clamp(7px,.58vw,10px);font-weight:950;letter-spacing:.1em;text-transform:uppercase}.pt-mosaic-panel-copy strong{display:block;font:950 clamp(15px,1.25vw,24px)/.98 var(--pt-font-punch);letter-spacing:-.025em;text-transform:uppercase}.pt-mosaic-panel-copy p{max-width:96%;margin:6px 0 0;font-size:clamp(9px,.7vw,12px);line-height:1.34}.pt-mosaic-panel.is-small .pt-mosaic-panel-copy p{display:none}
.pt-mosaic-dots{position:absolute;z-index:7;top:10px;right:10px;display:flex;gap:4px;padding:5px 6px;border:1px solid rgba(255,255,255,.14);border-radius:99px;background:rgba(5,8,9,.68);backdrop-filter:blur(8px)}.pt-mosaic-dots button{width:6px;height:6px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.45);cursor:pointer}.pt-mosaic-dots button.is-active{width:18px;border-radius:5px;background:var(--mosaic-accent,#20bee9)}
@media(max-width:1040px){.pt-home-mosaic{padding:84px 0 105px}.pt-home-mosaic-head{margin-bottom:34px}.pt-mosaic-device{min-height:500px}.pt-mosaic-panel-copy{padding:38px 12px 12px}.pt-mosaic-panel-copy p{display:none}}
@media(max-width:700px){.pt-home-mosaic{padding:66px 0 84px}.pt-home-mosaic>.pt-shell{width:calc(100vw - 18px)}.pt-home-mosaic-head{width:calc(100% - 18px);margin-bottom:28px}.pt-home-mosaic-head .pt-display{font-size:clamp(34px,11vw,49px)}.pt-mosaic-device{min-height:720px}.pt-mosaic-screen{grid-template-columns:1fr 1fr;grid-template-rows:1.18fr .94fr .94fr;grid-template-areas:"wide wide" "left medium" "small right";gap:8px}.pt-mosaic-panel{border-radius:9px}.pt-mosaic-panel-copy{padding:34px 10px 10px}.pt-mosaic-panel-copy small{font-size:7px}.pt-mosaic-panel-copy strong{font-size:14px}.pt-mosaic-dots{top:6px;right:6px}}
@media(max-width:420px){.pt-mosaic-device{min-height:650px}.pt-mosaic-panel-copy small,.pt-mosaic-panel-copy p{display:none}.pt-mosaic-panel-copy strong{font-size:12px}.pt-mosaic-dots button{width:5px;height:5px}.pt-mosaic-dots button.is-active{width:13px}}
@media(prefers-reduced-motion:reduce){.pt-mosaic-panel img,.pt-mosaic-panel video{transition:none}.pt-mosaic-panel.is-changing img,.pt-mosaic-panel.is-changing video{opacity:1;transform:none}}


/* 76.193.18 — banner premium final com cinza escuro alinhado ao fundo do site. */
.pt-home-mosaic-head.pt-home-premium-banner{
  width:100%;
  max-width:none;
  margin:0 auto 34px;
  padding:0;
  overflow:hidden;
  border-radius:0;
  background:#242a31;
}
.pt-home-premium-banner-title{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  margin:-1px!important;
  padding:0!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  border:0!important;
}
.pt-home-premium-banner-image{
  display:block;
  width:100%;
  height:auto;
  margin:0;
  object-fit:contain;
  object-position:center;
  background:#242a31;
}
@media(max-width:700px){
  .pt-home-mosaic-head.pt-home-premium-banner{width:100%;margin-bottom:22px;}
  .pt-home-premium-banner-image{width:100%;height:auto;}
}

/* 76.193.18 — encaixe final: banner sobe, fica full-bleed e encosta no videowall. */
.pt-home-mosaic{
  padding-top:0!important;
}
.pt-home-mosaic>.pt-shell{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
.pt-home-mosaic-head.pt-home-premium-banner{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  border-radius:0!important;
  overflow:hidden!important;
}
.pt-home-premium-banner-image{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  margin:0!important;
  object-fit:cover!important;
  object-position:center!important;
}
.pt-mosaic-device{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
@media(max-width:700px){
  .pt-home-mosaic{padding-top:0!important;}
  .pt-home-mosaic>.pt-shell{width:100%!important;}
  .pt-home-mosaic-head.pt-home-premium-banner{width:100%!important;margin:0!important;}
  .pt-home-premium-banner-image{width:100%!important;height:auto!important;}
  .pt-mosaic-device{width:100%!important;margin:0!important;}
}


/* 76.193.18 hotfix — monitor frame in front of the premium banner image. */
.pt-home-mosaic-head.pt-home-premium-banner{
  position:relative!important;
  z-index:1!important;
}
.pt-mosaic-device{
  position:relative!important;
  z-index:6!important;
  margin-top:-14px!important;
}
.pt-mosaic-artboard,
.pt-mosaic-artboard > .pt-mosaic-housing,
.pt-frame-live-mark,
.pt-mosaic-screen{
  pointer-events:auto;
}


/* 76.193.18 — faixa neon fina sob o videowall, mantendo a moldura do monitor na frente. */
.pt-home-mosaic{
  padding-bottom:0!important;
}
.pt-home-neon-spacer{
  position:relative;
  z-index:1;
  width:100%;
  height:clamp(170px,16vw,250px);
  margin:0;
  overflow:hidden;
  background:#111820;
}
.pt-home-neon-spacer-image{
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center 76%;
  margin:0;
}
@media(max-width:700px){
  .pt-home-neon-spacer{height:220px;}
  .pt-home-neon-spacer-image{object-position:center 72%;}
}


/* v76.193.53 — estabilidade visual: troca de mídia sem quadro vazio/piscada. */
.pt-mosaic-panel img,.pt-mosaic-panel video{transition:none!important;}
.pt-mosaic-panel.is-changing img,.pt-mosaic-panel.is-changing video{opacity:1!important;transform:none!important;}

/* v76.194.23 — mobile only: raise Premium Tools tablet 10px from v76.194.22; net offset remains 20px lower than baseline. */
@media(max-width:700px){
  .pt-home-mosaic .pt-mosaic-device{
    margin-top:6px!important;
  }
}

/* v76.194.24 — mobile only: new neon floor image immediately below Premium Tools monitor. */
.pt-home-neon-spacer-picture{display:block;width:100%;height:100%;}
@media(max-width:700px){
  .pt-home-neon-spacer{height:150px;overflow:hidden;}
  .pt-home-neon-spacer-picture{display:block;width:100%;height:100%;}
  .pt-home-neon-spacer-image{display:block;width:100%;height:100%;object-fit:cover;object-position:center center;}
}


/* v76.194.27 — mobile only: raise the neon footer image and the following block 100px closer to the Premium Tools monitor. */
@media(max-width:700px){
  .pt-home-neon-spacer{
    margin-top:-50px!important;
  }
}

/* 76.198.4 — dynamic content count stays inside each original window. */
.pt-mosaic-dots{max-width:calc(100% - 16px);box-sizing:border-box;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-x:contain}.pt-mosaic-dots::-webkit-scrollbar{display:none}.pt-mosaic-dots button{flex:0 0 6px}.pt-mosaic-dots button.is-active{flex-basis:18px}.pt-mosaic-dots button:focus-visible{outline:2px solid #fff;outline-offset:2px}.pt-mosaic-placeholder{position:absolute;inset:0;display:grid;place-items:center;padding:20px;color:#bdcbd2;text-align:center;font:700 12px/1.4 Arial,sans-serif;background:#111b20}.pt-mosaic-placeholder[hidden],.pt-mosaic-panel>[hidden]{display:none!important}.pt-mosaic-play{position:absolute;z-index:6;left:50%;top:35%;transform:translate(-50%,-50%);border:1px solid #fff9;border-radius:20px;padding:8px 12px;background:#111c;color:#fff;font:700 10px Arial;cursor:pointer}@media(max-width:420px){.pt-mosaic-dots button{flex-basis:5px}.pt-mosaic-dots button.is-active{flex-basis:13px}}
