*,:before,:after{box-sizing:border-box;margin:0;padding:0}*,html,body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,label,fieldset,input,p,blockquote,th,td{margin:0;padding:0}table{border-collapse:collapse;border-spacing:0}fieldset,img{border:0}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:400}ol,ul,li{list-style:none}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:400}div,img,button,input,textarea,select{outline:none}strong{font-weight:700}em{font-style:italic}a img{border:none}a{text-decoration:none}button{cursor:pointer}nextjs-portal{display:none}.bg-grid{--line-color:#0000001f;background-image:linear-gradient(to right, var(--line-color) 1px, transparent 1px),linear-gradient(to bottom, var(--line-color) 1px, transparent 1px);background-size:20px 20px}.flex{display:flex}.jcc{justify-content:center}.jcb{justify-content:space-between}.cols{flex-direction:column}.aic{align-items:center}.ase{align-self:end}@font-face{font-family:ArtyHand;src:url(/fonts/arty-hand.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:FlatFont;src:url(/fonts/flat.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:PixyFont;src:url(/fonts/pixy.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}.--ft-hand{font-family:ArtyHand}.--ft-pixy{font-family:PixyFont}.--ft-flat{font-family:FlatFont}body{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--primary:#bc2a2b;--primary-hover:#d73b3b;--secondary:#af48c2;--padding:40px;--indicator-shadow:inset 0 2px 4px #00000040, inset 0 1px 2px #00000026;--password-toggle-radius:var(--radius);--input-radius-md:var(--radius);--button-radius-md:var(--radius);--pin-radius:var(--radius);--background:#f4efea;--surface:#fff;--surface-hover:#f6f6f6;--muted:#fff;--muted-hover:#f6f6f6;--text-active:#e86e17;--nav-active-dot:#e86e17;--text-primary:#111;--text-primary-hover:#222;--text-secondary:#444;--text-secondary-hover:#666;--border-primary:#ddd;--border-secondary:#eee}@media (prefers-color-scheme:dark){body{--lightningcss-light: ;--lightningcss-dark:initial}}.--app{background-color:var(--background);color:var(--text-primary);font-size:var(--text-md)}a{color:var(--text-primary);-webkit-user-select:none;user-select:none}@keyframes expandCenterBox{0%{clip-path:circle(0%)}to{clip-path:circle(150%)}}@keyframes slideHeader{to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}@keyframes slideImageRight{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%{opacity:.8;transform:scale(.95)}50%{opacity:1;transform:scale(1.2)}to{opacity:.8;transform:scale(.95)}}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}html,body{max-width:100vw;overflow-x:hidden}#smooth-wrapper{overflow:hidden}.--expand-scene{will-change:clip-path;clip-path:circle(0%);background-color:#fff;animation:1.2s cubic-bezier(.77,0,.175,1) .2s forwards expandCenterBox}.--badge{color:#fff;text-transform:uppercase;letter-spacing:1px;background-color:#000;width:fit-content;margin-bottom:20px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-block}.btn-primary{color:#fff;background-color:#111;border:2px solid #111;padding:12px 24px;font-weight:700;transition:transform .1s,box-shadow .1s;box-shadow:4px 4px #111}.btn-primary:hover{transform:translate(-2px,-2px);box-shadow:6px 6px #111}.btn-secondary{color:#111;background-color:#f3d5c4;border:2px solid #111;padding:12px 24px;font-weight:700;transition:transform .1s,box-shadow .1s;box-shadow:4px 4px #111}.btn-secondary:hover{transform:translate(-2px,-2px);box-shadow:6px 6px #111}.--app{width:100%}.--app header{z-index:100;opacity:0;width:100%;padding:16px 25px;animation:.8s cubic-bezier(.16,1,.3,1) .8s forwards slideHeader;position:relative;transform:translateY(-100%)}.--app header div{gap:10px}.--app header a{--curve:cubic-bezier(.68, -.6, .32, 1.6);cursor:pointer;-webkit-user-select:none;user-select:none;padding:6px 14px;font-weight:600;position:relative}.--app header a:before{content:"";background-color:var(--nav-active-dot);width:17px;height:7px;transition:all .2s var(--curve);border-radius:50%;position:absolute;bottom:-5px;left:50%;transform:translate(-50%)scale(0)skew(10deg,10deg)}.--app header a.active{color:var(--text-active)}.--app header a.active:before{box-shadow:var(--indicator-shadow);transition:all .3s var(--curve);transform:translate(-50%)scale(1)skew(10deg,10deg)}.--app header .--contact{background-color:#fff;align-items:center;gap:10px;font-size:14px;font-weight:700;transition:all .15s ease-in;display:flex;border:2px solid #000!important;border-radius:0!important;padding:6px 16px!important}.--app header .--contact:hover{color:#fff;background-color:#000}.--app header .--resume{color:#fff;background-color:#000;border:2px solid #000;border-radius:0;align-items:center;gap:6px;padding:6px 16px;font-size:14px;font-weight:700;transition:transform .15s,box-shadow .15s;display:flex}.--app header .--resume svg{width:15px;height:15px;transition:transform .18s}.--app header .--resume:hover{transform:translate(-2px,-2px);box-shadow:4px 4px #fde047}.--app header .--resume:hover svg{transform:translateY(2px)}.--app header .nav-toggle{z-index:300;cursor:pointer;background:#111;border:2px solid #111;flex-direction:column;justify-content:center;gap:5px;width:42px;height:38px;margin-left:auto;padding:9px;display:none;position:relative}.--app header .nav-toggle span{background:#fff;width:100%;height:2.5px;transition:transform .25s,opacity .2s;display:block}.--app header .nav-toggle.open span:first-child{transform:translateY(7.5px)rotate(45deg)}.--app header .nav-toggle.open span:nth-child(2){opacity:0}.--app header .nav-toggle.open span:nth-child(3){transform:translateY(-7.5px)rotate(-45deg)}.--app header .mobile-menu{background:var(--background);z-index:200;opacity:0;pointer-events:none;flex-direction:column;gap:4px;height:100vh;padding:84px 25px 30px;transition:opacity .25s,transform .32s cubic-bezier(.16,1,.3,1);display:none;position:absolute;top:0;left:0;right:0;transform:translateY(-100%)}.--app header .mobile-menu.open{opacity:1;pointer-events:auto;transform:translateY(0)}.--app header .mobile-menu a{border-bottom:1px solid #00000014;padding:15px 6px;font-size:1.1rem;font-weight:700}.--app header .mobile-menu a:before{display:none}.--app header .mobile-menu .--resume,.--app header .mobile-menu .--contact{border-bottom:none;justify-content:center;margin-top:10px;padding:13px 16px}@media (max-width:860px){.--app header .nav-desktop,.--app header .header-actions{display:none}.--app header .nav-toggle,.--app header .mobile-menu{display:flex}}.--app .--hero{width:100%;height:calc(100vh - 65px);padding-top:60px;display:flex;overflow:hidden}.--app .--hero .slice{height:100%;padding-inline:var(--padding);flex-direction:column;flex:1;justify-content:center;display:flex;position:relative}.--app .--hero .slice .--art-badge,.--app .--hero .slice .--title,.--app .--hero .slice .--desc,.--app .--hero .slice .--actions{opacity:0;animation:.8s cubic-bezier(.16,1,.3,1) forwards fadeInUp;transform:translateY(20px)}.--app .--hero .slice .--art-badge{animation-delay:.4s}.--app .--hero .slice .--title{animation-delay:.55s}.--app .--hero .slice .--desc{animation-delay:.7s}.--app .--hero .slice .--actions{animation-delay:.85s}.--app .--hero .slice:last-child{justify-content:flex-end}.--app .--hero .slice:last-child .bg-grid{clip-path:polygon(50% 0%,0% 100%,100% 100%);position:absolute;inset:0;transform:translate(-2px)}.--app .--hero .slice:last-child img{z-index:10;object-fit:contain;opacity:0;align-self:center;width:100%;height:auto;transition:transform .4s cubic-bezier(.16,1,.3,1);animation:1s cubic-bezier(.16,1,.3,1) .6s forwards slideImageRight;transform:translate(40px)}.--app .--hero .slice:last-child img:hover{transform:scale(1.02)translate(0)}.--app .--hero .slice .--art-badge{color:#fff;background:#111;border-radius:50px;align-items:center;gap:8px;width:max-content;margin-bottom:20px;padding:6px 14px;font-size:.8rem;font-weight:600;transition:transform .2s;display:flex;transform:rotate(-1deg);box-shadow:3px 3px #00000026}.--app .--hero .slice .--art-badge:hover{transform:rotate(0)scale(1.03)}.--app .--hero .slice .--art-badge .status-dot{background-color:#22c55e;border-radius:50%;width:7px;height:7px;animation:2s 1.2s infinite pulse}.--app .--hero .slice .--title{color:#111;letter-spacing:-2px;margin-bottom:22px;font-size:3.8rem;font-weight:900;line-height:1.05}.--app .--hero .slice .--title .highlight{color:#111;display:inline-block;position:relative}.--app .--hero .slice .--title .highlight:after{content:"";z-index:-1;background-color:#fde047;border-radius:20px;width:0%;height:8px;animation:2.5s cubic-bezier(.16,1,.3,1) 1.2s forwards expandHighlight;position:absolute;bottom:4px;left:0}.--app .--hero .slice .--desc{color:#444;letter-spacing:-.2px;max-width:440px;margin-bottom:32px;font-size:1.05rem;font-weight:500;line-height:1.6}.--app .--hero .slice .--actions{gap:12px;display:flex}@media (max-width:768px){.--app .--hero{flex-direction:column;justify-content:center;height:auto;min-height:calc(100vh - 65px);padding-top:40px;padding-bottom:40px;overflow:visible}.--app .--hero .slice{height:auto;padding-inline:24px}.--app .--hero .slice .--title{letter-spacing:-1px;font-size:clamp(2.2rem,10vw,3.2rem)}.--app .--hero .slice .--title .highlight{-webkit-box-decoration-break:clone;box-decoration-break:clone;background-image:linear-gradient(#fde047,#fde047);background-position:0 calc(100% - 2px);background-repeat:no-repeat;background-size:0% 8px;animation:2.5s cubic-bezier(.16,1,.3,1) 1.2s forwards drawHilite;display:inline}.--app .--hero .slice .--title .highlight:after{display:none}.--app .--hero .slice .--desc{font-size:1rem}.--app .--hero .slice .--actions{flex-wrap:wrap}.--app .--hero .slice.p2{display:none}}@keyframes expandHighlight{to{width:100%}}@keyframes drawHilite{to{background-size:100% 8px}}.--app .--about{width:100%;min-height:100vh;padding:0 var(--padding);background-color:#0000;border-top:2px solid #111;align-items:center;display:flex;overflow:hidden}.--app .--about.in-view .about-left .section-title,.--app .--about.in-view .about-right .about-text,.--app .--about.in-view .about-right .metrics-grid,.--app .--about.in-view .about-right .focus-list{opacity:1;transform:none}.--app .--about.in-view .about-left .section-badge{opacity:1;transform:rotate(-1deg)}.--app .--about.in-view .about-left .section-title .highlight:after{width:100%}.--app .--about .about-container{align-items:center;gap:80px;width:100%;max-width:1400px;margin:0 auto;display:flex}@media (max-width:992px){.--app .--about .about-container{flex-direction:column;gap:40px;height:auto;padding:60px 0;overflow-y:auto}}.--app .--about .about-left{flex:1;max-width:560px}.--app .--about .about-left .section-title{opacity:0;transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);transform:translateY(20px)}.--app .--about .about-left .section-badge{color:#fff;letter-spacing:1.5px;opacity:0;background-color:#111;border-radius:50px;width:max-content;margin-bottom:20px;padding:6px 14px;font-size:.75rem;font-weight:700;transition:opacity .7s cubic-bezier(.16,1,.3,1) 50ms,transform .7s cubic-bezier(.16,1,.3,1) 50ms;display:inline-block;transform:translateY(20px)rotate(-1deg);box-shadow:3px 3px #00000026}.--app .--about .about-left .section-title{color:#111;letter-spacing:-1.5px;font-size:clamp(2rem,7vw,3.2rem);font-weight:900;line-height:1.1;transition-delay:.25s}.--app .--about .about-left .section-title .highlight{z-index:0;color:#111;display:inline-block;position:relative}.--app .--about .about-left .section-title .highlight:after{content:"";z-index:-1;background-color:#fde047;border-radius:20px;width:0%;height:8px;transition:width .6s cubic-bezier(.16,1,.3,1) .7s;position:absolute;bottom:4px;left:0}.--app .--about .about-right{flex-direction:column;flex:1.3;gap:20px;display:flex}.--app .--about .about-right .about-text,.--app .--about .about-right .metrics-grid,.--app .--about .about-right .focus-list{opacity:0;transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);transform:translate(-30px)}.--app .--about .about-right .about-text:first-of-type{transition-delay:.3s}.--app .--about .about-right .about-text:nth-of-type(2){transition-delay:.4s}.--app .--about .about-right .metrics-grid{transition-delay:.5s}.--app .--about .about-right .focus-list{transition-delay:.6s}.--app .--about .about-right .about-text{color:#333;font-size:1.15rem;font-weight:500;line-height:1.7}.--app .--about .about-right .about-text strong{color:#111;font-weight:700}.--app .--about .about-right .metrics-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}@media (max-width:560px){.--app .--about .about-right .metrics-grid{grid-template-columns:repeat(2,1fr)}}.--app .--about .about-right .metrics-grid{margin-top:10px;margin-bottom:10px}.--app .--about .about-right .metrics-grid .metric-card{cursor:pointer;background-color:#fff;border:2px solid #111;padding:16px 20px;transition:transform .2s,box-shadow .2s;box-shadow:4px 4px #111}.--app .--about .about-right .metrics-grid .metric-card:hover{transform:translate(-2px,-2px);box-shadow:6px 6px #111}.--app .--about .about-right .metrics-grid .metric-card .metric-number{color:#111;margin-bottom:4px;font-size:1.8rem;font-weight:900;line-height:1}.--app .--about .about-right .metrics-grid .metric-card .metric-label{color:#555;font-size:.85rem;font-weight:600}.--app .--about .about-right .focus-list{flex-wrap:wrap;gap:10px;display:flex}.--app .--about .about-right .focus-list .focus-pill{color:#111;cursor:pointer;background-color:#0000;border:2px dashed #555;padding:6px 14px;font-size:.85rem;font-weight:600;transition:transform .2s,border-color .2s,color .2s}.--app .--about .about-right .focus-list .focus-pill:hover{border-color:#111;transform:translateY(-2px)}.--app .--stack{--curve:cubic-bezier(.16, 1, .3, 1);border-top:2px solid #111;flex-direction:column;justify-content:center;width:100%;min-height:100vh;padding:80px 0;display:flex;overflow:hidden}.--app .--stack .stack-container{width:100%;max-width:1400px;padding:0 var(--padding);margin:0 auto}.--app .--stack .section-header{margin-bottom:40px}.--app .--stack .section-title,.--app .--stack .section-desc{opacity:0;transition:opacity .7s var(--curve),transform .7s var(--curve);transform:translateY(20px)}.--app .--stack .section-badge{color:#fff;letter-spacing:1.5px;opacity:0;background-color:#111;border-radius:50px;width:max-content;margin-bottom:12px;padding:6px 14px;font-size:.75rem;font-weight:700;transition:opacity .7s cubic-bezier(.16,1,.3,1) 50ms,transform .7s cubic-bezier(.16,1,.3,1) 50ms;display:inline-block;transform:translateY(20px)rotate(-1deg);box-shadow:3px 3px #00000026}.--app .--stack .section-title{color:#111;letter-spacing:-1.5px;margin-bottom:8px;font-size:clamp(2rem,6.5vw,3rem);font-weight:900;line-height:1.1;transition-delay:.15s}.--app .--stack .section-title .highlight{z-index:0;display:inline-block;position:relative}.--app .--stack .section-title .highlight:after{content:"";z-index:-1;width:0%;height:8px;transition:width .6s var(--curve);background-color:#fde047;border-radius:20px;transition-delay:.5s;position:absolute;bottom:3px;left:0}.--app .--stack .section-desc{color:#444;max-width:520px;font-size:1.05rem;font-weight:500;transition-delay:.25s}.--app .--stack .stack-groups{flex-direction:column;gap:34px;display:flex}.--app .--stack .stack-group{opacity:0;transition:opacity .7s var(--curve),transform .7s var(--curve);transition-delay:calc(.3s + var(--i)*.1s);transform:translate(-30px)}.--app .--stack .stack-cat{text-transform:uppercase;letter-spacing:1.5px;color:#111;align-items:center;gap:14px;margin-bottom:16px;font-size:.82rem;font-weight:800;display:flex}.--app .--stack .stack-tiles{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;display:grid}.--app .--stack .stack-tile{cursor:pointer;background:0 0;border:2px dashed #555;align-items:center;gap:12px;padding:7px 14px;transition:transform .16s,border-color .16s,background .16s;display:flex}.--app .--stack .stack-tile .tile-ico{flex-shrink:0;place-items:center;font-size:1.65rem;line-height:1;display:grid}.--app .--stack .stack-tile .tile-name{color:#111;letter-spacing:-.2px;font-size:.9rem;font-weight:700}.--app .--stack .stack-tile:hover{border-color:#111;transform:translateY(-3px)}.--app .--stack.in-view .section-title,.--app .--stack.in-view .section-desc{opacity:1;transform:none}.--app .--stack.in-view .section-badge{opacity:1;transform:rotate(-1deg)}.--app .--stack.in-view .section-title .highlight:after{width:100%}.--app .--stack.in-view .stack-group{opacity:1;transform:none}.--app .--stack .stack-marquee{background:#111;border-top:2px solid #111;border-bottom:2px solid #111;margin-top:60px;padding:14px 0;overflow:hidden}.--app .--stack .stack-marquee .marquee-track{width:max-content;animation:26s linear infinite marquee;display:flex}.--app .--stack .stack-marquee .marquee-track span{color:#fff;text-transform:uppercase;letter-spacing:1px;white-space:nowrap;font-size:1.1rem;font-weight:800}.--app .--stack .stack-marquee .marquee-track span:after{content:"✦";color:#fde047;margin:0 40px}.--app .--services{--curve:cubic-bezier(.16, 1, .3, 1);width:100%;min-height:100vh;padding:80px var(--padding);background-color:#0000;border-top:2px solid #111;flex-direction:column;justify-content:center;display:flex;overflow:hidden}.--app .--services.in-view .services-container .section-header .section-title,.--app .--services.in-view .services-container .section-header .section-desc,.--app .--services.in-view .services-container .services-layout .service-card{opacity:1;transform:none}.--app .--services.in-view .services-container .section-header .section-badge{opacity:1;transform:rotate(-1deg)}.--app .--services .services-container{width:100%;max-width:1400px;margin:0 auto}.--app .--services .services-container .section-header{margin-bottom:40px}.--app .--services .services-container .section-header .section-title,.--app .--services .services-container .section-header .section-desc{opacity:0;transition:opacity .7s var(--curve),transform .7s var(--curve);transform:translateY(20px)}.--app .--services .services-container .section-header .section-badge{color:#fff;letter-spacing:1.5px;opacity:0;background-color:#111;border-radius:50px;width:max-content;margin-bottom:12px;padding:6px 14px;font-size:.75rem;font-weight:700;transition:opacity .7s cubic-bezier(.16,1,.3,1) 50ms,transform .7s cubic-bezier(.16,1,.3,1) 50ms;display:inline-block;transform:translateY(20px)rotate(-1deg);box-shadow:3px 3px #00000026}.--app .--services .services-container .section-header .section-title{color:#111;letter-spacing:-1.5px;margin-bottom:8px;font-size:clamp(2rem,6.5vw,3rem);font-weight:900;line-height:1.1;transition-delay:.15s}.--app .--services .services-container .section-header .section-desc{color:#444;max-width:500px;font-size:1.05rem;font-weight:500;transition-delay:.25s}.--app .--services .services-container .services-layout{grid-template-columns:repeat(3,1fr);align-items:start;gap:24px;display:grid}@media (max-width:1024px){.--app .--services .services-container .services-layout{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.--app .--services .services-container .services-layout{grid-template-columns:1fr}}.--app .--services .services-container .services-layout .service-card{opacity:0;height:100%;transition:opacity .7s var(--curve),transform .7s var(--curve);background-color:#fff;border:2px solid #111;flex-direction:column;justify-content:space-between;padding:28px;display:flex;transform:translate(-30px);box-shadow:5px 5px #111}.--app .--services .services-container .services-layout .service-card:first-child{transition-delay:.35s}.--app .--services .services-container .services-layout .service-card:nth-child(2){transition-delay:.5s}.--app .--services .services-container .services-layout .service-card:nth-child(3){transition-delay:.65s}.--app .--services .services-container .services-layout .service-card:nth-child(4){transition-delay:.8s}.--app .--services .services-container .services-layout .service-card .card-top{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.--app .--services .services-container .services-layout .service-card .card-top .card-number{background-color:#fde047;border:2px solid #111;padding:3px 8px;font-size:.8rem;font-weight:800}.--app .--services .services-container .services-layout .service-card .card-title{color:#111;letter-spacing:-.5px;margin-bottom:10px;font-size:1.25rem;font-weight:800}.--app .--services .services-container .services-layout .service-card .card-desc{color:#444;font-size:.9rem;font-weight:500;line-height:1.5}.--app .--experience{--curve:cubic-bezier(.16, 1, .3, 1);width:100%;min-height:100vh;padding:80px var(--padding);border-top:2px solid #111;flex-direction:column;justify-content:center;display:flex;overflow:hidden}.--app .--experience .experience-container{width:100%;max-width:1400px;margin:0 auto}.--app .--experience .section-header{margin-bottom:50px}.--app .--experience .section-title,.--app .--experience .section-desc{opacity:0;transition:opacity .7s var(--curve),transform .7s var(--curve);transform:translateY(20px)}.--app .--experience .section-badge{color:#fff;letter-spacing:1.5px;opacity:0;background-color:#111;border-radius:50px;width:max-content;margin-bottom:12px;padding:6px 14px;font-size:.75rem;font-weight:700;transition:opacity .7s cubic-bezier(.16,1,.3,1) 50ms,transform .7s cubic-bezier(.16,1,.3,1) 50ms;display:inline-block;transform:translateY(20px)rotate(-1deg);box-shadow:3px 3px #00000026}.--app .--experience .section-title{color:#111;letter-spacing:-1.5px;margin-bottom:8px;font-size:clamp(2rem,6.5vw,3rem);font-weight:900;line-height:1.1;transition-delay:.15s}.--app .--experience .section-title .highlight{z-index:0;display:inline-block;position:relative}.--app .--experience .section-title .highlight:after{content:"";z-index:-1;width:0%;height:8px;transition:width .6s var(--curve);background-color:#fde047;border-radius:20px;transition-delay:.5s;position:absolute;bottom:3px;left:0}.--app .--experience .section-desc{color:#444;max-width:520px;font-size:1.05rem;font-weight:500;transition-delay:.25s}.--app .--experience .timeline{max-width:820px;padding-left:34px;position:relative}.--app .--experience .timeline-line{transform-origin:top;width:3px;transition:transform .9s var(--curve);background:#111;transition-delay:.2s;position:absolute;top:6px;bottom:6px;left:6px;transform:scaleY(0)}.--app .--experience .timeline-item{opacity:0;transition:opacity .7s var(--curve),transform .7s var(--curve);transition-delay:calc(.35s + var(--i)*.18s);padding-bottom:34px;position:relative;transform:translate(-26px)}.--app .--experience .timeline-item:last-child{padding-bottom:0}.--app .--experience .timeline-dot{background:#fde047;border:3px solid #111;border-radius:50%;width:15px;height:15px;position:absolute;top:2px;left:-34px}.--app .--experience .timeline-content .timeline-tag{text-transform:uppercase;letter-spacing:1px;background:#fff;border:2px solid #111;margin-bottom:8px;padding:2px 8px;font-size:.68rem;font-weight:800;display:inline-block}.--app .--experience .timeline-content .timeline-title{color:#111;letter-spacing:-.5px;font-size:1.4rem;font-weight:800;line-height:1.2}.--app .--experience .timeline-content .timeline-meta{color:#777;margin:3px 0 8px;font-size:.85rem;font-weight:600;display:block}.--app .--experience .timeline-content .timeline-desc{color:#444;max-width:620px;font-size:.98rem;font-weight:500;line-height:1.6}.--app .--experience.in-view .section-title,.--app .--experience.in-view .section-desc{opacity:1;transform:none}.--app .--experience.in-view .section-badge{opacity:1;transform:rotate(-1deg)}.--app .--experience.in-view .section-title .highlight:after{width:100%}.--app .--experience.in-view .timeline-item{opacity:1;transform:none}.--app .--experience.in-view .timeline-line{transform:scaleY(1)}.--app .--work{--curve:cubic-bezier(.16, 1, .3, 1);width:100%;min-height:100vh;padding:80px var(--padding);border-top:2px solid #111;flex-direction:column;justify-content:center;display:flex;overflow:hidden}.--app .--work .work-container{width:100%;max-width:1400px;margin:0 auto}.--app .--work .section-header{margin-bottom:52px}.--app .--work .section-title,.--app .--work .section-desc{opacity:0;transition:opacity .7s var(--curve),transform .7s var(--curve);transform:translateY(20px)}.--app .--work .section-badge{color:#fff;letter-spacing:1.5px;opacity:0;background-color:#111;border-radius:50px;width:max-content;margin-bottom:12px;padding:6px 14px;font-size:.75rem;font-weight:700;transition:opacity .7s cubic-bezier(.16,1,.3,1) 50ms,transform .7s cubic-bezier(.16,1,.3,1) 50ms;display:inline-block;transform:translateY(20px)rotate(-1deg);box-shadow:3px 3px #00000026}.--app .--work .section-title{color:#111;letter-spacing:-1.5px;margin-bottom:8px;font-size:clamp(2rem,6.5vw,3rem);font-weight:900;line-height:1.1;transition-delay:.15s}.--app .--work .section-title .highlight{z-index:0;display:inline-block;position:relative}.--app .--work .section-title .highlight:after{content:"";z-index:-1;width:0%;height:8px;transition:width .6s var(--curve);background-color:#fde047;border-radius:20px;transition-delay:.5s;position:absolute;bottom:3px;left:0}.--app .--work .section-desc{color:#444;max-width:520px;font-size:1.05rem;font-weight:500;transition-delay:.25s}.--app .--work .work-grid{grid-template-columns:repeat(3,1fr);gap:40px 24px;display:grid}@media (max-width:1024px){.--app .--work .work-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:700px){.--app .--work .work-grid{grid-template-columns:1fr}}.--app .--work .work-card{opacity:0;transition:opacity .7s var(--curve),transform .7s var(--curve),box-shadow .18s ease;background:#fff;border:2px solid #111;flex-direction:column;display:flex;position:relative;transform:translate(-30px)}.--app .--work .work-card .work-tag{z-index:3;letter-spacing:.5px;background:var(--accent,#fde047);white-space:nowrap;border:2px solid #111;padding:4px 10px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.72rem;font-weight:800;position:absolute;top:-14px;left:18px}.--app .--work .work-card .work-head{--line-color:#00000017;background-image:linear-gradient(to right, var(--line-color) 1px, transparent 1px),linear-gradient(to bottom, var(--line-color) 1px, transparent 1px);background-size:20px 20px;border-bottom:2px solid #111;align-items:center;gap:14px;padding:20px 18px;display:flex}.--app .--work .work-card .work-head .work-arrow{background:var(--accent,#fde047);width:38px;height:38px;transition:transform .25s var(--curve);border:2px solid #111;flex-shrink:0;place-items:center;font-size:1.1rem;font-weight:800;display:grid}.--app .--work .work-card .work-head .work-heading{flex:1;min-width:0}.--app .--work .work-card .work-head .work-name{letter-spacing:-.8px;color:#111;font-size:1.55rem;font-weight:900;line-height:1.05}.--app .--work .work-card .work-head .work-domain{text-transform:uppercase;letter-spacing:.6px;color:#888;margin-top:2px;font-size:.72rem;font-weight:700;display:block}.--app .--work .work-card .work-head .work-num{color:#bbb;align-self:flex-start;font-size:.85rem;font-weight:800}.--app .--work .work-card .work-visual{background:var(--accent,#fde047);border-bottom:2px solid #111;place-items:center;min-height:210px;display:grid}.--app .--work .work-card .work-visual .work-icon{color:#111;width:78px;height:78px}.--app .--work .work-card .work-visual .work-icon svg{width:100%;height:100%;display:block}.--app .--work .work-card .work-foot{background:#f7f6f3;padding:22px 18px}.--app .--work .work-card .work-foot .work-company{text-transform:uppercase;letter-spacing:.7px;color:#666;align-items:center;gap:7px;margin-bottom:12px;font-size:.7rem;font-weight:800;display:inline-flex}.--app .--work .work-card .work-foot .work-company:before{content:"";background:var(--accent,#fde047);border:1.5px solid #111;width:8px;height:8px}.--app .--work .work-card .work-foot .work-desc{color:#111;font-size:.98rem;font-weight:600;line-height:1.55}.--app .--work .work-card .work-foot .work-tech{flex-wrap:wrap;gap:7px;margin-top:16px;display:flex}.--app .--work .work-card .work-foot .work-tech span{background:#fff;border:1.5px solid #111;padding:3px 9px;font-size:.72rem;font-weight:700}.--app .--work.in-view .section-title,.--app .--work.in-view .section-desc{opacity:1;transform:none}.--app .--work.in-view .section-badge{opacity:1;transform:rotate(-1deg)}.--app .--work.in-view .section-title .highlight:after{width:100%}.--app .--work.in-view .work-card{opacity:1;transform:none}.--app .--work.in-view .work-card:hover{transform:translate(-3px,-3px);box-shadow:8px 8px #111}.--app .--work.in-view .work-card:hover .work-arrow{transform:translate(3px)}.--app .--contact-section{--curve:cubic-bezier(.16, 1, .3, 1);width:100%;min-height:85vh;padding:90px var(--padding);text-align:center;border-top:2px solid #111;justify-content:center;align-items:center;display:flex;overflow:hidden}.--app .--contact-section .contact-container{width:100%;max-width:760px;margin:0 auto}.--app .--contact-section .section-badge{color:#fff;letter-spacing:1.5px;opacity:0;background-color:#111;border-radius:50px;width:max-content;margin-bottom:18px;padding:6px 14px;font-size:.75rem;font-weight:700;transition:opacity .7s cubic-bezier(.16,1,.3,1) 50ms,transform .7s cubic-bezier(.16,1,.3,1) 50ms;display:inline-block;transform:translateY(20px)rotate(-1deg);box-shadow:3px 3px #00000026}.--app .--contact-section .contact-title{color:#111;letter-spacing:-2px;opacity:0;transition:opacity .7s var(--curve),transform .7s var(--curve);margin-bottom:18px;font-size:clamp(2.6rem,6vw,4.4rem);font-weight:900;line-height:1.05;transition-delay:.15s;transform:translateY(24px)}.--app .--contact-section .contact-title .highlight{z-index:0;display:inline-block;position:relative}.--app .--contact-section .contact-title .highlight:after{content:"";z-index:-1;width:0%;height:12px;transition:width .6s var(--curve);background-color:#fde047;border-radius:20px;transition-delay:.55s;position:absolute;bottom:6px;left:0}.--app .--contact-section .contact-desc{color:#444;opacity:0;max-width:540px;transition:opacity .7s var(--curve),transform .7s var(--curve);margin:0 auto 34px;font-size:1.1rem;font-weight:500;line-height:1.6;transition-delay:.25s;transform:translateY(20px)}.--app .--contact-section .contact-actions{opacity:0;transition:opacity .7s var(--curve),transform .7s var(--curve);flex-wrap:wrap;justify-content:center;gap:14px;margin-bottom:60px;transition-delay:.35s;display:flex;transform:translateY(20px)}.--app .--contact-section .contact-actions .contact-btn{color:#111;background:#fff;border:2px solid #111;align-items:center;gap:8px;padding:13px 24px;font-size:.95rem;font-weight:700;transition:transform .12s,box-shadow .12s,background .15s,color .15s;display:inline-flex;box-shadow:4px 4px #111}.--app .--contact-section .contact-actions .contact-btn:hover{background:#fde047;transform:translate(-2px,-2px);box-shadow:6px 6px #111}.--app .--contact-section .contact-actions .contact-btn.primary{color:#fff;background:#111}.--app .--contact-section .contact-actions .contact-btn.primary:hover{color:#111;background:#fde047}.--app .--contact-section .contact-actions .contact-btn .dl-icon{flex-shrink:0;width:18px;height:18px}.--app .--contact-section .contact-actions .contact-btn.icon-btn{justify-content:center;padding:12px}.--app .--contact-section .contact-actions .contact-btn.icon-btn img{width:22px;height:22px;display:block}.--app .--contact-section .contact-footer{color:#555;opacity:0;transition:opacity .7s var(--curve);border-top:2px solid #111;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 20px;padding-top:20px;font-size:.85rem;font-weight:600;transition-delay:.45s;display:flex}.--app .--contact-section.in-view .contact-title,.--app .--contact-section.in-view .contact-desc,.--app .--contact-section.in-view .contact-actions{opacity:1;transform:none}.--app .--contact-section.in-view .section-badge{opacity:1;transform:rotate(-1deg)}.--app .--contact-section.in-view .contact-footer{opacity:1}.--app .--contact-section.in-view .contact-title .highlight:after{width:100%}.--app .--project{--curve:cubic-bezier(.16, 1, .3, 1);width:100%;padding:40px var(--padding) 100px;overflow-x:clip}.--app .--project .project-container{max-width:1100px;margin:0 auto}.--app .--project .reveal{opacity:0;transition:opacity .5s var(--curve),translate .62s var(--curve),scale .62s var(--curve);transition-delay:calc(var(--i,0)*70ms);translate:0 22px;scale:.985}.--app .--project .rv-up{translate:0 24px;scale:1}.--app .--project .rv-left{translate:-38px;scale:1}.--app .--project .rv-right{translate:38px;scale:1}.--app .--project .rv-pop{translate:0;scale:.5}.--app .--project .rv-zoom{translate:0 30px;scale:.93}.--app .--project .reveal.in-view{opacity:1;translate:0;scale:1}@media (prefers-reduced-motion:reduce){.--app .--project .reveal{opacity:1;transition:none;translate:0;scale:1}}.--app .--project .proj-back{text-transform:uppercase;letter-spacing:1px;background:#fff;border:2px solid #111;align-items:center;margin-bottom:44px;padding:6px 14px;font-size:.85rem;font-weight:800;transition:transform .12s,box-shadow .12s,background .15s;display:inline-flex;box-shadow:3px 3px #111}.--app .--project .proj-back:hover{background:#fde047;transform:translate(-2px,-2px);box-shadow:5px 5px #111}.--app .--project .proj-hero{grid-template-columns:1.2fr 1fr;align-items:start;gap:50px;margin-bottom:60px;display:grid}@media (max-width:820px){.--app .--project .proj-hero{grid-template-columns:1fr;gap:32px}}.--app .--project .proj-date{text-transform:uppercase;letter-spacing:1.5px;color:#111;align-items:center;gap:9px;margin-bottom:18px;font-size:.8rem;font-weight:800;display:inline-flex}.--app .--project .proj-date .dot{background:#111;border-radius:50%;width:9px;height:9px}.--app .--project .proj-name{letter-spacing:-2px;color:#111;text-transform:uppercase;margin-bottom:20px;font-size:clamp(2.6rem,8vw,5rem);font-weight:900;line-height:.95}.--app .--project .proj-tagline{color:#444;max-width:460px;margin-bottom:22px;font-size:1.15rem;font-weight:500;line-height:1.5}.--app .--project .proj-tags{flex-wrap:wrap;gap:10px;display:flex}.--app .--project .proj-tags span{text-transform:uppercase;letter-spacing:.5px;background:#f3d5c4;border:2px solid #111;padding:5px 12px;font-size:.78rem;font-weight:800;box-shadow:2px 2px #111}.--app .--project .proj-meta{grid-template-columns:1fr 1fr;gap:26px 20px;display:grid}.--app .--project .proj-meta .meta-card{flex-direction:column;gap:4px;padding:16px 18px;display:flex;position:relative;box-shadow:2px 4px 8px #00000017}.--app .--project .proj-meta .meta-card:before{content:"";background:#faf6f099;border:1px solid #0000000d;width:58px;height:20px;position:absolute;top:-10px;left:50%;transform:translate(-50%)rotate(-4deg);box-shadow:0 1px 3px #0000000f}.--app .--project .proj-meta .meta-card:first-child{background:#c3cef0;rotate:-1.4deg}.--app .--project .proj-meta .meta-card:nth-child(2){background:#b9e3c6;rotate:1.1deg}.--app .--project .proj-meta .meta-card:nth-child(3){background:#f2e4a8;rotate:.9deg}.--app .--project .proj-meta .meta-card:nth-child(4){background:#f5cdda;rotate:-1deg}.--app .--project .proj-meta .meta-card .k{text-transform:uppercase;letter-spacing:1px;color:#555;font-size:.68rem;font-weight:800}.--app .--project .proj-meta .meta-card .v{color:#111;font-size:.95rem;font-weight:700;line-height:1.3}.--app .--project .proj-visual{position:relative}.--app .--project .proj-visual:before,.--app .--project .proj-visual:after{content:"";z-index:5;background:#faf6f09e;border:1px solid #0000000d;width:84px;height:26px;position:absolute;top:-13px;box-shadow:0 2px 5px #00000012}.--app .--project .proj-visual:before{left:34px;transform:rotate(-7deg)}.--app .--project .proj-visual:after{right:34px;transform:rotate(6deg)}.--app .--project .proj-visual{background:var(--accent,#fde047);border:2px solid #111;place-items:center;min-height:360px;margin-bottom:70px;display:grid;rotate:-1deg;box-shadow:8px 8px #111}.--app .--project .proj-visual .pv-icon{color:#111;width:120px;height:120px}.--app .--project .proj-visual .pv-icon svg{width:100%;height:100%;display:block}.--app .--project .proj-visual .pv-img{width:auto;max-width:100%;height:auto;max-height:460px;margin:0 auto;display:block}.--app .--project .proj-visual:has(.pv-img){text-align:center;background:#e9eef6;min-height:auto;padding:42px 20px;display:block}.--app .--project .proj-shots{grid-template-columns:repeat(2,1fr);gap:34px;margin:36px 0 70px;display:grid}@media (max-width:640px){.--app .--project .proj-shots{grid-template-columns:1fr;gap:44px}}.--app .--project .proj-shots .shot{position:relative}.--app .--project .proj-shots .shot:before,.--app .--project .proj-shots .shot:after{content:"";z-index:5;background:#faf6f09e;border:1px solid #0000000d;width:84px;height:26px;position:absolute;top:-13px;box-shadow:0 2px 5px #00000012}.--app .--project .proj-shots .shot:before{left:34px;transform:rotate(-7deg)}.--app .--project .proj-shots .shot:after{right:34px;transform:rotate(6deg)}.--app .--project .proj-shots .shot{background:#fff;border:2px solid #111;place-items:center;padding:12px;display:grid;box-shadow:8px 8px #111}.--app .--project .proj-shots .shot img{width:auto;max-width:100%;height:auto;max-height:540px;display:block}.--app .--project .proj-shots .shot:nth-child(odd){rotate:-1.2deg}.--app .--project .proj-shots .shot:nth-child(2n){rotate:1deg}.--app .--project .proj-block{max-width:760px;margin:0 auto 64px}.--app .--project .proj-h{letter-spacing:-.5px;color:#111;margin-bottom:18px;font-size:1.9rem;font-weight:900;display:inline-block;position:relative}.--app .--project .proj-h:after{content:"";z-index:-1;width:0%;height:8px;transition:width .6s var(--curve);background:#fde047;border-radius:20px;transition-delay:.25s;position:absolute;bottom:2px;left:0}.--app .--project .proj-h.in-view:after,.--app .--project .reveal.in-view .proj-h:after{width:100%}@media (prefers-reduced-motion:reduce){.--app .--project .proj-h:after{width:100%;transition:none}}.--app .--project .proj-p{color:#333;font-size:1.15rem;font-weight:500;line-height:1.7}.--app .--project .proj-stats{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px;display:grid}@media (max-width:640px){.--app .--project .proj-stats{grid-template-columns:1fr}}.--app .--project .proj-stats .stat-card{background:var(--accent,#fde047);border:2px solid #111;padding:22px 20px;box-shadow:5px 5px #111}.--app .--project .proj-stats .stat-card .stat-value{letter-spacing:-1px;color:#111;font-size:1.9rem;font-weight:900;line-height:1;display:block}.--app .--project .proj-stats .stat-card .stat-label{color:#222;margin:8px 0 14px;font-size:.9rem;font-weight:600;display:block}.--app .--project .proj-stats .stat-card .stat-tag{text-transform:uppercase;letter-spacing:1px;color:#111;border-top:2px solid #111;padding-top:8px;font-size:.68rem;font-weight:800;display:block}.--app .--project .proj-links{flex-wrap:wrap;gap:12px;margin-top:22px;display:flex}.--app .--project .proj-links .proj-link{color:#fff;background:#111;border:2px solid #111;padding:10px 18px;font-size:.9rem;font-weight:800;transition:transform .12s,box-shadow .12s,background .15s,color .15s;box-shadow:3px 3px #111}.--app .--project .proj-links .proj-link:hover{box-shadow:5px 5px 0 var(--accent,#fde047);background:var(--accent,#fde047);color:#111;transform:translate(-2px,-2px)}.--app .--project .proj-lead{color:#111;letter-spacing:-.3px;font-size:1.35rem;font-weight:600;line-height:1.6}.--app .--project .proj-features-section{max-width:900px;margin:0 auto 64px}.--app .--project .proj-features-section .proj-h{margin-bottom:26px}.--app .--project .proj-features{grid-template-columns:1fr 1fr;gap:18px;display:grid}@media (max-width:640px){.--app .--project .proj-features{grid-template-columns:1fr}}.--app .--project .proj-features .feat-card{background:#fff;border:2px solid #111;padding:22px;box-shadow:5px 5px #111}.--app .--project .proj-features .feat-card h3{color:#111;letter-spacing:-.4px;margin-bottom:8px;font-size:1.1rem;font-weight:900}.--app .--project .proj-features .feat-card p{color:#444;font-size:.95rem;font-weight:500;line-height:1.6}.--app .--project .proj-more{border-top:2px solid #111;max-width:900px;margin:96px auto 0;padding-top:56px}.--app .--project .proj-more .proj-h{margin-bottom:26px}.--app .--project .proj-more .more-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}@media (max-width:640px){.--app .--project .proj-more .more-grid{grid-template-columns:1fr}}.--app .--project .proj-more .more-card{background:#fff;border:2px solid #111;align-items:center;gap:16px;padding:20px;transition:transform .14s,box-shadow .14s;display:flex;box-shadow:5px 5px #111}.--app .--project .proj-more .more-card .more-ico{background:var(--accent,#fde047);border:2px solid #111;flex-shrink:0;place-items:center;width:46px;height:46px;display:grid}.--app .--project .proj-more .more-card .more-ico svg{color:#111;width:26px;height:26px;display:block}.--app .--project .proj-more .more-card .more-text{flex:1;min-width:0}.--app .--project .proj-more .more-card .more-text h3{color:#111;letter-spacing:-.5px;font-size:1.15rem;font-weight:900}.--app .--project .proj-more .more-card .more-text span{text-transform:uppercase;letter-spacing:.5px;color:#888;font-size:.78rem;font-weight:700}.--app .--project .proj-more .more-card .more-arrow{color:#111;transition:transform .2s var(--curve);font-size:1.3rem;font-weight:800}.--app .--project .proj-more .more-card:hover{transform:translate(-3px,-3px);box-shadow:8px 8px #111}.--app .--project .proj-more .more-card:hover .more-arrow{transform:translate(4px)}@media (max-width:600px){.--app .--project{padding:30px 20px 80px}.--app .--project .proj-meta{grid-template-columns:1fr}.--app .--project .proj-visual{min-height:240px}.--app .--project .proj-visual .pv-icon{width:80px;height:80px}.--app .--project .proj-visual:has(.pv-img){padding:20px 12px}.--app .--project .proj-visual .pv-img{max-height:380px}}.preloader{z-index:9999;background-color:#fffdf7;position:fixed;inset:0}.pl-scene{--line-color:#00000029;clip-path:circle(0%);will-change:clip-path;background-color:#fffdf7;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.pl-lines{visibility:hidden;justify-content:center;align-items:center;display:flex;position:relative}.pl-line{letter-spacing:-.02em;color:#111;white-space:nowrap;justify-content:center;align-items:center;margin:0;font-size:clamp(2rem,7vw,5rem);font-weight:800;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pl-line .ch{will-change:transform,opacity;display:inline-block}.pl-line .ch.space{width:.3em}.me-badge{will-change:transform,opacity;background-color:#f5c451;border:2px solid #111;border-radius:12px;align-items:center;margin-left:.15em;padding:.02em .28em;display:inline-flex;box-shadow:4px 4px #111}.scroll-top{z-index:999;color:#fff;cursor:pointer;opacity:0;visibility:hidden;background:#111;border:2px solid #111;place-items:center;width:52px;height:52px;font-size:1.35rem;font-weight:700;line-height:1;transition:opacity .35s cubic-bezier(.16,1,.3,1),transform .35s cubic-bezier(.16,1,.3,1),background .2s,color .2s;display:grid;position:fixed;bottom:28px;right:28px;transform:translateY(24px)scale(.8);box-shadow:4px 4px #00000040}.scroll-top.show{opacity:1;visibility:visible;transform:translateY(0)scale(1)}.scroll-top:hover{color:#111;background:#fde047;transform:translateY(-3px)scale(1)}.--app *,.--app :before,.--app :after{animation-play-state:paused!important}.intro-done .--app *,.intro-done .--app :before,.intro-done .--app :after{animation-play-state:running!important}
