html{scroll-behavior:smooth}button,input,textarea{font:inherit}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{color:#111;-webkit-font-smoothing:antialiased;background:#f8f8f6;margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}.container{width:100%;max-width:1300px;margin:0 auto;padding:0 48px}.cursor-glow{pointer-events:none;z-index:2;background:radial-gradient(circle,#78787817 0%,#78787809 35%,#0000 70%);border-radius:50%;width:420px;height:420px;transition:left 80ms linear,top 80ms linear;position:fixed;transform:translate(-50%,-50%)}.navbar{z-index:999;-webkit-backdrop-filter:blur(14px);background:#f8f8f6e0;border-bottom:1px solid #0000000d;justify-content:space-between;align-items:center;padding:28px 52px;display:flex;position:sticky;top:0}.logo{letter-spacing:-.05em;font-size:2rem;font-weight:700}.nav-links{gap:40px;display:flex}.nav-links a{font-size:.95rem;transition:opacity .2s;position:relative}.nav-links a:hover{opacity:.45}.hero{z-index:1;isolation:isolate;background:#f8f8f6;align-items:center;min-height:calc(100vh - 90px);display:flex;position:relative;overflow:hidden}#hero-particles{z-index:-1;opacity:.95;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.hero-content{z-index:1;position:relative}.eyebrow,.section-label,.project-index{letter-spacing:.18em;opacity:.45;font-size:.75rem;font-weight:600}.hero h1{letter-spacing:-.08em;margin:28px 0;font-size:clamp(5rem,11vw,9rem);line-height:.9}.hero h1 span,.section-header h2 span,.about-section h2 span,.contact-section h2 span{color:#999}.hero-description{color:#5a5a5a;max-width:600px;font-size:1.25rem;line-height:1.8}.hero-buttons{gap:14px;margin-top:42px;display:flex}.primary-button,.secondary-button,.project-link,.project-link-disabled,.contact-links a{border-radius:999px;justify-content:center;align-items:center;padding:14px 22px;font-weight:600;transition:transform .25s,background .25s,opacity .25s,border-color .25s,color .25s;display:inline-flex}.primary-button{color:#fff;background:#111}.primary-button:hover{transform:translateY(-3px)}.secondary-button{color:#111;background:0 0;border:1px solid #d6d6d2}.secondary-button:hover{background:#ecece7;transform:translateY(-3px)}.projects-section{z-index:1;background:#f1f1ed;padding:110px 0;position:relative}.skills-section{background:#f1f1ed}.section-heading{align-items:end;gap:18px;margin-bottom:42px;display:flex}.section-number{letter-spacing:.18em;opacity:.5;font-size:.82rem;font-weight:600}.section-heading h2{letter-spacing:-.06em;margin:0;font-size:clamp(2.6rem,6vw,5rem);line-height:.95}.project-list{flex-direction:column;gap:110px;display:flex}.project-row{grid-template-columns:minmax(300px,.8fr) minmax(450px,1.2fr);align-items:center;gap:80px;display:grid}.project-row.reverse{grid-template-columns:minmax(450px,1.2fr) minmax(300px,.8fr)}.project-row.reverse .project-text{order:2}.project-row.reverse .project-image{order:1}.project-text{max-width:500px}.project-index{letter-spacing:.12em;color:#888;margin-bottom:18px;font-size:.72rem;display:block}.project-text h3{letter-spacing:-.045em;margin:0 0 22px;font-size:clamp(2.2rem,4vw,4rem);line-height:.95}.project-text p{color:#5c5c5c;margin:0 0 24px;font-size:1rem;line-height:1.8}.project-image{aspect-ratio:16/10;background:#e9e9e6;border-radius:18px;overflow:hidden}.project-image img{object-fit:cover;width:100%;height:100%;transition:transform .6s cubic-bezier(.2,.7,.2,1);display:block}.project-row:hover .project-image img{transform:scale(1.035)}.project-tech{flex-wrap:wrap;gap:8px;margin-bottom:26px;display:flex}.project-tech span{color:#555;border:1px solid #1111111f;border-radius:100px;padding:6px 11px;font-size:.72rem}.project-links{flex-wrap:wrap;align-items:center;gap:22px;display:flex}.project-links a,.project-link,.project-link-disabled{color:#111;font-size:.85rem;font-weight:600;position:relative}.project-link,.project-link-disabled{cursor:pointer;background:0 0;border:0;padding:0}.project-link-disabled{opacity:.7;cursor:default}.project-links a:after,.project-link:after{content:"";transform-origin:0;background:#111;width:100%;height:1px;transition:transform .25s;position:absolute;bottom:-4px;left:0;transform:scaleX(0)}.project-links a:hover:after,.project-link:hover:after{transform:scaleX(1)}.project-demo-message{color:#444;opacity:.8;font-size:.78rem;font-weight:600}.hidden-projects{opacity:0;pointer-events:none;flex-direction:column;gap:110px;max-height:0;transition:max-height .9s cubic-bezier(.22,.61,.36,1),opacity .5s;display:flex;overflow:hidden}.hidden-projects.visible{opacity:1;pointer-events:auto;max-height:3500px}.view-all-wrap{justify-content:center;margin-top:65px;display:flex}.view-all-projects{color:#111;cursor:pointer;background:0 0;border:1px solid #1111112e;border-radius:100px;align-items:center;gap:9px;padding:11px 18px;font-family:inherit;font-size:.82rem;transition:background .25s,color .25s;display:inline-flex}.view-all-projects:hover,.view-all-projects.active{color:#f8f8f6;background:#111}.view-all-arrow{transition:transform .3s}.view-all-projects.active .view-all-arrow{transform:rotate(180deg)}@media (width<=900px){.project-row,.project-row.reverse{grid-template-columns:1fr;gap:35px}.project-row.reverse .project-text,.project-row.reverse .project-image{order:initial}.project-image{aspect-ratio:16/10}.project-list,.hidden-projects{gap:75px}}.about-section{z-index:1;background:#e8e7e2;padding:90px 0;position:relative}.connect-section{background:#deddd7}.about-layout{grid-template-columns:1.1fr .9fr;align-items:center;gap:70px;display:grid}.about-text{color:#555;max-width:650px}.about-text p{margin:0;font-size:1rem;line-height:1.75}.about-text p+p{margin-top:18px}.about-meta{letter-spacing:.02em;color:#666;flex-wrap:wrap;gap:14px;margin-top:22px;font-size:.8rem;display:flex}.about-meta span{padding-right:14px;position:relative}.about-meta span:not(:last-child):after{content:"•";color:#1116;position:absolute;right:0}.about-slideshow{justify-self:end;width:100%}.about-photo-frame{aspect-ratio:4/3;background:#e9e9e5;border-radius:18px;width:100%;max-width:480px;position:relative;overflow:hidden}.about-slide{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .65s,transform .8s;position:absolute;inset:0;transform:scale(1.025)}.about-slide.active{opacity:1;transform:scale(1)}.slide-controls{justify-content:center;align-items:center;gap:15px;margin-top:15px;display:flex}.slide-controls button{color:#111;cursor:pointer;background:0 0;border:1px solid #1111112e;border-radius:50%;width:34px;height:34px;transition:background .2s,color .2s}.slide-controls button:hover{color:#fff;background:#111}.slide-dots{align-items:center;gap:7px;display:flex}.slide-dot{cursor:pointer;background:#11111140;border:0;border-radius:50%;width:6px;height:6px;padding:0;transition:width .25s,background .25s}.slide-dot.active{background:#111;border-radius:10px;width:18px}@media (width<=850px){.about-layout{grid-template-columns:1fr;gap:40px}.about-slideshow{justify-self:start;max-width:480px}}.skills-section{padding:100px 0 120px}.skill-categories{flex-wrap:wrap;justify-content:center;gap:10px;margin:0 auto 55px;display:flex}.skill-categories button{color:#666;cursor:pointer;background:0 0;border:1px solid #11111129;border-radius:100px;padding:9px 15px;font-family:inherit;font-size:.78rem;transition:background .25s,color .25s,border-color .25s,transform .25s}.skill-categories button:hover{color:#111;border-color:#111;transform:translateY(-2px)}.skill-categories button.active{color:#f8f8f6;background:#111;border-color:#111}.skills-cloud{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px 11px;max-width:1000px;min-height:270px;margin:0 auto;display:flex}.skill-bubble{white-space:nowrap;cursor:default;background:#ffffff6b;border:1px solid #11111121;border-radius:100px;justify-content:center;align-items:center;padding:11px 18px;font-size:.84rem;transition:opacity .3s,transform .3s,background .3s,border-color .3s,color .3s;display:inline-flex}.skill-bubble:nth-child(3n){padding:13px 22px}.skill-bubble:nth-child(5n){font-size:.92rem}.skill-bubble:nth-child(7n){transform:translateY(7px)}.skill-bubble:nth-child(11n){transform:translateY(-7px)}.skills-cloud.previewing .skill-bubble{opacity:.18}.skills-cloud.previewing .skill-bubble.highlighted{opacity:1;color:#f8f8f6;background:#111;border-color:#111;transform:translateY(-3px)}.skill-bubble.filtered-out{display:none}.skills-cloud.filtered .skill-bubble{transform:none}.skills-cloud.filtered .skill-bubble.highlighted{color:#f8f8f6;background:#111;border-color:#111;padding:13px 21px}@media (width<=700px){.skills-cloud{gap:9px;min-height:220px}.skill-bubble{padding:9px 14px;font-size:.76rem}.skill-categories{justify-content:flex-start}}.connect-section{z-index:1;background:#deddd7;min-height:auto;padding:55px 0 42px;position:relative}.connect-content{text-align:center;max-width:560px;margin:0 auto}.connect-content h2{letter-spacing:-.05em;margin:0 0 8px;font-size:clamp(1.7rem,3vw,2.6rem);line-height:1}.connect-content p{color:#666;max-width:430px;margin:0 auto 20px;font-size:.9rem;line-height:1.6}.connect-links{justify-content:center;align-items:center;gap:10px;display:flex}.connect-link{width:38px;height:38px;color:inherit;cursor:pointer;background:0 0;border:1px solid #1111112b;border-radius:50%;justify-content:center;align-items:center;transition:transform .2s,background .2s,color .2s;display:inline-flex}.connect-link svg{width:16px;height:16px}.connect-link:hover{color:#fff;background:#111;transform:translateY(-2px)}.copy-message{opacity:0;margin-top:18px;font-size:.85rem;font-weight:500;transition:opacity .2s,transform .2s;transform:translateY(5px)}.copy-message-visible{opacity:.55;transform:translateY(0)}@media (width<=900px){.container{padding:0 24px}.navbar{padding:22px 24px}.logo{font-size:1.6rem}.nav-links{gap:18px}.nav-links a{font-size:.85rem}.hero{min-height:calc(100vh - 75px)}.hero h1{font-size:clamp(4rem,16vw,7rem)}.project{grid-template-columns:1fr;gap:40px}.project-right .project-preview,.project-right .project-info{order:initial}.projects-list{gap:110px}.project-preview{min-height:360px}.hero-buttons{flex-wrap:wrap}.cursor-glow{display:none}.projects-section,.about-section{padding:120px 0}.contact-section{padding:70px 0 50px}}@media (width<=600px){.nav-links{gap:12px}.nav-links a{font-size:.78rem}.hero-description{font-size:1.05rem}.project-preview{padding:24px}.project-number{top:24px;left:24px}.preview-arrow{top:20px;right:24px}.social-links a,.social-button{width:56px;height:56px}}
