.portfolio-v2{--ink:#f5f6fa;--muted:#9ca6b8;--dim:#748097;--line:#a6bcdd26;--blue:#9dccff;--page-progress:0;color:var(--ink);isolation:isolate;background:#000;font-family:Arial,Helvetica,sans-serif;position:relative;overflow:clip}.portfolio-v2 *{box-sizing:border-box}.portfolio-v2 a{color:inherit;text-decoration:none}.portfolio-v2 button,.portfolio-v2 input,.portfolio-v2 textarea{font:inherit}.portfolio-v2 button{cursor:pointer}.portfolio-v2 button:disabled{cursor:wait;opacity:.5}.portfolio-v2 h1,.portfolio-v2 h2,.portfolio-v2 h3,.portfolio-v2 p{margin:0}.portfolio-v2 button{color:inherit}.portfolio-v2 :focus-visible{outline-offset:5px;outline:2px solid #98ccff}.portfolio-v2 section[id]{scroll-margin-top:90px}.site-shell{width:min(1280px,100% - 112px);margin-inline:auto}.portfolio-v2 main,.site-footer{z-index:1;position:relative}.skip-link{z-index:100;background:#fff;border-radius:12px;padding:14px 22px;position:fixed;top:-100px;left:20px;color:#05070c!important}.skip-link:focus{top:12px}.universe{z-index:0;pointer-events:none;background:#000;position:fixed;inset:0;overflow:hidden}.universe canvas{opacity:0;width:100%;height:100%;transition:opacity .18s;display:block}.universe.is-ready canvas{opacity:1}.universe-fallback,.universe.is-ready .universe-fallback{display:none}.universe:has(canvas[data-state=fallback]) .universe-fallback{display:block}.universe canvas[data-state=fallback]{opacity:0}.site-header{z-index:30;border-bottom:1px solid var(--line);background:linear-gradient(#000d,#0005);height:82px;position:absolute;top:0;left:0;right:0}.header-row{align-items:center;gap:48px;height:100%;display:flex}.brand{letter-spacing:-.025em;white-space:nowrap;align-items:center;gap:13px;font-size:14px;font-weight:600;display:flex}.brand-mark{letter-spacing:-.11em;font-size:25px;font-weight:600}.brand-mark span,.brand-dot{color:var(--blue);margin-left:2px}.site-nav{color:#b7bfcd;gap:30px;margin:auto;font-size:12px;display:flex}.site-nav a{transition:color .2s}.site-nav a:hover{color:#fff}.header-actions{align-items:center;gap:24px;display:flex}.motion-button{background:0 0;border:0;align-items:center;gap:8px;min-height:40px;display:flex;color:#a3adbc!important;font-size:11px!important}.motion-button>span:first-child{width:13px;font-size:16px}.cv-link{border:1px solid #ffffff32;border-radius:30px;align-items:center;gap:20px;padding:11px 17px;font-size:12px;transition:background .25s;display:flex}.cv-link:hover{background:#ffffff15}.menu-toggle{display:none}.page-progress{height:2px;transform:scaleX(var(--page-progress));transform-origin:0;z-index:40;pointer-events:none;background:linear-gradient(90deg,#3c84c7,#c4e7ff);position:fixed;top:0;left:0;right:0}.eyebrow{font-family:var(--font-space-grotesk),monospace;letter-spacing:.17em;text-transform:uppercase;color:#aab6c9;align-items:center;gap:10px;font-size:10px;font-weight:500;line-height:1.5;display:flex}.status-dot{background:#bddfff;border-radius:50%;width:5px;height:5px;display:inline-block;box-shadow:0 0 14px #8cc7ff}.hero{align-items:center;height:100svh;min-height:820px;max-height:1120px;padding-top:38px;display:flex;position:relative}.hero-copy{z-index:2;width:60%;max-width:760px;position:relative}.hero h1{letter-spacing:-.065em;margin-top:30px;font-size:clamp(66px,7.15vw,108px);font-weight:500;line-height:1.03}.hero h1>span{background:linear-gradient(110deg,#f4f6ff 3%,#a3b9d5 70%,#718cb1);color:#0000;-webkit-background-clip:text;background-clip:text}.hero-description{color:#a6afbe;max-width:440px;font-size:17px;line-height:1.7;margin-top:30px!important}.hero-actions{align-items:center;gap:30px;margin-top:34px;display:flex}.button{border:1px solid #0000;border-radius:50px;justify-content:center;align-items:center;gap:28px;min-height:48px;padding:15px 22px;font-size:12px;font-weight:600;transition:transform .25s,background .25s,box-shadow .25s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-light{background:#f3f5f9;box-shadow:0 0 30px #aacfff10;color:#111721!important}.button-light:hover{background:#d8e9ff;box-shadow:0 0 30px #aacfff22}.button-outline{color:#d3dce9;background:#ffffff05;border-color:#ffffff30}.button-outline:hover{background:#ffffff12}.text-link{color:#d3dceb;background:0 0;border:0;align-items:center;gap:18px;padding:10px 0;font-size:12px;transition:color .2s;display:inline-flex}.text-link:hover{color:#fff}.hero-specialties{letter-spacing:.02em;color:#79879d;align-items:center;gap:14px;margin-top:53px;font-size:10px;display:flex}.hero-specialties i{background:#79879d;border-radius:50%;width:3px;height:3px}.hero-orbit-caption{font-family:var(--font-space-grotesk),monospace;letter-spacing:.12em;color:#93b6df;align-items:center;gap:15px;font-size:8px;line-height:1.7;display:flex;position:absolute;bottom:23%;left:69%}.caption-line{background:#5884b355;width:35px;height:1px}.hero-orbit-caption small{color:#657d9b;letter-spacing:0;font-size:9px}.hero-bottom{color:#8390a3;letter-spacing:.02em;border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding-top:22px;font-size:10px;display:flex;position:absolute;bottom:29px;left:0;right:0}.hero-bottom a{color:#bcc8d9;align-items:center;gap:14px;display:flex}.hero-bottom a span{font-size:15px}.learning-section{--journey:0;height:185svh;min-height:1300px;position:relative}.learning-sticky{align-items:center;height:100svh;min-height:720px;display:flex;position:sticky;top:0}.learning-copy{z-index:2;width:49%;max-width:540px;position:relative}.portfolio-v2 h2{letter-spacing:-.055em;font-size:clamp(44px,4.65vw,70px);font-weight:500;line-height:1.07}.portfolio-v2 h2>span{color:#8695ae}.learning-copy h2{margin-top:25px}.section-intro{color:#a6afbf;max-width:400px;font-size:16px;line-height:1.7;margin-top:26px!important}.journey-chapters{color:#75859d;border-bottom:1px solid #728daf2e;gap:27px;margin-top:36px;padding-bottom:16px;font-size:10px;display:flex;position:relative}.journey-chapters span{transition:color .4s}.journey-chapters .is-active{color:#c9e4ff}.journey-chapters i{width:100%;height:1px;transform:scaleX(calc(.05 + var(--journey)*.95));transform-origin:0;background:#a8d4ff;position:absolute;bottom:-1px;left:0}.journey-message{min-height:103px;margin-top:23px;animation:.6s both gentle-enter}.journey-message h3{letter-spacing:-.035em;font-size:18px;font-weight:500}.journey-message p{color:#91a0b5;max-width:420px;margin-top:10px;font-size:13px;line-height:1.7}.skill-pills{flex-wrap:wrap;gap:7px;margin-top:20px;display:flex}.skill-pills button{color:#9daec4;background:#000000b3;border:1px solid #98bce425;border-radius:30px;padding:9px 13px;font-size:11px;transition:background .25s,border-color .25s,color .25s}.skill-pills button:hover,.skill-pills button.is-active{color:#ddecff;background:#000000b3;border-color:#96c9fc88}.skill-readout{color:#7d94b0;align-items:center;gap:16px;margin-top:19px;font-size:10px;display:flex}.skill-readout strong{color:#b5d5f8;font-weight:500}.learning-caption{font-family:var(--font-space-grotesk),monospace;letter-spacing:.16em;color:#7d98bb;font-size:8px;position:absolute;bottom:21%;left:68%}.learning-caption>div{letter-spacing:0;color:#a5bad5;align-items:center;gap:9px;margin-top:12px;font-size:10px;display:flex}.learning-caption i{background:#a0dcff;border-radius:50%;width:4px;height:4px;box-shadow:0 0 10px #a0dcff}.learning-next{color:#91a8c7;position:absolute;bottom:40px;left:0}.work-section{border-top:1px solid var(--line);background:0 0;padding:130px 0;position:relative}.section-heading{justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:60px;display:flex}.section-heading h2{margin-top:23px}.section-heading>p{color:#98a5b9;max-width:295px;margin-bottom:5px;font-size:14px;line-height:1.8}.project-showcase{background:#000;border:1px solid #c4dfff20;border-radius:24px;position:relative;overflow:hidden;box-shadow:0 35px 100px #0003}.showcase-top{z-index:2;pointer-events:none;justify-content:space-between;display:flex;position:absolute;top:27px;left:30px;right:30px}.showcase-top>span:last-child{color:#8a9fba;gap:15px;font-size:10px;display:flex}.showcase-top>span:last-child span{font-size:16px}.orbit-canvas-host{touch-action:pan-y;cursor:grab;outline-offset:-5px;height:510px;position:relative}.orbit-canvas-host:active{cursor:grabbing}.orbit-canvas-host canvas{opacity:0;width:100%;height:100%;transition:opacity .5s;display:block;position:absolute;inset:0}.orbit-canvas-host canvas.is-ready{opacity:1}.orbit-fallback{border:5px solid #32455d;border-radius:8px;position:absolute;inset:22% 25% 15%;overflow:hidden;transform:perspective(900px)rotateY(-12deg);box-shadow:30px 30px 60px #0009}.orbit-fallback img{object-fit:cover}.orbit-canvas-host:has(canvas.is-ready) .orbit-fallback{opacity:0}.showcase-bottom{z-index:3;justify-content:space-between;align-items:end;gap:30px;padding:8px 38px 30px;display:flex;position:relative}.showcase-title{animation:.45s both gentle-enter}.project-kicker{color:#859cb9;font-family:var(--font-space-grotesk),monospace;letter-spacing:.13em;font-size:9px}.showcase-title h3{letter-spacing:-.05em;margin-top:12px;font-size:clamp(24px,3vw,39px);font-weight:500}.project-tags{flex-wrap:wrap;gap:7px;margin-top:17px;display:flex}.project-tags span{color:#a7b9d1;border:1px solid #b9d4fa25;border-radius:6px;padding:6px 9px;font-size:10px}.showcase-actions{align-items:center;gap:30px;display:flex}.slider-controls{gap:9px;display:flex}.slider-controls button{background:#ffffff05;border:1px solid #bad5f635;border-radius:50%;width:47px;height:47px;font-size:20px;transition:background .2s,border-color .2s}.slider-controls button:hover{background:#93c8ff22;border-color:#9ec8f7}.project-dots{justify-content:center;gap:4px;padding:0 20px 23px;display:flex}.project-dots button{background:0 0;border:0;width:22px;height:24px;position:relative}.project-dots button:after{content:"";background:#61738e;border-radius:20px;width:4px;height:4px;transition:width .3s,left .3s,background .3s;position:absolute;top:11px;left:9px}.project-dots button.is-active:after{background:#c9e4ff;width:19px;left:1px}.wall-heading{justify-content:space-between;align-items:center;margin:85px 0 28px;display:flex}.wall-heading h3{letter-spacing:-.045em;font-size:26px;font-weight:500}.wall-heading>span{color:#8797ae;font-size:11px}.project-wall{perspective:1400px;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.project-tile{text-align:left;min-width:0;transform-style:preserve-3d;background:#000;border:1px solid #a4c2e71a;border-radius:16px;padding:0;transition:transform .4s cubic-bezier(.2,.8,.2,1),border-color .4s,box-shadow .4s;display:block;overflow:hidden}.project-tile:hover{border-color:#a4c2e75a;transform:translateY(-8px)rotateX(3deg);box-shadow:0 20px 55px #0007}.tile-image{aspect-ratio:1.72;background:#000;border-bottom:1px solid #bbd3f320;position:relative;overflow:hidden}.tile-image img{object-fit:cover;object-position:top;filter:saturate(.7)brightness(.82);transition:transform .7s,filter .7s}.project-tile:hover .tile-image img{filter:saturate()brightness();transform:scale(1.045)}.tile-open{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000c;border:1px solid #fff5;border-radius:50%;place-items:center;width:32px;height:32px;font-size:17px;display:grid;position:absolute;bottom:13px;right:13px}.tile-copy{padding:23px}.tile-copy>span{font-family:var(--font-space-grotesk),monospace;color:#8193ad;letter-spacing:.05em;font-size:9px}.tile-copy h3{letter-spacing:-.035em;margin-top:10px;font-size:20px;font-weight:500;line-height:1.25}.tile-copy p{color:#8297b2;margin-top:15px;font-size:10px}.archive-action{justify-content:center;margin-top:35px;display:flex}.experience-list{border-top:1px solid var(--line)}.experience-row{border-bottom:1px solid var(--line);grid-template-columns:230px minmax(0,1fr) 60px;gap:40px;padding:49px 0;display:grid}.experience-date{font-family:var(--font-space-grotesk),monospace;letter-spacing:.03em;color:#a3b1c6;padding-left:25px;font-size:11px;line-height:1.6;position:relative}.timeline-dot{border:1px solid #8092ab;border-radius:50%;width:7px;height:7px;position:absolute;top:4px;left:0}.timeline-dot.is-current{background:#a1d1ff;border-color:#a1d1ff;box-shadow:0 0 17px #74baff77}.experience-date small{color:#6484aa;margin-top:9px;font-size:9px;display:block}.experience-main>p:first-child{color:#8ba5c7;margin-bottom:12px;font-size:12px}.experience-main h3{letter-spacing:-.04em;font-size:28px;font-weight:500;line-height:1.2}.experience-main .job-description{color:#9aa7bb;max-width:630px;margin-top:20px;font-size:14px;line-height:1.8}.experience-main ul{gap:8px;margin:20px 0 0;padding:0;list-style:none;display:grid}.experience-main li{color:#b2bed0;padding-left:15px;font-size:12px;line-height:1.6;position:relative}.experience-main li:before{content:"";background:#7fa8d9;border-radius:50%;width:3px;height:3px;position:absolute;top:8px;left:0}.experience-number{letter-spacing:-.06em;color:#51617a66;text-align:right;font-size:42px}.cv-banner{background:#000;border:1px solid #aecff426;border-radius:20px;justify-content:space-between;align-items:center;gap:25px;margin-top:60px;padding:37px 40px;display:flex}.cv-banner h3{letter-spacing:-.035em;margin-top:11px;font-size:26px;font-weight:500}.cv-banner p{color:#91a2bb;margin-top:9px;font-size:13px}.about-section{color:#e8eef7;border-block:1px solid var(--line);background:#0000008f;padding-block:120px}.about-grid{grid-template-columns:.8fr 1.2fr;align-items:center;gap:105px;display:grid}.portrait-card{aspect-ratio:.83;background:#c2cbd7;border-radius:22px;width:100%;max-width:390px;position:relative;overflow:hidden;box-shadow:0 22px 65px #30455c20}.portrait-card>img{object-fit:cover;filter:grayscale();object-position:center}.portrait-card:after{content:"";background:linear-gradient(#0000,#000d);position:absolute;inset:40% 0 0}.portrait-card>div{z-index:1;color:#fff;flex-direction:column;gap:7px;display:flex;position:absolute;bottom:28px;left:28px}.portrait-card>div span{letter-spacing:-.035em;font-size:25px}.portrait-card small{color:#becbe0;font-size:11px}.about-copy h2{margin-top:24px;font-size:clamp(38px,3.6vw,53px)}.about-copy h2>span{color:#91a3bd}.about-text{color:#a5b3c8;margin-top:28px;font-size:14px;line-height:1.8}.about-text p+p{margin-top:16px}.about-text h3{color:#d6e4f7;letter-spacing:-.025em;margin:24px 0 12px;font-size:18px;font-weight:500}.about-text a{color:#afcff5;text-decoration:underline}.about-copy>.text-link{color:#afcff5;margin-top:23px}.contact-section{grid-template-columns:1fr 1fr;gap:90px;padding-block:140px;display:grid}.contact-copy h2{margin-top:25px;font-size:clamp(44px,4.3vw,66px)}.contact-copy>p:not(.eyebrow){color:#92a1b7;max-width:340px;margin-top:25px;font-size:14px;line-height:1.8}.contact-email{letter-spacing:-.04em;border-bottom:1px solid #748caf88;align-items:center;gap:20px;margin-top:40px;padding-bottom:10px;font-size:clamp(17px,2vw,26px);display:inline-flex}.contact-links{color:#91a7c5;gap:30px;margin-top:24px;font-size:11px;display:flex}.contact-links a{gap:15px;display:flex}.contact-form{flex-direction:column;gap:20px;display:flex}.contact-form label{color:#a6b5cc;flex-direction:column;gap:9px;font-size:11px;display:flex}.form-pair{grid-template-columns:1fr 1fr;gap:16px;display:grid}.contact-form input,.contact-form textarea{color:#e3edfb;resize:vertical;background:#000000b3;border:1px solid #9bb8de30;border-radius:10px;width:100%;padding:14px;font-size:13px;transition:border-color .2s}.contact-form input:focus,.contact-form textarea:focus{outline-offset:1px;border-color:#9dbfe788;outline:2px solid #89b9f044}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#60728c}.form-bottom{justify-content:space-between;align-items:center;gap:20px;display:flex}.form-note{color:#7c8ea8;font-size:10px;line-height:1.8}.form-note a{text-decoration:underline}.portfolio-button{background:#e8f0fb;border:0;border-radius:30px;align-items:center;gap:25px;padding:15px 22px;font-weight:600;transition:background .2s;display:flex;color:#121b2b!important;font-size:12px!important}.portfolio-button:hover{background:#badbff}.form-status{color:#99d9c7;min-height:20px;font-size:12px;line-height:1.6}.form-status.form-error{color:#ffafb5}.site-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:30px;padding-block:30px 35px;display:flex}.site-footer>span{color:#60748f;font-size:11px}.site-footer>div{color:#92a4bf;gap:25px;font-size:11px;display:flex}.project-dialog{color:#f5f7fb;background:#000;border:1px solid #b3d2fa38;border-radius:20px;width:min(1000px,92vw);max-height:90svh;margin:auto;padding:0;overflow:auto;box-shadow:0 40px 160px #000c}.dialog-bar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:15px 22px;display:flex}.dialog-bar button{background:#ffffff07;border:1px solid #afceef44;border-radius:50%;width:36px;height:36px}.dialog-image{background:#000;max-height:60svh;overflow:auto}.dialog-image img{object-fit:contain;width:100%;height:auto;display:block}.dialog-copy{padding:30px}.dialog-copy h2{font-size:32px}.dialog-copy>p{color:#a6b8d0;margin-top:15px;font-size:14px}.dialog-copy .project-availability{color:#7f97b7;margin-top:22px;font-size:11px}[data-reveal=pending]{opacity:0;transform:translateY(35px)}[data-reveal=visible]{opacity:1;transition:opacity .85s,transform .85s cubic-bezier(.2,.75,.2,1);transform:none}@keyframes gentle-enter{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}.hero-copy{animation:1.1s both gentle-enter}.motion-paused *,.motion-paused :before,.motion-paused :after{transition-duration:0s!important;animation:none!important}@media (min-width:1600px){.hero-copy{width:62%}.hero-orbit-caption{left:76%}}@media (max-width:1100px){.site-shell{width:calc(100% - 64px)}.header-row{gap:24px}.header-actions{gap:17px}.site-nav{gap:20px}.hero h1{font-size:7.2vw}.hero-description{max-width:360px;font-size:15px}.hero-actions{gap:20px}.hero-specialties{font-size:9px}.learning-copy{width:51%}.learning-copy h2{font-size:4.6vw}.about-grid{gap:60px}.contact-section{gap:50px}.experience-row{grid-template-columns:190px 1fr 40px;gap:25px}.project-wall{gap:17px}.tile-copy{padding:19px}.tile-copy h3{font-size:18px}.showcase-bottom{padding-inline:28px}.orbit-canvas-host{height:470px}}@media (max-width:760px){.site-shell{width:calc(100% - 40px)}.site-header{height:72px}.brand{gap:9px;font-size:13px}.brand-mark{font-size:23px}.header-actions{gap:16px;margin-left:auto}.motion-text{display:none}.cv-link{gap:12px;padding:9px 13px;font-size:11px}.menu-toggle{background:0 0;border:0;padding:12px 0;display:block;font-size:11px!important}.site-nav{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--line);background:#000000f7;flex-direction:column;gap:0;padding:20px;display:none;position:absolute;top:71px;left:0;right:0}.site-nav.is-open{display:flex}.site-nav a{padding:13px;font-size:16px}.hero{align-items:flex-start;height:100svh;min-height:850px;max-height:1050px;padding-top:142px}.hero-copy{text-align:center;width:100%;max-width:none}.hero-copy>.eyebrow{justify-content:center;font-size:9px}.hero h1{margin-top:25px;font-size:clamp(51px,9.2vw,72px);line-height:1.04}.hero-description{max-width:390px;font-size:14px;margin:22px auto 0!important}.hero-actions{justify-content:center;margin-top:25px}.hero-specialties{justify-content:center;margin-top:22px;font-size:9px}.hero-orbit-caption{white-space:nowrap;font-size:7px;bottom:16%;left:50%;transform:translate(-50%)}.hero-orbit-caption small{font-size:8px}.hero-bottom{padding-top:17px;font-size:9px;bottom:25px}.hero-bottom>span:last-child{display:none}.learning-section{height:auto;min-height:1120px;padding-block:90px 70px}.learning-sticky{height:auto;min-height:960px;display:block;position:relative}.learning-copy{width:100%;max-width:520px}.learning-copy h2{font-size:clamp(42px,8.6vw,60px)}.section-intro{max-width:370px;font-size:14px;margin-top:23px!important}.journey-chapters{gap:24px;margin-top:28px;font-size:9px}.journey-message{min-height:92px}.journey-message p{font-size:12px}.skill-pills{gap:6px;margin-top:17px}.skill-pills button{padding:8px 12px;font-size:10px}.skill-readout{gap:13px;font-size:9px}.learning-caption{white-space:nowrap;bottom:15%;left:50%;transform:translate(-50%)}.learning-next{bottom:0}.work-section{padding-block:90px}.section-heading{margin-bottom:36px;display:block}.section-heading h2{margin-top:20px}.portfolio-v2 h2{font-size:clamp(41px,8.4vw,59px)}.section-heading>p{max-width:370px;margin-top:22px;font-size:13px}.orbit-canvas-host{height:370px}.showcase-top{top:23px;left:20px;right:20px}.showcase-top .eyebrow{font-size:8px}.showcase-top>span:last-child{font-size:9px}.showcase-bottom{padding:0 24px 20px;display:block}.showcase-title h3{margin-top:10px;font-size:29px}.showcase-actions{justify-content:space-between;margin-top:21px}.project-showcase{border-radius:18px}.slider-controls button{width:42px;height:42px}.project-dots{padding-bottom:17px}.wall-heading{align-items:end;margin-top:55px}.wall-heading h3{font-size:25px}.wall-heading>span{font-size:9px}.project-wall{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.tile-copy{padding:17px}.tile-copy>span{font-size:8px}.tile-copy h3{font-size:17px}.tile-copy p{font-size:9px}.experience-section{padding-block:90px}.experience-row{grid-template-columns:1fr;gap:20px;padding-block:32px}.experience-date{align-items:center;gap:15px;font-size:10px;display:flex}.experience-date small{margin:0}.experience-number{display:none}.experience-main h3{font-size:25px}.experience-main .job-description{font-size:13px}.cv-banner{margin-top:40px;padding:27px;display:block}.cv-banner h3{font-size:24px}.cv-banner p{font-size:12px;line-height:1.6}.cv-banner .button{margin-top:23px}.about-section{padding-block:80px}.about-grid{grid-template-columns:1fr;gap:45px}.portrait-card{aspect-ratio:1;max-width:310px;margin:auto}.about-copy h2{font-size:41px}.about-copy .eyebrow{font-size:9px}.about-text{font-size:13px}.contact-section{grid-template-columns:1fr;gap:45px;padding-block:85px}.contact-copy h2{font-size:clamp(41px,8.4vw,59px)}.contact-email{margin-top:29px;font-size:24px}.contact-copy>p:not(.eyebrow){font-size:13px}.site-footer{flex-wrap:wrap;gap:25px}.site-footer>span{display:none}.site-footer>div{gap:17px;font-size:10px}.dialog-copy{padding:22px}.dialog-copy h2{font-size:27px}}@media (max-width:480px){.header-row{gap:8px}.header-actions{gap:13px}.brand-mark{display:none}.hero{min-height:825px;padding-top:129px}.hero h1{font-size:clamp(44px,11.9vw,57px)}.hero-description{max-width:330px;font-size:13px}.hero-actions{gap:20px}.hero-actions .button{gap:18px;padding:14px 18px;font-size:11px}.hero-actions .text-link{gap:8px;font-size:11px}.hero-specialties{gap:10px;font-size:8px}.project-wall{grid-template-columns:1fr;gap:20px}.tile-copy h3{font-size:21px}.tile-copy{padding:23px}.tile-copy>span{font-size:9px}.tile-copy p{font-size:10px}.orbit-canvas-host{height:300px}.orbit-fallback{left:12%;right:12%}.showcase-title h3{font-size:25px}.showcase-top{left:18px;right:18px}.showcase-bottom{padding-inline:20px}.showcase-top>span:last-child{font-size:8px}.showcase-top>span:last-child span{display:none}.showcase-actions{gap:15px}.skill-readout{flex-wrap:wrap;gap:8px}.form-pair{grid-template-columns:1fr}.form-bottom{gap:10px}.portfolio-button{gap:15px;padding:14px 17px}.form-note{font-size:9px}.site-footer .brand{font-size:12px}}@media print{.universe,.site-header,.hero-orbit-caption,.hero-bottom,.learning-caption,.learning-next,.contact-form,.project-showcase,.archive-action,.site-footer,.hero-actions,.motion-button{display:none!important}.portfolio-v2{color:#000!important;background:#fff!important}.site-shell{width:100%}.hero,.learning-section,.learning-sticky{height:auto;min-height:0;padding:25px 0}.hero-copy,.learning-copy{width:100%}.portfolio-v2 h1{font-size:45px}.portfolio-v2 h1 span,.portfolio-v2 h2 span{color:#333;background:0 0}.portfolio-v2 h2{font-size:30px}.experience-section,.contact-section,.about-section,.work-section{background:#fff;padding:25px 0}.project-wall{grid-template-columns:repeat(3,1fr)}[data-reveal]{opacity:1!important;transform:none!important}}.motion-button:disabled{cursor:default;opacity:.75}.orbit-canvas-host:has(canvas[data-state=fallback]) canvas{opacity:0}.orbit-canvas-host:has(canvas[data-state=fallback]) .orbit-fallback{opacity:1}:is(html:has(.portfolio-v2),body:has(.portfolio-v2)){background:#000;overflow:clip visible}.site-header{-webkit-backdrop-filter:blur(18px);background:#000000c2;position:fixed}.experience-number{color:#65758e}.about-copy .eyebrow{color:#9fb2cc}.site-footer>span{color:#71849f}@media (max-width:760px){.learning-caption{bottom:8%}}.galaxy-filter-row{justify-content:space-between;align-items:center;gap:24px;margin-top:-16px;display:flex}.galaxy-filter-row .skill-pills{margin:0}.galaxy-match-count{color:#95a9c5;font-size:11px}.project-galaxy{isolation:isolate;touch-action:pan-y;width:min(1540px,100%);height:660px;margin:8px auto 0;position:relative}.project-galaxy:before{content:"";pointer-events:none;background:0 0;position:absolute;inset:10% 20%}.project-galaxy canvas{opacity:0;cursor:grab;width:100%;height:100%;transition:opacity .8s;display:block;position:absolute;inset:0}.project-galaxy canvas:active{cursor:grabbing}.project-galaxy.is-ready canvas{opacity:1}.galaxy-labels{flex-wrap:wrap;justify-content:center;gap:10px;padding:80px 20px;display:flex;position:relative}.planet-label,.sun-label{color:#c1d3ed;white-space:nowrap;background:0 0;border:0;align-items:center;gap:8px;padding:7px;font-size:11px;display:flex}.planet-label>span{width:25px;height:25px;font-family:var(--font-space-grotesk),monospace;background:#000000b3;border:1px solid #8aaed652;border-radius:50%;place-items:center;font-size:9px;display:grid}.planet-label strong{text-overflow:ellipsis;text-shadow:0 2px 10px #000;max-width:150px;font-size:10px;font-weight:400;overflow:hidden}.planet-label.is-active>span{background:#26476bc7;border-color:#b7dcff;box-shadow:0 0 24px #74b9ff35}.planet-label.is-active strong{color:#e7f5ff}.planet-label.is-muted{opacity:.75}.planet-label:hover{opacity:1}.planet-label:hover>span{border-color:#d7eeff}.sun-label{color:#ffdfa8;font-family:var(--font-space-grotesk),monospace;text-shadow:0 0 16px #ffc56a66;font-size:10px}.sun-label i{background:#ffe6b8;border-radius:50%;width:4px;height:4px;box-shadow:0 0 13px #ffc56a}.sun-label.is-active{color:#fff2dc;background:#61422255;border:1px solid #f5cf8655;border-radius:30px}.project-galaxy.is-ready .galaxy-labels{pointer-events:none;padding:0;display:block;position:absolute;inset:0}.project-galaxy.is-ready .planet-label,.project-galaxy.is-ready .sun-label{pointer-events:auto;will-change:transform;position:absolute;top:0;left:0}.project-galaxy.is-ready .planet-label:not(.is-active):not(.is-front):not(:hover) strong{display:none}.galaxy-toolbar{color:#8da8ca;font-family:var(--font-space-grotesk),monospace;letter-spacing:.12em;pointer-events:none;justify-content:space-between;align-items:center;font-size:9px;display:flex;position:absolute;top:26px;left:max(5%,30px);right:max(5%,30px)}.galaxy-toolbar>span{align-items:center;gap:13px;display:flex}.galaxy-toolbar button{pointer-events:auto;color:#a4b9d5;letter-spacing:0;background:0 0;border:0;padding:10px;font-size:10px}.galaxy-toolbar button:hover{color:#fff}.galaxy-key{color:#8fa3be;pointer-events:none;justify-content:center;gap:30px;font-size:10px;display:flex;position:absolute;bottom:22px;left:0;right:0}.galaxy-key>span{align-items:center;gap:9px;display:flex}.galaxy-key i{border-radius:50%;width:6px;height:6px;display:inline-block}.planet-key{background:#88bfff;box-shadow:0 0 12px #64a9ff}.sun-key{background:#ffda9b;box-shadow:0 0 12px #ffd891}.galaxy-inspector{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:center;gap:65px;padding-block:30px 0;display:grid}.galaxy-preview{aspect-ratio:1.72;background:#000;border:0;border-radius:10px;width:100%;padding:0;transition:transform .4s;position:relative;overflow:hidden;box-shadow:0 30px 80px #0007}.galaxy-preview:hover{transform:perspective(1000px)rotateY(-2deg)translateY(-3px)}.galaxy-preview img{object-fit:contain;object-position:center;transition:opacity .3s}.galaxy-preview>span{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#e0eeff;background:#000000dc;border-radius:30px;align-items:center;gap:20px;padding:12px 16px;font-size:10px;display:flex;position:absolute;bottom:16px;right:16px}.galaxy-project-info{animation:.5s both gentle-enter}.galaxy-project-info h3{letter-spacing:-.045em;margin-top:19px;font-size:clamp(27px,3vw,41px);font-weight:500;line-height:1.13}.galaxy-description{color:#9eafc8;font-size:13px;line-height:1.7;margin-top:17px!important}.galaxy-skills-label{color:#9daec6;font-size:10px;margin-top:26px!important}.galaxy-project-info .project-tags{margin-top:12px}.galaxy-project-type{color:#7e95b3;font-size:10px;margin-top:20px!important}.galaxy-project-actions{justify-content:space-between;align-items:center;gap:20px;margin-top:23px;display:flex}.project-galaxy[data-state=fallback] canvas{opacity:0}.project-galaxy[data-state=fallback] .galaxy-labels{padding:80px 20px;display:flex;position:relative;inset:auto}.project-galaxy[data-state=fallback] .planet-label,.project-galaxy[data-state=fallback] .sun-label{position:relative;visibility:visible!important;transform:none!important}.project-galaxy[data-state=fallback] .planet-label strong{display:block!important}@media (max-width:1000px){.project-galaxy{height:580px}.galaxy-inspector{gap:35px}.galaxy-project-info h3{font-size:29px}.galaxy-project-actions{flex-wrap:wrap}.galaxy-filter-row{margin-top:0}}@media (max-width:760px){.project-galaxy{height:510px;margin-top:12px}.galaxy-filter-row{flex-direction:column;align-items:flex-start;gap:15px}.galaxy-match-count{font-size:10px}.galaxy-toolbar{font-size:8px;top:15px;left:10px;right:10px}.galaxy-toolbar button{font-size:9px}.galaxy-key{gap:20px;font-size:9px;bottom:15px}.galaxy-inspector{grid-template-columns:1fr;gap:28px;padding-top:20px}.galaxy-project-info h3{font-size:32px}.galaxy-project-actions{flex-wrap:nowrap}.galaxy-preview{border-radius:7px}.galaxy-preview>span{padding:10px 13px;font-size:9px;bottom:11px;right:11px}.project-galaxy.is-ready .planet-label:not(.is-active):not(:hover) strong{display:none}.planet-label strong{max-width:112px;font-size:9px}.sun-label{padding:7px;font-size:9px}.planet-label>span{width:23px;height:23px;font-size:8px}.galaxy-project-info .project-tags{margin-top:10px}}@media print{.project-galaxy,.galaxy-filter-row,.galaxy-project-actions{display:none!important}.galaxy-inspector{display:block}.about-section{color:#000!important;background:#fff!important}}.work-section{height:270svh;padding:0;position:relative}.work-sticky{height:100svh;position:sticky;top:0;overflow:clip}.work-sticky>.project-galaxy{width:100%;height:100%;margin:0;position:absolute;inset:0}.work-intro{z-index:2;pointer-events:none;opacity:clamp(0,calc(1 - var(--orbit-progress,0)*5),1);transform:translateY(calc(var(--orbit-progress,0)*-80px));position:absolute;inset:115px 0 auto}.work-intro .section-heading{align-items:start}.work-intro .section-heading h2{font-size:clamp(35px,5vw,72px)}.work-intro .section-heading>p{max-width:250px}.work-sticky .galaxy-filter-row{z-index:3;opacity:clamp(0,calc((var(--orbit-progress,0) - .18)*6),1);position:absolute;top:105px;left:0;right:0}.work-sticky .galaxy-toolbar{top:170px}.work-sticky .galaxy-key{bottom:114px}.work-orbit-footer{z-index:3;justify-content:space-between;align-items:center;gap:20px;display:flex;position:absolute;bottom:27px;left:0;right:0}.work-orbit-footer .eyebrow{margin-bottom:8px}.orbit-project-title{color:#ecf4ff;text-align:left;background:0 0;border:0;align-items:center;gap:20px;padding:0;font-size:clamp(17px,2.3vw,29px);display:flex}.work-sticky .project-galaxy:before{display:none}@keyframes planet-modal-in{0%{opacity:0;transform:perspective(1400px)translate(calc(var(--planet-x,50vw) - 50vw),calc(var(--planet-y,50vh) - 50vh))rotateY(28deg)scale(.08)}to{opacity:1;transform:perspective(1400px)translate(0)rotateY(0)scale(1)}}@media (max-width:760px){.work-intro{top:110px}.work-intro .section-heading>p{max-width:280px;font-size:13px}.work-sticky .galaxy-filter-row{top:92px}.work-sticky .galaxy-toolbar{top:176px}.work-sticky .galaxy-key{gap:18px;font-size:9px;bottom:118px}.work-orbit-footer{bottom:25px}.orbit-project-title{max-width:220px}}.work-sticky .galaxy-toolbar,.work-sticky .galaxy-key{opacity:var(--orbit-reveal,0);transition:opacity .15s}.work-sticky .galaxy-filter-row{visibility:hidden}:is(.work-sticky:has(.project-galaxy[data-chapter=forming]) .galaxy-filter-row,.work-sticky:has(.project-galaxy[data-chapter=explore]) .galaxy-filter-row){visibility:visible}.project-galaxy.is-ready .planet-label{z-index:2}.project-galaxy.is-ready .sun-label{z-index:1}.project-galaxy.is-ready .planet-label:hover,.project-galaxy.is-ready .sun-label:hover{z-index:3}.work-sticky:has(.project-galaxy[data-chapter=suns]) .galaxy-filter-row{visibility:visible}.project-galaxy:not(.is-ready):not([data-state=fallback]) .galaxy-labels{visibility:hidden}.work-orbit-footer{opacity:clamp(0,calc((var(--orbit-progress,0) - .36)*5),1);visibility:hidden}:is(.work-sticky:has(.project-galaxy[data-chapter=forming]) .work-orbit-footer,.work-sticky:has(.project-galaxy[data-chapter=explore]) .work-orbit-footer){visibility:visible}html:has(.project-dialog[open]){overflow:hidden}.project-dialog{box-shadow:none;background:0 0;border:0;overflow:visible}.project-dialog[open]{animation:none}.project-dialog article{overscroll-behavior:contain;background:#000;border:1px solid #accfec40;border-radius:20px;max-height:90svh;overflow:auto;box-shadow:0 40px 160px #000b}.project-dialog[open] article{transform-origin:50%;animation:.72s cubic-bezier(.16,1,.3,1) .42s both shuttle-cabin}.project-dialog[open]::backdrop{animation:.8s both cabin-backdrop}.project-shuttle{pointer-events:none;filter:drop-shadow(0 0 18px #63bfff80);z-index:2;width:240px;height:150px;animation:.95s cubic-bezier(.18,.65,.25,1) both shuttle-arrival;position:absolute;top:calc(50% - 75px);left:calc(50% - 120px)}.project-shuttle svg{width:100%;height:100%}.shuttle-thrust{transform-origin:50% 65%;animation:.13s linear 7 alternate shuttle-burn}@keyframes shuttle-arrival{0%{opacity:0;transform:perspective(1000px)translate(calc(var(--planet-x,50vw) - 50vw),calc(var(--planet-y,50vh) - 50vh))scale(.06)rotateX(55deg)rotateZ(-35deg)}15%{opacity:1}60%{opacity:1;transform:perspective(1000px)translateY(-24px)scale(1)rotateX(22deg)rotate(0)}85%{opacity:.8;transform:perspective(1000px)translate(0)scale(1.2)rotateX(0)}to{opacity:0;transform:perspective(1000px)translate(0)scale(1.8)rotateX(0)}}@keyframes shuttle-cabin{0%{opacity:0;filter:brightness(2);transform:perspective(1400px)rotateX(22deg)scale(.12,.025)}38%{opacity:1;filter:brightness(1.4);transform:perspective(1400px)rotateX(8deg)scale(.8,.045)}to{opacity:1;filter:brightness();transform:perspective(1400px)rotateX(0)scale(1)}}@keyframes shuttle-burn{to{opacity:.65;transform:scaleY(.85)}}@keyframes cabin-backdrop{0%{opacity:0}to{opacity:1}}.motion-paused .project-shuttle{display:none}.work-sticky .galaxy-filter-row{gap:18px}.work-sticky .galaxy-filter-row .skill-pills{scrollbar-width:thin;flex-wrap:nowrap;min-width:0;max-width:100%;overflow-x:auto}.work-sticky .galaxy-filter-row .skill-pills button{flex-shrink:0}.work-sticky .galaxy-match-count{flex-shrink:0;max-width:270px}.project-galaxy .sun-label{background:#00000070;border-radius:20px;padding:5px;font-size:9px}@media (max-width:760px){.work-sticky .galaxy-match-count{max-width:100%}.project-galaxy .sun-label{gap:3px;padding:4px;font-size:8px}}.work-intro h2{transform-origin:100%;transform:perspective(900px)translateX(calc(var(--gravity,0)*12px))rotateY(calc(var(--gravity,0)*-7deg))skewY(calc(var(--gravity,0)*-1.4deg));text-shadow:calc(var(--gravity,0)*2px)0 #8bd3ff30}.work-intro h2>span{transform:translateX(calc(var(--gravity,0)*10px))skewX(calc(var(--gravity,0)*3deg));display:inline-block}.project-shuttle{animation:1.75s cubic-bezier(.33,0,.2,1) both broadcast-arrival}.project-dialog[open] article{animation:1s cubic-bezier(.22,.61,.36,1) 1.12s both broadcast-unfold}.project-dialog[open]::backdrop{animation-duration:1.3s}.transmission-caption{text-align:center;color:#c9eaff;width:320px;animation:1.65s both transmission-caption;position:absolute;top:150px;left:-40px}.transmission-caption span{letter-spacing:.2em;margin-bottom:9px;font-size:9px;display:block}.transmission-caption strong{font-size:14px;font-weight:400}.transmission-wave{border:1px solid #8bd7ff80;border-radius:50%;animation:1.4s ease-out both transmission-wave;position:absolute;inset:-30px;transform:rotateX(55deg)}@keyframes broadcast-arrival{0%{opacity:0;transform:perspective(1200px)translate(calc(var(--planet-x,50vw) - 50vw),calc(var(--planet-y,50vh) - 50vh))scale(.04)rotateY(-55deg)rotateX(25deg)}12%{opacity:1}65%{opacity:1;transform:perspective(1200px)translateY(-22px)scale(1)rotateY(-12deg)rotateX(8deg)}82%{opacity:1;transform:perspective(1200px)translateY(-12px)scale(1.08)rotateY(0)rotateX(0)}to{opacity:0;transform:perspective(1200px)translate(0)scale(1.55)rotateY(0)rotateX(0)}}@keyframes broadcast-unfold{0%{opacity:0;transform:perspective(1400px)rotateX(12deg)scale(.2,.06)}35%{opacity:.85;transform:perspective(1400px)rotateX(7deg)scale(.72,.12)}to{opacity:1;transform:perspective(1400px)rotateX(0)scale(1)}}@keyframes transmission-caption{0%,25%{opacity:0}50%,75%{opacity:1}to{opacity:0}}@keyframes transmission-wave{0%{opacity:0;transform:rotateX(55deg)scale(.5)}30%{opacity:.7}to{opacity:0;transform:rotateX(55deg)scale(2)}}.motion-paused .project-dialog[open] article,.motion-paused .project-dialog[open]::backdrop{animation:none}.work-sticky .galaxy-toolbar,.work-sticky .galaxy-key{opacity:calc(var(--orbit-reveal,0)*var(--label-presence,1))}.project-galaxy[data-background=true] .galaxy-labels{pointer-events:none}.project-galaxy[data-background=true] .planet-label,.project-galaxy[data-background=true] .sun-label{pointer-events:none!important}.work-orbit-footer{opacity:calc(clamp(0,(var(--orbit-progress,0) - .36)*5,1)*(1 - var(--orbit-exit,0)))}.work-sticky .galaxy-filter-row{opacity:calc(clamp(0,(var(--orbit-progress,0) - .18)*6,1)*(1 - var(--orbit-exit,0)))}.orbit-continue{z-index:4;color:#e2f2ff;opacity:0;visibility:hidden;white-space:nowrap;background:#000000e6;border:1px solid #9fd8ff40;border-radius:999px;align-items:center;gap:25px;padding:14px 20px;font-size:12px;transition:opacity .6s,transform .6s,background .2s;display:flex;position:absolute;bottom:158px;left:50%;transform:translate(-50%)translateY(12px)}.orbit-continue small{letter-spacing:.12em;color:#9bb4ca;margin-bottom:5px;font-size:8px;display:block}.orbit-continue>span:last-child{font-size:20px}.work-sticky:has(.project-galaxy[data-chapter=explore]):not(:has(.project-galaxy[data-background=true])) .orbit-continue{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}.orbit-continue:hover{background:#000}@media (min-width:1024px){.hero-copy{width:49%;max-width:640px}.hero h1{font-size:clamp(66px,6.25vw,100px);line-height:1.06}.hero-description{max-width:415px}.work-section{height:420svh}.work-intro{top:130px}.work-intro .section-heading{display:block}.work-intro .section-heading h2{font-size:clamp(40px,4.2vw,62px)}.work-intro .section-heading>p{max-width:270px;margin-top:24px;font-size:13px;line-height:1.8}.work-sticky .galaxy-filter-row{flex-direction:column;align-items:stretch;gap:18px;width:158px;margin:0;display:flex;inset:200px auto auto max(32px,50vw - 640px)}.work-sticky .galaxy-filter-row:before{content:"SKILL CONSTELLATION";color:#869cb6;letter-spacing:.16em;font-size:8px}.work-sticky .galaxy-filter-row .skill-pills{grid-template-columns:1fr 1fr;gap:7px;display:grid;overflow:visible}.work-sticky .galaxy-filter-row .skill-pills button{border-radius:9px;padding:9px 6px;font-size:10px}.work-sticky .galaxy-filter-row .skill-pills button:first-child{grid-column:1/-1}.work-sticky .galaxy-match-count{max-width:158px;font-size:10px;line-height:1.7}.work-sticky .galaxy-toolbar{top:116px}.work-sticky .galaxy-key{bottom:145px}.work-orbit-footer{padding-right:275px;bottom:38px}.orbit-project-title{max-width:430px;font-size:23px}.orbit-continue{bottom:34px;left:auto;right:max(32px,50vw - 640px);transform:translateY(12px)}.work-sticky:has(.project-galaxy[data-chapter=explore]):not(:has(.project-galaxy[data-background=true])) .orbit-continue{transform:translateY(0)}.project-galaxy .sun-label{padding:5px 8px;font-size:10px}.project-galaxy .planet-label strong{max-width:130px}}@media (min-width:1024px) and (max-height:740px){.work-sticky .galaxy-filter-row{top:165px}.work-sticky .galaxy-filter-row .skill-pills button{padding:7px 5px}.work-sticky .galaxy-key{bottom:110px}}.motion-paused [data-reveal=pending]{opacity:1;transform:none}.motion-paused .work-intro h2,.motion-paused .work-intro h2>span{text-shadow:none;transform:none}.chapter-next{color:#dceeff;background:#000000cf;border:1px solid #9fd8ff40;border-radius:999px;justify-content:center;align-items:center;gap:22px;padding:14px 22px;font-size:12px;text-decoration:none;transition:background .2s,border-color .2s;display:inline-flex}.chapter-next:hover{background:#000;border-color:#b9e2ff80}.chapter-next-row{justify-content:flex-end;margin-top:70px;display:flex}.contact-section>.chapter-next-row{grid-column:1/-1;margin-top:0}.hero{height:125svh;max-height:none}.learning-section{height:245svh}.work-section{height:390svh}.experience-section{padding-block:180px}.experience-row{padding-block:65px}.about-section{min-height:125svh;padding-block:165px}.contact-section{align-content:center;min-height:115svh;padding-block:170px}@media (min-width:761px){.hero{align-items:flex-start;padding-top:24svh}}@media (min-width:1024px){.work-section{height:500svh}}@media (max-width:760px){.hero{height:120svh;min-height:900px}.learning-section{height:auto;min-height:1420px}.experience-section{padding-block:115px}.experience-row{padding-block:45px}.about-section,.contact-section{padding-block:110px}.chapter-next{gap:12px;padding:12px 16px;font-size:10px}.hero-bottom{align-items:center}.hero-bottom>span:first-child{max-width:100px;line-height:1.7}.chapter-next-row{margin-top:45px}}@media print{.chapter-next,.chapter-next-row,.orbit-continue{display:none!important}.hero,.learning-section,.work-section,.about-section,.contact-section{height:auto;min-height:0}}.project-dialog::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:#000000c9}.project-shuttle{filter:none;will-change:transform,opacity}.project-dialog article{box-shadow:0 22px 65px #0009}.project-dialog[open] article{will-change:transform,opacity;backface-visibility:hidden}.flight-launch{z-index:12;color:#bde9ff;cursor:pointer;background:0 0;border:1px solid #97dfff45;border-radius:50%;width:64px;height:64px;margin:-32px;position:fixed}.flight-launch span{letter-spacing:.15em;width:175px;font-size:8px;position:absolute;top:65px;left:-55px}.flight-launch:hover{border-color:#bde9ff;box-shadow:0 0 24px #69cfff33}.flight-dialog{color:#e5f4ff;touch-action:none;background:0 0;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.flight-dialog::backdrop{background:0 0}html:has(.flight-dialog[open]){overflow:hidden}.portfolio-v2:has(.flight-dialog[open])>:not(.universe):not(.flight-dialog){visibility:hidden}.flight-hud{justify-content:space-between;align-items:center;gap:15px;display:flex;position:absolute;top:25px;left:5%;right:5%}.flight-hud h2,.flight-hud span{letter-spacing:.12em;font-size:12px}.flight-hud button,.flight-panel button{color:#dcefff;cursor:pointer;background:#000;border:1px solid #96c9ee66;border-radius:24px;padding:12px 20px}.flight-panel{background:#000000ef;border:1px solid #8bbadd33;border-radius:24px;width:min(490px,90vw);max-height:80dvh;padding:28px;position:absolute;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}.flight-panel h3{margin:12px 0;font-size:28px}.flight-panel p{color:#aabdd0;font-size:13px;line-height:1.7}.flight-values{color:#c7b9ff!important}.flight-panel form{gap:10px;margin:20px 0;display:grid}.flight-panel input{color:#fff;background:#000;border:1px solid #8bbadd66;border-radius:10px;padding:12px}.flight-scores{padding:0;list-style:none}.flight-scores li{border-bottom:1px solid #ffffff15;justify-content:space-between;padding:8px 0;font-size:12px;display:flex}.flight-hint,.flight-error{text-align:center;color:#a3b9ce;font-size:12px;position:absolute;bottom:25px;left:5%;right:5%}.flight-error{color:#ffb9aa;bottom:60px}@media (max-width:600px){.flight-hud{top:18px}.flight-hud h2{font-size:9px}.flight-hud span{font-size:10px}.flight-panel{padding:22px}}.media-controls{color:#aebfd0;justify-content:space-between;align-items:center;gap:15px;padding:14px 20px;font-size:12px;display:flex}.media-controls button,.dialog-project-navigation button{color:#fff;cursor:pointer;background:#000;border:1px solid #9dcbe344;border-radius:50%;min-width:40px;height:40px}.dialog-project-navigation{gap:8px;display:flex}.dialog-image video{background:#000;width:100%;max-height:60svh;display:block}.slider-controls button{background:#0008;border-color:#b0d8ec88;min-width:52px;min-height:52px;font-size:24px}.slider-controls{z-index:4}.broadcast-close{z-index:5;color:#e7f8ff;cursor:pointer;background:#000;border:1px solid #afcfdf88;border-radius:50%;width:46px;height:46px;font-size:20px;position:fixed;top:24px;right:24px}.project-dialog[open] article{background:#000;border-color:#95ceeb55;animation-duration:.72s;animation-delay:.65s}.project-shuttle{animation-duration:1.15s}.transmission-caption{animation-duration:1.1s}.transmission-wave{animation-duration:1s}.project-dialog.broadcast-fast .project-shuttle{animation-duration:.55s}.project-dialog.broadcast-fast article{animation-duration:.36s;animation-delay:.18s}.project-dialog.broadcast-fast .transmission-caption{display:none}.dialog-bar{background:#000;border-bottom:1px solid #9fd8ed33}.dialog-copy{background:#000}.gravity-restore{z-index:25;color:#b9ddf1;cursor:pointer;background:0 0;border:0;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:12px;width:66px;height:66px;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.gravity-restore[hidden]{display:none}.gravity-restore span{background:#a6d9ff;border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite return-beacon;box-shadow:0 0 12px #a6d9ff}.gravity-restore small{letter-spacing:.2em;opacity:.65;font-size:7px}@keyframes return-beacon{50%{opacity:.25;transform:scale(.65)}}:is(.portfolio-v2:has(.flight-dialog[open])>main,.portfolio-v2:has(.flight-dialog[open])>header,.portfolio-v2:has(.flight-dialog[open])>footer){opacity:0!important;pointer-events:none!important}.flight-playing .flight-hud{background:#000000a6;border:1px solid #8dcaed22;border-radius:16px;padding:10px 16px}.flight-playing .flight-hud h2,.flight-playing .flight-hint{display:none}.gravity-restore span{position:absolute;top:calc(50% - 3px);left:calc(50% - 3px)}.gravity-restore small{text-align:center;position:absolute;top:calc(50% + 15px);left:0;right:0}.background-capture{color:#e6effa;background:#0b111bef;border:1px solid #344b64;border-radius:18px;width:min(420px,100vw - 32px);max-height:calc(100dvh - 32px);margin:0;padding:24px;font:14px/1.5 Arial,Helvetica,sans-serif;position:fixed;inset:auto 24px 24px auto;overflow:auto;box-shadow:0 20px 80px #0009}.background-capture::backdrop{background:#0002}.background-capture-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.background-capture h2{color:#edf5ff;margin:0;font-size:21px}.background-capture p{color:#b8c9dd;margin:12px 0}.background-capture fieldset{border:0;min-width:0;margin:18px 0 0;padding:0}.background-capture legend{color:#edf5ff;margin-bottom:10px}.background-capture button{color:#e6effa;cursor:pointer;background:#152131;border:1px solid #3b526c;border-radius:8px;padding:8px 12px}.background-capture button:focus-visible,.background-capture input:focus-visible{outline-offset:3px;outline:2px solid #90caff}.background-capture button:disabled{opacity:.55;cursor:wait}.background-capture-presets{flex-wrap:wrap;gap:6px;display:flex}.background-capture-presets button{font-size:12px}.background-capture-size{align-items:end;gap:10px;margin:16px 0;display:flex}.background-capture-size label{flex:1;min-width:0}.background-capture-size span{padding-bottom:9px}.background-capture-size input{color:#edf5ff;background:#050b13;border:1px solid #3b526c;border-radius:7px;width:100%;margin-top:6px;padding:9px;display:block}.background-capture-ratio{align-items:center;gap:8px;display:flex}.background-capture .background-capture-note,.background-capture small{color:#9daec4;font-size:12px}.background-capture .background-capture-download{color:#09111c;background:#bfdfff;width:100%;margin-top:8px;font-weight:600}@media (max-width:600px){.background-capture{padding:20px;inset:auto 16px 16px}}.sandbox-orbit{z-index:30;touch-action:none;background:0 0;border:0;border-radius:50%;width:min(62vmin,560px);height:min(62vmin,560px);padding:0;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);cursor:grab!important}.sandbox-orbit[hidden]{display:none}.sandbox-orbit[data-dragging=true]{cursor:grabbing!important}
