/* Homepage only. The independently published /ghost-ball/ experience is unchanged. */
html.marketing-page { height: auto; min-height: 100%; overflow-x: clip; overflow-y: auto; scroll-padding-top: 80px; }
html.marketing-page.demo-open { height: 100%; overflow: hidden; }
body.marketing-home.catalog { height: auto; min-height: 100%; overflow: visible; background: #0c0d12; }
.marketing-home { --home-paper: #f1f0eb; --home-muted: #adb0bd; }
.marketing-home.catalog .topbar { background: #0c0d12eb; backdrop-filter: blur(18px); border-bottom: 1px solid #ffffff12; height: 80px; gap: 22px; }
.marketing-home.catalog .brand { font-size: 12px; letter-spacing: 3px; min-height: 44px; }
.marketing-home.catalog #gallery-links { display: none; }
.marketing-home.catalog #language { min-height: 44px; font-size: 12px; }
.home-nav { display: flex; align-items: center; gap: 24px; margin-left: auto; font-size: 13px; }
.home-nav a { display: inline-flex; align-items: center; min-height: 44px; color: #d0d1da; }
.home-nav a:hover { color: #fff; }
.home-nav button { font-size: 11px; min-height: 44px; padding: 8px; color: #bbb1cd; border: 1px solid #ffffff20; border-radius: 22px; }
.home-login { display: inline-flex; align-items: center; justify-content: center; gap: 12px; padding: 10px 17px; min-height: 44px; white-space: nowrap; font-size: 13px; border: 1px solid #ffffff38; border-radius: 30px; }
.home-menu { display: none; }
.marketing-home.catalog .top-actions { margin-left: 0; }
body:not(.catalog) .home-nav, body:not(.catalog) .home-login, body:not(.catalog) .home-menu,
body:not(.catalog) #home-content, body:not(.catalog) #home-dock { display: none !important; }
.marketing-home.catalog #world-gallery { position: relative; inset: auto; width: 100%; height: max(850px,100svh); isolation: isolate; }
.marketing-home.catalog #wake { position: absolute; }
.marketing-home .gallery-title { left: 5vw; top: 17%; width: 31%; z-index: 21; }
.marketing-home #gallery-kicker { font-size: 10px; line-height: 1.7; color: #c3bfcb; }
.marketing-home #gallery-heading { font-size: clamp(38px,4.4vw,76px); letter-spacing: -.055em; line-height: 1.02; }
@media(min-width:951px) { .marketing-home .orbit-world.offset-m1 { left: 19%; top: 61%; width: 170px; height: 210px; }.marketing-home .orbit-world.offset-m2 { left: 6%; top: 70%; width: 130px; height: 170px; } }
.hero-explainer { font-size: 16px; line-height: 1.7; color: #bfc0cc; max-width: 285px; margin: 24px 0; }
.hero-learn { display: inline-flex; align-items: center; gap: 18px; min-height: 44px; font-size: 13px; color: #f1f0eb; pointer-events: auto; border-bottom: 1px solid #ffffff40; }
.marketing-home .gallery-selector { bottom: 170px; left: 44%; }
.marketing-home #gallery-info { top: 49%; left: 72%; width: 27%; padding: 12px; }
.marketing-home #gallery-name { font-size: clamp(28px,3vw,44px); }
.marketing-home #gallery-description { font-size: 14px; }
.marketing-home #gallery-details { font-size: 12px; }
.marketing-home #enter-world { font-size: 13px; min-height: 46px; }
.marketing-home #quiet-world, .marketing-home #zoom-world { font-size: 12px; min-height: 44px; }
.marketing-home #gallery-footer { bottom: 78px; font-size: 10px; align-items: center; }
.marketing-home #gallery-notice { font-size: 11px; line-height: 1.5; }
.marketing-home #gallery-hint { font-size: 9px; }
.marketing-home .world-dot { height: 44px; }
.marketing-home #world-slider { height: 28px; }
.hero-scroll { position: absolute; bottom: 17px; left: 5vw; right: 5vw; border-top: 1px solid #ffffff25; padding-top: 15px; display: flex; align-items: center; justify-content: space-between; min-height: 44px; color: #e7e2ed; z-index: 20; font-size: 12px; }
.hero-scroll span:last-child { font-size: 21px; }
.marketing-home.hero-away #world-gallery *, .marketing-home.gallery-paused #home-content * { animation-play-state: paused !important; }
#home-content { position: relative; z-index: 1; background: #0c0d12; font-size: 16px; line-height: 1.7; }
#home-content h2, #home-content h3, #home-content p { margin-top: 0; }
#home-content h2 { font-size: clamp(34px,4.4vw,64px); letter-spacing: -.055em; line-height: 1.08; font-weight: 450; margin-bottom: 25px; text-wrap: balance; }
#home-content h3 { font-size: 21px; font-weight: 500; line-height: 1.3; letter-spacing: -.5px; }
.home-wrap { max-width: 1360px; margin: auto; padding: 110px 5vw; }
.home-wrap > *, .home-preview > *, .home-lane > div { min-width: 0; }
#home-content section[tabindex="-1"]:focus { outline: none; }
.home-eyebrow { font: 11px/1.7 ui-monospace,monospace; letter-spacing: 2px; text-transform: uppercase; color: #b7b2d5; margin-bottom: 25px; }
.home-lead { font-size: 18px; color: var(--home-muted); max-width: 610px; }
.home-split { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: center; gap: 80px; }
.home-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; margin-top: 28px; }
.home-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 22px; min-height: 48px; padding: 12px 22px; border-radius: 30px; border: 1px solid #ffffff36; font-size: 14px; line-height: 1.5; font-weight: 500; }
.home-button.primary { color: #121219; background: #e4dbff; border-color: #e4dbff; }
.home-button:hover { color: #fff; border-color: #c7b7f6; }
.home-button.primary:hover { color: #161022; background: #f0eaff; }
.home-note { font-size: 12px; line-height: 1.7; color: #a1a3b3; margin-top: 18px !important; }
.home-pill { display: inline-flex; align-items: center; font: 10px/1.4 ui-monospace,monospace; text-transform: uppercase; letter-spacing: 1px; padding: 6px 9px; border: 1px solid #ffffff2b; border-radius: 20px; color: #c1b9d6; }
.home-intro { border-top: 1px solid #ffffff12; }
.home-intro .home-lead { max-width: 460px; }
.home-presence { width: min(100%,450px); aspect-ratio: 1; position: relative; margin: auto; display: grid; place-items: center; overflow: clip; background: radial-gradient(ellipse,#9182b526,transparent 70%); }
.presence-ring { position: absolute; inset: 8%; border: 1px solid #a897dc35; border-radius: 50%; transform: rotateX(54deg) rotateZ(-28deg); }
.presence-ring.two { inset: 0%; transform: rotateX(20deg) rotateY(48deg) rotateZ(28deg); border-color: #c2b9df26; }
.presence-orb { display: block; width: 44%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 30% 20%,#f4dfffad,transparent 40%),repeating-radial-gradient(ellipse at 65% 45%,#160d25 0 8%,#69518d 10% 12%,#191126 14% 22%); box-shadow: inset -20px -22px 30px #000a,inset 5px 6px 15px #e1c2ff8c,0 0 70px #b88cff24; animation: presence-float 9s ease-in-out infinite; }
.presence-label { position: absolute; padding: 8px 15px; border: 1px solid #ffffff24; border-radius: 20px; background: #111218ed; font-size: 12px; color: #dad7e2; }
.presence-label:nth-of-type(1) { left: 0; top: 26%; }.presence-label:nth-of-type(2) { right: 0; top: 26%; }.presence-label:nth-of-type(3) { bottom: 15%; }
.home-proofline { grid-column: 1/-1; display: grid; grid-template-columns: repeat(3,1fr); gap: 30px; border-top: 1px solid #ffffff20; padding-top: 35px; }
.home-proofline strong { display: block; font-size: 24px; font-weight: 450; margin-bottom: 6px; }
.home-proofline span { color: #afb0bf; font-size: 14px; }
.home-day { background: var(--home-paper); color: #202029; }
.home-day .home-eyebrow { color: #625274; }
.home-day .home-lead { color: #65616d; }
.home-day .home-note { color: #696474; }
.home-tabs { display: flex; flex-wrap: wrap; border-bottom: 1px solid #27233725; gap: 8px; margin: 32px 0; padding-bottom: 12px; }
.home-tabs button { padding: 11px 15px; min-height: 44px; border-radius: 24px; font-size: 13px; color: #625970; border: 1px solid transparent; }
.home-tabs button[aria-selected=true] { color: #241535; border-color: #c7b8da; background: #e2d7ee; }
.home-preview { padding: 28px; border: 1px solid #ffffff1a; border-radius: 24px; color: #f1ecfa; background: radial-gradient(ellipse at 100% 0,#5a3f7833,transparent 80%),#17151e; box-shadow: 0 25px 70px #24203924; }
.preview-top { display: flex; justify-content: space-between; align-items: center; gap: 16px; font-size: 12px; margin-bottom: 34px; }
.preview-brand { display: flex; gap: 10px; align-items: center; letter-spacing: 2px; }
.preview-orb { width: 32px; height: 32px; border-radius: 50%; background: radial-gradient(circle at 30% 25%,#f7dcff,#85649d 28%,#241830 70%,#b99bdf); box-shadow: 0 0 20px #c49cff2a; }
.preview-question { font-size: 22px; line-height: 1.3; letter-spacing: -.7px; max-width: 370px; margin-bottom: 28px; }
.preview-row { display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 18px 0; border-top: 1px solid #ffffff19; font-size: 13px; }
.preview-row small { display: block; color: #aaa4b6; font-size: 12px; margin-top: 4px; }
.preview-status { font-size: 11px; color: #e8c97e; white-space: nowrap; }
.preview-status.quiet { color: #a9d6c7; }
.preview-reply { margin-top: 24px; background: #c3a6ef12; border: 1px solid #c3a6ef26; border-radius: 14px; padding: 16px; color: #cdc4db; font-size: 13px; line-height: 1.75; }
.home-worlds { background: linear-gradient(165deg,#121019,#0c0d12 70%); }
.home-section-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 50px; margin-bottom: 38px; }
.home-section-heading .home-lead { max-width: 380px; font-size: 16px; }
.home-world-grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid #ffffff1c; border-left: 1px solid #ffffff1c; }
.home-world { display: grid; grid-template-columns: 68px 1fr 18px; align-items: center; gap: 22px; padding: 28px; min-height: 142px; border-radius: 0; border-right: 1px solid #ffffff1c; border-bottom: 1px solid #ffffff1c; text-align: left; color: #eeebf5; transition: background .25s; }
.home-world:hover { color: #fff; background: rgba(var(--orb-color),.065); }
.home-world .planet-art { width: 64px; height: 64px; box-shadow: inset -10px -10px 18px #000b,inset 2px 2px 6px #ffffff77,0 5px 22px #0004; transition: transform .4s; }
.home-world:hover .planet-art { transform: rotate(5deg) scale(1.08); }
.home-world strong { display: block; font-weight: 500; font-size: 17px; letter-spacing: -.3px; }
.home-world small { display: block; font-size: 12px; color: #b3acbf; margin-top: 5px; line-height: 1.6; }
.home-world .world-arrow { color: #bcaed1; }
.home-loop { padding-top: 0; }
.home-steps { display: grid; grid-template-columns: repeat(4,1fr); gap: 28px; margin-top: 50px; }
.home-step { border-top: 1px solid #ffffff35; padding-top: 24px; }
.home-step .step-num { color: #a291bd; font: 12px ui-monospace,monospace; }
.home-step h3 { margin-top: 28px !important; margin-bottom: 14px; }
.home-step p { font-size: 14px; color: #b3afbf; }
.home-connections { background: #181820; border-top: 1px solid #ffffff16; }
.home-lanes { border-top: 1px solid #ffffff26; }
.home-lane { display: grid; grid-template-columns: 40px 1fr auto; gap: 16px; padding: 28px 0; border-bottom: 1px solid #ffffff26; align-items: start; }
.home-lane>span:first-child { color: #bfb3d8; font: 12px/2 ui-monospace,monospace; }
.home-lane strong { font-size: 18px; font-weight: 450; }
.home-lane p { font-size: 13px; color: #a9a4b7; margin: 8px 0 0; line-height: 1.7; }
.home-lane .home-pill { margin-top: 4px; }
.home-control { background: var(--home-paper); color: #25232d; }
.home-control .home-eyebrow { color: #625274; }
.home-control .home-lead { color: #696272; }
.home-control .home-step { border-color: #22212a33; }
.home-control .home-step p { color: #696272; }
.home-control .home-steps { grid-template-columns: repeat(3,1fr); }
.home-control .step-num { color: #736282; }
.home-faq { display: grid; grid-template-columns: .8fr 1.2fr; gap: 90px; }
.home-faq details { padding: 23px 0; border-top: 1px solid #ffffff26; }
.home-faq details:last-child { border-bottom: 1px solid #ffffff26; }
.home-faq summary { font-size: 17px; line-height: 1.5; min-height: 44px; cursor: pointer; list-style: none; padding: 8px 30px 8px 0; position: relative; }
.home-faq summary::after { content: "+"; position: absolute; right: 0; top: 5px; font-size: 23px; color: #b5a7d2; }
.home-faq details[open] summary::after { content: "−"; }
.home-faq summary::-webkit-details-marker { display: none; }
.home-faq details p { font-size: 14px; color: #b6b0c4; margin: 15px 0 6px; }
.home-faq summary:focus-visible { outline: 2px solid #c0a0fa; outline-offset: 4px; }
.home-closing { text-align: center; position: relative; overflow: hidden; background: radial-gradient(ellipse at 50% 110%,#7e58a93d,transparent 65%); border-top: 1px solid #ffffff19; }
.home-closing .home-lead { margin-left: auto; margin-right: auto; }
.home-closing .home-actions { justify-content: center; }
.home-closing h2 { max-width: 750px; margin-left: auto; margin-right: auto; }
.home-footer { border-top: 1px solid #ffffff24; padding-top: 35px; padding-bottom: 80px; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 30px; font-size: 12px; color: #b9b2c8; }
.home-footer nav { display: flex; gap: 22px; flex-wrap: wrap; }
.home-footer a { min-height: 44px; display: inline-flex; align-items: center; }
.home-footer .brand { color: #efecf6; }
#home-dock { position: fixed; bottom: max(20px,env(safe-area-inset-bottom)); right: 24px; z-index: 48; padding: 9px 16px 9px 9px; border: 1px solid #bda4e64d; border-radius: 32px; background: #18141ff2; box-shadow: 0 8px 35px #0006; display: flex; align-items: center; gap: 12px; font-size: 13px; color: #eee6fa; }
.home-noscript { padding: 110px 5vw 30px; }
@keyframes presence-float { 50% { transform: translateY(-9px) rotate(5deg); } }
@media(min-width:1600px) { .marketing-home .gallery-title { left: calc((100% - 1440px)/2); }.marketing-home #gallery-info { left: 72%; } }
@media(max-width:1100px) {
 .home-nav { gap: 15px; font-size: 12px; }
 .home-split { gap: 40px; }.home-world { padding: 22px 16px; grid-template-columns: 48px 1fr 12px; gap: 12px; }.home-world .planet-art { width: 46px; height: 46px; }
 .home-faq { gap: 50px; }.home-lane { grid-template-columns: 28px 1fr; }.home-lane .home-pill { grid-column: 2; width: max-content; }
 .hero-explainer { font-size: 14px; max-width: 245px; }.marketing-home #gallery-heading { font-size: 45px; }
}
@media(max-width:950px) {
 html.marketing-page { scroll-padding-top: 70px; }
 .marketing-home.catalog .topbar { height: 70px; padding: 0 20px; gap: 12px; }
 .marketing-home.catalog .brand { letter-spacing: 2px; font-size: 11px; }
 .marketing-home.catalog .brand-emblem { width: 27px; height: 27px; }
 .marketing-home.catalog .top-actions { margin-left: auto; }
 .marketing-home.catalog .home-login { padding: 8px 13px; font-size: 12px; order: 4; }
 .home-menu { display: inline-grid; place-items: center; font-size: 20px; width: 44px; height: 44px; order: 5; padding: 6px; border: 1px solid #ffffff22; }
 .home-nav { display: none; position: absolute; left: 12px; right: 12px; top: 74px; padding: 16px; border: 1px solid #ffffff26; border-radius: 16px; background: #15131dfc; margin: 0; box-shadow: 0 20px 40px #0005; }
 .home-nav.open { display: flex; flex-direction: column; align-items: stretch; gap: 0; }
 .home-nav a { min-height: 48px; font-size: 14px; padding: 10px; }
 .marketing-home.catalog #world-gallery { height: max(960px,100svh); }
 .marketing-home .gallery-title { top: 110px; left: 22px; width: calc(100% - 44px); }
 .marketing-home #gallery-heading { font-size: 40px; max-width: 320px; }
 .marketing-home #gallery-kicker { font-size: 9px; margin-bottom: 12px; }
 .hero-explainer { max-width: 300px; margin: 14px 0 6px; font-size: 13px; }
 .hero-learn { font-size: 12px; min-height: 44px; }
 .marketing-home.catalog #wake,.marketing-home.catalog[data-scene=sleep] #wake { top: 44%; width: 340px; height: 340px; }
 .marketing-home.catalog.inspect-world #wake { top: 44%; width: 410px; height: 410px; }
 .marketing-home .orbit-world.offset-m1 { top: 44%; left: -4%; }.marketing-home .orbit-world.offset-p1 { top: 39%; left: 104%; }
 .marketing-home .ground-ring { top: 56%; }
 .marketing-home #gallery-info { top: 56%; left: 20px; right: 20px; width: auto; }
 .marketing-home #gallery-name { font-size: 30px; margin: 9px 0; }
 .marketing-home #gallery-description { font-size: 13px; display: block; }
 .marketing-home #gallery-details { font-size: 11px; margin-bottom: 12px; }
 .marketing-home #enter-world { font-size: 12px; min-height: 46px; }
 .marketing-home #quiet-world { font-size: 11px; }
 .marketing-home #zoom-world { position: absolute; top: -265px; right: 0; font-size: 11px; }
 .marketing-home .gallery-arrows { inset: 43% 12px auto; }
 .marketing-home .gallery-arrows button { width: 44px; height: 44px; }
 .marketing-home .gallery-selector { bottom: 155px; left: 50%; width: calc(100% - 44px); }
 .marketing-home #gallery-footer { bottom: 68px; left: 22px; right: 22px; font-size: 9px; display: grid; gap: 8px 12px; }
 .marketing-home #gallery-notice { font-size: 10px; line-height: 1.5; }
 .marketing-home #gallery-mode { max-width: none; }
 .marketing-home #gallery-hint { font-size: 8px; }
 .hero-scroll { font-size: 11px; bottom: 12px; }
 .home-wrap { padding: 75px 6vw; }.home-split { grid-template-columns: minmax(0,1fr); gap: 35px; }
 .home-intro .home-split { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }.home-intro .home-proofline { grid-column: 1/-1; }
 .home-section-heading { display: block; }.home-section-heading .home-lead { max-width: 540px; }
 .home-world-grid { grid-template-columns: repeat(2,1fr); }.home-world:last-child { grid-column: 1/-1; }
 .home-steps { grid-template-columns: repeat(2,1fr); gap: 28px; }
 .home-loop { padding-top: 0; }.home-faq { grid-template-columns: 1fr; gap: 20px; }
 .home-preview { max-width: 650px; width: 100%; }.home-day .home-split>div:first-child { max-width: 630px; }
 .home-footer { padding-top: 30px; padding-bottom: 90px; }.home-lane { grid-template-columns: 30px 1fr auto; }.home-lane .home-pill { grid-column: auto; }
}
@media(max-width:600px) {
 .home-intro .home-split { grid-template-columns: minmax(0,1fr); }.home-presence { width: min(310px,100%); }.home-proofline { gap: 20px; grid-template-columns: minmax(0,1fr); }.home-proofline>div { display: flex; align-items: baseline; gap: 18px; }.home-proofline strong { font-size: 21px; min-width: 76px; }
 #home-content h2 { font-size: 36px; }.home-lead { font-size: 16px; }.home-eyebrow { font-size: 10px; }
 .home-world { grid-template-columns: 40px 1fr; padding: 22px 12px; gap: 10px; min-height: 126px; }.home-world .world-arrow { display: none; }.home-world .planet-art { width: 38px; height: 38px; }.home-world strong { font-size: 14px; }.home-world small { font-size: 11px; }.home-world:last-child { grid-column: auto; }
 .home-preview { padding: 20px; }.preview-top { gap: 8px; }.preview-top .home-pill { font-size: 8px; }.preview-question { font-size: 21px; }.preview-row { gap: 10px; }.preview-status { font-size: 10px; }
 .home-tabs { gap: 4px; }.home-tabs button { padding: 10px 12px; font-size: 12px; }
 .home-control .home-steps { grid-template-columns: 1fr; }.home-step h3 { font-size: 19px; margin-top: 20px !important; }
 .home-lane { grid-template-columns: 24px 1fr; }.home-lane .home-pill { grid-column: 2; }
 .home-footer nav { gap: 16px; }.home-footer { gap: 14px; }.home-button { font-size: 13px; }
 #home-dock { right: 14px; bottom: 14px; font-size: 12px; }
}
@media(max-width:360px) {
 .marketing-home.catalog .topbar { padding: 0 10px; gap: 7px; }.marketing-home.catalog .brand { font-size: 10px; gap: 5px; letter-spacing: 1px; }.marketing-home.catalog .brand-emblem { width: 24px; height: 24px; }.marketing-home.catalog #language { padding: 8px 3px; }.home-menu { width: 40px; min-width: 40px; }.marketing-home.catalog .home-login { padding: 8px 10px; }
 .marketing-home.catalog #world-gallery { height: max(980px,100svh); }.marketing-home .gallery-title { top: 100px; }.marketing-home #gallery-heading { font-size: 36px; }.marketing-home.catalog #wake,.marketing-home.catalog[data-scene=sleep] #wake { width: 300px; height: 300px; }.marketing-home #gallery-info { top: 56%; }.marketing-home #gallery-name { font-size: 28px; }.marketing-home .gallery-selector { bottom: 170px; }.marketing-home #gallery-notice { font-size: 10px; }
 .marketing-home #enter-world { gap: 5px; font-size: 11px; padding: 10px; }.marketing-home .gallery-actions { gap: 8px; }
 .home-world-grid { grid-template-columns: 1fr; }.home-world { grid-template-columns: 48px 1fr 16px; min-height: 100px; }.home-world .world-arrow { display: block; }.home-world strong { font-size: 16px; }
}
@media(prefers-reduced-motion:reduce) { .presence-orb { animation: none; }.home-world .planet-art { transition: none; } }
