:root{color-scheme:dark;--void:#06030f;--night:#170a2e;--plum:#2a1155;--lilac:#cdb8ff;--haze:#f4eeff;--haze-soft:#f4eeffc2;--dusk:#ffa07a;--glass:#16092c8c;--display:"Bricolage Grotesque","Arial Narrow","Helvetica Neue",Arial,sans-serif;--body:"Instrument Sans","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--pad:clamp(1rem,4vw,2.5rem);--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px);box-sizing:border-box;padding-top:var(--sat);padding-bottom:var(--sab)}*,:before,:after{box-sizing:inherit}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--sat) + 5rem)}body{background:linear-gradient(180deg,#2a1155 0%,#12062a 50%,var(--void) 100%) fixed;min-height:100%;color:var(--haze);font-family:var(--body);-webkit-font-smoothing:antialiased;margin:0;font-size:1.0625rem;line-height:1.6;overflow-x:hidden}body:before{content:"";height:var(--sat);z-index:60;backdrop-filter:blur(10px);background:#170a2e99;position:fixed;inset:0 0 auto}img,svg{max-width:100%;display:block}a{color:inherit}button{font:inherit;color:inherit}:focus-visible{outline:2px dashed var(--dusk);outline-offset:4px;border-radius:8px}#sky{z-index:0;background:linear-gradient(180deg,#2a1155,var(--void));position:fixed;inset:0}#sky.no-webgl{background:radial-gradient(1.5px 1.5px at 12% 22%,#fff,transparent),radial-gradient(1px 1px at 34% 68%,#fff,transparent), radial-gradient(1.5px 1.5px at 58% 14%,#dcd0ff,transparent),radial-gradient(1px 1px at 76% 52%,#fff,transparent), radial-gradient(1.5px 1.5px at 90% 80%,#fff,transparent),radial-gradient(1px 1px at 22% 90%,#ffd9c7,transparent), radial-gradient(ellipse at 70% 20%,#3a1872 0%,transparent 60%),var(--void)}#veil{z-index:0;pointer-events:none;opacity:0;background:linear-gradient(#06030f1a,#06030fd9);position:fixed;inset:0}main{z-index:1;position:relative}.wrap{max-width:1240px;padding:0 var(--pad);margin:0 auto}.sec-title{font-family:var(--display);font-variation-settings:"wdth" 80;letter-spacing:-.03em;margin:0 0 .75rem;font-size:clamp(2.6rem,7vw,5.2rem);font-weight:800;line-height:.95}.sec-lead{color:var(--haze-soft);max-width:34rem;margin:0}.actions{flex-wrap:wrap;gap:.75rem;display:flex}.btn{-webkit-backdrop-filter:blur(8px);cursor:pointer;min-height:44px;color:var(--haze);background:#170a2e4d;border:1px solid #f4eeff73;border-radius:999px;justify-content:center;align-items:center;gap:.55rem;padding:.7rem 1.3rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--haze);background:#170a2e73}.btn.solid{background:var(--dusk);color:#2a0e1c;border-color:var(--dusk)}.btn.solid:hover{background:#ffb592}.btn svg{flex:none;width:1.15em;height:1.15em}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=860px){.actions .btn{flex:auto}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.top{z-index:50;padding-top:var(--sat);transition:background .3s;position:fixed;top:0;left:0;right:0}.top.solid{-webkit-backdrop-filter:blur(14px);background:#170a2e8c}.top-in{max-width:1240px;padding:.85rem var(--pad);align-items:center;gap:1.25rem;margin:0 auto;display:flex}.mark{font-family:var(--display);letter-spacing:-.02em;font-variation-settings:"wdth" 80;margin-right:auto;font-size:1.35rem;font-weight:800;text-decoration:none}.top nav{gap:1.4rem;display:flex}.top nav a{color:var(--haze-soft);font-size:.98rem;font-weight:500;text-decoration:none}.top nav a:hover{color:var(--haze)}.lang{border:1px solid #cdb8ff59;border-radius:999px;padding:2px;display:flex}.lang a{color:var(--haze-soft);border-radius:999px;padding:.3rem .7rem;font-size:.85rem;font-weight:600;text-decoration:none}.lang a[aria-current=true]{background:var(--haze);color:var(--plum)}.cv{background:var(--haze);color:var(--plum);border-radius:999px;padding:.5rem 1.05rem;font-size:.95rem;font-weight:600;text-decoration:none}.menu-btn{cursor:pointer;background:#170a2e59;border:1px solid #f4eeff59;border-radius:50%;place-items:center;width:44px;height:44px;display:none}.menu-btn svg{width:22px;height:22px}.sheet{z-index:80;-webkit-backdrop-filter:blur(16px);padding:calc(var(--sat) + 1rem) var(--pad) calc(var(--sab) + 2rem);background:#120724f0;flex-direction:column;display:flex;position:fixed;inset:0}.sheet[hidden]{display:none}.sheet .close{cursor:pointer;background:0 0;border:1px solid #f4eeff59;border-radius:50%;align-self:flex-end;place-items:center;width:44px;height:44px;display:grid}.sheet nav{gap:.25rem;margin-top:2rem;display:grid}.sheet nav a{font-family:var(--display);letter-spacing:-.03em;font-variation-settings:"wdth" 80;padding:.3rem 0;font-size:2.6rem;font-weight:800;text-decoration:none}.sheet .cv{text-align:center;margin-top:auto;padding:1rem;font-size:1.05rem}@media (width<=860px){.top nav,.top .cv{display:none}.menu-btn{display:grid}}.hero{max-width:1240px;min-height:100svh;padding:7rem var(--pad) 4.5rem;align-content:end;margin:0 auto;display:grid}.name{font-family:var(--display);font-variation-settings:"wdth" 75,"opsz" 96;letter-spacing:-.035em;text-shadow:0 6px 40px #2a11558c;margin:0;font-size:clamp(4.2rem,15.5vw,13.5rem);font-weight:800;line-height:.82}.name span{display:block}.name span:last-child{padding-left:.42em}.hero-foot{grid-template-columns:minmax(0,34rem) auto;justify-content:space-between;align-items:end;gap:2rem;margin-top:3rem;display:grid}.role{font-family:var(--display);font-variation-settings:"wdth" 90;margin:0 0 .5rem;font-size:1.35rem;font-weight:600}.lead{color:var(--haze-soft);text-shadow:0 1px 18px #170a2e99;max-width:34rem;margin:0}@media (width<=860px){.hero{padding-bottom:3rem}.hero-foot{grid-template-columns:1fr;margin-top:2rem}.name span:last-child{padding-left:.2em}}.archi-sec{padding:6rem 0 2rem}.archi{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 4rem;margin-top:2.5rem;padding-bottom:3rem;display:grid;position:relative}.isle{all:unset;box-sizing:border-box;cursor:pointer;text-align:center;-webkit-tap-highlight-color:transparent;display:block;position:relative}.isle .art{animation:bob var(--bob,7s) ease-in-out infinite;transition:transform .5s cubic-bezier(.2,.8,.2,1),filter .4s}.isle .art img[hidden]{visibility:hidden;aspect-ratio:1;display:block}.isle .art img,.isle .art svg{filter:drop-shadow(0 30px 40px #0e042066);width:100%;height:auto}.isle:hover .art{filter:brightness(1.08)drop-shadow(0 0 30px #cdb8ff66)}.isle:focus-visible{outline:2px dashed var(--dusk);outline-offset:8px;border-radius:24px}.isle{justify-self:start;width:min(100%,32rem)}.isle:nth-child(2n){justify-self:end;margin-top:7rem}.isle{transition:opacity .9s ease calc(var(--i) * 90ms),transform 1.1s cubic-bezier(.16,.8,.2,1) calc(var(--i) * 90ms)}.isle:not(.in){opacity:0;transform:translateY(3rem)scale(.9)}.isle.diving{transition-duration:.3s,.3s;transform:scale(1.2)}.isle .tag{flex-direction:column;align-items:center;gap:.15rem;margin-top:-1.5rem;display:inline-flex}.isle .tag b{font-family:var(--display);letter-spacing:-.02em;font-variation-settings:"wdth" 85;font-size:clamp(1.5rem,2.6vw,2.2rem);font-weight:800;line-height:1.1}.isle .tag i{color:var(--haze-soft);font-size:.98rem;font-style:normal}.isle .go{background:#f4eeff24;border:1px solid #f4eeff59;border-radius:999px;align-items:center;gap:.4rem;margin-top:.6rem;padding:.45rem .95rem;font-size:.9rem;font-weight:600;transition:background .2s;display:inline-flex}.isle:hover .go{background:var(--dusk);color:#2a0e1c;border-color:var(--dusk)}.isle .go .st{opacity:.8;font-weight:500}.isle:nth-child(3n+2) .art{--bob:8.5s;animation-delay:-4s}.isle:nth-child(3n) .art{--bob:6.5s;animation-delay:-2s}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-16px)}}.archi-dots.dots,.swipe-hint{display:none}@media (width<=860px){.archi-sec{padding-top:4rem}.archi{scroll-snap-type:x mandatory;margin:2rem calc(var(--pad) * -1) 0;padding-bottom:1rem;padding:0 var(--pad) 1rem;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:1rem;display:flex;overflow-x:auto}.archi::-webkit-scrollbar{display:none}.isle,.isle:nth-child(2n){scroll-snap-align:center;background:#16092c59;border:1px solid #f4eeff1f;border-radius:28px;flex:0 0 84%;justify-self:auto;width:auto;margin-top:0;padding:1rem 1rem 1.4rem;position:relative}.isle .art{animation:none}.isle .go{background:var(--dusk);color:#2a0e1c;border-color:var(--dusk);padding:.6rem 1.2rem}.archi-dots.dots{justify-content:center;display:flex}.swipe-hint{color:var(--haze-soft);margin:.75rem 0 0;font-size:.9rem;display:block}}@media (prefers-reduced-motion:reduce){.isle .art{animation:none}.isle:not(.in){opacity:1;transform:none}.isle{transition:none}}.path-sec,.tools-sec,.contact-sec{padding:7rem 0}@media (width<=860px){.path-sec,.tools-sec,.contact-sec{padding:5rem 0}}.chart-wrap{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:stretch;gap:2.5rem;margin-top:3rem;display:grid}.chart{-webkit-backdrop-filter:blur(6px);background:radial-gradient(at 30% 25%,#ffa07a1a,#0000 55%),radial-gradient(at 75% 80%,#7ff0cf14,#0000 55%),#0a05188c;border:1px solid #cdb8ff29;border-radius:28px;min-height:26rem;position:relative;overflow:hidden}.chart:before{content:"";background:repeating-radial-gradient(circle,#0000 0 56px,#cdb8ff0f 56px 57px);position:absolute;inset:0}.links{width:100%;height:100%;position:absolute;inset:0}.links polyline{fill:none;stroke-width:1px;stroke-linecap:round}.links polyline.work{stroke:#ffa07a66;stroke-dasharray:2 6}.links polyline.study{stroke:#cdb8ff73;stroke-dasharray:1 5}.dust{opacity:.55;background:#fff;border-radius:50%;width:3px;height:3px;position:absolute;box-shadow:0 0 8px #fff}.star{all:unset;box-sizing:border-box;cursor:pointer;justify-items:center;gap:.5rem;padding:.5rem;display:grid;position:absolute;transform:translate(-50%,-50%)}.mark{place-items:center;width:1.5rem;height:1.5rem;transition:transform .35s cubic-bezier(.2,.8,.2,1);display:grid;position:relative}.mark .glow{background:radial-gradient(circle,#fff 0 28%,var(--dusk) 62%,transparent 74%);border-radius:50%;width:1.1rem;height:1.1rem;display:block;box-shadow:0 0 22px 5px #ffa07a80}.star.work.now .mark .glow{width:1.4rem;height:1.4rem}.star.study .mark{width:2.4rem;height:2.4rem}.study .mark{filter:drop-shadow(0 0 7px #cdb8ffd9)}.study .mark .glow{width:1.75rem;height:1.75rem;box-shadow:none;background:radial-gradient(circle,#fff 0 30%,var(--lilac) 75%);clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);border-radius:0}.star.study.now .mark .glow{width:2.1rem;height:2.1rem}.star .mark:after{content:"";border:1px solid var(--dusk);opacity:0;border-radius:50%;transition:opacity .3s,transform .4s;position:absolute;inset:-.5rem;transform:scale(.6)}.star.study .mark:after{border-color:var(--lilac)}.star .name{font-family:var(--display);font-variation-settings:"wdth" 85;color:var(--haze-soft);white-space:nowrap;font-size:1.05rem;font-weight:700;transition:color .2s}.star:hover .mark,.star[aria-pressed=true] .mark{transform:scale(1.2)}.star:hover .name,.star[aria-pressed=true] .name{color:var(--haze)}.star[aria-pressed=true] .mark:after{opacity:.9;transform:scale(1)}.star:focus-visible{outline:2px dashed var(--dusk);outline-offset:2px;border-radius:14px}.legend{color:var(--haze-soft);gap:1.25rem;margin:0;padding:0;font-size:.9rem;list-style:none;display:flex;position:absolute;bottom:1rem;left:1.25rem}.legend li{align-items:center;gap:.4rem;display:flex}.legend .mark{width:1.5rem;height:1.5rem;transform:scale(.7)}.screen{background:var(--glass);-webkit-backdrop-filter:blur(14px);border:1px solid #f4eeff24;border-radius:28px;align-items:center;min-width:0;padding:2rem;display:flex}.mission[hidden]{display:none}.mission .when{font-family:var(--display);color:var(--lilac);flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin:0 0 .75rem;font-weight:600;display:flex}.kind{font-family:var(--body);color:var(--lilac);border:1px solid #cdb8ff73;border-radius:999px;padding:.1rem .65rem;font-size:.8rem;font-weight:600}.kind.work{color:var(--dusk);border-color:#ffa07a80}.badge{font-family:var(--body);color:var(--dusk);background:#ffa07a2e;border:1px solid #ffa07a66;border-radius:999px;padding:.1rem .65rem;font-size:.8rem;font-weight:600}.mission h3{font-family:var(--display);font-variation-settings:"wdth" 85;letter-spacing:-.02em;margin:0;font-size:clamp(1.7rem,3vw,2.3rem);font-weight:800;line-height:1.05}.mission .org{color:var(--lilac);margin:.4rem 0 1rem;font-weight:500}.mission .what{color:var(--haze-soft);margin:0}@media (width<=860px){.chart-wrap{grid-template-columns:1fr;gap:1.25rem}.chart{min-height:20rem}.screen{padding:1.4rem}}.chips{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.chips li{background:#f4eeff17;border:1px solid #f4eeff2e;border-radius:999px;align-items:center;gap:.5rem;padding:.3rem .85rem .3rem .3rem;font-size:.95rem;line-height:1.3;display:inline-flex}.chips li.has-link{padding:0;transition:background .2s,border-color .2s,transform .2s}.chips li.has-link a{color:inherit;border-radius:999px;align-items:center;gap:.5rem;padding:.3rem .75rem .3rem .3rem;text-decoration:none;display:inline-flex}.chips li.has-link:hover{background:#f4eeff2e;border-color:#f4eeff73;transform:translateY(-1px)}.chips .ext{opacity:.45;width:.8rem;height:.8rem;transition:opacity .2s}.chips li.has-link:hover .ext{opacity:1}.ic{background:#fff;border-radius:50%;flex:none;place-items:center;width:1.75rem;height:1.75rem;display:grid;box-shadow:0 2px 8px #0a031840}.ic img{width:1.1rem;height:1.1rem;display:block}.learn{color:#2a0e1c;background:var(--lilac);border-radius:999px;padding:.05rem .45rem;font-size:.75rem;font-style:normal;font-weight:600}.tools{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:2.5rem 3rem;margin-top:3rem;display:grid}.tools h3{font-family:var(--display);color:var(--lilac);margin:0 0 .85rem;font-size:1.25rem;font-weight:700}.langs{border-top:1px solid #cdb8ff33;flex-wrap:wrap;gap:1rem 3rem;margin-top:3.5rem;padding-top:2rem;display:flex}.langs div{align-items:baseline;gap:.6rem;display:flex}.langs b{font-family:var(--display);font-size:1.35rem;font-weight:700}.langs span{color:var(--lilac);font-weight:600}@media (width<=860px){.tools{gap:2rem}}.contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:start;gap:3rem;display:grid}.actions.side{margin-top:2rem}.form{background:var(--glass);-webkit-backdrop-filter:blur(14px);border:1px solid #f4eeff24;border-radius:28px;gap:.45rem;padding:1.75rem;display:grid}.form label{color:var(--lilac);margin-top:.6rem;font-size:.95rem;font-weight:600}.form label:first-of-type{margin-top:0}.form input,.form textarea{font:inherit;color:var(--haze);resize:vertical;background:#0a05188c;border:1px solid #cdb8ff47;border-radius:14px;width:100%;min-height:46px;padding:.8rem 1rem}.form input::placeholder,.form textarea::placeholder{color:#f4eeff6b}.form input:focus-visible,.form textarea:focus-visible{outline:2px solid var(--dusk);outline-offset:2px;border-color:#0000}.form [aria-invalid=true]{border-color:#ff8aa0}.trap{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.send{justify-self:start;margin-top:1rem}.send[disabled]{opacity:.6;cursor:progress}.status{min-height:1.5rem;margin:.5rem 0 0;font-weight:500}.status.ok{color:#7ff0cf}.status.bad{color:#ff9db0}footer{z-index:1;color:var(--haze-soft);padding:2rem var(--pad) calc(var(--sab) + 3rem);max-width:1240px;margin:0 auto;font-size:.9rem;position:relative}@media (width<=860px){.contact-grid{grid-template-columns:1fr;gap:2rem}.form{padding:1.25rem}.send{justify-self:stretch}}.stage{z-index:40;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;position:fixed;inset:0;overflow-y:auto}.stage[hidden]{display:none}.stage:focus{outline:none}body.in-island main,body.in-island footer,body.in-island .top,body.in-island #veil{visibility:hidden}.stage [hidden]{display:none}body.in-island{overflow:hidden}.st-art{z-index:0;touch-action:pan-y;position:fixed;inset:0}.st-art canvas{cursor:grab;display:block;width:100%!important;height:100%!important}.st-art canvas:active{cursor:grabbing}.st-art .svg-fallback{width:min(52vw,640px);position:absolute;top:50%;left:8%;transform:translateY(-50%)}.drag-hint{left:30%;bottom:calc(var(--sab) + 6.2rem);color:var(--haze-soft);pointer-events:none;text-shadow:0 1px 10px #100622cc;align-items:center;gap:.4rem;margin:0;font-size:.85rem;display:flex;position:absolute;transform:translate(-50%)}.drag-hint svg{width:1.1rem;height:1.1rem}.st-info{z-index:1;width:min(31rem,100% - 2rem);margin:calc(var(--sat) + 5.5rem) clamp(1rem,5vw,4.5rem) calc(var(--sab) + 7rem) auto;background:var(--glass);-webkit-backdrop-filter:blur(18px)saturate(1.2);border:1px solid #f4eeff24;border-radius:28px;padding:2rem 2rem 2.25rem;position:relative}.st-handle{display:none}.st-place{color:var(--lilac);margin:0 0 .3rem;font-weight:600}.st-info h2{font-family:var(--display);font-variation-settings:"wdth" 78;letter-spacing:-.035em;margin:0 0 1rem;font-size:clamp(2.8rem,6vw,5rem);font-weight:800;line-height:.92}.st-status{border:1px solid #f4eeff73;border-radius:999px;margin:0 0 1.1rem;padding:.2rem .75rem;font-size:.85rem;font-weight:600;display:inline-block}.st-desc{margin:0 0 1.4rem}.st-hl{gap:.45rem;margin:0 0 1.6rem;padding:0;list-style:none;display:grid}.st-hl li{color:var(--haze-soft);align-items:baseline;gap:.7rem;display:flex}.st-hl li:before{content:"";background:var(--accent,var(--dusk));border-radius:50%;flex:none;width:.55rem;height:.55rem;transform:translateY(-.1rem)}.st-info h3{color:var(--lilac);margin:0 0 .7rem;font-size:.95rem;font-weight:600}.st-info .chips{margin-bottom:1.8rem}.st-info .chips li{background:#10062259}.back{top:calc(var(--sat) + 1rem);left:var(--pad);z-index:55;position:fixed}.st-bar{z-index:55;left:var(--pad);bottom:calc(var(--sab) + 1.25rem);justify-content:space-between;align-items:center;gap:1rem;width:min(54vw,760px);display:flex;position:fixed}.st-bar .btn{padding:.55rem 1.1rem .55rem .8rem}.st-bar #next{padding:.55rem .8rem .55rem 1.1rem}.st-bar .lbl{text-align:left;flex-direction:column;line-height:1.15;display:flex}.st-bar #next .lbl{text-align:right}.st-bar small{color:var(--haze-soft);font-size:.75rem;font-weight:400}.dots{gap:.35rem;display:flex}.dots button{all:unset;cursor:pointer;place-items:center;width:28px;height:28px;display:grid}.dots button:before{content:"";background:#f4eeff66;border-radius:50%;width:9px;height:9px;transition:width .3s,background .3s}.dots button[aria-current=true]:before{background:var(--haze);border-radius:999px;width:26px}.dots button:focus-visible{outline:2px dashed var(--dusk);border-radius:8px}.stage.arrive .st-info{animation:.7s cubic-bezier(.2,.85,.25,1) .25s both rise}@keyframes rise{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}@media (width<=860px){.st-art{top:0;height:54vh;position:sticky;inset:auto}.st-art .svg-fallback{width:min(80vw,380px);left:50%;transform:translate(-50%,-45%)}.drag-hint{bottom:3.4rem;left:50%}.st-info{width:auto;padding:.75rem 1.25rem calc(var(--sab) + 7rem);background:#16092cd1;border-width:1px 0 0;border-radius:28px 28px 0 0;min-height:60svh;margin:-2.5rem 0 0}.st-handle{background:#f4eeff59;border-radius:9px;width:44px;height:5px;margin:0 auto 1.1rem;display:block}.back{left:.75rem;top:calc(var(--sat) + .75rem);padding:.5rem .9rem}.st-bar{width:auto;padding:.65rem .75rem calc(var(--sab) + .65rem);-webkit-backdrop-filter:blur(16px);background:#120724e0;border-top:1px solid #f4eeff1f;bottom:0;left:0;right:0}.st-bar .lbl small{display:none}.st-bar .btn{padding:.5rem .9rem .5rem .6rem;font-size:.92rem}.st-bar #next{padding:.5rem .6rem .5rem .9rem}}@media (width<=420px){.st-bar .lbl{text-overflow:ellipsis;white-space:nowrap;max-width:6.5rem;display:block;overflow:hidden}}@media (prefers-reduced-motion:reduce){.stage.arrive .st-info{animation-duration:10ms}}
