:root{--paper:#f0efe9;--ink:#11110f;--acid:#e8ff59;--red:#ff4a3d;--violet:#8065ff;--blue:#4874ff;--green:#b7e7b0;--line:rgba(17,17,15,.18);--ease:cubic-bezier(.76,0,.24,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}body.menu-open,body.entry-open{overflow:hidden}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit}::selection{background:var(--ink);color:var(--paper)}
#ambientCanvas{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;opacity:.24}.grain{position:fixed;inset:-50%;pointer-events:none;z-index:90;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E");animation:grain .2s steps(2) infinite}@keyframes grain{0%{transform:translate(0)}25%{transform:translate(2%,-3%)}50%{transform:translate(-3%,2%)}75%{transform:translate(3%,4%)}100%{transform:translate(-2%,-3%)}}.progress{position:fixed;left:0;top:0;height:3px;background:var(--acid);z-index:110;width:0;mix-blend-mode:difference}
.cursor{width:74px;height:74px;border:1px solid rgba(255,255,255,.9);border-radius:50%;position:fixed;z-index:130;pointer-events:none;transform:translate(-50%,-50%) scale(.35);opacity:0;display:grid;place-items:center;mix-blend-mode:difference;transition:width .2s,height .2s,transform .2s,opacity .2s}.cursor.active{opacity:1;transform:translate(-50%,-50%) scale(1)}.cursor span{font-size:10px;color:#fff;letter-spacing:.12em}.cursor.has-label{width:86px;height:86px}.cursor.down{transform:translate(-50%,-50%) scale(.78)}
.entry{position:fixed;inset:0;z-index:100;background:#020405;color:#fff;padding:24px 28px;display:flex;flex-direction:column;justify-content:space-between;transition:clip-path 1.15s var(--ease),visibility 1.15s;overflow:hidden}.entry-bg{position:absolute;inset:-4%;z-index:0;background-image:url("assets/landing-background.jpg");background-size:cover;background-position:center center;background-repeat:no-repeat;transform:translate3d(var(--bg-x,0px),var(--bg-y,0px),0) scale(1.06);will-change:transform;transition:transform .22s cubic-bezier(.2,.7,.2,1)}.entry::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.05) 48%,rgba(0,0,0,.25));pointer-events:none}.entry::after{content:"";position:absolute;inset:-12%;z-index:1;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(255,225,184,.115) 0,rgba(255,225,184,.055) 10%,transparent 27%);mix-blend-mode:screen;pointer-events:none;transition:opacity .25s}.entry.leave{clip-path:inset(0 0 100% 0);visibility:hidden}.entry-top,.entry-bottom{position:relative;z-index:3;display:flex;justify-content:space-between;gap:30px;font-size:11px;text-transform:uppercase;letter-spacing:.09em}.entry-mark{position:absolute;inset:12% 2% 23%;display:flex;justify-content:space-between;align-items:center;z-index:2;overflow:hidden}.entry-mark span{font-weight:800;font-size:min(29vw,390px);line-height:.7;letter-spacing:-.12em;animation:entryLetters 1.1s var(--ease) both}.entry-mark span:nth-child(2){animation-delay:.06s}.entry-mark span:nth-child(3){animation-delay:.12s}.entry-mark span:nth-child(4){animation-delay:.18s}.entry-mark span:nth-child(5){animation-delay:.24s}@keyframes entryLetters{from{transform:translateY(120%) rotate(7deg)}to{transform:none}}.entry-bottom{align-items:flex-end}.entry-bottom p{font-size:clamp(15px,1.7vw,23px);line-height:1.25;letter-spacing:-.015em;text-transform:none;max-width:590px;margin:0}.entry-actions{display:flex;align-items:center;gap:18px}.round-link{border:1px solid #fff;background:#fff;color:#111;border-radius:999px;padding:14px 18px;min-width:112px;display:flex;justify-content:space-between;gap:20px;cursor:pointer}.text-button{border:0;background:none;color:#aaa;font-size:11px;text-transform:uppercase;letter-spacing:.08em;cursor:pointer}
.nav{position:fixed;top:0;left:0;right:0;z-index:70;display:flex;justify-content:space-between;align-items:center;padding:19px 24px;color:#fff;mix-blend-mode:difference;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.logo{font-weight:800}.nav-right{display:flex;gap:22px;align-items:center}.nav-button{border:0;background:none;padding:0;cursor:pointer;text-transform:uppercase;font-size:12px}.menu-toggle{display:flex;align-items:center;gap:9px}.menu-toggle i{width:8px;height:8px;border-radius:50%;background:currentColor;display:block;transition:transform .3s}.menu-toggle[aria-expanded="true"] i{transform:scale(2.1)}
.menu{position:fixed;inset:0;background:#121210;color:#fff;z-index:60;padding:90px 26px 25px;transform:translateY(-102%);transition:transform .8s var(--ease);display:flex;flex-direction:column}.menu.open{transform:none}.menu-noise{position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,#35335e55,transparent 24%),radial-gradient(circle at 20% 80%,#60342c44,transparent 24%);pointer-events:none}.menu-links{position:relative;z-index:1;border-top:1px solid #343431}.menu-links a{display:grid;grid-template-columns:60px 1fr 40px;align-items:center;border-bottom:1px solid #343431;padding:5px 0;overflow:hidden}.menu-links span,.menu-links em{font-size:11px;color:#85857e;font-style:normal}.menu-links strong{font-size:clamp(52px,9vw,135px);line-height:.92;letter-spacing:-.07em;font-weight:600;transition:transform .35s}.menu-links a:hover strong{transform:translateX(2vw)}.menu-foot{margin-top:auto;display:flex;justify-content:space-between;color:#777;font-size:11px;text-transform:uppercase}
.scene{position:relative;z-index:1}.hero{min-height:100svh;overflow:hidden;background:linear-gradient(135deg,#f3eee7,#cfcbc9 42%,#ded7e7 72%,#e8b7a7);padding:17vh 3.5vw 4vh;display:flex;flex-direction:column}.hero-radiance{position:absolute;width:64vw;aspect-ratio:1;border-radius:50%;right:-15vw;top:-15vw;background:radial-gradient(circle at 33% 28%,#fff 0 6%,#fbab9b 18%,#8f77ff 40%,#20243b 62%,transparent 63%);filter:blur(1px);opacity:.75;mix-blend-mode:screen;animation:floatOrb 9s ease-in-out infinite alternate}@keyframes floatOrb{to{transform:translate(-5vw,7vh) rotate(18deg)}}.hero-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8vh;position:relative}.hero-title{font-weight:700;font-size:clamp(66px,12.2vw,178px);line-height:.73;letter-spacing:-.078em;margin:0;position:relative;z-index:2}.hero-title span{display:block}.hero-title .outline{color:transparent;-webkit-text-stroke:1.5px var(--ink);transform:translateX(6vw)}.dot{color:var(--red)}.hero-intro{font-size:clamp(16px,2vw,27px);line-height:1.16;letter-spacing:-.03em;max-width:600px;margin:auto 0 0 42vw;position:relative;z-index:2}.hold-zone{position:absolute;right:9vw;bottom:10vh;width:125px;height:125px;display:grid;place-items:center;z-index:4;user-select:none}.hold-ring{width:105px;height:105px;border-radius:50%;position:relative;display:grid;place-items:center;text-align:center;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.hold-ring svg{position:absolute;inset:0;transform:rotate(-90deg)}.hold-ring circle{fill:none;stroke:rgba(17,17,15,.24);stroke-width:1}.hold-ring .hold-progress{stroke:var(--ink);stroke-width:2;stroke-dasharray:339.3;stroke-dashoffset:339.3}.hero-index{display:flex;gap:30px;font-size:10px;text-transform:uppercase;position:absolute;left:3.5vw;bottom:3.5vh}
.world{height:100svh;background:#10100f;color:#fff;overflow:hidden}.section-label{position:absolute;top:90px;left:3.5vw;display:flex;gap:25px;font-size:10px;text-transform:uppercase;z-index:10}.world-copy{position:absolute;left:3.5vw;top:25%;z-index:5;pointer-events:none}.world-copy p{text-transform:uppercase;font-size:10px;letter-spacing:.1em}.world-copy h2{font-size:clamp(60px,10vw,150px);line-height:.78;letter-spacing:-.065em;margin:18px 0;font-weight:500}.world-viewport{position:absolute;inset:0;overflow:hidden;touch-action:none}.world-plane{position:absolute;width:180vw;height:145vh;left:-40vw;top:-20vh;will-change:transform}.artifact{position:absolute;width:310px;height:410px;background:#ddd;color:#111;padding:17px;box-shadow:0 35px 100px #0008;overflow:hidden}.artifact>span,.artifact>small{position:absolute;z-index:2;text-transform:uppercase;font-size:10px;letter-spacing:.08em}.artifact>span{top:15px;left:15px}.artifact>small{bottom:15px;right:15px}.artifact-shape{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.artifact-a{left:15%;top:8%;background:#ff695d;transform:rotate(-9deg)}.artifact-b{left:42%;top:13%;background:#b4a2ff;transform:rotate(6deg)}.artifact-c{left:68%;top:43%;background:#ddd;transform:rotate(-5deg)}.artifact-d{left:31%;top:63%;background:#f6e667;transform:rotate(9deg)}.artifact-e{left:79%;top:5%;background:#acdcb4;transform:rotate(12deg)}.ring3d{width:64%;aspect-ratio:1;border-radius:50%;border:45px solid #f4eee8;box-shadow:inset -17px -20px 25px #b42f2766,18px 20px 30px #7d150f44}.liquid{width:75%;height:62%;border-radius:41% 59% 61% 39% / 42% 41% 59% 58%;background:radial-gradient(circle at 30% 25%,#fff,#fc9ede 20%,#5745d7 52%,#171146 80%);box-shadow:0 0 40px #fff5;animation:blob 7s ease-in-out infinite alternate}@keyframes blob{to{border-radius:65% 35% 37% 63% / 63% 64% 36% 37%;transform:translate(-50%,-50%) rotate(25deg)}}.chrome{width:62%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 33% 24%,#fff,#888 23%,#111 36%,#f4f4f4 52%,#333 67%,#aaa 78%,#111);box-shadow:0 15px 30px #0004}.portal{width:60%;height:70%;border-radius:50% 50% 8% 8%;background:radial-gradient(ellipse at 50% 65%,#111 0 12%,#ff6d4e 13% 24%,#ffd65c 25% 37%,#fff2ba 38% 50%,#111 51% 53%,transparent 54%)}.gridball{width:70%;aspect-ratio:1;border-radius:50%;background:repeating-radial-gradient(circle,#17251b 0 4px,#b2efc0 5px 8px);filter:contrast(1.5)}.world-word{position:absolute;left:4%;top:37%;font-size:22vw;font-weight:800;letter-spacing:-.09em;color:#ffffff08;white-space:nowrap}.world-hint{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);z-index:5;font-size:9px;letter-spacing:.16em;color:#777;display:flex;gap:15px}
.projects{background:var(--paper);padding:150px 3.5vw 100px;min-height:100vh}.section-label.dark{top:70px;color:#111}.projects-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:95px}.projects-heading h2{font-size:clamp(64px,10vw,150px);line-height:.78;letter-spacing:-.07em;margin:0;font-weight:600}.projects-heading h2 em{font-family:Georgia,serif;font-weight:400}.projects-heading p{max-width:360px;font-size:16px;line-height:1.35}.filter-row{display:flex;align-items:center;gap:8px;border-top:1px solid var(--line);padding:14px 0 35px;font-size:10px;text-transform:uppercase;overflow-x:auto}.filter-row>span{margin-right:auto;min-width:70px}.filter{border:1px solid var(--line);background:transparent;border-radius:100px;padding:9px 14px;white-space:nowrap;cursor:pointer;transition:.25s}.filter:hover,.filter.active{background:#111;color:#fff}.filter sup{font-size:7px;margin-left:4px}.project-list{display:grid;grid-template-columns:1fr 1fr;gap:18px}.project-card{min-width:0;transition:opacity .45s,transform .45s,filter .45s}.project-card.hidden-card{display:none}.project-card.filter-in{animation:filterIn .6s var(--ease)}@keyframes filterIn{from{opacity:0;transform:translateY(30px) scale(.985)}}.project-card.wide{grid-column:1/-1}.project-visual{height:57vw;max-height:760px;min-height:430px;position:relative;overflow:hidden;transform:translateZ(0)}.project-card:not(.wide) .project-visual{height:67vw;max-height:860px}.project-card:hover .project-visual>*{transform-origin:center}.project-meta{display:grid;grid-template-columns:1fr 1fr auto;gap:20px;padding:14px 0 36px;border-top:1px solid var(--line);font-size:10px;text-transform:uppercase}.project-meta h3{font-size:19px;text-transform:none;margin:0;font-weight:500}.project-red{background:#f04d3e}.project-number{position:absolute;font-size:32vw;line-height:.8;font-weight:800;letter-spacing:-.12em;color:#ffb2a588;left:-3vw;bottom:-5vw}.kinetic-type{position:absolute;right:4vw;top:5vw;text-align:right;font-weight:800;font-size:clamp(45px,7vw,105px);line-height:.75;letter-spacing:-.08em;color:#fbe6dd;transition:transform .7s var(--ease)}.project-card:hover .kinetic-type{transform:skewY(-5deg) translateX(-2vw)}.project-orbit{position:absolute;width:26vw;aspect-ratio:1;border:3vw solid #1c1817;border-radius:50%;left:35%;top:48%;box-shadow:0 0 0 2px #fff4;transition:transform .8s var(--ease)}.project-card:hover .project-orbit{transform:rotate(20deg) scale(1.08)}.project-violet{background:linear-gradient(145deg,#c9baff,#7158f8 54%,#281f57)}.glass-panel{position:absolute;width:58%;height:61%;left:20%;top:13%;border:1px solid #fff8;background:#ffffff19;backdrop-filter:blur(14px);transform:rotate(-8deg);box-shadow:0 20px 50px #180a6677;transition:.8s var(--ease)}.glass-panel.second{transform:rotate(11deg) translate(10%,15%);background:#ffa5d828}.project-card:hover .glass-panel{transform:rotate(-13deg) translate(-4%,-3%)}.project-card:hover .glass-panel.second{transform:rotate(17deg) translate(15%,20%)}.tiny-caption{position:absolute;left:20px;bottom:20px;color:#fff;font-size:10px;letter-spacing:.14em}.project-silver{background:linear-gradient(145deg,#f3f2ee,#999 65%,#292929)}.metal-ball{width:53%;aspect-ratio:1;position:absolute;border-radius:50%;left:23%;top:26%;background:radial-gradient(circle at 31% 22%,white 0 4%,#777 19%,#111 31%,#fff 48%,#4b4b4b 62%,#ccc 77%,#111);transition:.8s var(--ease)}.project-card:hover .metal-ball{transform:scale(1.09) rotate(25deg)}.motion-lines{position:absolute;inset:0;background:repeating-linear-gradient(75deg,transparent 0 20px,#fff2 21px,#fff0 23px);mix-blend-mode:overlay}.project-blue{background:#3f6fff}.pixel-sun{position:absolute;width:40vw;height:40vw;border-radius:50%;left:7vw;top:5vw;background:radial-gradient(circle,#fff 0 2%,#f5ff75 3% 24%,#ff754d 25% 44%,#5945dc 45% 60%,transparent 61%);filter:blur(.2px);transition:1s var(--ease)}.project-card:hover .pixel-sun{transform:translateX(12vw) scale(.84)}.blue-copy{position:absolute;right:4vw;bottom:4vw;color:#fff;font-size:clamp(55px,8vw,120px);font-weight:800;line-height:.72;letter-spacing:-.08em;text-align:right}.project-yellow{background:#f0dc51}.wavy-disc{position:absolute;width:65%;aspect-ratio:1;border-radius:50%;left:17%;top:18%;background:repeating-conic-gradient(#111 0 7deg,#f0dc51 8deg 14deg);filter:blur(.2px);transition:transform 1.2s var(--ease)}.project-card:hover .wavy-disc{transform:rotate(70deg) scale(.95)}.stamp{position:absolute;right:18px;bottom:18px;font-size:10px}.project-green{background:#a9deb0}.stacked-type{position:absolute;left:7%;top:9%;font-size:clamp(68px,9vw,135px);line-height:.68;letter-spacing:-.09em;font-weight:800}.green-pill{position:absolute;right:6%;bottom:7%;border:1px solid #111;border-radius:99px;padding:12px 18px;font-size:10px;transform:rotate(-10deg)}
.manifesto{background:#111;color:#fff;overflow:hidden;padding-bottom:14vh}.manifesto-marquee{display:flex;width:max-content;border-top:1px solid #333;border-bottom:1px solid #333;padding:13px 0;animation:marquee 22s linear infinite}.manifesto-marquee div{font-size:clamp(56px,8vw,120px);line-height:.9;letter-spacing:-.06em;white-space:nowrap}@keyframes marquee{to{transform:translateX(-50%)}}.manifesto-inner{padding:15vh 3.5vw 4vh;display:grid;grid-template-columns:1fr 3fr;gap:50px}.manifesto-inner>span{font-size:10px;text-transform:uppercase;color:#777}.manifesto-inner p{font-size:clamp(40px,6.4vw,98px);line-height:.94;letter-spacing:-.055em;margin:0}.manifesto-inner em{font-family:Georgia,serif;font-weight:400;color:var(--acid)}
.contact{background:#111;color:#fff;padding:160px 3.5vw 20px;min-height:100svh;overflow:hidden}.section-label.light{top:70px;color:#aaa}.contact h2{font-size:clamp(72px,12vw,180px);font-weight:500;line-height:.72;letter-spacing:-.08em;margin:0;position:relative;z-index:2}.contact h2 em{font-family:Georgia,serif;font-weight:400;color:#9a88ff}.contact-orb{width:190px;aspect-ratio:1;border-radius:50%;background:var(--acid);color:#111;display:flex;flex-direction:column;justify-content:space-between;padding:22px;position:absolute;right:9vw;top:24vh;z-index:3;transition:transform .3s}.contact-orb b{font-size:30px;align-self:flex-end}.contact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:18vh;padding:20px 0 55px;border-top:1px solid #333;position:relative;z-index:2}.contact-grid div{display:flex;flex-direction:column;gap:18px}.contact-grid small{color:#777;text-transform:uppercase;font-size:9px;letter-spacing:.1em}.contact-grid a,.contact-grid p{font-size:clamp(15px,1.7vw,23px);line-height:1.3;margin:0}.footer-word{font-size:18vw;font-weight:800;line-height:.72;letter-spacing:-.095em;color:#fff;white-space:nowrap;transform:translateX(-1vw);margin-top:4vh}footer{display:flex;justify-content:space-between;gap:25px;padding-top:18px;border-top:1px solid #333;font-size:9px;text-transform:uppercase;color:#777;position:relative;z-index:2}
.magnetic{will-change:transform}.reveal{opacity:0;transform:translateY(45px)}.reveal.in{opacity:1;transform:none;transition:opacity .9s var(--ease),transform .9s var(--ease)}
@media (pointer:coarse){.cursor{display:none}}
@media (max-width:800px){.entry{padding:18px}.entry-bg{inset:-7%;background-position:center center;transform:translate3d(var(--bg-x,0px),var(--bg-y,0px),0) scale(1.12)}.entry-top span:last-child{display:none}.entry-mark{inset:23% 3% 37%;}.entry-mark span{font-size:29vw}.entry-bottom{display:block}.entry-bottom p{font-size:18px;max-width:92%;margin-bottom:30px}.entry-actions{justify-content:space-between}.nav{padding:17px 18px}.nav-project,.nav-right #soundBtn{display:none}.hero{padding:17vh 18px 25px}.hero-radiance{width:120vw;right:-55vw;top:5vh}.hero-kicker{margin-bottom:13vh}.hero-title{font-size:19vw;line-height:.78}.hero-title .outline{transform:none}.hero-intro{margin:auto 0 60px;max-width:74%;font-size:17px}.hold-zone{right:10px;bottom:65px;transform:scale(.8)}.hero-index{left:18px;bottom:22px}.section-label{left:18px;top:70px}.world-copy{left:18px;top:18%}.world-copy h2{font-size:17vw}.world-plane{width:270vw;height:155vh;left:-85vw;top:-17vh}.artifact{width:210px;height:285px}.artifact-a{left:14%;top:10%}.artifact-b{left:43%;top:18%}.artifact-c{left:72%;top:45%}.artifact-d{left:32%;top:66%}.artifact-e{left:76%;top:3%}.ring3d{border-width:30px}.projects{padding:130px 18px 70px}.section-label.dark{top:55px}.projects-heading{display:block;margin-bottom:55px}.projects-heading h2{font-size:17vw}.projects-heading p{margin-top:35px;max-width:82%}.filter-row{margin-right:-18px}.filter-row>span{display:none}.project-list{grid-template-columns:1fr;gap:5px}.project-card.wide{grid-column:auto}.project-visual,.project-card:not(.wide) .project-visual{height:118vw;min-height:0}.project-meta{grid-template-columns:1fr auto}.project-meta span:first-of-type{display:none}.project-number{font-size:60vw}.kinetic-type{font-size:12vw;right:6vw;top:8vw}.project-orbit{width:55vw;border-width:7vw}.pixel-sun{width:70vw;height:70vw;left:-6vw;top:10vw}.blue-copy{font-size:14vw}.stacked-type{font-size:17vw}.manifesto-inner{grid-template-columns:1fr;padding:11vh 18px 3vh}.manifesto-inner p{font-size:11vw}.contact{padding:130px 18px 20px}.section-label.light{top:55px}.contact h2{font-size:19vw}.contact-orb{width:125px;right:18px;top:40vh;padding:15px}.contact-grid{grid-template-columns:1fr 1fr;margin-top:30vh;gap:30px 15px}.footer-word{font-size:23vw;margin-top:7vh}footer{flex-wrap:wrap}.menu{padding:80px 18px 22px}.menu-links a{grid-template-columns:35px 1fr 25px}.menu-links strong{font-size:17vw}.menu-foot{gap:20px}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.cursor{display:none}}

/* V2.6 — Atlas Lab X landing: background parallax + canvas-rendered glass shine */
.entry{--mx:50%;--my:50%;isolation:isolate}
.entry-bg{filter:saturate(1.05) contrast(1.04);transform:translate3d(var(--bg-x,0px),var(--bg-y,0px),0) scale(1.075);will-change:transform}
.entry::before{z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.20),rgba(0,0,0,.02) 45%,rgba(0,0,0,.30))}
.entry::after{display:none}
.entry-top,.entry-bottom{z-index:5}
.entry-logo-wrap{
  position:absolute;
  z-index:4;
  left:50%;
  top:50%;
  width:min(58vw,760px);
  transform:translate(-50%,-50%);
  isolation:isolate;
}
.entry-logo{position:relative;z-index:1;display:block;width:100%;height:auto;transform:none!important;filter:drop-shadow(0 20px 38px rgba(0,0,0,.5));user-select:none;-webkit-user-drag:none}
.entry-logo-shine{position:absolute;z-index:2;inset:0;width:100%;height:100%;pointer-events:none;display:block;mix-blend-mode:screen;opacity:1}
.entry-bottom p{max-width:520px}
@media (max-width:900px){.entry{padding:20px}.entry-top{font-size:9px;gap:12px}.entry-logo-wrap{width:min(84vw,650px);top:47%}.entry-bottom{gap:18px}.entry-bottom p{max-width:48vw;font-size:14px}}
@media (max-width:620px){.entry-top span:last-child{max-width:44vw;text-align:right}.entry-logo-wrap{width:88vw;top:44%}.entry-bottom{align-items:flex-end;gap:12px}.entry-bottom p{font-size:12px;max-width:45vw}.entry-actions{gap:9px;flex-direction:column;align-items:flex-end}.round-link{min-width:105px;padding:12px 15px}.text-button{font-size:9px}}
@media (prefers-reduced-motion:reduce){.entry-bg{transition:none!important;transform:scale(1.075)!important}.entry-logo-shine{display:none}}


/* V2.9 — simplified landing composition */
.entry-logo-wrap{
  width:min(29vw,380px);
}

/* Only the two entry controls remain, centered in the lower middle. */
.entry-bottom-centered{
  position:absolute;
  left:50%;
  bottom:8.5%;
  transform:translateX(-50%);
  z-index:5;
  width:auto;
  display:block;
}
.entry-bottom-centered .entry-actions{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  white-space:nowrap;
}

/* Cursor reduced by ~60% from the previous 74px treatment. */
.cursor{
  width:30px;
  height:30px;
}
.cursor.has-label{
  width:35px;
  height:35px;
}
.cursor span{
  font-size:7px;
}

/* Landing top/copy are intentionally absent in V2.9. */
@media (max-width:900px){
  .entry-logo-wrap{
    width:min(42vw,325px);
    top:48%;
  }
  .entry-bottom-centered{
    bottom:8%;
  }
}
@media (max-width:620px){
  .entry-logo-wrap{
    width:min(48vw,280px);
    top:46%;
  }
  .entry-bottom-centered{
    bottom:7%;
    width:100%;
    padding:0 20px;
  }
  .entry-bottom-centered .entry-actions{
    flex-direction:column;
    align-items:center;
    gap:10px;
  }
}


/* V2.10 — logo position + full-lockup cursor interaction */
.entry-logo-wrap{
  top:calc(50% - 100px);
}
@media (max-width:900px){
  .entry-logo-wrap{
    top:calc(48% - 100px);
  }
}
@media (max-width:620px){
  .entry-logo-wrap{
    top:calc(46% - 80px);
  }
}


/* V2.11 — stronger glass + larger shinier edge glow + logo +50px upward */
.entry-logo-wrap{
  top:calc(50% - 150px);
}
@media (max-width:900px){
  .entry-logo-wrap{
    top:calc(48% - 150px);
  }
}
@media (max-width:620px){
  .entry-logo-wrap{
    top:calc(46% - 120px);
  }
}


/* V2.12 — three-line company descriptor beneath logo */
.entry-logo-group{
  position:absolute;
  z-index:4;
  left:50%;
  top:calc(50% - 150px);
  transform:translate(-50%,-50%);
  display:flex;
  flex-direction:column;
  align-items:center;
  width:min(72vw,760px);
  pointer-events:none;
}
.entry-logo-group .entry-logo-wrap{
  position:relative;
  left:auto;
  top:auto;
  transform:none;
  width:min(29vw,380px);
  pointer-events:auto;
}
.entry-tagline{
  margin:18px 0 0;
  text-align:center;
  color:rgba(255,255,255,.92);
  font-size:clamp(12px,.95vw,15px);
  line-height:1.45;
  letter-spacing:.055em;
  font-weight:400;
  text-transform:none;
  text-shadow:0 2px 18px rgba(0,0,0,.42);
}
.entry-tagline span{
  display:block;
}
@media (max-width:900px){
  .entry-logo-group{
    top:calc(48% - 150px);
  }
  .entry-logo-group .entry-logo-wrap{
    width:min(42vw,325px);
  }
  .entry-tagline{
    margin-top:15px;
  }
}
@media (max-width:620px){
  .entry-logo-group{
    top:calc(46% - 120px);
    width:90vw;
  }
  .entry-logo-group .entry-logo-wrap{
    width:min(48vw,280px);
  }
  .entry-tagline{
    margin-top:13px;
    font-size:11px;
    line-height:1.5;
  }
}


/* V2.13 — primary entry button under tagline; silent entry anchored at bottom */
.entry-logo-group{
  pointer-events:none;
}
.entry-logo-group .entry-primary{
  pointer-events:auto;
  margin-top:24px;
}

.entry-primary{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  width:150px;
  min-width:150px;
  height:52px;
  padding:0 21px;
  border:1px solid rgba(255,255,255,.95);
  border-radius:999px;
  background:#fff;
  color:#111;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:17px;
  cursor:pointer;
  transition:
    color .42s cubic-bezier(.22,1,.36,1),
    border-color .42s cubic-bezier(.22,1,.36,1),
    box-shadow .42s cubic-bezier(.22,1,.36,1);
}
.entry-primary::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:-1px;
  background:#e3aa04;
  transform:translateY(-102%);
  transition:transform .52s cubic-bezier(.22,1,.36,1);
}
.entry-primary .enter-label,
.entry-primary .enter-arrow{
  position:relative;
  z-index:2;
  line-height:1;
}
.entry-primary .enter-label{
  font-size:15px;
  font-weight:600;
  letter-spacing:.025em;
}
.entry-primary .enter-arrow{
  font-size:20px;
  font-weight:500;
  transform:translateY(-1px);
}
@media (hover:hover) and (pointer:fine){
  .entry-primary:hover{
    color:#123968;
    border-color:#e3aa04;
    box-shadow:0 8px 30px rgba(227,170,4,.26);
  }
  .entry-primary:hover::before{
    transform:translateY(0);
  }
}
.entry-primary:focus-visible{
  color:#123968;
  border-color:#e3aa04;
  outline:2px solid rgba(255,255,255,.8);
  outline-offset:4px;
}
.entry-primary:focus-visible::before{
  transform:translateY(0);
}

/* Enter without audio stays alone at the bottom, centered horizontally. */
.entry-bottom-centered{
  left:50%;
  right:auto;
  bottom:4.5%;
  transform:translateX(-50%);
  width:auto;
  display:flex;
  justify-content:center;
  align-items:center;
  padding:0;
}
.entry-bottom-centered .text-button{
  white-space:nowrap;
  text-align:center;
}

/* Keep the primary button visually centered under the three-line message on small screens. */
@media (max-width:620px){
  .entry-logo-group .entry-primary{
    margin-top:20px;
  }
  .entry-primary{
    width:146px;
    min-width:146px;
    height:50px;
  }
  .entry-bottom-centered{
    bottom:4%;
    width:auto;
    padding:0;
  }
}


/* V2.14 — smaller Enter button + soft gold tagline hover */
.entry-primary{
  width:92px;
  min-width:92px;
  height:34px;
  padding:0 14px;
  gap:0;
}
.entry-primary .enter-label{
  width:100%;
  text-align:center;
  font-size:13px;
  line-height:1;
  display:block;
}
.entry-primary .enter-arrow{
  display:none !important;
}

/* Allow the three-line text to react to the cursor while keeping the logo group layout unchanged. */
.entry-tagline{
  pointer-events:auto;
  cursor:default;
  transition:
    color .38s ease,
    text-shadow .38s ease;
}
@media (hover:hover) and (pointer:fine){
  .entry-tagline:hover{
    color:#e7bd53;
    text-shadow:
      0 0 10px rgba(231,189,83,.24),
      0 0 24px rgba(231,189,83,.12);
  }
}
.entry-tagline:focus-within{
  color:#e7bd53;
}

/* Keep mobile button proportional and centered. */
@media (max-width:620px){
  .entry-primary{
    width:88px;
    min-width:88px;
    height:33px;
    padding:0 12px;
  }
  .entry-primary .enter-label{
    font-size:12px;
  }
}


/* V2.15 — localized gold reveal only beneath the interactive cursor */
.entry-tagline{
  position:relative;
  color:rgba(255,255,255,.92);
  text-shadow:0 2px 18px rgba(0,0,0,.42);
  transition:none;
}
.entry-tagline:hover,
.entry-tagline:focus-within{
  color:rgba(255,255,255,.92);
  text-shadow:0 2px 18px rgba(0,0,0,.42);
}
.entry-tagline::after{
  content:"Smart technology.\A Interactive experiences.\A Better live events.";
  white-space:pre;
  position:absolute;
  inset:0;
  display:block;
  text-align:center;
  font:inherit;
  line-height:inherit;
  letter-spacing:inherit;
  color:#e7bd53;
  text-shadow:
    0 0 8px rgba(231,189,83,.42),
    0 0 18px rgba(231,189,83,.20);
  pointer-events:none;
  opacity:var(--tag-gold-opacity,0);
  -webkit-mask-image:radial-gradient(
    circle 24px at var(--tag-x,50%) var(--tag-y,50%),
    #000 0%,
    rgba(0,0,0,.96) 38%,
    rgba(0,0,0,.56) 68%,
    transparent 100%
  );
  mask-image:radial-gradient(
    circle 24px at var(--tag-x,50%) var(--tag-y,50%),
    #000 0%,
    rgba(0,0,0,.96) 38%,
    rgba(0,0,0,.56) 68%,
    transparent 100%
  );
  transition:opacity .22s ease;
}


/* V2.16 — balanced vertical spacing */
.entry-tagline{
  margin-top:22px;
}
.entry-logo-group .entry-primary{
  margin-top:22px;
}

@media (max-width:900px){
  .entry-tagline{
    margin-top:20px;
  }
  .entry-logo-group .entry-primary{
    margin-top:20px;
  }
}

@media (max-width:620px){
  .entry-tagline{
    margin-top:18px;
  }
  .entry-logo-group .entry-primary{
    margin-top:18px;
  }
}


/* V2.17 — explicit Enter-button vertical offset */
.entry-logo-group .entry-primary{
  transform:translateY(18px);
}
.entry-logo-group .entry-primary:hover{
  transform:translateY(18px);
}
.entry-logo-group .entry-primary:focus-visible{
  transform:translateY(18px);
}


/* V2.18 — center the complete landing composition */
.entry-logo-group{
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
}

@media (max-width:900px){
  .entry-logo-group{
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
  }
}

@media (max-width:620px){
  .entry-logo-group{
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
  }
}


/* V2.19 — complete landing composition 50px upward */
.entry-logo-group{
  left:50%;
  top:calc(50% - 50px);
  transform:translate(-50%,-50%);
}

@media (max-width:900px){
  .entry-logo-group{
    left:50%;
    top:calc(50% - 50px);
    transform:translate(-50%,-50%);
  }
}

@media (max-width:620px){
  .entry-logo-group{
    left:50%;
    top:calc(50% - 50px);
    transform:translate(-50%,-50%);
  }
}


/* V2.20 — preserve Enter's 18px base offset while magnetic follow is active */
.entry-logo-group .entry-primary{
  transform:translateY(18px);
}


/* V2.21 — fixed, non-scrolling interactive home inspired by the reference behavior */
html, body{
  overscroll-behavior:none;
}
body.site-entered{
  overflow:hidden !important;
  height:100vh;
}
.atlas-home{
  position:fixed;
  inset:0;
  z-index:20;
  width:100vw;
  height:100vh;
  overflow:hidden;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  color:#f6f7fb;
  background:#071120;
  transition:opacity .8s cubic-bezier(.22,1,.36,1), visibility .8s;
}
.atlas-home.is-active{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.atlas-home-bg{
  position:absolute;
  inset:-4%;
  background:
    radial-gradient(circle at 22% 18%, rgba(29,92,145,.35), transparent 34%),
    radial-gradient(circle at 79% 73%, rgba(202,145,15,.16), transparent 32%),
    linear-gradient(135deg,#07111f 0%,#0b1f34 52%,#08131f 100%);
  transform:scale(1.06);
}
.atlas-home-grid{
  position:absolute;
  inset:0;
  opacity:.12;
  background-image:
    linear-gradient(rgba(255,255,255,.12) 1px, transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.12) 1px, transparent 1px);
  background-size:56px 56px;
  mask-image:radial-gradient(circle at center,#000 18%,transparent 78%);
}
.atlas-nav{
  position:absolute;
  z-index:30;
  top:28px;
  left:34px;
  right:34px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:12px;
  letter-spacing:.06em;
}
.atlas-wordmark,
.atlas-nav a,
.atlas-contact a,
.atlas-world a{
  color:inherit;
  text-decoration:none;
}
.atlas-wordmark{
  font-weight:700;
}
.atlas-nav-right{
  display:flex;
  align-items:center;
  gap:18px;
}
.atlas-nav-btn,
.atlas-menu-close,
.atlas-sound-toggle{
  border:0;
  background:none;
  color:inherit;
  font:inherit;
  cursor:pointer;
}
.atlas-menu-btn span{
  display:inline-block;
  margin-left:7px;
}
.atlas-contact{
  position:absolute;
  z-index:30;
  left:34px;
  top:50%;
  transform:translateY(-50%);
  display:flex;
  flex-direction:column;
  gap:7px;
  font-size:11px;
  letter-spacing:.04em;
  opacity:.78;
}
.atlas-hold{
  position:absolute;
  z-index:30;
  left:50%;
  top:30px;
  transform:translateX(-50%);
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
  opacity:.72;
}
.atlas-home-title{
  position:absolute;
  z-index:30;
  left:34px;
  bottom:30px;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.atlas-home-title span{
  font-size:11px;
  opacity:.64;
}
.atlas-home-title strong{
  font-size:13px;
  font-weight:500;
}
.atlas-sound-toggle{
  position:absolute;
  z-index:30;
  right:34px;
  bottom:30px;
  width:36px;
  height:36px;
  border:1px solid rgba(255,255,255,.3);
  border-radius:50%;
  display:grid;
  place-items:center;
}
.atlas-world{
  position:absolute;
  inset:0;
  z-index:10;
  display:grid;
  place-items:center;
  cursor:grab;
  touch-action:none;
}
.atlas-world.is-dragging{
  cursor:grabbing;
}
.atlas-world-stage{
  position:relative;
  width:min(74vw,1040px);
  aspect-ratio:1.7/1;
  transform:translate3d(0,0,0);
  will-change:transform;
}
.world-core{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:180px;
  height:180px;
  border-radius:50%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  border:1px solid rgba(255,255,255,.28);
  background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.12),rgba(255,255,255,.03) 48%,rgba(255,255,255,.01));
  backdrop-filter:blur(8px);
  box-shadow:0 0 70px rgba(56,120,181,.18);
}
.world-core span{
  font-size:11px;
  letter-spacing:.2em;
}
.world-core strong{
  margin-top:5px;
  font-size:24px;
  letter-spacing:.06em;
}
.world-orbit{
  position:absolute;
  left:50%;
  top:50%;
  border:1px solid rgba(255,255,255,.14);
  border-radius:50%;
  transform:translate(-50%,-50%) rotate(-8deg);
}
.orbit-one{width:62%;height:62%;}
.orbit-two{width:92%;height:86%;transform:translate(-50%,-50%) rotate(14deg);}
.world-node{
  position:absolute;
  min-width:168px;
  padding:14px 16px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(9,22,37,.48);
  backdrop-filter:blur(10px);
  text-align:center;
  font-size:11px;
  letter-spacing:.07em;
}
.world-node small{
  display:block;
  margin-top:4px;
  font-size:9px;
  letter-spacing:.025em;
  opacity:.62;
}
.node-a{left:8%;top:17%;}
.node-b{right:8%;top:18%;}
.node-c{left:10%;bottom:15%;}
.node-d{right:6%;bottom:14%;}
.atlas-menu-overlay{
  position:absolute;
  z-index:80;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(4,11,20,.94);
  backdrop-filter:blur(18px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:.45s ease;
}
.atlas-menu-overlay.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.atlas-menu-overlay nav{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:18px;
}
.atlas-menu-overlay nav a{
  color:#fff;
  text-decoration:none;
  font-size:clamp(34px,6vw,86px);
  line-height:.95;
}
.atlas-menu-close{
  position:absolute;
  top:30px;
  right:34px;
}
@media(max-width:700px){
  .atlas-nav{left:18px;right:18px;top:20px;}
  .atlas-project-link{display:none;}
  .atlas-contact{left:18px;top:auto;bottom:86px;transform:none;}
  .atlas-home-title{left:18px;bottom:22px;}
  .atlas-sound-toggle{right:18px;bottom:20px;}
  .atlas-world-stage{width:130vw;}
  .world-core{width:142px;height:142px;}
  .world-node{min-width:142px;padding:11px 13px;font-size:9px;}
  .atlas-hold{display:none;}
}


/* V2.22 — reliable entry transition while preserving all V2.20 landing interactions */
body.site-entered .entry{
  z-index:1 !important;
}
body.site-entered .atlas-home{
  z-index:100 !important;
}


/* V2.23 — minimal home screen */
.atlas-home-minimal{
  position:fixed;
  inset:0;
  overflow:hidden;
  background:#071120;
}
.atlas-home-minimal .atlas-home-bg{
  position:absolute;
  inset:-4%;
  background:
    radial-gradient(circle at 22% 18%, rgba(29,92,145,.35), transparent 34%),
    radial-gradient(circle at 79% 73%, rgba(202,145,15,.16), transparent 32%),
    linear-gradient(135deg,#07111f 0%,#0b1f34 52%,#08131f 100%);
  transform:scale(1.06);
}
.atlas-minimal-nav{
  position:absolute;
  z-index:30;
  top:28px;
  right:34px;
  display:flex;
  align-items:center;
  gap:18px;
}
.atlas-minimal-nav .atlas-nav-btn{
  position:relative;
  border:0;
  padding:8px 0;
  background:none;
  color:#f6f7fb;
  font:inherit;
  font-size:12px;
  letter-spacing:.06em;
  cursor:pointer;
  transition:opacity .25s ease;
}
.atlas-minimal-nav .atlas-nav-btn::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:2px;
  height:1px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:right center;
  transition:transform .3s cubic-bezier(.22,1,.36,1);
}
@media (hover:hover) and (pointer:fine){
  .atlas-minimal-nav .atlas-nav-btn:hover::after{
    transform:scaleX(1);
    transform-origin:left center;
  }
}
@media(max-width:700px){
  .atlas-minimal-nav{
    top:20px;
    right:18px;
    gap:16px;
  }
}


/* V2.24 — interactive kinetic window inspired by the reference interaction */
.kinetic-window{
  position:absolute;
  z-index:15;
  left:50%;
  top:52%;
  width:min(88vw,1280px);
  height:min(66vh,680px);
  transform:translate(-50%,-50%);
  overflow:hidden;
  border-radius:28px;
  background:#111318;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.08),
    0 24px 70px rgba(0,0,0,.28);
  cursor:crosshair;
}
.kinetic-window canvas{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
}
.kinetic-hint{
  position:absolute;
  left:24px;
  bottom:20px;
  z-index:2;
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(255,255,255,.52);
  pointer-events:none;
  transition:opacity .3s ease;
}
.kinetic-window.is-active .kinetic-hint{
  opacity:.18;
}
@media(max-width:700px){
  .kinetic-window{
    top:53%;
    width:92vw;
    height:64vh;
    border-radius:20px;
  }
  .kinetic-hint{
    left:18px;
    bottom:16px;
  }
}


/* V2.26 — reliable localized cursor-gold reveal */
.entry-tagline{position:relative;isolation:isolate;}
.entry-tagline::after{
  content:"Smart technology.\A Interactive experiences.\A Better live events.";
  white-space:pre-line;
  position:absolute;inset:0;z-index:2;pointer-events:none;
  color:#e7bd53;
  text-shadow:0 0 7px rgba(231,189,83,.42),0 0 16px rgba(231,189,83,.16);
  opacity:var(--tag-gold-opacity,0);
  -webkit-mask-image:radial-gradient(circle 26px at var(--tag-x,50%) var(--tag-y,50%),#000 0 34%,rgba(0,0,0,.86) 48%,rgba(0,0,0,.34) 70%,transparent 100%);
  mask-image:radial-gradient(circle 26px at var(--tag-x,50%) var(--tag-y,50%),#000 0 34%,rgba(0,0,0,.86) 48%,rgba(0,0,0,.34) 70%,transparent 100%);
  transition:opacity .16s ease;
}






/* V2.29 — user's supplied transparent PNG tape, placed directly over Enter */
.entry-enter-lockout{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:92px;
  height:34px;
  margin-top:22px;
  transform:translateY(18px);
  overflow:visible;
  z-index:20;
}
.entry-enter-lockout .entry-primary{
  margin-top:0 !important;
  position:relative;
  z-index:4;
}
.coming-soon-tapes-reference{
  position:absolute;
  left:50%;
  top:50%;
  width:clamp(560px,58vw,820px);
  aspect-ratio:1536 / 1024;
  transform:translate(-50%,-50%);
  pointer-events:none;
  z-index:14;
}
.coming-soon-tapes-reference img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  image-rendering:auto;
  filter:drop-shadow(0 9px 10px rgba(0,0,0,.24));
}
@media(max-width:700px){
  .coming-soon-tapes-reference{
    width:min(136vw,620px);
  }
}


/* V2.30 — new supplied PNG, approximately 50% smaller */
.coming-soon-tapes-reference{
  width:clamp(280px,29vw,410px) !important;
}
@media(max-width:700px){
  .coming-soon-tapes-reference{
    width:min(68vw,310px) !important;
  }
}


/* V2.31 — tape position adjustment only */
.coming-soon-tapes-reference{
  top:calc(50% + 30px) !important;
}


/* V2.32 — cursor-responsive glass/shine on the landing parallax background */
.entry-bg-shine{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:1;
  pointer-events:none;
  mix-blend-mode:screen;
  opacity:.95;
}
.entry > *:not(.entry-bg):not(.entry-bg-shine){
  position:relative;
  z-index:2;
}


/* V2.47 — seamless slow horizontal background drift + stronger cursor parallax */
.entry-bg{
  position:absolute !important;
  inset:-70px !important;
  overflow:hidden !important;
  background:none !important;
  will-change:transform;
}

.entry-bg-pan-track{
  position:absolute;
  top:0;
  left:0;
  width:400%;
  height:100%;
  display:flex;
  animation:atlasBgDrift 96s linear infinite;
  will-change:transform;
}

.entry-bg-panel{
  flex:0 0 25%;
  height:100%;
  background-image:url("assets/landing-background.jpg");
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
}

.entry-bg-panel-mirror{
  transform:scaleX(-1);
}

@keyframes atlasBgDrift{
  from{ transform:translate3d(0,0,0); }
  to{ transform:translate3d(-50%,0,0); }
}

/* Old V2.32/V2.33 shine layer is no longer used. */
.entry-bg-shine{
  display:none !important;
}

@media (prefers-reduced-motion: reduce){
  .entry-bg-pan-track{ animation:none; }
}


/* V2.47 — refined pre-launch signup layout */
.entry-bottom-centered{
  left:50% !important;
  bottom:3.2% !important;
  width:min(620px,90vw) !important;
  transform:translateX(-50%) !important;
  display:flex !important;
  justify-content:center !important;
  align-items:flex-end !important;
  z-index:30 !important;
  pointer-events:none;
}

.entry-bottom-centered .launch-signup{
  width:min(520px,88vw) !important;
  margin:0 !important;
  padding:0 !important;
  pointer-events:auto;
  text-align:center !important;
  color:#fff;
}

.launch-signup-copy{
  margin:0 0 12px !important;
  text-align:center !important;
}

.launch-signup-title{
  font-family:inherit !important;
  font-size:14px !important;
  line-height:1.25 !important;
  font-weight:500 !important;
  letter-spacing:.035em !important;
  text-transform:none !important;
  color:rgba(255,255,255,.94) !important;
}

.launch-signup-subtitle{
  display:none !important;
}

.launch-signup-form{
  display:grid !important;
  grid-template-columns:1fr 1.2fr auto !important;
  gap:8px !important;
  align-items:center !important;
  width:100% !important;
}

.launch-field{
  display:block !important;
  min-width:0 !important;
}

.launch-field input{
  width:100% !important;
  height:36px !important;
  padding:0 15px !important;
  box-sizing:border-box !important;
  border:1px solid rgba(255,255,255,.32) !important;
  border-radius:999px !important;
  background:rgba(4,13,26,.40) !important;
  color:#fff !important;
  font-family:inherit !important;
  font-size:11px !important;
  font-weight:400 !important;
  letter-spacing:.04em !important;
  outline:none !important;
  backdrop-filter:blur(12px) !important;
  -webkit-backdrop-filter:blur(12px) !important;
}

.launch-field input::placeholder{
  color:rgba(255,255,255,.52) !important;
}

.launch-field input:focus{
  border-color:rgba(227,170,4,.82) !important;
  background:rgba(4,13,26,.55) !important;
}

.launch-submit{
  height:36px !important;
  min-width:102px !important;
  padding:0 17px !important;
  border-radius:999px !important;
  border:1px solid rgba(227,170,4,.9) !important;
  background:rgba(4,13,26,.28) !important;
  color:#fff !important;
  font-family:inherit !important;
  font-size:10px !important;
  font-weight:500 !important;
  letter-spacing:.07em !important;
}

.launch-submit:hover,
.launch-submit:focus-visible{
  background:#e3aa04 !important;
  color:#123968 !important;
}

.launch-form-message{
  min-height:14px !important;
  margin-top:7px !important;
  text-align:center !important;
  font-family:inherit !important;
  font-size:10px !important;
  letter-spacing:.025em !important;
}

.launch-privacy{
  margin-top:1px !important;
  text-align:center !important;
  font-family:inherit !important;
  font-size:8px !important;
  line-height:1.35 !important;
  letter-spacing:.025em !important;
  color:rgba(255,255,255,.38) !important;
}

@media(max-width:700px){
  .entry-bottom-centered{
    bottom:2.2% !important;
    width:calc(100% - 28px) !important;
  }
  .entry-bottom-centered .launch-signup{
    width:min(360px,100%) !important;
  }
  .launch-signup-title{
    font-size:13px !important;
  }
  .launch-signup-form{
    grid-template-columns:1fr !important;
    gap:6px !important;
  }
  .launch-field input,
  .launch-submit{
    height:39px !important;
  }
  .launch-submit{
    width:100% !important;
  }
}


/* V2.47 — tighter, aligned pre-launch signup refinement */
.launch-signup-copy{
  margin:0 0 6px !important;
}

.launch-signup-title{
  font-family:inherit !important;
  font-size:14px !important;
  line-height:1.15 !important;
  font-weight:700 !important;
  letter-spacing:.03em !important;
  color:#e3aa04 !important;
  text-align:center !important;
}

.launch-signup-form{
  display:grid !important;
  grid-template-columns:1fr 1.15fr 128px !important;
  gap:10px !important;
  align-items:center !important;
  width:100% !important;
}

.launch-field{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  min-width:0 !important;
}

.launch-field > span:not(.sr-only){
  display:none !important;
}

.launch-field input,
.launch-submit{
  margin:0 !important;
  box-sizing:border-box !important;
  vertical-align:middle !important;
}

.launch-field input{
  width:100% !important;
  height:44px !important;
  padding:0 18px !important;
  border-radius:999px !important;
  font-size:12px !important;
}

.launch-submit{
  width:128px !important;
  min-width:128px !important;
  height:44px !important;
  padding:0 18px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:11px !important;
}

.launch-form-message{
  min-height:0 !important;
  margin-top:4px !important;
}

.launch-privacy{
  margin-top:4px !important;
  color:rgba(255,255,255,.92) !important;
  font-size:9px !important;
  line-height:1.25 !important;
  text-align:center !important;
}

@media(max-width:700px){
  .launch-signup-copy{
    margin-bottom:6px !important;
  }

  .launch-signup-title{
    font-size:13px !important;
  }

  .launch-signup-form{
    grid-template-columns:1fr !important;
    gap:7px !important;
  }

  .launch-field input,
  .launch-submit{
    width:100% !important;
    min-width:0 !important;
    height:42px !important;
  }

  .launch-privacy{
    margin-top:5px !important;
    font-size:8px !important;
  }
}


/* V2.47 — definitive field-label removal and horizontal alignment */
.launch-signup-form{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  width:100% !important;
}

.launch-field{
  display:block !important;
  flex:1 1 0 !important;
  min-width:0 !important;
  height:44px !important;
  margin:0 !important;
  padding:0 !important;
  line-height:0 !important;
}

.launch-field:nth-of-type(2){
  flex:1.2 1 0 !important;
}

.launch-field input{
  display:block !important;
  width:100% !important;
  height:44px !important;
  min-height:44px !important;
  max-height:44px !important;
  margin:0 !important;
  padding:0 18px !important;
  box-sizing:border-box !important;
  line-height:44px !important;
  transform:none !important;
}

.launch-submit{
  display:flex !important;
  flex:0 0 128px !important;
  width:128px !important;
  height:44px !important;
  min-height:44px !important;
  max-height:44px !important;
  margin:0 !important;
  padding:0 18px !important;
  box-sizing:border-box !important;
  align-items:center !important;
  justify-content:center !important;
  transform:none;
}

@media(max-width:700px){
  .launch-signup-form{
    flex-direction:column !important;
    align-items:stretch !important;
  }
  .launch-field,
  .launch-field:nth-of-type(2),
  .launch-submit{
    flex:none !important;
    width:100% !important;
    height:42px !important;
    min-height:42px !important;
    max-height:42px !important;
  }
  .launch-field input{
    height:42px !important;
    min-height:42px !important;
    max-height:42px !important;
    line-height:42px !important;
  }
}


/* V2.47 — move complete launch signup group 30px downward */
.entry-bottom-centered .launch-signup{
  transform:translateY(30px) !important;
}


/* V2.47 — entire launch signup group approximately 30% smaller */
.entry-bottom-centered .launch-signup{
  transform:translateY(30px) scale(.70) !important;
  transform-origin:center bottom !important;
}


/* V2.47 — signup position, privacy spacing, and cursor glass/shine */
.entry-bottom-centered .launch-signup{
  transform:translateY(10px) scale(.70) !important; /* V2.47 was +30px: move whole group 20px up */
  transform-origin:center bottom !important;
  overflow:visible !important;
}

.launch-privacy{
  margin-top:7px !important; /* 3px lower than V2.47 */
}

.launch-signup-shine{
  position:absolute;
  inset:-18px;
  width:calc(100% + 36px);
  height:calc(100% + 36px);
  z-index:50;
  pointer-events:none;
  opacity:1;
}

.launch-signup > *:not(.launch-signup-shine){
  position:relative;
  z-index:2;
}


/* V2.47 — soft edgeless signup shine + privacy spacing */
.launch-signup-shine{
  inset:-90px -120px !important;
  width:calc(100% + 240px) !important;
  height:calc(100% + 180px) !important;
  z-index:50 !important;
  pointer-events:none !important;
  opacity:1 !important;
  filter:blur(5px);
}

.launch-privacy{
  margin-top:10px !important; /* another 3px lower */
}


/* V2.47 — element-clipped signup shine, matching the logo interaction concept */
.launch-signup{
  --signup-shine-x:50%;
  --signup-shine-y:50%;
  --signup-shine-opacity:0;
}

/* Retire the old free-floating shine canvas completely. */
.launch-signup-shine{ display:none !important; }

/* The shine is clipped INSIDE each actual visible signup element. */
.launch-signup-title,
.launch-field input,
.launch-submit,
.launch-privacy{
  position:relative;
  isolation:isolate;
}

/* Glass fields + button get a localized internal reflection. */
.launch-field,
.launch-submit{
  position:relative !important;
  overflow:visible !important;
}

.launch-field::after,
.launch-submit::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:999px;
  pointer-events:none;
  opacity:var(--signup-shine-opacity);
  background:
    radial-gradient(
      circle 44px at var(--signup-shine-x) var(--signup-shine-y),
      rgba(255,255,255,.38) 0%,
      rgba(255,246,216,.23) 20%,
      rgba(225,241,255,.13) 42%,
      rgba(255,255,255,.045) 67%,
      rgba(255,255,255,0) 100%
    );
  transition:opacity .18s ease;
  z-index:3;
  overflow:hidden;
}

/* Fine luminous rim just outside the glass-control edges. */
.launch-field::before,
.launch-submit::before{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:999px;
  pointer-events:none;
  opacity:var(--signup-shine-opacity);
  border:1px solid rgba(255,255,255,.34);
  filter:blur(1.6px);
  -webkit-mask-image:radial-gradient(
    circle 58px at var(--signup-shine-x) var(--signup-shine-y),
    #000 0%,
    rgba(0,0,0,.72) 45%,
    transparent 100%
  );
  mask-image:radial-gradient(
    circle 58px at var(--signup-shine-x) var(--signup-shine-y),
    #000 0%,
    rgba(0,0,0,.72) 45%,
    transparent 100%
  );
  z-index:4;
}

/* Text receives the same cursor-localized shine but stays clipped to the glyphs. */
.launch-signup-title{
  background:
    radial-gradient(
      circle 54px at var(--signup-shine-x) var(--signup-shine-y),
      #fff 0%,
      #ffe8a0 24%,
      #e3aa04 58%,
      #e3aa04 100%
    );
  background-clip:text;
  -webkit-background-clip:text;
  color:transparent !important;
}

.launch-privacy{
  background:
    radial-gradient(
      circle 58px at var(--signup-shine-x) var(--signup-shine-y),
      #fff 0%,
      #fff7dc 24%,
      rgba(255,255,255,.92) 62%,
      rgba(255,255,255,.92) 100%
    );
  background-clip:text;
  -webkit-background-clip:text;
  color:transparent !important;
}

/* Keep the actual input/button contents above the internal reflection. */
.launch-field input{
  position:relative !important;
  z-index:2 !important;
}
.launch-submit > span{
  position:relative;
  z-index:5;
}


/* V2.47 — wider privacy line + per-control hover shine only */
.launch-privacy{
  width:100% !important;
  max-width:none !important;
  font-size:12px !important;
  line-height:1.25 !important;
  letter-spacing:.02em !important;
  white-space:nowrap !important;
  text-align:center !important;
}

/* Default: no control shine. Each control activates independently on its own hover/focus. */
.launch-field,
.launch-submit{
  --local-shine-x:50%;
  --local-shine-y:50%;
  --local-shine-opacity:0;
}

.launch-field::after,
.launch-submit::after{
  opacity:var(--local-shine-opacity) !important;
  background:
    radial-gradient(
      circle 44px at var(--local-shine-x) var(--local-shine-y),
      rgba(255,255,255,.38) 0%,
      rgba(255,246,216,.23) 20%,
      rgba(225,241,255,.13) 42%,
      rgba(255,255,255,.045) 67%,
      rgba(255,255,255,0) 100%
    ) !important;
}

.launch-field::before,
.launch-submit::before{
  opacity:var(--local-shine-opacity) !important;
  -webkit-mask-image:radial-gradient(
    circle 58px at var(--local-shine-x) var(--local-shine-y),
    #000 0%,
    rgba(0,0,0,.72) 45%,
    transparent 100%
  ) !important;
  mask-image:radial-gradient(
    circle 58px at var(--local-shine-x) var(--local-shine-y),
    #000 0%,
    rgba(0,0,0,.72) 45%,
    transparent 100%
  ) !important;
}

/* Prevent the group-level shine vars from activating all controls at once. */
.launch-signup{
  --signup-shine-opacity:0 !important;
}

@media(max-width:700px){
  .launch-privacy{
    white-space:normal !important;
    font-size:10px !important;
  }
}


/* V2.47 — make NOTIFY ME WHEN LAUNCH text shine follow the cursor */
.launch-signup-title{
  --title-shine-x:50%;
  --title-shine-y:50%;
  --title-shine-opacity:0;
  background:
    radial-gradient(
      circle 54px at var(--title-shine-x) var(--title-shine-y),
      rgba(255,255,255,1) 0%,
      rgba(255,232,160,.98) 24%,
      #e3aa04 58%,
      #e3aa04 100%
    ) !important;
  background-clip:text !important;
  -webkit-background-clip:text !important;
  color:transparent !important;
  transition:opacity .18s ease;
}

/* Keep the privacy text static white; no stuck shine there. */
.launch-privacy{
  background:none !important;
  color:rgba(255,255,255,.92) !important;
  -webkit-text-fill-color:rgba(255,255,255,.92) !important;
}


/* V2.49 — signup submission feedback */
.launch-form-message[data-state="success"]{
  color:rgba(255,255,255,.96) !important;
}

.launch-form-message[data-state="error"]{
  color:#ffd9d9 !important;
}

.launch-submit:disabled{
  cursor:default !important;
  opacity:.72 !important;
}

.launch-signup.is-complete .launch-signup-form{
  display:none !important;
}

.launch-signup.is-complete .launch-form-message{
  margin-top:7px !important;
}
