.loader{display:flex;justify-content:center;align-items:center;background-color:var(--theme-color);fill:none;overflow:hidden;height:100svh}.loader svg{height:10rem;width:10rem}.svgCurve{position:absolute;top:0;left:-99px;width:100px;height:100%;fill:var(--primary-color1);stroke:none;pointer-events:none}.nav{position:relative;display:flex;align-items:center;justify-content:space-between;height:var(--nav-height);padding-inline:clamp(1rem,6vw,7rem);width:100%}.nav ul{list-style:none;padding:0;margin:0}.nav a{text-decoration:none}.nav-items{display:flex;align-items:center;justify-content:space-between;width:100%}.nav-items ul{display:flex;gap:2.5rem;font-size:var(--fz-sm);font-weight:500}.nav-items a{position:relative;color:var(--red);display:block;overflow:hidden}.nav-items a span{color:var(--primary-color1);display:block;transition:transform .5s cubic-bezier(.34,1.75,.64,1),color .5s ease}.nav-items a:before{content:attr(data-link-alt);position:absolute;top:0;transform:translateY(100%);opacity:0;transition:transform .5s cubic-bezier(.34,1.75,.64,1),opacity .3s ease}.nav-items a:hover span{transform:translateY(-100%)}.nav-items a:hover:before{transform:translateY(0);opacity:1}.nav-items a.active span,.mobile-nav-body a.active span{color:var(--red)}.nav-items li.doodle-underline{--doodle-thickness: 5px}.nav-items li.doodle-underline:after{opacity:0;transition:opacity .3s ease}.nav-items li:has(a.active):after{opacity:1}.mobile-nav-body a.active span{text-decoration:underline;text-decoration-style:wavy;text-decoration-color:var(--red);text-decoration-thickness:1.5px;text-underline-offset:5px}.logo{position:absolute;left:50%;transform:translate(-50%);padding:1rem}.logo a{display:flex;align-items:center;justify-content:center;font-size:var(--fz-sm)}.logo svg{color:var(--red)}.nav-social-icons{display:flex;align-items:center;gap:1rem}.social-hint{font-family:Caveat,cursive;font-size:var(--fz-xl);color:var(--text-muted);transform:rotate(-3deg);-webkit-user-select:none;user-select:none;white-space:nowrap}.nav-social-icons ul{display:flex;align-items:center}.nav-social-icons a{position:relative;color:#a3a3a3;font-size:var(--fz-lg);transition:color .3s ease;display:flex;align-items:center;justify-content:center}.nav-social-icons a:hover{color:var(--primary-color1)}.nav-social-icons li{position:relative}.nav-social-icons li:after{content:"";position:absolute;top:-.5em;right:-.45em;bottom:-.5em;left:-.45em;border:1.5px solid var(--red);border-radius:55% 45% 50% 50%/50% 55% 45%;opacity:0;transform:rotate(-4deg) scale(1.25);transition:opacity .25s ease,transform .3s cubic-bezier(.34,1.75,.64,1);pointer-events:none}.nav-social-icons li:has(a:hover):after{opacity:.9;transform:rotate(-4deg) scale(1)}.mobile-nav{display:none}.mobile-nav button{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;height:1.3rem;background:transparent;border:none;z-index:4;cursor:pointer}.mobile-nav button span{display:block;width:2rem;min-height:3px;border-radius:var(--border-radius);background-color:var(--red);transition:all .5s ease}.mobile-nav button span:nth-child(1){transform:translateY(-.3rem)}.mobile-nav button span:nth-child(2){opacity:1}.mobile-nav button span:nth-child(3){transform:translateY(.3rem)}.mobile-nav button span:nth-child(1).active{rotate:45deg;transform:translateY(.3rem)}.mobile-nav button span:nth-child(2).active{opacity:0}.mobile-nav button span:nth-child(3).active{rotate:-45deg;transform:translateY(-.3rem)}.mobile-nav-menu{position:fixed;top:0;right:0;height:100svh;background-color:var(--primary-color1);z-index:3}.sidebar-header{padding:35px 35px 0}.mobile-nav-body{display:flex;flex-direction:column}.mobile-nav-body h1{font-family:Caveat,cursive;color:var(--primary-color2);margin:3rem 0;transform:rotate(-2deg)}.mobile-nav-body a{font-size:var(--fz-lg);font-weight:500;color:var(--primary-color2);display:block;padding:1rem 35px}.mobile-nav-social{position:absolute;width:100%;bottom:30px;padding-inline:35px}.mobile-nav-social div:first-child{width:100%;height:2px;border-radius:var(--border-radius);background-color:var(--primary-color2)}.mobile-nav-social-icons ul{display:flex;align-items:center;justify-content:center;margin:1rem 0;gap:1.5rem}.mobile-nav-social-icons a{padding:0}.mobile-nav-social-icons svg{color:var(--primary-color2);font-size:var(--fz-xxl)}@media (max-width: 768px){.nav-items,.nav-social-icons{display:none!important}.mobile-nav{display:block!important;margin-left:auto}.mobile-nav-menu{width:50%}}@media (max-width: 480px){.mobile-nav-menu{width:70%}}@media screen and (max-width: 399px){.nav{padding-inline:1rem}}.cardContainer{height:100svh;display:flex;align-items:center;justify-content:center;position:sticky;top:7%}.cardContainer .card{display:flex;flex-direction:column;position:relative;top:-25%;width:100%;border-radius:25px;padding:clamp(1rem,3.7vw,3.125rem);transform-origin:top;background-color:#fff;box-shadow:0 0 25px #0000004d;color:var(--primary-color2)}.card .card-tab{position:absolute;top:-2.2rem;height:2.4rem;display:flex;align-items:center;padding:0 1.4rem;background-color:#fff;border-radius:12px 12px 0 0;font-size:var(--fz-xs);font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:#000000a6;white-space:nowrap;-webkit-user-select:none;user-select:none}.card-tab .tab-num{font-family:Space Grotesk,sans-serif;color:var(--accent);margin-right:.6rem}.card .card-stamp{position:absolute;top:3rem;right:5rem;padding:.35rem .9rem;border:3px double var(--accent);border-radius:6px;color:var(--accent);font-family:Space Grotesk,sans-serif;font-weight:700;font-size:var(--fz-sm);letter-spacing:3px;text-transform:uppercase;pointer-events:none;-webkit-user-select:none;user-select:none;transform-origin:top right}.card h2{text-align:center;font-size:32px}.card .body{display:flex;flex:0 1 auto;min-height:0;margin-top:25px;gap:50px}.card .body .description{flex:1.5;padding:.5rem;margin-top:4rem}.card .body .description p{font-size:clamp(var(--fz-md),3vw,var(--fz-lg));line-height:1.4rem;font-weight:500;-webkit-box-orient:vertical;overflow:hidden;word-wrap:break-word}.card .body .description p:first-letter{font-size:28px}.card .body .description .desc-links{display:flex;flex-direction:column;margin-top:3rem;gap:1.5rem}.desc-links a,.desc-links .disabled-link{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.8rem;border-radius:var(--border-radius);color:var(--primary-color1);font-size:var(--fz-md);text-decoration:none}.desc-links a{background-color:var(--primary-color2);font-weight:400;cursor:pointer;transition:var(--transition);box-shadow:0 10px 15px #0009}.desc-links a:hover{box-shadow:none;translate:0 3px}.desc-links a svg{font-size:var(--fz-md)}.desc-links .disabled-link{background-color:#00000080;cursor:not-allowed}.desc-links .disabled-link span{-webkit-user-select:none;user-select:none}.card .body .imageContainer{position:relative;flex:4;aspect-ratio:16 / 8;border-radius:2rem;overflow:hidden}.card .body .imageContainer img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.note-pin{position:absolute;top:1.1rem;left:1.1rem;z-index:3;display:flex;align-items:center;gap:.6rem;background:transparent;border:none;padding:0;cursor:pointer}.note-pin .pin-dot{width:.85rem;height:.85rem;border-radius:50%;background-color:var(--accent);box-shadow:0 0 0 4px #ffffffe6,0 2px 6px #00000059;flex-shrink:0;transition:transform .2s ease}.note-pin:hover .pin-dot,.note-pin.is-open .pin-dot{transform:scale(1.15)}.note-pin .pin-text{font-family:Caveat,cursive;font-size:1.2rem;line-height:1.3;color:#fff;background:#000000a6;padding:.3rem .8rem;border-radius:4px;max-width:11rem;text-align:left;opacity:0;transform:translate(-8px);transition:opacity .25s ease,transform .25s ease;pointer-events:none}.note-pin.is-open .pin-text{opacity:1;transform:translate(0)}.card .card-meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;row-gap:.3rem;gap:1rem;margin-top:1.2rem;padding-top:.8rem;border-top:2px solid var(--accent);font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#000000c7;-webkit-user-select:none;user-select:none}.card-meta .meta-no{font-family:Space Grotesk,sans-serif;color:var(--accent);flex-shrink:0}.card-meta .meta-stack{text-align:right}.card-meta .meta-stack-mobile{display:none}@media screen and (max-width: 768px){.cardContainer{top:var(--nav-height)}.card .card-tab{top:-1.9rem;height:2.1rem;padding:0 1rem;letter-spacing:1px}.note-pin{top:.7rem;left:.7rem;gap:.4rem}.note-pin .pin-dot{width:.7rem;height:.7rem}.note-pin .pin-text{font-size:1rem;max-width:8rem;padding:.25rem .6rem}.card .card-stamp{top:1.6rem;right:1.6rem;padding:.25rem .6rem;font-size:10px;letter-spacing:2px}.card h2{font-size:25px}.card .body{flex-direction:column-reverse}.card .body .description{margin-top:0}.card .body .description .desc-links{margin-top:1rem;gap:2rem}.desc-links a{box-shadow:0 5px 7px #0009}.card .card-meta{margin-top:.8rem;padding-top:.6rem;font-size:9px;letter-spacing:1.5px}}@media screen and (max-width: 600px){.card .card-tab{top:-1.7rem;height:1.9rem;padding:0 .8rem;font-size:9px;letter-spacing:1px}.card .body .description p{display:-webkit-box;-webkit-line-clamp:3;line-clamp:3}.card .body .description .desc-links{margin-top:.7rem;gap:.7rem}.card .card-meta .meta-stack{flex-basis:100%;text-align:left}.card .card-meta .meta-stack-desktop{display:none}.card .card-meta .meta-stack-mobile{display:inline}}@media screen and (width <= 399px){.card .body{gap:.5rem}.desc-links a,.desc-links .disabled-link{padding:.5rem}}.right-down-arrow{font-size:var(--fz-heading);transform:rotate(-15deg)}.right-up-arrow{display:none}.circular-btn{width:128px;height:128px;border-radius:50%;overflow:hidden}.circular-btn a,.circular-btn button{position:relative;display:flex;align-items:center;justify-content:center;background-color:var(--primary-color1);color:var(--primary-color2);width:100%;height:100%}.circular-btn a{text-decoration:none}.circular-btn button{border:none;cursor:pointer}.circular-btn button.loading{cursor:not-allowed;opacity:.7}.circular-btn a span,.circular-btn button span{font-size:var(--fz-lg);z-index:2;transition:var(--transition)}.circular-btn a:before,.circular-btn button:before{content:"";position:absolute;bottom:0;left:0;border-radius:50% 50% 0 0;width:100%;height:0;background-color:var(--red);color:var(--primary-color2);transition:height .3s ease-in-out}.circular-btn a:hover:before,.circular-btn button:hover:before{height:100%}.circular-btn a:hover span,.circular-btn button:hover span{color:var(--primary-color1)}@media screen and (max-width: 480px){.right-down-arrow{display:none!important}.right-up-arrow{font-size:var(--fz-heading);display:block;margin-top:5.5rem;transform:rotate(15deg)}}.home-main,.home-basic-info,.home-work-container{--muted: var(--text-muted)}.home-hero,.home-basic-info{display:flex;align-items:center;justify-content:space-between}.home-content .resume a,.home-work-container .work-header{display:flex;align-items:center;justify-content:center}.home-hero{gap:2rem;max-width:85%;margin-inline:auto;min-height:calc(100svh - var(--nav-height))}.home-main .home-content{width:min(560px,48%)}.home-content .home-title{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:1rem}.home-content .home-title-greeting{font-size:clamp(var(--fz-md),5vw,var(--fz-lg));margin-bottom:.5rem;color:var(--muted)}.home-title-name-wrap{position:relative;display:inline-block}.home-content .home-title-name{font-family:Space Grotesk,sans-serif;font-weight:700;letter-spacing:-.02em;line-height:1;font-size:clamp(var(--fz-heading),9.5vw,calc(var(--fz-heading-xl) * 1.15));color:var(--primary-color1)}.signature-underline{position:absolute;left:0;bottom:-.4rem;width:100%;height:.6em;overflow:visible;pointer-events:none}.home-content .home-description p{font-size:clamp(var(--fz-md),1vw,var(--fz-lg));line-height:1.6rem;margin-bottom:2rem}.home-content .home-description .home-location{display:flex;align-items:center;gap:.4rem;margin-bottom:.6rem;color:var(--muted);font-size:clamp(var(--fz-md),1vw,var(--fz-lg))}.circle-annotate{position:relative;display:inline-block;padding:.3em .35em .35em;margin:-.3em -.35em -.35em}.circle-annotate-svg{position:absolute;top:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none}.home-img-wrapper{position:relative;width:min(420px,40%);margin-bottom:2.5rem}.home-img-annotation{position:absolute;top:-2.2rem;left:-1rem;font-family:Caveat,cursive;font-size:1.4rem;color:var(--muted);transition:color .35s ease;z-index:1}.home-img-wrapper:hover .home-img-annotation{color:var(--accent)}.home-img-hover-group{position:relative}.home-img img{display:block;max-width:100%;height:auto;border-radius:var(--border-radius)}.home-content .resume a{gap:.5rem;text-decoration:none;color:var(--primary-color2);font-size:var(--fz-xxl);border:3px solid transparent;background-color:var(--primary-color1);padding:5px;border-radius:var(--border-radius);width:120px;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.home-content .resume a:hover{background:transparent;border-color:var(--primary-color1);color:var(--primary-color1)}.home-basic-info{min-height:60svh;gap:3rem}.home-basic-info-inside{max-width:65%;font-size:clamp(var(--fz-lg),1.3vw,var(--fz-xxl));line-height:1.5}.home-basic-info-btn{display:flex;align-items:stretch;min-width:fit-content;flex-shrink:0;width:17%}.home-work-container{position:relative;margin-top:5rem}.home-work{position:relative;margin-top:10vh}.home-work-container .work-header{position:sticky;top:calc(var(--fz-xxl) + 4px);letter-spacing:-.01em;font-size:clamp(calc(var(--fz-heading) - 4px),7vw,var(--fz-heading-lg));line-height:1.15;text-align:center}.home-work-container .work-header p{font-family:Space Grotesk,sans-serif}@media screen and (max-width: 600px){.home-hero{flex-direction:column-reverse;min-height:auto;gap:2rem;max-width:100%}.home-main .home-content{width:100%}.home-img-wrapper{width:90%;margin:3rem auto 2.5rem}.home-basic-info{flex-direction:column;padding:1rem 0}.home-basic-info-inside{min-width:100%;line-height:1.7rem;margin-bottom:2rem}.home-basic-info-btn{width:60%}}.bio,.experiance,.skills{display:flex;min-height:70svh}.bio h2,.skills h2,.experiance h2{font-size:var(--fz-heading);color:var(--primary-color1);margin-bottom:2rem}.bio{justify-content:space-between;align-items:center;gap:3rem;min-height:calc(100vh - var(--nav-height))}.bio .bio-left{max-width:50%;line-height:1.4rem}.bio .bio-left p{margin:1rem 0;font-size:var(--fz-md)}.bio .bio-left p span{font-weight:800}.bio .bio-right{width:40%}.bio .bio-right div{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7rem}.skills{flex-direction:column;width:100%;gap:3rem;min-height:55svh;padding-block:2rem}.skills-header{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:1rem;gap:1.5rem}.skills-header h2{margin-bottom:0}.skills-category-dock{display:flex;background:#ffffff0d;padding:.4rem;border-radius:var(--border-radius);border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.skills-category-btn{position:relative;background:transparent;border:none;padding:.6rem 1.2rem;border-radius:50px;cursor:pointer;color:#a3a3a3;font-size:var(--fz-sm);font-weight:500;transition:var(--transition);outline:none}.skills-category-btn:hover{color:var(--primary-color1)}.skills-category-btn.active{color:var(--primary-color2)}.skills-category-label{position:relative;z-index:2}.skills-active-pill{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--primary-color1);border-radius:50px;z-index:1;box-shadow:0 2px 10px #fff3}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1.5rem;position:relative;--mouse-x: 0px;--mouse-y: 0px}.skills-card{position:relative;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:var(--border-radius);padding:1.5rem;overflow:hidden;transition:var(--transition);cursor:default}.skills-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(200px circle at var(--mouse-x) var(--mouse-y),rgba(255,255,255,.1),transparent 80%);opacity:0;transition:var(--transition);pointer-events:none}.skills-grid:hover .skills-card:before{opacity:1}.skills-card-content{display:flex;align-items:center;gap:.8rem;position:relative;z-index:2}.skills-icon{font-size:var(--fz-xl);display:flex;align-items:center}.skills-name{font-size:var(--fz-sm);color:#e5e5e5}.experiance{flex-direction:column;width:100%;padding:2rem 0;gap:2rem}.experiance-header{display:flex;align-items:flex-start}.experiance-header h2{margin-bottom:0}.experiance-timeline-wrapper{position:relative;max-width:1000px;width:100%;margin:0 auto;padding-left:2rem}.experiance-track{position:absolute;left:0;top:0;bottom:0;width:2px;background:#ffffff0d;border-radius:2px}.experiance-progress{position:absolute;left:0;top:0;bottom:0;width:100%;background:linear-gradient(to bottom,var(--primary-color1),#888888);transform-origin:top;border-radius:2px;box-shadow:0 0 10px #ffffff80}.experiance-container{display:flex;flex-direction:column;gap:2.5rem}.experiance-item{position:relative;width:100%}.experiance-node{position:absolute;left:-2.35rem;top:1.5rem;width:16px;height:16px;background:var(--theme-color);border:2px solid rgba(255,255,255,.2);border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:2;transition:var(--transition)}.experiance-node-inner{width:6px;height:6px;background:var(--primary-color1);border-radius:50%;opacity:.2;transition:var(--transition)}.experiance-item:hover .experiance-node{border-color:#fffc}.experiance-item:hover .experiance-node-inner{opacity:1;box-shadow:0 0 10px 2px #fff9}.experiance-card{background:linear-gradient(145deg,#ffffff05,#ffffff01);border:1px solid rgba(255,255,255,.04);border-radius:var(--border-radius);padding:clamp(1rem,2.5vw,2.5rem);transition:border-color .3s ease}.experiance-card:hover{border-color:#ffffff1a}.experiance-badge{display:inline-flex;align-items:center;gap:clamp(.4rem,1.8vw,.8rem);background:#ffffff08;padding:.4rem 1rem;border-radius:50px;margin-bottom:1.2rem}.experiance-company{color:var(--primary-color1);font-weight:600;font-size:var(--fz-xs);letter-spacing:.5px}.experiance-divider{width:4px;height:4px;background:#555;border-radius:50%}.experiance-date{color:#a3a3a3;font-size:var(--fz-xs);text-transform:uppercase;letter-spacing:1px;font-weight:600}.experiance-title{font-size:var(--fz-xxl);color:var(--primary-color1);font-weight:600;letter-spacing:-.5px;margin:0 0 1.5rem}.experiance-impact-grid{display:flex;flex-direction:column;gap:clamp(.8rem,2.3vw,1.2rem);margin-bottom:2rem}.experiance-impact-item{display:flex;align-items:flex-start;gap:clamp(.4rem,1.8vw,.8rem);transition:var(--transition)}.experiance-card:hover .experiance-impact-item{transform:translate(5px)}.experiance-impact-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#888;font-size:var(--fz-lg);margin-top:.2rem;transition:var(--transition)}.experiance-card:hover .experiance-impact-icon{color:var(--primary-color1)}.experiance-impact-item p{color:#d1d1d1;font-size:clamp(var(--fz-sm),2vw,var(--fz-md));line-height:1.6}.experiance-tech-row{display:flex;flex-wrap:wrap;gap:.6rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.04)}.experiance-tech-pill{color:#888;background:#ffffff05;border:1px solid rgba(255,255,255,.05);padding:.4rem 1rem;border-radius:50px;font-size:var(--fz-xs);font-weight:500;letter-spacing:.5px;transition:var(--transition)}.experiance-card:hover .experiance-tech-pill{border-color:#ffffff26;color:var(--primary-color1);background:#ffffff0d}@media screen and (max-width: 768px){.bio .bio-left{max-width:50%}.bio h2,.skills h2,.experiance h2{font-size:revert}.skills-header{flex-direction:column;align-items:flex-start}.skills-category-dock{width:100%;overflow-x:auto;justify-content:flex-start;scrollbar-width:none;-ms-overflow-style:none}.skills-category-dock::-webkit-scrollbar{display:none}.skills-category-btn{white-space:nowrap}}@media screen and (max-width: 600px){.bio,.skills,.experiance{align-items:unset;flex-direction:column}.bio .bio-left,.skills{max-width:100%;margin-bottom:3rem}.bio .bio-right{width:100%}.skills-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem}.skills-card{padding:1rem}.skills-card-content{gap:.5rem}.skills-icon{font-size:var(--fz-lg)}.skills-name{font-size:var(--fz-xs)}.experiance-timeline-wrapper{padding-left:1.5rem}.experiance-node{left:-1.95rem;top:1.25rem;width:14px;height:14px}.experiance-badge{flex-direction:column;align-items:flex-start;background:transparent;padding:0;margin-bottom:1rem}.experiance-divider{display:none}.experiance-title{font-size:var(--fz-xl)}}.progress-track{width:100%;height:6px;border-radius:999px;background:#ffffff26;overflow:hidden;pointer-events:none}.progress-fill{width:100%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--red),#ff6b81);box-shadow:0 0 12px color-mix(in srgb,var(--red) 60%,transparent);transform-origin:0%}.work{display:flex;flex-direction:column;align-items:center;justify-content:center}.work .work-header{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5rem;min-height:calc(100svh - var(--nav-height))}.work-header .work-title{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.25rem;text-align:center;max-width:800px}.work-title .work-eyebrow{font-family:Caveat,cursive;font-size:1.6rem;color:var(--accent);transform:rotate(-3deg);line-height:1}.work-header .work-title h1{font-family:Space Grotesk,sans-serif;letter-spacing:-.02em;line-height:1;font-size:clamp(calc(var(--fz-heading) * 1.33),6vw,var(--fz-heading-xl))}.work-header .work-title h3{font-weight:400;font-size:clamp(var(--fz-lg),1.6vw,var(--fz-xxl));line-height:1.6;color:var(--text-muted);max-width:600px}.work-title .work-count{position:relative;display:inline-block;color:var(--primary-color1);font-weight:600;padding:.15em .3em .3em;margin:-.15em -.3em -.3em}.work .work-content{position:relative;width:100%;min-height:100svh}.work-content .work-progress-rail{position:absolute;top:0;left:0;width:100%;bottom:100svh;pointer-events:none;z-index:1}.work-content .work-progress-bar{display:flex;align-items:center;justify-content:center;flex-direction:column-reverse;position:sticky;top:20px;width:100%;font-size:var(--fz-heading-lg);pointer-events:auto}.work-content .work-progress-bar h4{font-family:Space Grotesk,sans-serif;letter-spacing:-.02em;line-height:1.15;font-size:clamp(calc(var(--fz-heading) - 4px),7vw,var(--fz-heading-lg));margin-top:1rem;text-align:center}.work-cards{min-width:100%;padding-top:8rem}.project-header{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:clamp(.6rem,2vw,1rem);margin:clamp(1rem,4vw,2rem) 0 clamp(.8rem,2vw,1.2rem)}.project-header ul{display:flex;align-items:center;flex-wrap:wrap;list-style:none;letter-spacing:.1rem;margin:0;font-size:clamp(var(--fz-heading),6vw,var(--fz-heading-lg))}.project-stamp{display:inline-flex;align-items:center;font-size:var(--fz-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--red);border:1.5px dashed var(--red);border-radius:var(--border-radius);padding:.3rem .7rem;white-space:nowrap}.project-note{text-align:center;font-style:italic;color:var(--text-muted);margin:0 0 clamp(1rem,3vw,1.4rem);font-size:clamp(var(--fz-sm),2vw,var(--fz-md))}.project-tagline-lead{max-width:640px;margin:0 auto clamp(1.4rem,4vw,2rem);text-align:center;color:var(--text-muted);font-size:clamp(var(--fz-md),2.5vw,var(--fz-lg));line-height:1.5}.cta-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.cta-row--hero{justify-content:center;margin:0 auto clamp(2rem,5vw,3rem)}.cta-row--footer{justify-content:space-between;padding-top:clamp(1.5rem,4vw,2rem);border-top:1px solid hsl(from var(--primary-color1) h s l / .08)}.cta-group{display:flex;gap:1rem;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:clamp(.55rem,2vw,.75rem) clamp(1rem,3vw,1.4rem);border-radius:var(--border-radius);font-size:clamp(var(--fz-sm),2vw,var(--fz-md));font-weight:500;text-decoration:none;border:1px solid transparent;transition:var(--transition);white-space:nowrap;cursor:pointer}.btn:focus-visible{outline:2px solid var(--red);outline-offset:2px}.btn--primary{background:var(--red);color:var(--primary-color1)}.btn--primary:hover{filter:brightness(1.12);translate:0 -2px}.btn--secondary{background:transparent;border-color:var(--red);color:var(--primary-color1)}.btn--secondary:hover{background:var(--red)}.btn--ghost{padding:clamp(.55rem,2vw,.75rem) 0;color:var(--text-muted)}.btn--ghost:hover{color:var(--primary-color1);gap:.75rem}.btn--disabled{background:hsl(from var(--primary-color1) h s l / .08);color:var(--text-muted);cursor:not-allowed}.project-gallery{margin-bottom:clamp(2rem,5vw,3rem)}.browser-frame{border-radius:var(--border-radius);overflow:hidden;border:1px solid hsl(from var(--primary-color1) h s l / .12);box-shadow:0 20px 40px -15px hsl(from var(--primary-color2) h s l / .5)}.browser-bar{display:flex;align-items:center;gap:1rem;padding:.65rem .9rem;background:hsl(from var(--primary-color1) h s l / .04);border-bottom:1px solid hsl(from var(--primary-color1) h s l / .08)}.browser-dots{display:flex;gap:6px;flex-shrink:0}.browser-dots span{width:11px;height:11px;border-radius:50%}.browser-dots span:nth-child(1){background:#ff5f56}.browser-dots span:nth-child(2){background:#ffbd2e}.browser-dots span:nth-child(3){background:#27c93f}.browser-url{display:flex;align-items:center;gap:.4rem;margin:0 auto;padding:.3rem .9rem;border-radius:999px;background:hsl(from var(--primary-color1) h s l / .06);color:var(--text-muted);font-size:var(--fz-sm);min-width:0}.browser-url svg{font-size:var(--fz-xs);flex-shrink:0}.browser-url-text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.shot-wrap{width:100%;aspect-ratio:2 / 1;background:var(--theme-color)}.shot-wrap img{width:100%;height:100%;object-fit:contain;display:block}.gallery-caption{margin:1rem 0 0;text-align:center;color:var(--text-muted);font-size:clamp(var(--fz-sm),2vw,var(--fz-md))}.thumb-rail{display:flex;align-items:center;justify-content:flex-start;gap:.65rem;margin:1.25rem auto 0;padding:.5rem .75rem;width:max-content;max-width:100%;background:hsl(from var(--primary-color1) h s l / .03);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid hsl(from var(--primary-color1) h s l / .08);border-radius:calc(var(--border-radius) + 6px);box-shadow:0 12px 30px -10px hsl(from var(--primary-color2) h s l / .5);overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}.thumb-rail::-webkit-scrollbar{display:none}.thumb{position:relative;flex-shrink:0;width:clamp(4.5rem,12vw,5.5rem);aspect-ratio:16 / 10;height:auto;padding:0;border-radius:var(--border-radius);overflow:hidden;border:1px solid hsl(from var(--primary-color1) h s l / .12);background:var(--theme-color);cursor:pointer;opacity:.75;transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .3s ease,box-shadow .3s ease;scroll-snap-align:center;-webkit-tap-highlight-color:transparent}.thumb:focus-visible{outline:2px solid var(--red);outline-offset:2px}.thumb img{width:100%;height:100%;object-fit:contain;display:block}.thumb--active{opacity:1;transform:translateY(-4px);border-color:var(--red);box-shadow:0 6px 14px -4px hsl(from var(--primary-color2) h s l / .7)}.highlight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:clamp(.8rem,2.5vw,1.2rem)}.highlight-card{padding:clamp(.9rem,3vw,1.4rem);border:1px solid hsl(from var(--primary-color1) h s l / .12);border-radius:var(--border-radius);transition:border-color .3s ease}.highlight-card:hover{border-color:var(--red)}.highlight-card h3{font-size:clamp(var(--fz-md),2.5vw,var(--fz-lg));margin-bottom:.4rem}.highlight-card p{font-size:clamp(var(--fz-sm),2vw,var(--fz-md));color:var(--text-muted);line-height:1.5;margin:0}.project-description{display:flex;flex-direction:column;gap:clamp(1.6rem,4vw,2rem);padding:clamp(1.5rem,4vw,2rem) 0}.project-description h2{margin-bottom:1.25rem}.project-overview p{font-size:clamp(var(--fz-md),2.5vw,var(--fz-lg));line-height:1.6}.tech-groups{display:flex;flex-direction:column;gap:1.25rem}.tech-group{display:flex;flex-direction:column;gap:.6rem}.tech-label{font-size:var(--fz-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.chip-row{display:flex;flex-wrap:wrap;gap:.6rem}.tech-chip{display:flex;align-items:center;gap:.5rem;padding:clamp(.3rem,1.5vw,.4rem) clamp(.7rem,2.5vw,.9rem);border:1px solid hsl(from var(--primary-color1) h s l / .12);border-radius:999px;font-size:clamp(var(--fz-sm),2vw,var(--fz-md));transition:border-color .3s ease}.tech-chip:hover{border-color:var(--red)}@media screen and (max-width: 480px){.highlight-grid{grid-template-columns:1fr}.cta-row--hero .btn,.cta-group .btn{flex:1}.cta-row--hero,.cta-group{width:100%}.cta-row--footer{flex-direction:column;align-items:stretch}}@media (hover: hover){.thumb:hover{opacity:.85;transform:translateY(-3px);box-shadow:0 6px 14px -4px hsl(from var(--primary-color2) h s l / .6)}.thumb--active:hover{transform:translateY(-4px)}}.contact-main{display:flex;justify-content:center;gap:7rem;margin-top:3rem;min-height:100vh;width:100%}.contact-info{height:100%}.basic-info{display:flex;flex-direction:column;justify-content:center}.basic-info h5{margin-top:2rem}.basic-info ul{width:100%}.basic-info ul li{list-style:none;padding:.5rem 0}.basic-info ul li a{color:var(--primary-color1);font-size:var(--fz-md);text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px;text-decoration-color:#fff3;transition:text-decoration-color .3s ease,color .3s ease}.basic-info ul li a:hover,.basic-info ul li a:active{text-decoration-color:var(--primary-color1)}.contact-form{width:60%}.contact-form form h3{font-size:var(--fz-heading)}.contact-form form .contact-input-container{display:flex;flex-direction:column;margin:2rem 0}.contact-form form .contact-input-container input,.contact-form form .contact-input-container textarea{background:transparent;padding:2rem 0;font-size:var(--fz-sm);border:none;outline:none;border-bottom:1px solid var(--primary-color1);color:var(--primary-color1)}.contact-form form .contact-input-container textarea{resize:none;line-height:1.35rem}.contact-submit-container{display:flex;align-items:center;justify-content:center;width:100%;margin-top:5rem}.contact-form form .contact-submit{display:flex;flex-direction:row!important;justify-content:space-between;min-width:fit-content;width:30%}@media screen and (max-width: 768px){.contact-form form .contact-submit{width:50%}}@media screen and (max-width: 600px){.contact-main{flex-direction:column;justify-content:space-between;align-items:center;margin-top:0;width:100%;gap:3rem}.contact-info,.contact-form{width:100%}.contact-submit-container{margin-top:2rem}.contact-form form .contact-submit{width:60%}}.footer-main{position:relative;margin-inline:clamp(1rem,10vw,7rem)}.footer-content{height:100%}.foo-info{margin-bottom:clamp(2.5rem,14%,7rem)}.foo-info .foo-info-head{display:flex;justify-content:space-between;align-items:center;gap:3rem;margin-bottom:clamp(2.5rem,14%,7rem)}.foo-head-inside div:first-child{font-size:var(--fz-heading-xl);font-weight:400}.foo-head-inside>p{margin-top:1rem}.foo-contact-btn{display:flex;justify-content:space-between;min-width:fit-content;width:20%}.foo-info .foo-contact{display:flex;gap:5rem}.foo-contact div{width:14rem;height:3rem;border-radius:24px;font-size:var(--fz-md);transition:var(--transition);cursor:pointer;overflow:hidden}.foo-contact div a{position:relative;display:flex;align-items:center;justify-content:center;text-decoration:none;background-color:var(--primary-color1);color:var(--primary-color2);width:100%;height:100%}.foo-contact div a span{z-index:2;transition:var(--transition)}.foo-contact div a:before{content:"";position:absolute;bottom:0;left:0;border-radius:50% 50% 0 0;width:100%;height:0;background-color:var(--red);transition:height .3s ease-in-out}.foo-contact div a:hover:before{height:180%}.foo-contact div a:hover span{color:var(--primary-color1)}.foo-links{display:flex;justify-content:space-between;padding:2rem 0;width:100%}.foo-links div:nth-child(2) ul{display:flex;align-items:center;justify-content:space-between;list-style-type:none;gap:1.5rem}.foo-links div:nth-child(2) a{font-size:var(--fz-lg);color:var(--primary-color1)}@media screen and (max-width: 768px){.foo-head-inside div:first-child{font-size:var(--fz-heading-lg)}.foo-contact-btn{width:26%}}@media screen and (max-width: 600px){.footer-main .foo-line{margin-bottom:2rem}.foo-info .foo-info-head{flex-direction:column}.foo-contact-btn{margin-bottom:1rem;width:60%}.foo-info-head .circular-btn{position:relative;margin-top:1rem;left:30%}.foo-head-inside div:first-child{font-size:var(--fz-heading-lg)}.foo-info .foo-contact{flex-direction:column;gap:1.5rem}}@media screen and (max-width: 399px){.footer-main{margin-inline:1rem}}.notFound{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3rem;min-height:calc(100svh - var(--nav-height));font-size:var(--fz-heading)}.notFound-text{font-size:var(--fz-heading)}.notFound-redirect{display:flex;align-items:center;justify-content:center;gap:.3rem;font-size:var(--fz-xxl)}.notFound-redirect a{text-decoration:none;color:var(--primary-color1);font-weight:500}.slide-in{position:fixed;bottom:0;left:0;width:100%;background-image:linear-gradient(to bottom,#f4f4f5,#d4d4d8 100vh);z-index:9999;border-radius:40px 40px 0 0;box-shadow:0 -20px 50px #0003}.slide-out{position:fixed;top:0;left:0;width:100%;background-image:linear-gradient(to top,#f4f4f5,#d4d4d8 100vh);z-index:9999;border-radius:0 0 40px 40px;box-shadow:0 20px 50px #0003}.pathname{position:fixed;width:fit-content;height:fit-content;top:0;bottom:0;left:0;right:0;margin:auto;color:var(--theme-color);cursor:default;font-size:2.5rem;font-weight:500;letter-spacing:2px;z-index:10000;pointer-events:none}.main-layout{min-height:100svh;background:var(--theme-color)}.content-wrapper{min-height:calc(100svh - var(--nav-height));margin-inline:clamp(1rem,7vw,10rem)}@media screen and (max-width: 399px){.content-wrapper{margin-inline:1rem}}:root{-webkit-tap-highlight-color:transparent;--theme-color: #1a1a1a;--scrollbar-color: #535353;--scrollbar-color-hover: #777777;--text-muted: #999;--primary-color1: #fff;--primary-color2: #000;--red: #e04444;--accent: var(--red);--purple: #b206b2;--yellow: #ffe66d;--border-radius: 7px;--nav-height: 6rem;--fz-xs: 13px;--fz-sm: 14px;--fz-md: 16px;--fz-lg: 18px;--fz-xl: 20px;--fz-xxl: 22px;--fz-heading: 32px;--fz-heading-lg: 48px;--fz-heading-xl: 84px;--transition: all .3s ease}*{margin:0;padding:0;box-sizing:border-box;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}body{background-color:var(--theme-color);color:#fff}.line{width:100%;height:.5px;background:#fff;border-radius:7px;margin:2rem 0}::selection{background-color:var(--red);color:#fff}::-webkit-scrollbar{width:7px}::-webkit-scrollbar-thumb{background-color:var(--scrollbar-color);border-radius:7px}::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-color-hover)}:root{--pattern-squiggle: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 6' preserveAspectRatio='none'%3E%3Cpath d='M2 3.9 Q 9 1.2 16 3.6 Q 25 5.7 33 3 Q 40 0.9 49 3.6 Q 58 5.4 66 2.7 Q 73 0.6 82 3.9 Q 91 5.7 99 3 Q 106 1.2 114 3.6 Q 118 4.5 118 3.9' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");--pattern-squiggle-alt: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 6' preserveAspectRatio='none'%3E%3Cpath d='M2 3.3 Q 11 5.7 19 3.6 Q 27 1.2 36 3.3 Q 46 5.4 55 3.9 Q 62 1.5 71 3.6 Q 80 5.7 88 3.3 Q 96 0.9 104 3.9 Q 111 5.4 118 3.6' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");--pattern-strokes: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 5' preserveAspectRatio='none'%3E%3Cpath d='M0 3 L6 2.4 M9 2.6 L15 3.2' fill='none' stroke='black' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E")}.doodle-underline{position:relative;--doodle-pattern: var(--pattern-squiggle);--doodle-color: var(--red);--doodle-thickness: 6px;--doodle-size: 100% 100%;--doodle-repeat: no-repeat;--doodle-offset: -8px}.doodle-underline:after{content:"";position:absolute;left:0;right:0;bottom:var(--doodle-offset);height:var(--doodle-thickness);background-color:var(--doodle-color);-webkit-mask:var(--doodle-pattern) var(--doodle-repeat);mask:var(--doodle-pattern) var(--doodle-repeat);-webkit-mask-size:var(--doodle-size);mask-size:var(--doodle-size);pointer-events:none}
