@layer base{:root{color:#f0eee5;font-synthesis:none;--lime:#c5f46b;--muted:#a9aca1;--line:#dbe4c124;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#111210;font-family:Arial,Helvetica,sans-serif;font-weight:400}*{box-sizing:border-box}html{scroll-behavior:auto;overscroll-behavior:none;scrollbar-width:none}html::-webkit-scrollbar{display:none}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid var(--lime);outline-offset:7px}button{touch-action:manipulation}.skip{z-index:100;background:var(--lime);color:#111210;padding:12px;position:fixed;top:-80px;left:20px}.skip:focus{top:15px}#experience{background:#111210;position:fixed;inset:0;overflow:hidden}#viewport,canvas{width:100%;height:100%;display:block}#viewport{position:absolute;inset:0}#scroll-space{pointer-events:none;height:1100vh}.vignette{pointer-events:none;background:linear-gradient(#11121075 0%,#0000 17% 65%,#111210af 100%);position:absolute;inset:0}.header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;padding-bottom:22px;display:flex;position:absolute;top:29px;left:4%;right:4%}.brand{letter-spacing:-1.4px;white-space:nowrap;align-items:center;font-size:27px;font-weight:700;display:flex}.brand-symbol{color:var(--lime);margin-right:10px;font-size:32px;line-height:1}.brand-ending{color:var(--lime)}.edition,.portfolio-link,.eyebrow,.side-label,.chapter-label,.controls,.load-status{letter-spacing:1.25px;font-family:Courier New,monospace;font-size:14px}.edition{color:#dbddce99;letter-spacing:2px;font-size:14px}.edition span{color:var(--lime);margin:0 9px}.portfolio-link{padding:12px 0;font-size:14px}.portfolio-link span{color:var(--lime);margin-left:14px;font-size:17px}.side-label{writing-mode:vertical-rl;color:#d4dac277;letter-spacing:2.3px;pointer-events:none;font-size:14px;position:absolute;top:40%;left:22px;transform:rotate(180deg)}.story{pointer-events:none;will-change:opacity;position:absolute;bottom:18.5%;left:6.3%}.eyebrow{color:var(--lime);letter-spacing:1.5px;align-items:center;gap:9px;margin:0 0 18px;font-size:14px;display:flex}.eyebrow span{background:var(--lime);border-radius:50%;width:5px;height:5px}h1{letter-spacing:-2.7px;margin:0;font-size:clamp(31px,4.3vw,72px);font-weight:500;line-height:1.04}h1 em{color:var(--lime);font-family:Georgia,Times New Roman,serif;font-weight:400}.story-caption{color:#d7d8cc9c;letter-spacing:.1px;margin-top:19px;font-size:14px}.chapter-label{color:#e3e5d3ba;align-items:center;gap:13px;font-size:14px;display:flex;position:absolute;top:119px;right:4%}.chapter-label>span:first-child{color:var(--lime)}.chapter-line{background:#e3e5d340;width:27px;height:1px}.controls{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding-top:24px;display:flex;position:absolute;bottom:30px;left:4%;right:4%}.scroll-hint{letter-spacing:1px;align-items:center;gap:14px;font-size:14px;display:flex}.scroll-mark{width:32px;height:43px;color:var(--lime);border:1px solid #d7e2be4d;border-radius:18px;place-items:center;font-size:20px;display:grid}.scroll-hint small{color:#a2a795;letter-spacing:0;margin-top:7px;font-family:Arial,Helvetica,sans-serif;font-size:14px;display:block}.chapters{align-items:center;gap:23px;display:flex}.chapters button{letter-spacing:.7px;color:#aeb49f;background:0 0;border:0;align-items:center;gap:8px;padding:10px 3px;font-size:14px;transition:color .2s;display:flex}.chapters button span{opacity:.6;font-size:14px}.chapters button b{font-weight:400}.chapters button[aria-current=step]{color:var(--lime)}.chapters button[aria-current=step] span{opacity:1}.loop-mark{color:var(--lime);align-items:center;gap:12px;font-size:32px;line-height:1;display:flex}.loop-mark small{letter-spacing:1.4px;color:#c9cfb6;font-size:14px}.loader{z-index:20;background:#111210;flex-direction:column;justify-content:center;align-items:center;transition:opacity .7s,visibility .7s;display:flex;position:absolute;inset:0}.loader-symbol{color:var(--lime);font-size:62px;animation:2s ease-in-out infinite breathe}.loader p{color:#e8eadc;margin:22px 0 26px;font-family:Georgia,serif;font-size:29px;font-style:italic}.load-track{background:#30372a;width:190px;height:1px}.load-track span{background:var(--lime);width:5%;height:100%;transition:width .25s;display:block}.load-status{color:#a7af94;letter-spacing:1.5px;margin-top:18px;font-size:14px}body[data-loader-state=complete] .loader,body[data-loader-state=error] .loader{opacity:0;visibility:hidden;pointer-events:none}@keyframes breathe{50%{opacity:.4;transform:rotate(35deg)}}.fallback{z-index:15;background:#111210;position:absolute;inset:0}.fallback[hidden]{display:none}.fallback img{object-fit:contain;opacity:.52;width:100%;height:100%}.fallback>div{position:absolute;bottom:20%;left:8%;right:8%}.fallback h2{font-family:Georgia,serif;font-size:45px;font-style:italic}.fallback p{max-width:420px;line-height:1.6}.fallback a,.fallback button{color:var(--lime);background:#151a11;border:1px solid #c5f46b70;margin:10px 12px 0 0;padding:12px 20px;font-size:14px;display:inline-block}.no-script{z-index:100;text-align:center;background:#111210;padding:25px;position:fixed;inset:auto 0 0}.no-script a{color:var(--lime)}@media (width>=1600px){.story{bottom:20%}}@media (width<=900px){.edition{display:none}.controls,.chapters{gap:12px}.chapters button b,.loop-mark small{display:none}.story{bottom:21%;left:7%}h1{letter-spacing:-1.8px;font-size:44px}.side-label{display:none}.scroll-hint,.scroll-hint small{font-size:14px}.header{top:22px}.chapter-label{top:106px}}@media (width<=520px){.header{padding-bottom:17px;top:17px;left:6%;right:6%}.brand{font-size:24px}.brand-symbol{font-size:28px}.portfolio-link{font-size:14px}.portfolio-link span{margin-left:6px}.controls{flex-wrap:wrap;padding-top:17px;bottom:20px;left:6%;right:6%}.scroll-hint{flex:1}.scroll-mark{width:27px;height:36px;font-size:16px}.scroll-hint small{font-size:14px}.chapters{border-top:1px solid #dbe4c113;order:3;justify-content:center;gap:28px;width:100%;margin-top:1px;padding-top:6px}.chapters button{padding:8px 2px;font-size:14px}.chapters button b{font-size:14px;display:inline}.chapters button span{display:none}.loop-mark{font-size:30px}.story{bottom:24%;left:7%}h1{letter-spacing:-1.5px;font-size:37px}.story-caption{max-width:250px;font-size:14px;line-height:1.6}.eyebrow{letter-spacing:1.2px;font-size:14px}.chapter-label{font-size:14px;top:93px;right:6%}.chapter-line{width:20px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.portfolio-link{background:0 0;border:0}.stage-panel{pointer-events:none;will-change:opacity;visibility:hidden;opacity:0;position:absolute}.stage-panel .glass{pointer-events:auto}.glass{background:linear-gradient(145deg,hsl(48 55% 86%/var(--glass-warm,16%)),#8dccc916 58%,#142f343d);-webkit-backdrop-filter:blur(15px);border:1px solid #e6efd23d;border-radius:14px;overflow:hidden;box-shadow:inset 0 1px #ffffe51a,0 18px 70px #071c2030}.about{width:clamp(290px,26vw,380px);top:25%;right:5.3%}.about-glass{padding:29px 30px}.about .eyebrow,.services .eyebrow{letter-spacing:1.7px;margin-bottom:21px;font-size:14px}.about h1{letter-spacing:-3px;font-size:clamp(44px,4.8vw,68px);font-weight:500;line-height:.98}.about h1 em{color:#d4ef95}.role{color:#eff0df;margin:23px 0 17px;font-size:14px}.panel-copy{color:#e3e7d8;margin:0 0 13px;font-size:14px;line-height:1.75}.panel-copy.secondary{color:#d7dfd0b8;font-size:14px}.cv-tags{flex-wrap:wrap;gap:7px;margin:22px 0;display:flex}.cv-tags span{letter-spacing:.65px;color:#d0dfc0;border:1px solid #dae9bd3d;border-radius:4px;padding:7px 9px;font:14px Courier New,monospace}.text-link{text-align:left;background:0 0;border:0;border-top:1px solid #e0ebc82d;justify-content:space-between;gap:18px;width:100%;padding:16px 0 0;font-size:14px;display:flex}.text-link span{color:var(--lime);font-size:17px}.services{width:clamp(330px,31vw,440px);top:31%;left:50%;transform:translate(-50%)}.services-glass{text-align:center;padding:29px 32px}.services .eyebrow{justify-content:center}.services h2,.examples h2{letter-spacing:-1.8px;margin:0 0 20px;font-size:clamp(29px,3vw,43px);font-weight:500;line-height:1.12}.services h2 em,.examples h2 em{color:#d4ef95;font-family:Georgia,serif;font-weight:400}.services .panel-copy{color:#e4eada;font-size:14px}.service-list{border-top:1px solid #e0ebc82d;margin-top:21px;padding-top:10px;display:grid}.service-list span{padding:8px;font-size:14px}.tech-caption{letter-spacing:.2px;color:#c6d9bd;margin:18px 0 0;font:14px/1.8 Courier New,monospace}.examples{inset:0}.examples-heading{text-align:center;position:absolute;top:15%;left:25%;right:25%}.examples .eyebrow{justify-content:center;margin-bottom:12px;font-size:14px}.examples h2{margin-bottom:12px;font-size:34px}.examples-heading>p:last-child{color:#c0d5ca;font-size:14px}.project-columns{pointer-events:none;justify-content:space-between;gap:20px;display:flex;position:absolute;inset:26% 4.5% 15%}.project-column{flex-direction:column;gap:12px;width:clamp(205px,20vw,265px);display:flex}.project-card{pointer-events:auto;flex:1;min-height:0;max-height:190px;transition:border-color .2s,background .2s;display:block}.project-card:hover{background-color:#b8dca923;border-color:#c5f46b9c}.project-card>img{object-fit:cover;object-position:top;opacity:.88;border-bottom:1px solid #e6efd226;width:100%;height:calc(100% - 59px);min-height:50px;display:block}.card-info{align-items:center;gap:9px;height:59px;padding:10px 12px;display:flex}.project-index{color:#c7e4ac;align-self:flex-start;margin-top:3px;font:14px Courier New,monospace}.card-info h3{letter-spacing:-.3px;margin:0 0 4px;font-size:14px;font-weight:500}.card-info p{color:#bdcfc5;letter-spacing:-.1px;margin:0;font:14px Courier New,monospace}.enter{white-space:nowrap;border:1px solid #e1eec344;border-radius:5px;margin-left:auto;padding:7px 8px;font-size:14px}.enter b{color:var(--lime);margin-left:6px;font-size:14px}.swipe-hint{display:none}.stage-panel[aria-hidden=true],.stage-panel[aria-hidden=true] .glass{pointer-events:none}@media (width>=1700px){.about{top:26%;right:7%}.about-glass{padding:35px}.project-columns{inset:25% 6% 16%}.project-column{width:280px}.project-card{max-height:215px}.examples-heading{top:17%}}@media (height<=760px) and (width>=821px){.about{width:300px;top:22%}.about-glass{padding:22px}.about h1{font-size:48px}.about .secondary{display:none}.about .cv-tags{margin:17px 0}.services{top:27%}.services-glass{padding:22px}.services h2{font-size:30px}.service-list span{padding:5px}.project-columns{inset:27% 4.5% 17%}.project-column{gap:9px}.card-info{height:53px;padding:7px 10px}.project-card>img{height:calc(100% - 53px)}.examples-heading{top:15%}.examples h2{font-size:29px}}@media (width<=1100px) and (width>=821px){.project-column{width:210px}.card-info{gap:6px;padding:8px}.card-info h3,.card-info p{font-size:14px}.enter{padding:6px}.project-index{display:none}.about{width:295px;right:5%}.about-glass{padding:24px}.controls .scroll-hint{font-size:14px}.chapters{gap:16px}.chapters button b{display:inline}}@media (width<=820px){.glass{-webkit-backdrop-filter:blur(9px)}.header{padding-bottom:17px;top:19px;left:6%;right:6%}.brand{font-size:25px}.portfolio-link{font-size:14px}.chapter-label{font-size:14px;top:90px}.edition,.side-label{display:none}.controls{left:6%;right:6%;bottom:max(17px,env(safe-area-inset-bottom));flex-wrap:wrap;gap:8px;padding-top:14px}.scroll-hint{flex:1;font-size:14px}.scroll-hint small{font-size:14px}.scroll-mark{width:25px;height:33px;font-size:16px}.loop-mark{font-size:29px}.loop-mark small{display:none}.chapters{border-top:1px solid #dbe4c11c;order:3;justify-content:space-between;gap:10px;width:100%;margin-top:6px;padding-top:7px}.chapters button{gap:6px;padding:9px 0;font-size:14px}.chapters button b,.chapters button span{font-size:14px;display:inline}.about{width:auto;inset:auto 6% 154px}.about-glass{padding:22px 24px}.about .eyebrow{margin-bottom:12px;font-size:14px}.about h1{letter-spacing:-2px;font-size:40px}.about h1 br{display:none}.about h1 em{margin-left:8px}.about .role{margin:13px 0;font-size:14px}.about .panel-copy{font-size:14px;line-height:1.65}.about .secondary{display:none}.about .cv-tags{margin:17px 0}.cv-tags span{font-size:14px}.text-link{padding-top:13px;font-size:14px}.services{width:85%;max-width:410px;top:20%}.services-glass{padding:24px}.services .eyebrow{margin-bottom:16px;font-size:14px}.services h2{letter-spacing:-1.5px;font-size:31px}.services .panel-copy{font-size:14px}.service-list{margin-top:14px}.service-list span{padding:7px;font-size:14px}.tech-caption{margin-top:14px;font-size:14px}.examples-heading{top:15%;left:6%;right:6%}.examples h2{letter-spacing:-1.3px;font-size:29px}.examples-heading>p:last-child{font-size:14px}.project-columns{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;pointer-events:auto;touch-action:pan-x pan-y;gap:12px;height:181px;padding:0 6%;display:flex;inset:auto 0 155px;overflow-x:auto}.project-column{display:contents}.project-card{scroll-snap-align:center;border-radius:11px;flex:0 0 245px;height:181px;max-height:none}.project-card>img{height:122px}.card-info{height:59px;padding:10px 12px}.card-info h3,.card-info p{font-size:14px}.swipe-hint{text-align:center;letter-spacing:1px;color:#c3d5bd;font:14px Courier New,monospace;display:block;position:absolute;bottom:132px;left:6%;right:6%}.examples .eyebrow{margin-bottom:9px}.examples h2{margin-bottom:10px}}@media (height<=720px) and (width<=820px){.about{bottom:138px}.about-glass{padding:17px 20px}.about h1{font-size:34px}.about .cv-tags{display:none}.services{top:20%}.services-glass{padding:18px}.services h2{margin-bottom:12px;font-size:27px}.service-list span{padding:5px}.tech-caption{margin-top:9px}.project-columns{height:156px;bottom:139px}.project-card{height:156px}.project-card>img{height:97px}.swipe-hint{bottom:119px}.controls{bottom:12px}.scroll-hint small{display:none}}.about-glass,.services-glass{background:linear-gradient(135deg,#223d3bd4,#173338bd 60%,#18333eb8);border-color:#e5ecc450}.project-card{background:linear-gradient(135deg,#294743bc,#173239c9)}@media (width<=820px){.services{top:16%}.services-glass{padding:21px}.services h2{font-size:29px}.service-list span{padding:6px}}}
