.transition{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:100000;pointer-events:none}.transition-overlay{position:absolute;top:0;left:0;width:100%;height:100%;transform:scaleY(1);transform-origin:top;will-change:transform}.transition-overlay.overlay-1{background-color:var(--fg)}.transition-overlay.overlay-2{background-color:var(--accent1)}.transition-overlay.overlay-3{background-color:var(--accent2)}.transition-overlay.overlay-4{background-color:var(--accent3)}.transition-overlay.overlay-5{background-color:var(--accent4)}@font-face{font-family:rader;src:url(/fonts/rader/PPRader-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:rader;src:url(/fonts/rader/PPRader-BoldItalic.ttf) format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:rader;src:url(/fonts/rader/PPRader-Medium.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:rader;src:url(/fonts/rader/PPRader-MediumItalic.ttf) format("truetype");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:rader;src:url(/fonts/rader/PPRader-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:rader;src:url(/fonts/rader/PPRader-Italic.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:rader;src:url(/fonts/rader/PPRader-Thin.ttf) format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:rader;src:url(/fonts/rader/PPRader-ThinItalic.ttf) format("truetype");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:rader;src:url(/fonts/rader/PPRader-Hairline.ttf) format("truetype");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:rader;src:url(/fonts/rader/PPRader-HairlineItalic.ttf) format("truetype");font-weight:100;font-style:italic;font-display:swap}@font-face{font-family:formula-condensed;src:url(/fonts/formula/PPFormula-CondensedBlack.ttf) format("truetype");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:formula-condensed;src:url(/fonts/formula/PPFormula-CondensedLight.ttf) format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:formula-condensed;src:url(/fonts/formula/PPFormula-CondensedItalic.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:formula-condensed;src:url(/fonts/formula/PPFormula-CondensedRegular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:formula-extended;src:url(/fonts/formula/PPFormula-ExtendedBold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:formula-extended;src:url(/fonts/formula/PPFormula-ExtendedLight.ttf) format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:formula-extended;src:url(/fonts/formula/PPFormula-ExtendedItalic.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:formula-extended;src:url(/fonts/formula/PPFormula-ExtendedMedium.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:formula;src:url(/fonts/formula/PPFormula-Extrabold.ttf) format("truetype");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:formula;src:url(/fonts/formula/PPFormula-ExtraboldItalic.ttf) format("truetype");font-weight:800;font-style:italic;font-display:swap}@font-face{font-family:formula;src:url(/fonts/formula/PPFormula-Light.ttf) format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:formula;src:url(/fonts/formula/PPFormula-Medium.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:formula;src:url(/fonts/formula/PPFormula-MediumItalic.ttf) format("truetype");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:formula-narrow;src:url(/fonts/formula/PPFormula-NarrowBold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:formula-narrow;src:url(/fonts/formula/PPFormula-NarrowBoldItalic.ttf) format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:formula-narrow;src:url(/fonts/formula/PPFormula-NarrowRegular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:formula-narrow;src:url(/fonts/formula/PPFormula-NarrowSemibold.ttf) format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:formula;src:url(/fonts/formula/PPFormula-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:formula;src:url(/fonts/formula/PPFormula-RegularItalic.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:formula-semicondensed;src:url(/fonts/formula/PPFormula-SemiCondensedLight.ttf) format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:formula-semicondensed;src:url(/fonts/formula/PPFormula-SemiCondensedItalic.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:formula-semicondensed;src:url(/fonts/formula/PPFormula-SemiCondensedMedium.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:formula-semicondensed;src:url(/fonts/formula/PPFormula-SemiCondensedThin.ttf) format("truetype");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:formula-semiextended;src:url(/fonts/formula/PPFormula-SemiExtendedBold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:supply-mono;src:url(/fonts/supply-mono/PPSupplyMono-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:supply-mono;src:url(/fonts/supply-mono/PPSupplyMono-Medium.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:supply-mono;src:url(/fonts/supply-mono/PPSupplyMono-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:supply-mono;src:url(/fonts/supply-mono/PPSupplyMono-Ultralight.ttf) format("truetype");font-weight:200;font-style:normal;font-display:swap}:root{--bg: #fbfbfb;--bg2: #f0f0f0;--fg: #050505;--accent1: #ff4500;--accent2: #0056ff;--accent3: #00c97b;--accent4: #e5e5e5;--glow: rgba(0, 0, 0, .06);--glass-bg: rgba(255, 255, 255, .65);--glass-border: rgba(255, 255, 255, 1);--glass-shadow: 0 20px 40px rgba(0, 0, 0, .08)}*{margin:0;padding:0;box-sizing:border-box;cursor:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 100 50'%3E%3Cellipse cx='50' cy='25' rx='48' ry='23' fill='%23ffeb3b' stroke='%23000' stroke-width='2'/%3E%3Cpath fill='%23000' d='M 10 25 Q 15 10 30 20 Q 35 15 42 20 L 45 10 L 50 15 L 55 10 L 58 20 Q 65 15 70 20 Q 85 10 90 25 Q 85 45 50 45 Q 15 45 10 25 Z'/%3E%3C/svg%3E") 20 20,auto!important}body{background-color:var(--bg);background-image:radial-gradient(rgba(0,0,0,.04) 1px,transparent 1px);background-size:24px 24px;color:var(--fg);overflow-x:hidden}body::-webkit-scrollbar{width:0}img{width:100%;height:100%;object-fit:cover}h1,h2,h3{text-transform:uppercase;font-family:rader;font-style:italic;line-height:.95;letter-spacing:-.02em}h1{font-size:5rem}h2{font-size:4rem}h3{font-size:2rem}a{text-decoration:none;color:var(--fg)}p,p.ss{font-family:formula-narrow;font-size:1.25rem;font-weight:600;line-height:1.125}p.mn{text-transform:uppercase;font-family:supply-mono;font-size:.875rem;font-weight:500;line-height:1.125}.contact-cta{position:relative;width:100vw;height:100svh;padding:2em;display:flex;justify-content:center;align-items:center}.contact-cta .contact-button{position:relative;width:60%;height:300px;border:1px solid var(--fg);border-radius:20em;background:linear-gradient(45deg,var(--accent1),var(--accent2),var(--accent3));background-size:400% 400%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;transition:all .4s cubic-bezier(.23,1,.32,1);animation:gradientMove 10s ease-in-out infinite;box-shadow:0 20px 50px #0000001a;overflow:hidden;cursor:pointer}.contact-cta .contact-button:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 40px 80px #0056ff40,0 20px 40px #ff450026}.contact-cta a{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;z-index:2}.contact-cta .contact-button:before{content:"";position:absolute;top:0;left:0;width:200%;height:100%;background:repeating-linear-gradient(45deg,rgba(0,0,0,.125) 0px,rgba(0,0,0,.125) 15px,transparent 15px,transparent 30px);animation:stripeMove 30s linear infinite}.contact-cta .contact-text-small,.contact-cta .contact-text-large{position:relative;z-index:1}.contact-cta .contact-text-large h1{font-size:7rem}@keyframes gradientMove{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes stripeMove{0%{transform:translate(-50%)}to{transform:translate(0)}}@media(max-width:1000px){h1{font-size:2.5rem}.contact-cta{height:max-content;padding:8em 2em}.contact-cta .contact-button{width:95%;height:250px;gap:1em;border-radius:2em}.contact-cta .contact-text-small{width:75%;text-align:center}.contact-cta .contact-text-large h1{font-size:3rem}}nav{position:fixed;top:0;left:0;width:100vw;padding:2em;display:flex;justify-content:space-between;align-items:center;overflow-x:hidden;z-index:100}nav .logo{padding:.5em 1.2em;background-color:#050505cc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:50px;border:1px solid rgba(255,255,255,.1)}nav .logo a{color:var(--bg);-webkit-user-select:none;user-select:none}nav .menu-toggle-btn{padding:.6em 1.2em .65em;background-color:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--fg);border:1px solid var(--glass-border);border-radius:50px}nav .menu-toggle-btn.menu-open{background-color:var(--fg);color:var(--bg)}nav .menu-toggle-btn p{-webkit-user-select:none;user-select:none}nav .logo,nav .menu-toggle-btn{border-radius:50px;cursor:pointer;box-shadow:0 4px 12px #0000000d;transition:transform .3s ease,box-shadow .3s ease}nav .logo:hover,nav .menu-toggle-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000001a}nav .menu-toggle-btn-wrapper{position:relative;display:flex;flex-direction:column;align-items:center;height:.875rem;clip-path:polygon(0 0,100% 0,100% 100%,0% 100%)}.nav-overlay{position:fixed;top:0;left:0;width:100vw;height:100svh;background-color:#fffc;-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px);overflow:hidden;pointer-events:none;opacity:0;z-index:10}.nav-overlay .nav-items{position:absolute;top:47.5%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:1em}.nav-overlay .nav-items .nav-item{position:relative;transform:translateY(100%);will-change:transform;opacity:0;border-radius:.5em;background-color:#00000008;border:1px solid rgba(0,0,0,.05);transition:all .3s ease}.nav-overlay .nav-items .nav-item:hover{background-color:var(--fg)}.nav-overlay .nav-items .nav-item:hover p a{color:var(--bg)}.nav-overlay .nav-items .nav-item.active{background-color:var(--fg)}.nav-overlay .nav-items .nav-item.active p a{color:var(--bg)}.nav-overlay .nav-items .nav-item p a{display:block;padding:.5em .5em .3em}.nav-overlay .nav-footer{position:absolute;left:0;bottom:0;width:100%;padding:2em;display:flex;justify-content:space-between;align-items:flex-end;text-align:center;gap:1.5em}.nav-overlay .nav-footer .nav-footer-item{display:flex;flex-direction:column;gap:.5em}.nav-overlay .nav-footer .nav-footer-item p{font-size:.75rem;-webkit-user-select:none;user-select:none}.nav-overlay .nav-footer .nav-footer-item .nav-footer-item-header{position:relative;transform:translateY(100%);opacity:0;display:flex;justify-content:center;gap:.75em}.nav-overlay .nav-footer .nav-footer-item .nav-footer-item-header p{background-color:var(--bg);color:var(--fg);padding:.5em .65em;border-radius:.4em;text-align:center}.nav-overlay .nav-footer .nav-footer-item .nav-footer-item-copy{position:relative;transform:translateY(100%);opacity:0;display:flex;justify-content:center;gap:.75em}.nav-overlay .nav-footer-item:nth-child(1) .nav-footer-item-header{justify-content:flex-start}.nav-overlay .nav-footer-item:nth-child(3) .nav-footer-item-header{justify-content:flex-end}.nav-overlay .nav-footer .nav-footer-item:last-child{margin-top:1em}@media(max-width:1000px){.nav-overlay .nav-items .nav-item p{font-size:1.5rem}.nav-overlay .nav-footer{flex-direction:column;justify-content:center;align-items:center}.nav-overlay .nav-footer-item:nth-child(1) .nav-footer-item-header{justify-content:center}.nav-overlay .nav-footer-item:nth-child(2){display:none}.nav-overlay .nav-footer-item:nth-child(3) .nav-footer-item-header{justify-content:center}}.webgl{position:fixed;top:0;left:0;width:100vw;height:100vh;outline:none;z-index:-1;pointer-events:none}.hero-minimal{position:relative;width:100vw;height:100svh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:2em}.hero-minimal .hero-content{z-index:2}.hero-minimal h1{font-size:6vw;color:var(--fg);font-family:Helvetica Neue,Arial,sans-serif;letter-spacing:-.04em;margin-bottom:.2em;text-transform:none;font-style:normal}.hero-minimal .hero-subtitle{font-size:1.5rem;color:#050505b3;max-width:600px;margin:0 auto;font-weight:400}.hero-footer-scroll-down{position:absolute;bottom:2em;left:50%;transform:translate(-50%)}.hero-footer-scroll-down a{position:relative;display:inline-block;padding-bottom:2px}.hero-footer-scroll-down a:after{content:"";position:absolute;width:100%;height:2px;bottom:0;left:0;background-color:var(--fg);transform:scaleX(0);transform-origin:bottom right;transition:transform .3s cubic-bezier(.25,1,.5,1)}.hero-footer-scroll-down a:hover:after{transform:scaleX(1);transform-origin:bottom left}.featured-work-vertical{padding:10em 4em;background-color:#0c0c0c;color:#f0f0f0}.vertical-intro{margin-bottom:6em;display:flex;flex-direction:column;gap:1.5em}.section-label{font-size:1rem;letter-spacing:.25em;text-transform:uppercase;color:#7a9ad4;opacity:.6}.vertical-intro .massive-text{font-size:8rem;line-height:.9;letter-spacing:-.03em;font-family:Helvetica Neue,Arial,sans-serif;text-transform:uppercase;color:#fff}.vertical-projects{display:grid;grid-template-columns:repeat(2,1fr);gap:4em}.project-card{display:flex;flex-direction:column;gap:2em;text-decoration:none;color:inherit;transition:transform .5s cubic-bezier(.23,1,.32,1)}.project-card:hover{transform:translateY(-8px)}.project-card-visual{position:relative;width:100%;aspect-ratio:16/10;border-radius:1.5em;overflow:hidden;background:#1a1a1a}.project-card-visual img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.23,1,.32,1),filter .5s ease}.project-card:hover .project-card-visual img{transform:scale(1.08);filter:brightness(.4)}.project-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .4s ease;z-index:2}.project-card:hover .project-overlay{opacity:1}.overlay-cta{font-size:1.2rem;letter-spacing:.3em;text-transform:uppercase;color:#fff;padding:1em 2.5em;border:1.5px solid rgba(255,255,255,.6);border-radius:100px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:all .3s ease}.project-card:hover .overlay-cta:hover{background:#fff;color:#0c0c0c;border-color:#fff}.project-card-meta{display:flex;flex-direction:column;gap:.8em;padding:0 .5em}.project-card-meta .work-num{font-size:1rem;opacity:.3;font-family:monospace;letter-spacing:.1em}.project-card-meta h3{font-size:2.2rem;line-height:1.2;font-family:Helvetica Neue,Arial,sans-serif;color:#fff;font-weight:600}.project-card-meta p{font-size:1.15rem;line-height:1.5;color:#ffffff80}.project-tags{display:flex;gap:.6em;flex-wrap:wrap;margin-top:.5em}.project-tags span{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;padding:.5em 1.2em;border:1px solid rgba(122,154,212,.2);border-radius:100px;color:#7a9ad4;transition:all .3s ease}.project-card:hover .project-tags span{border-color:#7a9ad466;background:#7a9ad414}.skills-section{padding:8em 4em;max-width:1400px;margin:0 auto}.skills-header{margin-bottom:4em;text-align:center}.skills-header h2{font-size:3rem;color:#111;margin-bottom:.5em;font-family:Helvetica Neue,Arial,sans-serif;letter-spacing:-.02em}.skills-header p{font-size:1.25rem;color:#0009;max-width:600px;margin:0 auto}.bento-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:repeat(2,minmax(300px,auto));gap:1.5em}.bento-item{position:relative;border-radius:2em;padding:3em;background:#ffffffb3;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.5);box-shadow:0 10px 30px #00000008,inset 0 0 0 1px #fffc;transition:transform .4s cubic-bezier(.175,.885,.32,1.275),box-shadow .4s ease,background .4s ease;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.bento-item:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:2em;background:linear-gradient(135deg,#fff6,#fff0);pointer-events:none}.bento-item:hover{transform:translateY(-5px) scale(1.01);box-shadow:0 20px 40px #0000000f,inset 0 0 0 1px #fff;background:#ffffffe6}.frontend-box{grid-column:span 7}.backend-box,.design-box{grid-column:span 5}.architecture-box{grid-column:span 7}.bento-icon{font-size:2.5rem;margin-bottom:.5em;color:#0056ff}.bento-content h3{font-size:2rem;color:#111;margin-bottom:.2em;font-family:Helvetica Neue,Arial,sans-serif}.bento-content p{color:#0009;font-size:1.1rem;margin-bottom:2em;line-height:1.5}.skill-chips{display:flex;flex-wrap:wrap;gap:.8em;margin-top:auto}.chip{padding:.6em 1.2em;background:#0000000a;border-radius:2em;font-size:.95rem;color:#333;font-weight:500;border:1px solid rgba(0,0,0,.05);transition:all .3s cubic-bezier(.25,.8,.25,1);cursor:default}.chip:hover{background:#111;color:#fff;transform:translateY(-3px) scale(1.05);box-shadow:0 5px 15px #0000001a;border-color:#111}@media(max-width:1000px){.bento-grid{grid-template-columns:1fr;grid-template-rows:auto}.frontend-box,.backend-box,.design-box,.architecture-box{grid-column:span 1}.skills-section{padding:4em 2em}.work-panel-img{width:90vw;height:40vh}}.download-btn{display:inline-block;padding:.8em 2em;background:#111;color:#fff!important;border-radius:2em;font-weight:500;text-decoration:none;transition:all .3s ease;margin-top:1em}.download-btn:hover{background:#0056ff;transform:translateY(-2px);box-shadow:0 10px 20px #0056ff33}.experience-section{width:100%;padding:8em 4em;background:linear-gradient(180deg,#111,#050505)}.experience-content-wrapper{max-width:1200px;margin:0 auto}.experience-header{text-align:center;margin-bottom:5em}.experience-header h2{font-size:3rem;color:#fff;margin-bottom:.5em;font-family:Helvetica Neue,Arial,sans-serif;letter-spacing:-.02em}.experience-header p{font-size:1.25rem;color:#fff9}.experience-container{display:flex;flex-direction:column;gap:1em}.exp-row{border-bottom:1px solid rgba(255,255,255,.1);padding:2em 1em;transition:all .4s ease;cursor:pointer;border-radius:1em}.exp-row:hover{background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 10px 30px #0003;border-color:transparent;transform:scale(1.01)}.exp-row-header{display:flex;justify-content:space-between;align-items:center}.exp-title{flex:2;font-size:1.8rem;font-weight:600;color:#fff}.exp-company{flex:2;font-size:1.25rem;color:#fff9}.exp-date{flex:1;text-align:right;font-size:1.1rem;color:#0056ff;font-weight:500;padding-right:2em}.exp-icon{font-size:2rem;color:#fff;font-weight:300;transition:transform .4s ease}.exp-row:hover .exp-icon{transform:rotate(45deg);color:#0056ff}.exp-details{max-height:0;overflow:hidden;opacity:0;transition:all .5s cubic-bezier(.165,.84,.44,1);padding-top:0}.exp-row:hover .exp-details{max-height:300px;opacity:1;padding-top:2em}.exp-details ul{padding-left:1.5em;color:#ffffffb3;font-size:1.1rem;line-height:1.6;max-width:800px}.exp-details li{margin-bottom:.5em}@media(max-width:1000px){.exp-row-header{flex-direction:column;align-items:flex-start;gap:.5em}.exp-company,.exp-date{font-size:1rem;text-align:left;padding:0}.exp-icon{display:none}.experience-section{padding:4em 2em}.exp-row:hover .exp-details{max-height:500px}}
