*{box-sizing:border-box}html{color-scheme:light}body{margin:0;background:#fafaf9;color:#242423;font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button{border:0;background:none}a{color:inherit;text-decoration:none}header{position:absolute;top:0;left:0;right:0;padding:32px 42px;display:flex;align-items:center;justify-content:space-between;z-index:2}.wordmark{font-size:21px;font-weight:600;letter-spacing:-1px}.wordmark span{font-size:10px;vertical-align:top;margin-left:4px}.about-link{font-size:12px;color:#666}.about-link span{margin-left:20px}main{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:100px 20px 90px;overflow:hidden}.intro{text-align:center;z-index:1}.eyebrow{font-size:9px;letter-spacing:2px;color:#8e8e8a}h1{font-size:clamp(24px,3vw,36px);font-weight:400;letter-spacing:-1.5px;margin:13px 0 10px}.intro p{font-size:12px;color:#93938d;margin:0}.universe{width:600px;height:590px;position:relative;flex:none;margin:-2px 0 -20px}.planet{position:absolute;width:160px;height:160px;padding:0;animation:float 7s ease-in-out infinite;isolation:isolate}.orb{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:50%;overflow:hidden;box-shadow:inset 2px 3px 5px #ffffffef,inset -5px -7px 12px #0003,inset 0 0 14px 5px #fffa,0 22px 25px -15px #51444e42;transition:transform .5s,box-shadow .5s}.orb:after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(ellipse at 30% 15%,#ffffffe8,transparent 26%),radial-gradient(ellipse at 75% 85%,#ffffff9c,transparent 20%);box-shadow:inset 0 0 3px 2px white;pointer-events:none}.orb:before{content:"";position:absolute;z-index:2;inset:5px 12px 55%;border-radius:50%;border-top:2px solid #ffffffe0;transform:rotate(-28deg);filter:blur(.5px)}.planet:hover,.planet:focus-visible{z-index:5;animation-play-state:paused}.planet:hover .orb,.planet:focus-visible .orb{transform:scale(1.08) rotate(-5deg);box-shadow:inset 2px 3px 5px #fffe,inset -5px -7px 12px #0003,inset 0 0 14px 5px #fffa,0 26px 30px -10px #51444e45}.label{position:absolute;top:calc(100% + 14px);left:50%;transform:translate(-50%,6px);white-space:nowrap;font-size:11px;opacity:0;transition:.3s;background:#fffD;padding:7px 11px;border-radius:20px;box-shadow:0 3px 15px #00000008}.label i{font-style:normal;margin-left:12px}.planet:hover .label,.planet:focus-visible .label{opacity:1;transform:translate(-50%,0)}.p1{left:220px;top:30px;width:144px;height:144px;animation-delay:-2s}.p2{left:403px;top:143px;width:162px;height:162px;animation-delay:-4s}.p3{left:417px;top:355px;width:128px;height:128px;animation-delay:-1s}.p4{left:227px;top:425px;width:146px;height:146px;animation-delay:-5s}.p5{left:40px;top:331px;width:164px;height:164px;animation-delay:-3s}.p6{left:52px;top:147px;width:120px;height:120px;animation-delay:-6s}.center{left:207px;top:218px;width:188px;height:188px}.mint{background:radial-gradient(circle at 30% 30%,#d8ffed,#8ed9cd 42%,#3b929a 80%,#d3ffef)}.sculpture{font-family:Georgia,serif;font-size:114px;font-style:italic;letter-spacing:-13px;transform:rotate(-20deg) translate(-10px,-5px);color:#224f50;text-shadow:2px 3px #d9ffed,5px 6px 5px #23585f85}.dark{background:radial-gradient(circle at 35% 25%,#75858a,#182d30 45%,#081217 80%)}.orbit-art{width:115px;height:120px;border-radius:18px;background:#061719;transform:rotate(14deg) translateY(24px);padding:18px 10px;color:#c8ffef;font-size:12px;box-shadow:0 0 0 1px #9db9b9}.orbit-art small{font-size:5px;letter-spacing:1px}.line{display:block;height:44px;margin:8px 0;background:repeating-linear-gradient(90deg,transparent 0 7px,#aaf7cb 8px 10px);clip-path:polygon(0 90%,10% 50%,20% 70%,35% 30%,45% 55%,65% 0,75% 30%,100% 3%,100% 100%,0 100%)}.rainbow{background:conic-gradient(from 45deg,#a2caff,#bdadff,#ff9fd3,#ffe6a1,#c8ffb1,#a2caff)}.glass-card{width:75px;height:100px;transform:rotate(-15deg) translateY(10px);background:#ffffff50;box-shadow:0 0 1px 1px #fff9;border-radius:10px;padding:10px;text-align:left;font-size:10px;color:#564e82}.glass-card span{display:block;font-size:7px;margin:10px 0}.glass-card b{font-size:29px;font-weight:400}.orange{background:radial-gradient(ellipse at 25% 10%,#b4a99f,#282b28 55%,#10211d)}.sun{font-size:150px;color:#ed895c;line-height:1;transform:rotate(13deg);text-shadow:2px 4px 3px #151a17}.chrome{background:conic-gradient(from 30deg,#102e2e,#8fe2dc,#071c20,#d5e2e1,#173134,#72b9b5,#102e2e)}.mono-art{color:#121d1e;font-family:Georgia,serif;font-size:135px;font-weight:bold;font-style:italic;transform:rotate(-16deg) translateY(-10px);-webkit-text-stroke:2px #e5f1ed;text-shadow:4px 5px 0 #647d7a,8px 9px 4px #001c22}.ivory{background:radial-gradient(circle at 30% 20%,#fff,#e5e7d9 65%,#b6c5ae)}.note-art{font-family:Georgia,serif;font-size:40px;transform:rotate(12deg);color:#4d644d}.note-art span{display:block;font-family:Arial,sans-serif;font-size:8px;line-height:1.4;margin-top:7px;text-align:left}.violet{background:radial-gradient(ellipse at 54% 12%,#f6d6ffb3,transparent 50%),radial-gradient(ellipse at 45% 70%,#5013c8,transparent 60%),radial-gradient(circle at 40% 40%,#bb86ef,#b28ae6 40%,#eee5fc 80%);box-shadow:inset 3px 3px 5px white,inset -5px -8px 12px #a473bb50,inset 0 0 24px 9px #fffc,0 20px 45px -10px #9d57de44}.initials{color:#ffffffb5;font-family:Georgia,serif;font-style:italic;letter-spacing:-9px;font-size:64px;transform:translateX(-4px);text-shadow:0 2px 14px #fff9}.hint{display:flex;align-items:center;gap:8px;font-size:9px;color:#999a92;margin-top:18px;letter-spacing:.3px}.dot{width:4px;height:4px;border-radius:50%;background:#a4ac9c}.hint-line{height:1px;width:28px;background:#d8d8d2;margin:0 6px}footer{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;padding:22px 35px;align-items:center;font-size:10px;color:#999}footer>div{display:flex;align-items:center;gap:22px}.signature{font-size:30px;letter-spacing:-4px;font-family:Georgia,serif;font-style:italic;color:#777}.contact{background:#20211f;color:#fff;border-radius:30px;padding:15px 22px;font-size:11px}.contact span{margin-left:24px}.contact:hover{background:#6143a0}.motion{width:35px;height:35px;border:1px solid #e6e6e1;border-radius:50%;font-size:12px}.paused .planet{animation-play-state:paused}button:focus-visible,a:focus-visible{outline:2px solid #8054ca;outline-offset:6px;border-radius:10px}dialog{border:1px solid #e8e8e3;border-radius:24px;padding:0;width:min(920px,calc(100% - 32px));max-height:90svh;background:#fafaf9;color:#242423;box-shadow:0 40px 100px #35234b20}dialog::backdrop{background:#f5f5f2c9;backdrop-filter:blur(18px)}.detail-top,.detail-bottom{display:flex;justify-content:space-between;align-items:center;padding:20px 28px;font-size:9px;letter-spacing:1px;color:#888}.close{font-size:28px;color:#333}.detail-body{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:35px;padding:50px}.detail-copy h2{font-size:60px;font-weight:400;letter-spacing:-3px;margin:18px 0}.detail-copy p{font-size:15px;line-height:1.8;color:#787873}.detail-art{height:310px;display:flex;align-items:center;justify-content:center;background:#efefeb;border-radius:18px}.detail-art .orb{width:210px;height:210px}.detail-bottom{border-top:1px solid #e6e6e1}.detail-bottom button{font-size:11px;color:#444}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:25px}.chips span{padding:8px 10px;border:1px solid #ddd;border-radius:20px;font-size:10px}.contact-note{font-size:11px!important;color:#999!important}.note-list{font-size:13px;line-height:1.8;color:#555;padding-left:18px}@keyframes float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-12px) rotate(1deg)}}@media(min-height:950px){.universe{margin-top:20px;margin-bottom:10px}}@media(max-width:640px){header{padding:25px 22px}.wordmark{font-size:19px}.about-link{font-size:10px}.about-link span{margin-left:8px}main{padding:100px 0 110px;min-height:100svh}.universe{zoom:.64;margin:15px 0 0}.intro{padding:0 20px}.intro .eyebrow{font-size:8px}.intro p{font-size:11px}h1{font-size:27px}.hint{margin-top:22px;font-size:8px}footer{padding:20px;gap:10px}footer>div{gap:12px}footer{font-size:8px}.contact{font-size:10px;padding:13px 16px}.contact span{margin-left:12px}.motion{width:30px;height:30px}.signature{font-size:25px}.detail-body{grid-template-columns:1fr;padding:25px;gap:25px}.detail-copy h2{font-size:44px}.detail-art{height:230px}.detail-art .orb{width:170px;height:170px}.detail-top,.detail-bottom{padding:15px 22px}.label{font-size:13px}.planet .label{opacity:1;transform:translate(-50%,0);padding:4px 9px}.center .label{display:none}}@media(max-width:370px){.universe{zoom:.54}.signature{display:none}footer>div{gap:7px}}@media(max-height:790px) and (min-width:641px){.universe{zoom:.77}main{padding-top:85px}.intro h1{font-size:28px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Official project identities */
.basgan{background:radial-gradient(ellipse at 30% 20%,#fff,#edf0f8 48%,#c4cde1 80%,#f9fbff)}.redkit{background:radial-gradient(ellipse at 30% 15%,#ffdfd3,#ee6d48 45%,#c74029 80%,#ffd6ba)}.project-logo{display:block;width:78%;height:auto;max-height:55%;object-fit:contain;position:relative;z-index:1;filter:drop-shadow(0 3px 2px #0002)}.basgan .project-logo{transform:rotate(-8deg)}.redkit .project-logo{width:70%;transform:rotate(9deg)}.featured .label{opacity:1;transform:translate(-50%,0)}.detail-copy h2{font-size:clamp(36px,4vw,54px);line-height:1.08}.detail-art:has(.basgan){background:#e9edf5}.detail-art:has(.redkit){background:#fcebe4}.project-summary{font-size:16px;font-weight:500;margin:28px 0 0}.project-summary+p{font-size:13px;line-height:1.7}.project-link{display:inline-flex;align-items:center;background:#252523;color:white;border-radius:24px;padding:14px 20px;font-size:12px;margin-top:10px}.project-link:hover{background:#6143a0}@media(max-width:640px){.detail-copy h2{font-size:38px}.detail-body{padding-top:12px}}
.basgan{background:radial-gradient(ellipse at 30% 15%,#687b9c,#233659 45%,#101c34 80%,#7488aa)}

/* Larger project spheres and social links */
.universe{zoom:1.08}.planet.p1{width:166px;height:166px;left:209px;top:19px}.planet.p2{width:182px;height:182px;left:393px;top:133px}.planet.p3{width:146px;height:146px;left:408px;top:346px}.planet.p4{width:166px;height:166px;left:217px;top:415px}.planet.p5{width:184px;height:184px;left:30px;top:321px}.planet.p6{width:138px;height:138px;left:43px;top:138px}.planet.center{width:210px;height:210px;left:196px;top:207px}.social{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:#f0f0ed;color:#161715;transition:background .2s,transform .2s}.social svg{width:20px;height:20px;fill:currentColor}.social:hover{background:#e6e1ef;transform:translateY(-3px)}footer>div:last-child{gap:10px}.contact{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:14px 22px;font-size:13px}.motion{margin-right:8px}main{min-height:calc(100svh - 78px);padding-bottom:12px}footer{position:relative;min-height:78px}.hint{margin-top:30px}@media(max-height:790px) and (min-width:641px){.universe{zoom:.89;margin-top:-12px;margin-bottom:-18px}main{padding-top:78px}.intro h1{font-size:25px;margin:7px 0}.intro .eyebrow{display:none}.hint{margin-top:16px}}@media(max-width:640px){.universe{zoom:.64;margin-top:15px;margin-bottom:0}main{padding:100px 0 28px;min-height:calc(100svh - 100px)}footer{padding:12px 20px 20px;flex-wrap:wrap;gap:18px;min-height:100px}footer>div:last-child{margin-left:auto;gap:8px}.social{width:36px;height:36px}.social svg{width:17px;height:17px}.contact{min-height:38px;padding:10px 16px;font-size:12px}.motion{margin-right:3px}.hint{margin-top:28px}}@media(max-width:370px){.universe{zoom:.56}}

/* Full-page project presentations, with an orbital project switcher. */
body.project-open{overflow:hidden}.project-open>header{visibility:hidden}.project-open .intro,.project-open .hint{visibility:hidden}dialog#detail{position:fixed;inset:0;width:100%;max-width:none;height:100svh;max-height:none;margin:0;border:0;border-radius:0;background:#fafaf9;box-shadow:none;overflow:auto;z-index:10;scroll-behavior:smooth}dialog[open] .detail-body{animation:projectEnter .65s ease both}.detail-top{position:fixed;top:20px;right:24px;z-index:16;padding:0}.detail-top>span{display:none}.close{width:44px;height:44px;border-radius:50%;background:#efefed;font-size:28px}.project-home{position:fixed;top:24px;left:26px;width:62px;height:62px;padding:0;z-index:16}.project-home .initials{font-size:27px;letter-spacing:-4px}.project-home .orb{box-shadow:inset 1px 2px 3px white,inset 0 0 10px 4px #fff9,0 6px 12px #9867ad33}.detail-body{display:block;max-width:1000px;margin:auto;padding:170px 40px 20px}.detail-copy{max-width:520px;margin:0 auto 90px}.detail-copy h2{font-size:32px;letter-spacing:-1px;line-height:1.2;margin:18px 0}.detail-copy p{font-size:16px;line-height:1.85}.detail-copy .project-summary,.detail-copy .project-summary+p{display:none}.detail-art{height:480px;border-radius:26px;position:relative;overflow:hidden}.detail-art .orb{width:290px;height:290px}.detail-art[data-project="basgan"]{background:radial-gradient(ellipse at 50% 40%,#465e88,#142540)}.detail-art[data-project="redkit"]{background:radial-gradient(ellipse at 50% 40%,#ffd3b8,#e86b48)}.detail-art .project-logo{filter:drop-shadow(0 5px 4px #0003)}.project-gallery figure{margin:28px 0}.project-gallery img{width:100%;display:block;max-height:720px;object-fit:contain;background:white;border-radius:26px}.project-gallery figcaption{font-size:9px;letter-spacing:1.5px;color:#888;margin:15px 4px}.project-statement{max-width:520px;margin:100px auto}.project-statement h3{font-size:30px;font-weight:400;letter-spacing:-1px}.project-statement p{line-height:1.8;color:#777;font-size:16px}.detail-bottom{max-width:920px;margin:30px auto 230px;padding:22px 0}.project-open footer{position:fixed;bottom:0;left:0;right:0;z-index:40;pointer-events:none;background:linear-gradient(transparent,#fafaf9ef)}.project-open footer>div{pointer-events:auto}.project-open .universe{position:fixed;z-index:30;left:50%;bottom:-370px;margin:0;width:600px;height:590px;zoom:1;transform:translateX(-50%) scale(.38);transform-origin:center bottom;transition:transform .65s ease,bottom .65s ease}.project-open .planet{animation:none}.project-open .planet .label{font-size:23px;opacity:0;background:#fff}.project-open .planet:hover .label,.project-open .planet:focus-visible .label{opacity:1}.project-open .planet[aria-pressed="true"] .orb{outline:5px solid #b5a2d8;outline-offset:8px}.project-open .planet.center{display:none}.project-open .planet .orb{box-shadow:inset 2px 3px 5px #fffe,inset 0 0 14px 5px #fffa,0 15px 25px #0002}@keyframes projectEnter{from{opacity:0;transform:translateY(35px)}to{opacity:1;transform:translateY(0)}}@media(max-width:640px){.detail-body{padding:125px 20px 20px}.detail-copy{margin-bottom:45px}.detail-copy h2{font-size:29px}.detail-copy p{font-size:14px}.detail-art{height:330px}.detail-art .orb{width:230px;height:230px}.project-home{width:48px;height:48px;left:18px;top:18px}.detail-top{top:18px;right:18px}.project-open .universe{transform:translateX(-50%) scale(.3);bottom:-420px}.project-open footer{min-height:64px;padding:12px 16px}.project-open footer>div:first-child,.project-open footer .motion{display:none}.project-open footer>div:last-child{margin:auto}.detail-bottom{margin:20px 20px 250px}.project-statement{margin:65px 5px}.project-statement h3{font-size:26px}.project-open .universe{bottom:-345px}.project-gallery img{border-radius:18px}}
.project-open .universe{bottom:-110px}@media(max-width:640px){.project-open .universe{bottom:32px;transform:translateX(-50%) scale(.25)}}
.project-open .universe{width:650px;height:140px;bottom:0;transform:translateX(-50%) scale(.6)}.project-open .planet{top:10px;width:95px;height:95px}.project-open .p1{left:0}.project-open .p2{left:110px}.project-open .p3{left:220px}.project-open .p4{left:330px}.project-open .p5{left:440px}.project-open .p6{left:550px}.project-open .planet .label{top:auto;bottom:calc(100% + 12px);font-size:16px}.project-open .sun{font-size:90px}.project-open .mono-art{font-size:85px}.project-open .note-art{font-size:30px}.project-open footer{background:linear-gradient(transparent,#fafaf980)}@media(max-width:640px){.project-open .universe{transform:translateX(-50%) scale(.45);bottom:66px}.project-open footer{background:#fafaf9e8}}

.artwork-orb img{width:100%;height:100%;object-fit:cover;display:block}.artwork-orb:after{z-index:2;box-shadow:inset 0 0 12px 4px #fffa}.melka img{object-position:center;transform:scale(1.7)}.muslum img{object-position:50% 35%;transform:scale(1.1)}.azer img{object-position:50% 35%}.detail-art:has(.artwork-orb){display:none}.project-gallery:has(figure) {margin-top:0}.project-gallery img{max-height:none;height:auto}.detail-copy .contact-note{font-size:12px}
/* Personal about page and tactile keepsakes. */
.about-view .detail-copy,.about-view .detail-art,.about-view .detail-bottom{display:none}.about-view .detail-body{max-width:880px;padding:155px 45px 230px}.about-story{max-width:700px;margin:auto}.keepsakes{display:flex;align-items:center;height:190px;perspective:900px;margin-bottom:38px;padding-left:5px}.keepsake{--rx:0deg;--ry:0deg;--base:0deg;position:relative;display:block;width:155px;height:155px;flex-shrink:0;transform:rotate(var(--base)) rotateX(var(--rx)) rotateY(var(--ry));transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s;box-shadow:0 12px 30px #1e254016;will-change:transform}.keepsake:after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at var(--shine-x,30%) var(--shine-y,20%),#ffffffa0,transparent 65%);opacity:0;pointer-events:none;transition:opacity .3s}.keepsake:hover:after,.keepsake:focus-visible:after{opacity:1}.keepsake:hover,.keepsake:focus-visible{z-index:5;transform:translateY(-15px) scale(1.08) rotate(var(--base)) rotateX(var(--rx)) rotateY(var(--ry));box-shadow:0 22px 36px #24204025}.keepsake img{width:100%;height:100%;object-fit:cover;display:block}.stamp-card{--base:-10deg;background:#fff;padding:12px 12px 25px;border:5px dotted #e0e4e8;margin-right:-20px}.stamp-card img{object-position:center}.stamp-caption{display:block;font-size:6px;letter-spacing:1px;margin-top:7px}.character-card{--base:5deg;border-radius:28px;background:#fff;padding:6px;z-index:3}.character-card img{border-radius:23px}.music-card{--base:16deg;border:3px solid #fff;border-radius:13px;background:linear-gradient(135deg,#ffffffb8,#e2e5eaa3);margin-left:-20px;padding:9px;box-shadow:inset 0 0 0 1px #cbd0d5,0 12px 30px #1e254016}.disc{display:block;position:absolute;inset:10px;border-radius:50%;background:repeating-conic-gradient(from 20deg,#d8dee5 0deg,#f9ffff 22deg,#92bfc9 40deg,#e8cce8 65deg,#edf4ce 85deg,#c4d3de 100deg);box-shadow:inset 0 0 0 1px #b9c1c7,0 2px 5px #0002;transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}.disc-hole{position:absolute;width:32px;height:32px;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;background:#dfe4e8;border:9px solid #393e43;box-shadow:0 0 0 5px #b2bbc2}.music-card:hover .disc,.music-card:focus-visible .disc{transform:rotate(180deg)}.disc-label{position:absolute;bottom:14px;right:5px;text-align:left;background:#242b29;color:#d3ff3b;padding:8px 10px;font-size:6px;letter-spacing:1px;transform:rotate(-5deg)}.disc-label b{display:inline-block;font-size:9px;letter-spacing:0;margin-top:4px}.about-kicker{color:#8c8e89;font-size:9px;letter-spacing:2px}.about-story h2{font-size:clamp(46px,6.5vw,80px);font-weight:500;line-height:1.03;letter-spacing:-4px;margin:24px 0 48px;color:#151715}.about-story h2 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-4px}.about-paragraphs p{font-size:clamp(18px,2.2vw,25px);line-height:1.7;letter-spacing:-.35px;margin:0;padding:30px 0;border-bottom:3px dotted #c5ccc9}.about-paragraphs p:first-child{padding-top:0}.about-paragraphs .about-invitation{border:0;color:#73827d}.about-invitation a{color:#252925;border-bottom:3px dotted #abb8b1;padding-bottom:5px;transition:color .2s}.about-invitation a:hover{color:#7251ae}.about-invitation span{display:inline-block;transition:transform .25s}.about-invitation a:hover span{transform:translate(4px,-4px)}.about-archive{display:inline-block;font-size:12px;color:#7b827c;margin-top:14px}.wiggle{animation:cardWiggle .7s ease!important}@keyframes cardWiggle{0%,100%{transform:rotate(var(--base))}30%{transform:translateY(-16px) rotate(calc(var(--base) - 9deg)) scale(1.08)}65%{transform:translateY(-8px) rotate(calc(var(--base) + 7deg)) scale(1.05)}}.paused .keepsake,.paused .disc{transition:none}.paused .keepsake:hover{transform:rotate(var(--base))}.paused .music-card:hover .disc{transform:none}@media(max-width:640px){.about-view .detail-body{padding:115px 26px 240px}.keepsakes{height:140px;margin-bottom:35px}.keepsake{width:115px;height:115px}.character-card{border-radius:23px}.character-card img{border-radius:18px}.stamp-card{padding:7px 7px 20px;margin-right:-18px}.stamp-caption{font-size:4px}.music-card{margin-left:-18px}.disc-label{font-size:4px;bottom:8px;padding:6px}.disc-label b{font-size:7px}.about-story h2{font-size:48px;letter-spacing:-2.5px;margin:20px 0 35px}.about-story h2 em{letter-spacing:-2.5px}.about-paragraphs p{font-size:19px;padding:25px 0;line-height:1.7}}@media(prefers-reduced-motion:reduce){.keepsake:hover,.keepsake:focus-visible{transform:rotate(var(--base))}.music-card:hover .disc,.music-card:focus-visible .disc{transform:none}.keepsake{will-change:auto}}
/* Viewport-filling orbital composition, clear glass and adaptive themes. */
:root{--surface:#fafaf9;--ink:#242423;--muted:#777970;--panel:#efefeb;--line:#dddfd9;--universe-scale:1.2}body{background:var(--surface);color:var(--ink);transition:background .4s,color .4s}body:not(.project-open) main{height:100svh;min-height:660px;padding:0;position:relative}body:not(.project-open) .intro{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}body:not(.project-open) .universe{zoom:1;position:absolute;left:50%;top:50%;margin:0;width:600px;height:590px;transform:translate(-50%,-50%) scale(var(--universe-scale));transform-origin:center center}body:not(.project-open) .hint{display:none}body:not(.project-open) footer{position:fixed;bottom:0;left:0;right:0;z-index:8;min-height:70px;padding:16px 28px;pointer-events:none}footer>div{pointer-events:auto}.featured .label{opacity:0;transform:translate(-50%,6px)}.planet:hover .label,.planet:focus-visible .label{opacity:1;transform:translate(-50%,0)}.planet{--glow:151,129,201}.p1{--glow:76,112,172}.p2{--glow:240,118,74}.p3{--glow:26,130,114}.p4{--glow:207,62,25}.p5{--glow:174,142,149}.p6{--glow:176,199,126}.planet:after{content:"";position:absolute;left:9%;right:9%;top:91%;height:22%;border-radius:50%;background:radial-gradient(ellipse,rgba(var(--glow),.28),transparent 68%);filter:blur(13px);z-index:-1;pointer-events:none}.orb{box-shadow:inset 0 0 0 1px #ffffffcf,inset 4px 5px 8px #ffffffb8,inset -12px -13px 18px #1b223c3b,inset 0 0 10px 3px #ffffff8a,0 20px 35px -18px #24223844,0 0 38px -20px rgba(var(--glow),.5)}.orb:before{inset:5px 13px 52%;border-top:3px solid #fff;opacity:.85;filter:blur(.4px)}.orb:after{z-index:3;background:radial-gradient(ellipse at 31% 14%,#ffffffd9 0%,#ffffff21 19%,transparent 28%),radial-gradient(ellipse at 81% 78%,#ffffff82,transparent 23%),linear-gradient(125deg,transparent 40%,#c4d9ff1c 44%,transparent 49%);box-shadow:inset 0 0 0 1px #ffffffbd,inset -8px -5px 10px #ffffff75,inset 2px 0 4px #cdf9ff80}.artwork-orb:after{box-shadow:inset 0 0 2px 1px #fff,inset 7px 2px 12px #c7f3ff7a,inset -11px -12px 15px #13162b7a,inset -3px -3px 7px #fff9}.planet:hover .orb{box-shadow:inset 0 0 0 1px #fff,inset 4px 5px 8px #fff9,inset -12px -13px 18px #1b223c3b,0 24px 40px -15px rgba(var(--glow),.4)}.planet .project-logo{filter:drop-shadow(1px 2px 0 #ffffff45) drop-shadow(3px 5px 4px #0005)}.violet{background:radial-gradient(ellipse at 30% 14%,#fce8ff9e,transparent 45%),radial-gradient(ellipse at 48% 66%,#6306e3 10%,transparent 58%),radial-gradient(ellipse at 65% 35%,#d5a8ff,#a374e8 50%,#f5eaff 90%)}.theme-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--panel);color:var(--ink)}.theme-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.sun-icon{display:none}[data-theme="dark"] .sun-icon{display:block}[data-theme="dark"] .moon-icon{display:none}.theme-toggle:hover{transform:rotate(-12deg);background:#b4a4d12b}.theme-toggle:focus-visible{outline:2px solid #9975ce;outline-offset:4px}[data-theme="dark"]{color-scheme:dark;--surface:#101116;--ink:#f0f0ee;--muted:#a4a7af;--panel:#24252d;--line:#35373f}[data-theme="dark"] .about-link,[data-theme="dark"] .eyebrow,[data-theme="dark"] .about-kicker{color:#a8acb6}[data-theme="dark"] footer{color:#a8aab4}[data-theme="dark"] .signature{color:#bcbcc7}[data-theme="dark"] .social{background:#24252d;color:#f2f1f6}[data-theme="dark"] .social:hover{background:#40344f}[data-theme="dark"] .contact,[data-theme="dark"] .project-link{background:#eeedf3;color:#17171d}[data-theme="dark"] .contact:hover,[data-theme="dark"] .project-link:hover{background:#d1b9f6}[data-theme="dark"] .motion{border-color:#3c3e48;color:#c5c7d0}[data-theme="dark"] .label{background:#292a32eF;color:#f5f4f8}[data-theme="dark"] dialog#detail{background:var(--surface);color:var(--ink)}[data-theme="dark"] .close{background:#272831;color:#eee}[data-theme="dark"] .detail-copy p,[data-theme="dark"] .project-statement p{color:#b3b7c2}[data-theme="dark"] .chips span{border-color:#3c3e49;color:#d5d7df}[data-theme="dark"] .detail-art{background:#20222b}[data-theme="dark"] .detail-bottom{border-color:#3c3e49;color:#bbb}[data-theme="dark"] .detail-bottom button{color:#ddd}[data-theme="dark"] .about-story h2{color:#f4f3f8}[data-theme="dark"] .about-paragraphs p{border-color:#525660}[data-theme="dark"] .about-paragraphs .about-invitation{color:#adb9bd}[data-theme="dark"] .about-invitation a{color:#e9e7f6}[data-theme="dark"] .about-archive{color:#bbb5d1}[data-theme="dark"] .project-open footer{background:linear-gradient(transparent,#101116dd)}[data-theme="dark"] .planet:after{opacity:.6;filter:blur(19px)}[data-theme="dark"] .orb{box-shadow:inset 0 0 1px 1px #ffffff7a,inset 4px 5px 8px #ffffff90,inset -12px -13px 18px #0008,0 18px 35px -12px #000b,0 0 45px -18px rgba(var(--glow),.5)}[data-theme="dark"] .stamp-card{color:#31312a}[data-theme="dark"] .project-gallery figcaption{color:#a9a9b4}.project-open .planet:after{display:none}@media(max-width:640px){body:not(.project-open) main{min-height:560px}body:not(.project-open) footer{padding:12px 15px;min-height:76px;gap:10px}footer>div:first-child{font-size:8px;gap:8px}footer>div:last-child{gap:6px}.theme-toggle{width:34px;height:34px}.theme-toggle svg{width:18px;height:18px}.motion{display:none}.planet .label{opacity:0}.planet:hover .label,.planet:focus-visible .label{opacity:1}[data-theme="dark"] .project-open footer{background:#101116ef}}@media(prefers-reduced-motion:reduce){body{transition:none}}

/* Complete archive: six large orbs at a time, names only inside projects. */
.planet .label{display:none!important}.planet[hidden]{display:none!important}
.archive-pages{position:fixed;z-index:41;left:50%;bottom:19px;transform:translateX(-50%);display:flex;align-items:center;gap:13px;color:var(--muted);font-size:10px;letter-spacing:2px;font-variant-numeric:tabular-nums}
.archive-pages button{width:36px;height:36px;border-radius:50%;color:var(--ink);background:var(--panel);font-size:18px;transition:background .2s,transform .2s}
.archive-pages button:hover{background:#b4a4d14d;transform:scale(1.08)}.archive-pages button:focus-visible{outline:2px solid #9975ce;outline-offset:4px}
.project-open .archive-pages{bottom:103px}.project-gallery figure:has(img){min-height:220px}.project-gallery figure>a{display:block;padding:50px;text-align:center;color:var(--muted)}
@media(max-width:900px){body:not(.project-open) .archive-pages{bottom:84px}.project-open .archive-pages{bottom:143px}body:not(.project-open) .universe{top:calc(50% - 28px)}}

/* Low-key lighting for dark surfaces, including hover and the project dock. */
[data-theme="dark"] .orb{
  box-shadow:inset 0 0 0 1px #b6c8f02e,inset 3px 4px 9px #afc8ff24,inset -12px -16px 24px #0009,0 20px 30px -14px #000b,0 0 30px -20px rgba(var(--glow,151,129,201),.28);
}
[data-theme="dark"] .orb:before{border-top-color:#d6e3ff;opacity:.42;filter:blur(.6px)}
[data-theme="dark"] .orb:after{
  background:radial-gradient(ellipse at 31% 14%,#dce8ff66 0%,#bbd4ff0d 18%,transparent 29%),radial-gradient(ellipse at 81% 78%,#a6b8ed18,transparent 24%),linear-gradient(125deg,transparent 40%,#a1b6fa0a 44%,transparent 49%);
  box-shadow:inset 0 0 0 1px #bdcffe38,inset -7px -9px 16px #0007,inset 2px 0 5px #a9caff20;
}
[data-theme="dark"] .planet:after{opacity:.75;top:94%;height:16%;background:radial-gradient(ellipse,#0009,transparent 70%);filter:blur(13px)}
[data-theme="dark"] .planet:hover .orb,[data-theme="dark"] .planet:focus-visible .orb{
  box-shadow:inset 0 0 0 1px #c2d4ff50,inset 3px 4px 10px #afc8ff30,inset -12px -16px 24px #0009,0 26px 36px -13px #000c,0 0 38px -16px rgba(var(--glow,151,129,201),.3);
}
[data-theme="dark"] .violet{background:radial-gradient(ellipse at 30% 14%,#cba8f84d,transparent 45%),radial-gradient(ellipse at 48% 66%,#6418cd 10%,transparent 58%),radial-gradient(ellipse at 65% 35%,#a678dc,#6744a6 55%,#33254e 95%)}
[data-theme="dark"] .initials{text-shadow:0 2px 10px #9f72e933}
[data-theme="dark"] .planet .project-logo,[data-theme="dark"] .detail-art .project-logo{filter:drop-shadow(2px 4px 4px #0008)}
[data-theme="dark"] .project-open .planet .orb,[data-theme="dark"] .project-home .orb{box-shadow:inset 0 0 0 1px #c3d2fa38,inset 2px 3px 6px #bfd4ff20,inset -6px -8px 12px #0008,0 8px 16px -6px #000b}
[data-theme="dark"] .keepsake{box-shadow:0 12px 26px -7px #000a}
[data-theme="dark"] .keepsake:hover,[data-theme="dark"] .keepsake:focus-visible{box-shadow:0 24px 36px -9px #000c,0 0 20px -12px #9b7fd633}
[data-theme="dark"] .keepsake:after{background:radial-gradient(circle at var(--shine-x,30%) var(--shine-y,20%),#cbd9ff38,transparent 65%)}
[data-theme="dark"] .music-card{border-color:#656b7b;background:linear-gradient(135deg,#454c5bb8,#222733d9);box-shadow:inset 0 0 0 1px #a5b6d533,0 12px 26px -7px #000a}
[data-theme="dark"] .character-card{background:#343743}
[data-theme="dark"] dialog::backdrop{background:#090b12c9}

/* Gilmer typography and rounded physical keepsakes. */
@font-face{font-family:Gilmer;src:url('assets/fonts/Gilmer-Regular.otf') format('opentype'),url('assets/fonts/Gilmer-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Gilmer;src:url('assets/fonts/Gilmer-Medium.otf') format('opentype'),url('assets/fonts/Gilmer-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Gilmer;src:url('assets/fonts/Gilmer-Bold.otf') format('opentype'),url('assets/fonts/Gilmer-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
body,button,input,textarea,select{font-family:Gilmer,Arial,sans-serif}
.about-story h2{font-weight:500;letter-spacing:-3px}.about-story h2 em{font-family:Gilmer,Arial,sans-serif;font-style:normal;font-weight:400;letter-spacing:inherit}
.keepsake{border-radius:30px;isolation:isolate;box-shadow:0 2px 2px #171c2324,0 8px 12px -6px #171c2340,0 20px 32px -16px #171c2355}
.keepsake img{border-radius:22px}
.stamp-card{border:1px solid #e4e6e5;padding:10px 10px 25px;background:linear-gradient(135deg,#fff,#f0f0ec);border-radius:27px;box-shadow:inset 0 1px 1px #fff,inset 0 -2px 3px #a8adb32b,0 2px 1px #b8bec4,0 15px 26px -12px #16213166}
.stamp-card img{border-radius:18px}.stamp-caption{font-size:5px;letter-spacing:.75px;margin-top:7px}
.character-card{padding:6px;border:1px solid #e4e7eb;border-radius:32px;background:linear-gradient(140deg,#fff,#d6dce1);box-shadow:inset 0 2px 2px #fff,0 3px 0 #aab1ba,0 6px 6px #0e192a24,0 20px 26px -14px #0e192a66}
.character-card img{border-radius:26px}
.music-card{border:1px solid #dce2e9;border-radius:27px;background:linear-gradient(135deg,#ffffffa6,#d6dfe375 35%,#a6b3be59 70%,#edf6ffb0);box-shadow:inset 0 0 0 3px #ffffff66,inset 0 0 0 4px #77859155,inset 0 -4px 6px #55657440,0 3px 0 #9eacb7,0 18px 26px -12px #0e192a66}
.music-card:before{content:'';position:absolute;inset:5px;border-radius:21px;border:1px solid #ffffff99;background:linear-gradient(120deg,#fff5,transparent 32%,transparent 65%,#fff3);pointer-events:none;z-index:2}
.disc{inset:12px;border:1px solid #c0cbd3;background:repeating-radial-gradient(circle at center,transparent 0 1px,#70849720 1.2px 1.6px,transparent 2px 3px),conic-gradient(from 15deg,#d6e2e7,#f8ffff 10%,#91bec9 17%,#d6b7db 24%,#eff2d1 30%,#afc8d3 38%,#f5ffff 49%,#acbbca 57%,#e6cce4 65%,#cbe9c9 73%,#fcffff 84%,#a3b8c9 91%,#d6e2e7);box-shadow:inset 0 0 0 2px #ffffff80,inset 0 0 0 5px #a5b7c155,0 3px 5px #0f1b2840}
.disc-hole{width:30px;height:30px;border:8px solid #424a50;background:linear-gradient(135deg,#dbe5ec,#8c9daa);box-shadow:0 0 0 4px #c1cbd4,0 0 0 5px #ffffff70,inset 0 2px 3px #0008}
.disc-label{border-radius:6px;padding:8px;box-shadow:0 2px 3px #0005,inset 0 1px 0 #ffffff20;background:linear-gradient(135deg,#303e36,#17231e)}
.keepsake:after{background:linear-gradient(125deg,#ffffff70,transparent 35%,transparent 70%,#ffffff18);opacity:.25;border-radius:inherit}
.keepsake:hover,.keepsake:focus-visible{box-shadow:0 3px 3px #16213122,0 27px 34px -12px #16213166}
[data-theme="dark"] .stamp-card{background:linear-gradient(135deg,#f1f0eb,#c8cdd0);border-color:#828996;box-shadow:inset 0 1px 1px #fff9,inset 0 -2px 3px #1c243344,0 2px 0 #646d7b,0 16px 26px -9px #000b}
[data-theme="dark"] .character-card{border-color:#777e8c;background:linear-gradient(135deg,#a6aebb,#414956);box-shadow:inset 0 1px 2px #e0eaff66,0 3px 0 #252c39,0 18px 27px -9px #000b}
[data-theme="dark"] .music-card{border-color:#7e8b9e;background:linear-gradient(135deg,#7c8a9e80,#25314099 55%,#4c5b7090);box-shadow:inset 0 0 0 3px #c8d9ef26,inset 0 0 0 4px #10192870,0 3px 0 #202835,0 18px 27px -9px #000c}
[data-theme="dark"] .music-card:before{border-color:#c5d4ea40;background:linear-gradient(120deg,#d9e7ff26,transparent 35%,transparent 70%,#d9e7ff12)}
@media(max-width:640px){.keepsake{border-radius:23px}.stamp-card{padding:7px 7px 20px}.stamp-card img{border-radius:16px}.character-card{border-radius:25px}.character-card img{border-radius:19px}.music-card{border-radius:22px}.music-card:before{border-radius:17px}.disc-label{padding:6px;border-radius:4px}.stamp-caption{font-size:4px}.about-story h2{letter-spacing:-2px}}

/* Optical glass shell remains crisp while its contents refract. */
.planet{--glass-x:30%;--glass-y:20%;--glass-dx:0px;--glass-dy:0px;--glass-blur:0px}
.planet .orb{isolation:isolate;background-color:#aabaca; border:1px solid #c8d9ec88}
.planet .orb>img,.planet .orb>.initials{transition:translate .22s ease-out,filter .3s ease-out;translate:var(--glass-dx) var(--glass-dy);filter:blur(var(--glass-blur)) saturate(1.08)}
.planet .artwork-orb>img{width:92%;height:92%;border-radius:50%;object-fit:cover;transform:scale(1.035)}
.planet .orb:before{z-index:4;inset:5% 10% 49%;border-top:2px solid #ffffffc9;opacity:.85;transform:rotate(-27deg);background:radial-gradient(ellipse at var(--glass-x) var(--glass-y),#fff8,transparent 64%);filter:blur(.7px);pointer-events:none}
.planet .orb:after{z-index:5;inset:0;pointer-events:none;background:radial-gradient(ellipse at var(--glass-x) var(--glass-y),#ffffffb8 0%,#ffffff24 12%,transparent 28%),radial-gradient(ellipse at 74% 85%,#d4faff88,transparent 26%),radial-gradient(circle,transparent 56%,#152b5659 76%,#d5f4ff9c 93%,#fff9 100%);box-shadow:inset 0 0 0 2px #fff8,inset 4px 2px 9px #efffff99,inset -5px -7px 13px #23304766,inset -2px -3px 4px #fff9}
.planet:hover .orb,.planet:focus-visible .orb{transform:scale(1.06);box-shadow:inset 0 0 0 1px #fff9,0 24px 32px -17px #0b234666,0 0 30px -15px rgba(var(--glow),.4)}
[data-theme="dark"] .planet .orb{background-color:#172132;border-color:#afc9eb42}
[data-theme="dark"] .planet .orb:before{border-top-color:#d6e8ff99;opacity:.65;background:radial-gradient(ellipse at var(--glass-x) var(--glass-y),#d5e8ff55,transparent 64%)}
[data-theme="dark"] .planet .orb:after{background:radial-gradient(ellipse at var(--glass-x) var(--glass-y),#e3efff88, #b8d6ff12 14%,transparent 29%),radial-gradient(ellipse at 74% 85%,#8bbbea38,transparent 26%),radial-gradient(circle,transparent 55%,#030b1d99 80%,#b3d9ff55 96%,#b3d9ff44);box-shadow:inset 0 0 0 1px #c4dfff55,inset 3px 2px 8px #c0e7ff44,inset -6px -9px 15px #0008,inset -2px -3px 4px #c6e5ff33}
[data-theme="dark"] .planet:hover .orb,[data-theme="dark"] .planet:focus-visible .orb{box-shadow:inset 0 0 0 1px #bfd9ff55,0 26px 36px -13px #000c,0 0 38px -16px rgba(var(--glow),.3)}
.paused .planet .orb>img,.paused .planet .orb>.initials{translate:0 0;filter:none}
@media(prefers-reduced-motion:reduce){.planet .orb>img,.planet .orb>.initials{translate:0 0;filter:none;transition:none}.planet:hover .orb,.planet:focus-visible .orb{transform:none}}

/* Quiet project presentation: narrow introduction, spacious image column. */
#detail:not(.about-view) .detail-body{max-width:820px;padding:145px 40px 30px;margin:auto}
#detail:not(.about-view) .detail-copy{max-width:520px;margin:0 auto 110px}
#detail:not(.about-view) #tag,#detail:not(.about-view) .chips{display:none}
#detail:not(.about-view) .detail-copy h2{font-size:20px;line-height:1.5;letter-spacing:-.4px;margin:0 0 13px;font-weight:500}
#detail:not(.about-view) .detail-copy p{font-size:16px;line-height:1.85;margin:0 0 15px;color:#7b8190}
#detail:not(.about-view) .detail-copy p:empty{display:none}
#detail:not(.about-view) .project-link{display:inline;padding:0;border-radius:0;background:none;color:var(--ink);font-size:13px;line-height:1.8;border-bottom:2px dotted #a9afb9;box-shadow:none}
#detail:not(.about-view) .project-link:hover{color:#8b66ca;border-color:#8b66ca}
#detail:not(.about-view) .detail-art{height:440px;border-radius:15px;margin-bottom:35px}
#detail:not(.about-view) .project-gallery figure{margin:0 0 38px}
#detail:not(.about-view) .project-gallery img{border-radius:15px}
#detail:not(.about-view) .project-gallery figcaption{margin-top:13px}
#detail:not(.about-view) .detail-bottom{max-width:740px;margin:40px auto 190px;padding:22px 0}
[data-theme="dark"] #detail:not(.about-view) .detail-copy p{color:#a9afbd}
.project-open .universe{display:flex;align-items:flex-end;justify-content:center;gap:clamp(18px,3vw,55px);width:min(860px,56vw);height:150px;bottom:-48px;top:auto;transform:translateX(-50%);transform-origin:bottom center;overflow:visible;pointer-events:none}
.project-open .universe .planet{position:relative;top:auto;left:auto;flex:1 1 0;max-width:110px;width:auto;height:auto;aspect-ratio:1;pointer-events:auto;transition:translate .55s cubic-bezier(.2,.8,.2,1),scale .55s}
.project-open .universe .planet[aria-pressed="true"]{translate:0 -54px;scale:1.17;z-index:3}
.project-open .universe .planet[aria-pressed="true"] .orb{outline:none}
.project-open .universe .planet:hover,.project-open .universe .planet:focus-visible{translate:0 -28px}
.project-open .universe .planet[aria-pressed="true"]:hover,.project-open .universe .planet[aria-pressed="true"]:focus-visible{translate:0 -58px}
.project-open .archive-pages{bottom:14px;width:min(980px,66vw);justify-content:space-between;pointer-events:none;gap:0}
.project-open .archive-pages button{pointer-events:auto;width:28px;height:28px;font-size:15px;background:var(--surface);opacity:.7}
.project-open #page-count{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.project-open footer{background:none}
[data-theme="dark"] .project-open footer{background:none}
@media(max-width:900px){.project-open footer>div:first-child{display:none}.project-open footer{justify-content:flex-end}.project-open footer .motion{display:none}.project-open .universe{width:calc(100% - 90px);max-width:520px;bottom:65px;height:80px;gap:18px}.project-open .universe .planet{max-width:66px}.project-open .universe .planet[aria-pressed="true"]{translate:0 -20px;scale:1.12}.project-open .universe .planet[aria-pressed="true"]:hover{translate:0 -24px}.project-open .archive-pages{width:calc(100% - 24px);max-width:600px;bottom:77px}.project-open footer>div:last-child{margin:auto}#detail:not(.about-view) .detail-body{padding:120px 25px 25px}#detail:not(.about-view) .detail-copy{margin-bottom:75px}#detail:not(.about-view) .detail-bottom{margin:30px 25px 230px}}
@media(max-width:640px){#detail:not(.about-view) .detail-body{padding:115px 22px 25px}#detail:not(.about-view) .detail-copy{max-width:440px;margin-bottom:60px}#detail:not(.about-view) .detail-copy h2{font-size:18px}#detail:not(.about-view) .detail-copy p{font-size:14px}#detail:not(.about-view) .detail-art{height:300px;border-radius:12px}#detail:not(.about-view) .project-gallery img{border-radius:12px}.project-open .universe{gap:10px}.project-open .archive-pages{bottom:75px}}
@media(prefers-reduced-motion:reduce){.project-open .universe .planet{transition:none}}
@media(min-width:901px){.project-open .archive-pages{bottom:90px;width:min(980px,66vw)}.project-open footer .motion{display:none}.project-open .universe{width:min(860px,52vw)}}

/* Lightweight glass cursor; native cursor remains the touch/failure fallback. */
.cursor-dot,.cursor-ring{position:fixed;top:0;left:0;pointer-events:none;z-index:1000;opacity:0;border-radius:50%;will-change:transform;contain:layout style}
.cursor-dot{width:5px;height:5px;background:#fff;mix-blend-mode:difference}
.cursor-ring{width:28px;height:28px;transition:transform 95ms ease-out,opacity .15s}
.cursor-ring:before{content:'';position:absolute;inset:0;border-radius:50%;border:1px solid #6d588a88;background:radial-gradient(circle at 28% 22%,#fff8,#b49bdd10 55%);box-shadow:inset 0 0 0 1px #fff5,0 2px 8px #29184414;backdrop-filter:blur(1px);transition:transform .2s,border-color .2s,background .2s}
[data-theme="dark"] .cursor-ring:before{border-color:#d1b9f3a6;background:radial-gradient(circle at 28% 22%,#d6beff33,#a68bd00a 55%);box-shadow:inset 0 0 0 1px #e1ceff14,0 0 10px #aa7ae814}
.cursor-ring.is-link:before{transform:scale(1.65);border-color:#a17dd8;background:#ab83ed1c}
.cursor-ring.is-down:before{transform:scale(.7)}
.cursor-ring.is-link.is-down:before{transform:scale(1.2)}
@media(hover:hover) and (pointer:fine){html.cursor-active,html.cursor-active *{cursor:none!important}.cursor-active .cursor-dot,.cursor-active .cursor-ring{opacity:1}}
@media(prefers-reduced-motion:reduce){.cursor-ring,.cursor-ring:before{transition:none}}
.paused .cursor-ring,.paused .cursor-ring:before{transition:none}

/* Seamless glass: full-bleed content, no concentric rim or inset frame. */
.planet,.orb,.orb img{-webkit-user-drag:none;user-select:none;-webkit-user-select:none}
.orb img{pointer-events:none}
.planet .orb,[data-theme="dark"] .planet .orb{border:0}
.planet .artwork-orb>img{width:100%;height:100%;border-radius:0;transform:scale(1.08)}
.planet .orb,.project-open .planet .orb{box-shadow:0 22px 32px -20px #15253b55,0 0 30px -23px rgba(var(--glow),.3)}
.planet .orb:before{inset:3% 9% 53%;border:0;opacity:.72;transform:rotate(-28deg);background:linear-gradient(155deg,#ffffffa1, #ffffff18 48%,transparent 70%);filter:blur(1.6px)}
.planet .orb:after{background:radial-gradient(ellipse at var(--glass-x) var(--glass-y),#ffffff70, #ffffff12 15%,transparent 31%),radial-gradient(ellipse at 71% 91%,#e6f5ff55,transparent 24%),radial-gradient(circle,transparent 62%,#09203b26 83%,#d7e6f22e 97%,transparent);box-shadow:inset 0 -6px 9px -7px #f0fbffb3,inset -8px -12px 22px -12px #11213e66}
.planet:hover .orb,.planet:focus-visible .orb{box-shadow:0 26px 36px -19px #15253b66,0 0 32px -20px rgba(var(--glow),.3)}
[data-theme="dark"] .planet .orb,[data-theme="dark"] .project-open .planet .orb{box-shadow:0 22px 32px -16px #000b,0 0 30px -24px rgba(var(--glow),.2)}
[data-theme="dark"] .planet .orb:before{border:0;opacity:.6;background:linear-gradient(155deg,#dceaff73,#c1d9ff0d 48%,transparent 70%)}
[data-theme="dark"] .planet .orb:after{background:radial-gradient(ellipse at var(--glass-x) var(--glass-y),#dfedff55,#b8d6ff09 15%,transparent 31%),radial-gradient(ellipse at 71% 91%,#8fb9e326,transparent 24%),radial-gradient(circle,transparent 61%,#02091855 86%,transparent 100%);box-shadow:inset 0 -5px 8px -7px #d1eaff80,inset -8px -12px 22px -12px #0009}
[data-theme="dark"] .planet:hover .orb,[data-theme="dark"] .planet:focus-visible .orb{box-shadow:0 26px 36px -16px #000c,0 0 34px -20px rgba(var(--glow),.25)}

@font-face{font-family:ArifSignature;src:url('assets/fonts/Quentin.ttf') format('truetype'),url('assets/fonts/Quentin.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
footer .signature{position:relative;display:inline-block;font-family:ArifSignature,cursive;font-size:34px;font-weight:400;font-style:normal;letter-spacing:0;line-height:1.1;color:#a9adb7;transform:rotate(-5deg);transition:color .25s;white-space:nowrap;padding:3px 2px 6px}
footer .signature:after{content:'';position:absolute;left:4%;right:1%;bottom:5px;height:5px;border-top:2px solid currentColor;border-radius:50%;transform:rotate(-4deg);opacity:.8}
footer .signature:hover,footer .signature:focus-visible{color:#000}
footer>div:first-child{gap:15px}.footer-dot{color:#a9adb7;font-size:15px}
[data-theme="dark"] footer .signature{color:#8e939f}
[data-theme="dark"] footer .signature:hover,[data-theme="dark"] footer .signature:focus-visible{color:#fff}
@media(max-width:640px){footer .signature{font-size:25px}footer>div:first-child{gap:7px}.footer-dot{display:none}footer>div:first-child>span:last-child{font-size:7px}}

/* The same unlettered violet glass orb is used on the page and as its favicon. */
.orb.violet,[data-theme="dark"] .orb.violet{background:transparent url('assets/violet-orb.svg') center/100% 100% no-repeat}
.planet.center .orb.violet{box-shadow:0 20px 38px -25px #b16ced55,0 0 42px -25px #e3b7ff55}
.planet.center .orb.violet:before{opacity:.22}
.planet.center .orb.violet:after{box-shadow:none;background:radial-gradient(ellipse at var(--glass-x) var(--glass-y),#fff4,transparent 37%)}
[data-theme="dark"] .planet.center .orb.violet{box-shadow:0 20px 35px -16px #0009,0 0 42px -26px #a373ed55}
[data-theme="dark"] .planet.center .orb.violet:after{box-shadow:none;background:radial-gradient(ellipse at var(--glass-x) var(--glass-y),#e4d6ff24,transparent 37%)}
.project-home .orb.violet,[data-theme="dark"] .project-home .orb.violet{box-shadow:0 5px 15px -8px #9b65cf66}
.project-home .orb.violet:before,.project-home .orb.violet:after{display:none}

/* Direct glass arrow: precise tip, no trailing ring. */
.cursor-dot{display:none!important}
.cursor-ring{width:28px;height:34px;border-radius:0;transition:opacity .15s;filter:drop-shadow(0 2px 2px #24143666)}
.cursor-ring:before,[data-theme="dark"] .cursor-ring:before{border:0;border-radius:0;background:url('assets/cursor-arrow.svg') center/contain no-repeat;box-shadow:none;backdrop-filter:none;transform-origin:4px 3px;transition:transform .18s,filter .18s}
.cursor-ring.is-link:before,[data-theme="dark"] .cursor-ring.is-link:before{background:url('assets/cursor-arrow.svg') center/contain no-repeat;border:0;transform:scale(1.18) rotate(-6deg);filter:brightness(1.16) drop-shadow(0 0 3px #ac77ed66)}
.cursor-ring.is-down:before,.cursor-ring.is-link.is-down:before{transform:scale(.88);filter:brightness(.95)}
@media(prefers-reduced-motion:reduce){.cursor-ring:before{transition:none}}

/* A single light presentation with the violet orb as the home mark. */
:root{color-scheme:light}
header .home-orb{display:block;width:58px;height:58px;line-height:0;filter:drop-shadow(0 5px 10px #b79ad333);transition:transform .25s}
header .home-orb img{width:100%;height:100%;user-select:none;-webkit-user-drag:none;pointer-events:none}
header .home-orb:hover{transform:scale(1.07)}
@media(max-width:640px){header .home-orb{width:46px;height:46px}}

/* Soft at rest, clear on interaction; reflections no longer follow the mouse. */
.planet .orb:before{display:none}
.planet .orb:after{background:radial-gradient(ellipse at 72% 94%,#e7f3ff1c,transparent 24%);box-shadow:inset -8px -12px 22px -12px #11213e45}
.planet.center .orb.violet:after{background:none;box-shadow:none}
.planet .orb>img{translate:0 0;filter:blur(2.4px);transition:filter .45s ease}
.planet:hover .orb>img,.planet:focus-visible .orb>img,.project-open .planet[aria-pressed="true"] .orb>img{filter:blur(0)}
.planet.center .orb{filter:blur(1.7px);transition:filter .45s,transform .5s,box-shadow .5s}
.planet.center:hover .orb,.planet.center:focus-visible .orb{filter:blur(0)}
body:not(.project-open) .planet{translate:var(--drift-x,0px) var(--drift-y,0px);transition:translate .65s cubic-bezier(.2,.7,.2,1)}
@media(hover:none){.planet .orb>img,.planet.center .orb{filter:none}}
@media(prefers-reduced-motion:reduce){body:not(.project-open) .planet{translate:0 0;transition:none}.planet .orb>img,.planet.center .orb{transition:none}}

/* Stationary glass lighting over the independently blurred image. */
.planet:not(.center) .orb:before{display:block;inset:3% 9% 48%;border:0;opacity:.8;transform:rotate(-26deg);background:linear-gradient(158deg,#ffffffad 0%,#ffffff38 24%,#ffffff0d 48%,transparent 66%);filter:blur(.8px);border-radius:50%;pointer-events:none}
.planet:not(.center) .orb:after{background:radial-gradient(ellipse at 71% 91%,#e5f5ff70 0%,#e5f5ff16 16%,transparent 30%),radial-gradient(circle at 45% 41%,transparent 55%,#101c372b 80%,#d8edff29 96%,transparent);box-shadow:inset 3px 3px 8px -5px #f1fcffb3,inset -7px -10px 19px -9px #071a3a73,inset 0 -5px 8px -6px #ffffffb3;pointer-events:none}
.planet:not(.center) .orb{box-shadow:0 22px 34px -20px #18294666,0 0 36px -25px rgba(var(--glow),.3)}
.planet:not(.center):hover .orb,.planet:not(.center):focus-visible .orb{box-shadow:0 26px 38px -20px #18294666,0 0 38px -23px rgba(var(--glow),.35)}

/* Persistent corner anchors shared by home and project views. */
:root{--corner-x:28px;--corner-y:22px}
body footer,body:not(.project-open) footer,body.project-open footer{position:fixed;inset:auto 0 0;z-index:40;display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;min-height:76px;padding:16px var(--corner-x);gap:16px;pointer-events:none;background:none}
body footer>div:first-child,body.project-open footer>div:first-child{display:flex;flex:none;margin:0;gap:15px;pointer-events:auto}
body footer>div:last-child,body.project-open footer>div:last-child{display:flex;flex:none;margin:0;gap:10px;pointer-events:auto}
body .project-home{left:var(--corner-x);top:var(--corner-y);width:58px;height:58px;position:fixed;padding:0;z-index:45}
body .detail-top{right:var(--corner-x);top:var(--corner-y)}
.orb-flight{position:fixed;z-index:80;pointer-events:none;transform-origin:top left;user-select:none}
@media(max-width:640px){:root{--corner-x:15px;--corner-y:18px}body footer,body:not(.project-open) footer,body.project-open footer{padding:12px var(--corner-x);min-height:70px;gap:8px}body footer>div:first-child,body.project-open footer>div:first-child{gap:7px}body footer>div:last-child,body.project-open footer>div:last-child{gap:6px}body .project-home{width:46px;height:46px}body footer .signature{display:inline-block;font-size:25px}body footer>div:first-child>span{display:none}}

/* Page controls stay at the horizontal edges, vertically centered. */
body .archive-pages,body:not(.project-open) .archive-pages,body.project-open .archive-pages{position:fixed;top:50%;bottom:auto;left:0;right:0;width:auto;max-width:none;transform:translateY(-50%);display:flex;justify-content:space-between;align-items:center;padding:0 28px;gap:0;pointer-events:none;z-index:41}
body .archive-pages #page-count{display:none}
body .archive-pages button,body.project-open .archive-pages button{width:44px;height:44px;pointer-events:auto;background:transparent;color:var(--ink);font-size:23px;opacity:.65;border-radius:50%;transition:opacity .2s,background .2s,transform .2s}
body .archive-pages button:hover{opacity:1;background:#b4a4d11c;transform:scale(1.08)}
@media(max-width:640px){body .archive-pages,body:not(.project-open) .archive-pages,body.project-open .archive-pages{padding:0 7px}body .archive-pages button,body.project-open .archive-pages button{width:36px;height:44px;font-size:21px}}
