/* Scroll into the real sandbox, projected onto the photograph's laptop display. */
.home-walkthrough__container { width:min(calc(100% - 40px),1240px); margin-inline:auto; }
.home-walkthrough__container > .library-video-frame { width:100%; max-width:100%; }
.home-restyle .laptop-stage { position:relative; height:230svh; background:#171310; }
.home-restyle .laptop-sticky { position:sticky; top:0; height:100svh; overflow:hidden; isolation:isolate; }
.home-restyle .laptop-sticky::before,
.home-restyle .laptop-sticky::after { content:''; position:absolute; left:0; right:0; height:30%; z-index:1; pointer-events:none; }
.home-restyle .laptop-sticky::before { top:0; background:linear-gradient(to bottom,rgba(0,0,0,.8),transparent); }
.home-restyle .laptop-sticky::after { bottom:0; background:linear-gradient(to top,rgba(0,0,0,.8),transparent); }
.home-restyle .laptop-scene { position:absolute; width:1672px; height:941px; transform-origin:0 0; will-change:transform; }
.home-restyle .laptop-copy { position:relative; display:flex; flex-direction:column; align-items:center; gap:22px; margin:0 auto; padding:140px 24px 0; max-width:1100px; text-shadow:none; }
.home-restyle .laptop-highlight { display:inline-block; padding:7px 14px; border:1px solid #fff; border-radius:999px; background:rgba(0,0,0,.2); color:#fff; font:500 12px/1.2 Geist,sans-serif; letter-spacing:.04em; }
.home-restyle .laptop-copy > p { color:#fff; }
.home-restyle .laptop-copy a { text-shadow:none; }
.home-restyle .laptop-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:6px; }
.home-restyle .laptop-actions__button { display:inline-flex; align-items:center; justify-content:center; gap:8px; white-space:nowrap; min-height:48px; min-width:148px; padding:12px 24px; border-radius:999px; font:500 16px/1.4 Geist,sans-serif; text-decoration:none; transition:background-color .2s ease,color .2s ease; }
.home-restyle .laptop-actions__button svg { flex-shrink:0; }
.home-restyle .laptop-actions__button--primary { background:#6366f1; color:#fff; }
.home-restyle .laptop-actions__button--primary:hover { background:#4f46e5; }
.home-restyle .laptop-actions__button--secondary { background:#fff; color:#0f0f0f; }
.home-restyle .laptop-actions__button--secondary:hover { background:#e5e7eb; }
.home-restyle .laptop-actions__button:focus-visible { outline:3px solid #fff; outline-offset:4px; }
@media(max-width:359px) { .home-restyle .laptop-actions { width:100%; gap:8px; } .home-restyle .laptop-actions__button { flex:1; min-width:0; gap:6px; padding-inline:10px; font-size:13px; } }
@media(prefers-reduced-motion:reduce) { .home-restyle .laptop-actions__button { transition:none; } }

.home-restyle .laptop-room { position:absolute; inset:0; width:100%; height:100%; max-width:none; }
.home-restyle .laptop-screen { position:absolute; left:0; top:0; width:1600px; height:900px; transform-origin:0 0;
  transform:matrix3d(.2525,0,0,0,-.029530509,.2652946976,0,-.000034638956,0,0,1,0,635,359,0,1);
  overflow:hidden; background:#141414; }
.home-restyle .laptop-screen .sandbox-shot { padding:0; border:0; border-radius:0; width:100%; height:100%; background:none; backdrop-filter:none; box-shadow:none; }
.home-restyle .laptop-screen .sandbox-shot__media { height:100%; width:100%; aspect-ratio:auto; border-radius:0; }
.home-restyle .laptop-screen .sandbox-shot__media > img { width:100%; height:100%; object-fit:contain; object-position:center top; filter:none; }
.home-restyle .laptop-screen .sandbox-shot__veil { background:rgba(0,0,0,.25); pointer-events:none; }
.home-restyle .laptop-screen .sandbox-shot__cta { transform:translate(-50%,calc(-50% + 14px)) scale(var(--launch-scale,1)); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .65s ease, transform .65s cubic-bezier(.22,1,.36,1), visibility 0s linear .65s; }
.home-restyle .laptop-stage.is-zoomed .sandbox-shot__cta { transform:translate(-50%,-50%) scale(var(--launch-scale,1)); opacity:1; visibility:visible; pointer-events:auto; transition-delay:0s; }
.home-restyle .laptop-screen .sandbox-shot__cta a[data-sandbox-start],
.home-restyle .laptop-screen .sandbox-shot__cta a[data-sandbox-start]:hover,
.home-restyle .laptop-screen .sandbox-shot__cta a[data-sandbox-start]:focus-visible { color:#fff; }
.home-restyle .laptop-screen a[data-sandbox-start] { background:#6366F1; transition:background-color .2s ease; }
.home-restyle .laptop-screen a[data-sandbox-start]:hover { background:#4f46e5; }
.home-restyle .laptop-scroll-hint { position:absolute; left:50%; bottom:calc(32px + env(safe-area-inset-bottom, 0px)); transform:translateX(-50%); z-index:12; display:flex; align-items:center; gap:12px; padding:12px 16px; border:1px solid #ffffff50; border-radius:999px; background:#171310b3; color:#fff; font:500 13px/1.2 Geist, sans-serif; cursor:pointer; }
.home-restyle .laptop-scroll-hint[hidden] { display:none; }
.home-restyle .laptop-scroll-hint { text-transform:uppercase; letter-spacing:.08em; bottom:calc(32px + var(--hero-top-offset, 0px) + env(safe-area-inset-bottom, 0px)); }
.home-restyle .laptop-scroll-hint:hover { background:#171310; }
.home-restyle .laptop-scroll-hint:focus-visible { outline:2px solid #fff; outline-offset:4px; }
.home-restyle .laptop-scroll-hint svg { animation:laptop-scroll-cue 1.6s ease-in-out infinite; }
@keyframes laptop-scroll-cue { 0%,100% { transform:translateY(-4px); opacity:.55; } 50% { transform:translateY(5px); opacity:1; } }
@media (prefers-reduced-motion:reduce) {
  .home-restyle .laptop-screen .sandbox-shot__cta { transition:none; }
  .home-restyle .laptop-scroll-hint svg { animation:none; }
  .home-restyle .laptop-scene { will-change:auto; }
}
@media (max-width:639px) {
  .home-restyle .laptop-copy { gap:16px; padding:100px 20px 0; }
  .home-restyle .laptop-copy > p { font-size:13px; }
}
@media (max-width:767px) {
  .home-restyle .laptop-stage { height:100svh; }
  .home-restyle .laptop-scroll-hint { display:none; }
  .home-restyle .laptop-screen .sandbox-shot__cta {
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transition:none;
  }
}

.home-restyle > header { position:fixed; top:0; background:transparent; color:#fff; border-bottom:1px solid transparent; transition:top .45s cubic-bezier(.22,1,.36,1), background-color .3s ease, border-color .3s ease; }
.home-restyle > header.is-past-hero { top:var(--promo-height, 0px); background:#fff; color:#111; border-bottom-color:#e5e7eb; }
.home-restyle > .disruption-bar { position:fixed; top:0; left:0; right:0; z-index:51; }
.home-restyle > .disruption-bar { visibility:hidden; pointer-events:none; transform:translateY(-100%); transition:transform .45s cubic-bezier(.22,1,.36,1), visibility 0s linear .45s; }
.home-restyle > .disruption-bar.is-past-hero { visibility:visible; pointer-events:auto; transform:translateY(0); transition-delay:0s; }
.home-restyle > header nav,
.home-restyle > header a { color:#fff; }
.home-restyle > header.is-past-hero nav,
.home-restyle > header.is-past-hero a:not(.bg-white) { color:#111; }
.home-restyle > header a.bg-white { background:#6366F1; color:#fff; }
.home-restyle > header a.inline-flex.rounded-full.bg-white,
.home-restyle > header a.inline-flex.rounded-full.bg-white:hover,
.home-restyle > header a.inline-flex.rounded-full.bg-white:focus-visible,
.home-restyle > header button { color:#fff; }
.home-restyle > header nav a { transition:color .2s ease; }
.home-restyle > header nav a:hover,
.home-restyle > header nav a:focus-visible { color:#6366F1; }
.home-restyle > header a:not(.bg-white) { transition:color .2s ease; }
.home-restyle > header a:not(.bg-white):hover,
.home-restyle > header a:not(.bg-white):focus-visible { color:#6366F1; }
.home-restyle > header a.inline-flex.rounded-full.bg-white:hover,
.home-restyle > header a.inline-flex.rounded-full.bg-white:focus-visible { color:#fff; }
@media (prefers-reduced-motion:reduce) {
  .home-restyle > header,
  .home-restyle > .disruption-bar { transition:none; }
}
