.ls-overlay{background:#f7f5f0;background:var(--color-background-base,#f7f5f0);inset:0;justify-content:center;position:fixed;will-change:transform,opacity;z-index:999}.ls-content,.ls-overlay{align-items:center;display:flex}.ls-content{flex-direction:column;gap:20px;width:min(320px,80vw)}.ls-eyebrow{color:#726b5f;color:var(--color-subtle-text,#726b5f);font-size:11px;font-weight:500;letter-spacing:2.5px;margin:0;text-align:center}.ls-counter,.ls-eyebrow{font-family:JetBrains Mono,monospace;font-family:var(--font-body,"JetBrains Mono",monospace)}.ls-counter{font-feature-settings:"tnum";align-items:baseline;display:flex;font-size:clamp(28px,6vw,40px);font-variant-numeric:tabular-nums;gap:6px;letter-spacing:-.02em;line-height:1}.ls-bracket{color:#1f1c18;color:var(--color-foreground-ink,#1f1c18);font-weight:500}.ls-value{color:#a84f2e;color:var(--color-terracotta-text,#a84f2e);font-weight:600;min-width:2.6ch;text-align:center}.ls-rule-track{background:#e2ddd1;background:var(--color-grid-line-border,#e2ddd1);border-radius:1px;height:1px;overflow:hidden;width:100%}.ls-rule-fill{background:#c1633d;background:var(--color-terracotta-accent,#c1633d);height:100%;transition:width .12s linear}.ls-done .ls-value{color:#c1633d;color:var(--color-terracotta-accent,#c1633d)}.ls-exiting{opacity:.98;transform:translateY(-100%);transition:transform .62s cubic-bezier(.65,0,.35,1),opacity .62s ease}.ls-exiting .ls-content{opacity:0;transition:opacity .26s ease}@media (prefers-reduced-motion:reduce){.ls-rule-fill{transition:none}.ls-exiting{opacity:0;transform:none;transition:opacity .18s ease}.ls-exiting .ls-content{opacity:0;transition:none}}@media (max-width:480px){.ls-content{gap:16px}}.nav{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#f7f5f0d9;border-bottom:1px solid var(--color-grid-line-border);justify-content:space-between;left:0;padding:var(--space-5) var(--space-8);position:fixed;top:0;width:100%;z-index:100}.nav,.nav-logo{align-items:center;display:flex}.nav-logo-img{height:40px;width:auto}.hamburger{background:none;border:none;cursor:pointer;display:none;flex-direction:column;gap:5px;margin:-10px;min-height:44px;min-width:44px;padding:12px;z-index:110}.hamburger span{background:var(--color-foreground-ink);display:block;height:2px;transition:transform .3s ease,opacity .3s ease;width:24px}.hamburger.active span:first-child{transform:translateY(7px) rotate(45deg)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav-links{display:flex;gap:var(--space-8)}.nav-link{color:var(--color-muted-text);font-size:12px;letter-spacing:2.4px;position:relative;transition:color .3s ease}.nav-link:after{background:var(--color-terracotta-accent);bottom:-4px;content:"";height:1px;left:0;position:absolute;transition:width .3s ease;width:0}.nav-link.active,.nav-link:hover{color:var(--color-foreground-ink)}.nav-link.active:after,.nav-link:hover:after{width:100%}.nav-number{color:var(--color-terracotta-accent);margin-right:var(--space-2)}.nav-status{align-items:center;display:flex;gap:var(--space-2)}.status-dot{animation:pulse 2s infinite;background:var(--color-terracotta-accent);border-radius:50%;height:8px;width:8px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.status-text{color:var(--color-muted-text);font-size:10px;letter-spacing:2px}@media (max-width:768px){.nav{padding:var(--space-4)}.hamburger{display:flex}.nav-links{align-items:center;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#f7f5f0f2;flex-direction:column;gap:var(--space-10);height:100vh;height:100dvh;justify-content:center;left:0;opacity:0;padding-bottom:env(safe-area-inset-bottom);position:fixed;top:0;transition:opacity .3s ease,visibility .3s ease;visibility:hidden;width:100%}.nav-links.open{opacity:1;visibility:visible}.nav-links .nav-link{font-size:18px;letter-spacing:4px}.nav-status{bottom:var(--space-10);left:50%;opacity:0;position:fixed;transform:translateX(-50%);transition:opacity .3s ease,visibility .3s ease;visibility:hidden}.nav-status.open{opacity:1;visibility:visible}}.aurora{height:100%;left:0;overflow:hidden;pointer-events:none;position:absolute;top:0;width:100%;z-index:0}.aurora-blob{border-radius:50%;filter:blur(80px);opacity:.35;position:absolute;will-change:transform}.blob-1{background:radial-gradient(circle,#c1633d,#0000 70%);height:380px;left:10%;top:5%;width:380px}.blob-2{background:radial-gradient(circle,#d4845e,#0000 70%);height:320px;right:8%;top:40%;width:320px}.blob-3{background:radial-gradient(circle,#e0a583,#0000 70%);bottom:5%;height:280px;left:35%;width:280px}.hero{display:flex;flex-direction:column;justify-content:center;min-height:100vh;min-height:100dvh;overflow:hidden;padding:var(--space-40) var(--space-8);position:relative}.grid-overlay{background-image:linear-gradient(var(--color-grid-line-border) 1px,#0000 1px),linear-gradient(90deg,var(--color-grid-line-border) 1px,#0000 1px);background-size:80px 80px;height:100%;left:0;opacity:.3;pointer-events:none;position:absolute;top:0;width:100%;z-index:0}.hero-content{margin-inline:auto;max-width:1200px;position:relative;z-index:1}.hero-line{font-family:var(--font-display);font-size:clamp(64px,12vw,166px);font-weight:900;letter-spacing:-.05em;line-height:.9}.hero-line-text{display:block!important}.hero-outline{-webkit-text-stroke:2px var(--color-foreground-ink);color:#0000}.hero-sub{align-items:center;display:flex;gap:var(--space-8);margin-top:var(--space-10)}.hero-subtitle{color:var(--color-muted-text);font-size:16px}.hero-location{color:var(--color-subtle-text);font-size:12px;letter-spacing:1.2px}.hero-scroll{align-items:center;bottom:var(--space-10);display:flex;flex-direction:column;gap:var(--space-2);left:var(--space-8);position:absolute}.scroll-label{color:var(--color-subtle-text);font-size:10px;letter-spacing:2px;writing-mode:vertical-rl}.scroll-line{background:var(--color-grid-line-border);height:60px;overflow:hidden;position:relative;width:1px}.scroll-line:after{animation:scrollDown 2s infinite;background:var(--color-terracotta-accent);content:"";height:100%;position:absolute;top:-100%;width:100%}@keyframes scrollDown{0%{top:-100%}to{top:100%}}@media (max-width:768px){.hero{padding:var(--space-32) var(--space-4);padding-top:calc(var(--space-32) + env(safe-area-inset-top))}.hero-line{font-size:clamp(44px,13vw,128px);line-height:.95}.hero-sub{align-items:flex-start;flex-direction:column;gap:var(--space-2)}.hero-scroll{display:none}}html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent-horizontal],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-behavior:allow-discrete;transition-duration:1ms;transition-property:overflow}.scroll-stack-scroller{-webkit-overflow-scrolling:touch;height:100%;overflow-x:visible;overflow-y:auto;overscroll-behavior:contain;position:relative;scroll-behavior:smooth;transform:translateZ(0);width:100%;will-change:scroll-position}.scroll-stack-inner{min-height:100vh;padding:20vh 5rem 50rem}.scroll-stack-card-wrapper{position:relative}.scroll-stack-card{-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:40px;box-shadow:0 0 30px #0000001a;box-sizing:border-box;height:20rem;margin:30px 0;padding:3rem;position:relative;transform:translateZ(0);transform-origin:top center;transform-style:preserve-3d;width:100%;will-change:transform,filter}.scroll-stack-end{height:1px;width:100%}@media (prefers-reduced-motion:reduce){.scroll-stack-inner{padding-bottom:20rem}}.projects-grid{display:flex;flex-direction:column;gap:var(--space-4)}.work-scroll-stack.scroll-stack-scroller{height:auto;overflow:visible;transform:none;will-change:auto}.work-scroll-stack .scroll-stack-inner{padding:10vh 0 45rem}.work-scroll-stack .scroll-stack-card{background:#0000;border:none;border-radius:0;box-shadow:none;height:auto;margin:0;padding:0;transform:none;width:100%}.work-scroll-stack .scroll-stack-card:last-child{margin-bottom:0}.work-scroll-stack .project-card{align-items:stretch;min-height:380px}.work-scroll-stack .project-image{height:100%;min-height:200px}.project-card{grid-gap:var(--space-6);align-items:center;background:var(--color-surface-card);border:1px solid var(--color-grid-line-border);box-shadow:0 1px 3px #1f1c180f;display:grid;gap:var(--space-6);grid-template-columns:200px 1fr 40px;padding:var(--space-5);transition:border-color .3s ease,background .3s ease,transform .3s ease,box-shadow .3s ease}.project-card:hover{border-color:var(--color-hover-border);box-shadow:0 8px 20px #c1633d1f;transform:translateY(-4px)}.project-card:hover,.project-image{background:var(--color-secondary-surface)}.project-image{border:1px solid var(--color-grid-line-border);flex-shrink:0;height:120px;overflow:hidden;perspective:1000px;width:200px}.project-tilt{transform-style:preserve-3d}.project-image-fill,.project-tilt{height:100%;width:100%}.project-image-fill img{display:block;height:100%;object-fit:cover;width:100%}.project-info{min-width:0;overflow:hidden}.project-type{color:var(--color-terracotta-accent);font-size:10px;letter-spacing:2px}.project-title{font-family:var(--font-sans);font-size:22px;font-weight:700;letter-spacing:-.5px;margin:var(--space-1) 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--color-muted-text);display:-webkit-box;font-size:14px;margin-bottom:var(--space-3);overflow:hidden}.project-tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.tag{border:1px solid var(--color-grid-line-border);font-size:10px;letter-spacing:1px;padding:var(--space-1) var(--space-3)}.project-arrow,.tag{color:var(--color-subtle-text)}.project-arrow{font-size:20px;transition:color .2s,transform .2s}.project-card:hover .project-arrow{color:var(--color-terracotta-accent);transform:translateX(4px)}.project-cta{display:none}@media (max-width:768px){.project-card{gap:var(--space-4);grid-template-columns:1fr}.project-image{height:160px;width:100%}.project-arrow{display:none}.project-cta{color:var(--color-terracotta-accent);display:inline-block;font-size:12px;letter-spacing:2px;margin-top:var(--space-3)}}.team-card{background:var(--color-background-base);border:1px solid var(--color-grid-line-border);border-radius:12px;margin-top:40px;margin-top:var(--space-10,40px);padding:32px 28px}.team-eyebrow-row{align-items:center;display:flex;gap:12px;margin-bottom:16px}.team-eyebrow{color:#a84f2e;color:var(--color-terracotta-text,#a84f2e);font-family:JetBrains Mono,monospace;font-family:var(--font-body,"JetBrains Mono",monospace);font-size:11px;font-weight:600;letter-spacing:2px;white-space:nowrap}.team-eyebrow-line{background:#e2ddd1;background:var(--color-grid-line-border,#e2ddd1);flex:1 1;height:1px}.team-list{border-top:1px solid #e2ddd1;border-top:1px solid var(--color-grid-line-border,#e2ddd1);list-style:none;margin:0;padding:0}.team-row{align-items:center;border-bottom:1px solid #e2ddd1;border-bottom:1px solid var(--color-grid-line-border,#e2ddd1);display:flex;gap:16px;padding:18px 4px;transition:background .2s ease}.team-row:hover{background:#f0ede6;background:var(--color-secondary-surface,#f0ede6)}.team-avatar{align-items:center;background:#0000;border:1.5px solid #c1633d;border:1.5px solid var(--color-terracotta-accent,#c1633d);border-radius:50%;color:#a84f2e;color:var(--color-terracotta-text,#a84f2e);display:flex;flex-shrink:0;font-family:JetBrains Mono,monospace;font-family:var(--font-body,"JetBrains Mono",monospace);font-size:12px;font-weight:600;height:38px;justify-content:center;width:38px}.team-identity{align-items:baseline;display:flex;flex:1 1;flex-wrap:wrap;gap:10px;min-width:0}.team-name{color:#1f1c18;color:var(--color-foreground-ink,#1f1c18);font-family:Inter,sans-serif;font-family:var(--font-sans,"Inter",sans-serif);font-size:16px;font-weight:700;letter-spacing:-.2px}.team-role{color:#726b5f;color:var(--color-subtle-text,#726b5f);font-family:JetBrains Mono,monospace;font-family:var(--font-body,"JetBrains Mono",monospace);font-size:10px;letter-spacing:1px;text-transform:uppercase}.team-links{display:flex;flex-shrink:0;gap:16px}.team-links a{align-items:center;color:#5c574c;color:var(--color-muted-text,#5c574c);display:flex;height:28px;justify-content:center;transition:color .2s ease;width:28px}.team-links a svg{height:16px;width:16px}.team-links a:hover{color:#a84f2e;color:var(--color-terracotta-text,#a84f2e)}@media (prefers-reduced-motion:reduce){.team-row{transition:none}}@media (max-width:560px){.team-card{padding:24px 18px}.team-row{align-items:flex-start;flex-wrap:wrap;gap:12px}.team-identity{align-items:flex-start;flex-direction:column;gap:2px}.team-links{margin-left:54px}}.about-grid{grid-gap:var(--space-16);display:grid;gap:var(--space-16);grid-template-columns:2fr 1fr}.about-lead{font-family:var(--font-display);font-size:24px;font-weight:800;letter-spacing:-.6px;line-height:32px;margin-bottom:var(--space-8)}.about-body{color:var(--color-muted-text);font-size:16px;margin-bottom:var(--space-6);max-width:600px}.about-stats{gap:var(--space-10)}.about-stats,.stat{display:flex;flex-direction:column}.stat{background:var(--color-surface-card);border:1px solid var(--color-grid-line-border);gap:var(--space-2);padding:var(--space-6);transition:border-color .3s ease,transform .3s ease}.stat:hover{border-color:var(--color-hover-border);transform:translateY(-4px)}.stat-number{color:var(--color-terracotta-accent);font-family:var(--font-display);font-size:48px;font-weight:900;letter-spacing:-2.4px}.stat-label{color:var(--color-subtle-text);font-size:10px;letter-spacing:2px}@media (max-width:1024px){.about-grid{grid-template-columns:1fr}.about-stats{flex-direction:row;gap:var(--space-12)}}@media (max-width:768px){.about-stats{flex-direction:column;gap:var(--space-8)}}.skills-grid{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(4,1fr)}.skill-card{background:var(--color-surface-card);border:1px solid var(--color-grid-line-border);padding:var(--space-8);transition:border-color .3s ease,transform .3s ease,box-shadow .3s ease}.skill-card:hover{border-color:var(--color-hover-border);box-shadow:0 8px 32px #c1633d1a;transform:translateY(-4px)}.skill-title{color:var(--color-terracotta-accent);font-size:12px;letter-spacing:2px;margin-bottom:var(--space-6)}.skill-list{display:flex;flex-direction:column;gap:var(--space-3)}.skill-list li{color:var(--color-muted-text);font-size:14px}@media (max-width:1024px){.skills-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.skills-grid{grid-template-columns:1fr}}.contact-card{background:var(--color-background-base);border:1px solid var(--color-grid-line-border);border-radius:12px;padding:36px 32px}.contact-header{align-items:center;display:flex;gap:12px;margin-bottom:32px}.contact-header .section-label{color:var(--color-terracotta-text);font-size:11px;font-weight:600;letter-spacing:2px}.contact-header-title{color:var(--color-foreground-ink);font-family:var(--font-sans);font-size:13px;font-weight:700;letter-spacing:2px}.contact-header .section-line{background:var(--color-grid-line-border);flex:1 1;height:1px}.contact-body{max-width:480px}.contact-headline{color:var(--color-foreground-ink);font-family:var(--font-sans);font-size:26px;font-weight:700;letter-spacing:-.4px;line-height:1.35;margin:0 0 12px}.contact-subtext{color:var(--color-muted-text);font-family:var(--font-sans);font-size:15px;line-height:1.6;margin:0 0 28px;max-width:400px}.contact-cta{align-items:center;background:var(--color-terracotta-accent);border-radius:6px;box-shadow:0 6px 16px #c1633d2e;color:#fff;display:inline-flex;font-family:var(--font-body);font-size:12.5px;font-weight:600;gap:10px;letter-spacing:1.5px;padding:15px 26px;text-decoration:none;transition:box-shadow .3s ease,transform .3s ease}.contact-cta:hover{box-shadow:0 8px 24px #c1633d47;transform:translateY(-1px)}.contact-email{color:var(--color-subtle-text);font-family:var(--font-body);font-size:12.5px;margin:16px 0 0}.contact-socials{border-top:1px solid var(--color-grid-line-border);display:flex;gap:22px;margin-top:26px;padding-top:20px}.contact-social-link{border-bottom:1px solid #0000;color:var(--color-muted-text);font-family:var(--font-body);font-size:11.5px;letter-spacing:1px;text-decoration:none;transition:color .3s ease,border-color .3s ease}.contact-social-link:hover{border-bottom-color:var(--color-foreground-ink);color:var(--color-foreground-ink)}@media (max-width:768px){.contact-card{padding:28px 20px}.contact-headline{font-size:22px}}.footer{background:var(--color-dark-section);border-top:1px solid #ffffff0f;padding:var(--space-8)}.footer-content{align-items:center;display:flex;justify-content:space-between}.footer-name{color:#ffffff73;font-size:12px;letter-spacing:1.2px}.footer-tagline{color:#ffffff4d;font-size:12px}@media (max-width:768px){.footer-content{flex-direction:column;gap:var(--space-4);text-align:center}}.scroll-to-top{background:var(--color-secondary-surface);border:1px solid var(--color-grid-line-border);bottom:var(--space-8);color:var(--color-terracotta-accent);cursor:pointer;font-size:20px;height:48px;opacity:0;position:fixed;right:var(--space-8);transform:translateY(20px);transition:all .3s ease;visibility:hidden;width:48px;z-index:90}.scroll-to-top.visible{opacity:1;transform:translateY(0);visibility:visible}.scroll-to-top:hover{background:var(--color-terracotta-accent);border-color:var(--color-terracotta-accent);color:var(--color-background-base)}@media (max-width:768px){.scroll-to-top{bottom:var(--space-4);height:40px;right:var(--space-4);width:40px}}.App{position:relative}:root{--color-background-base:#f7f5f0;--color-surface-card:#fff;--color-secondary-surface:#f0ede6;--color-grid-line-border:#e2ddd1;--color-hover-border:#c8c0af;--color-dark-section:#1f1c18;--color-foreground-ink:#1f1c18;--color-muted-text:#5c574c;--color-subtle-text:#726b5f;--color-terracotta-accent:#c1633d;--color-terracotta-text:#a84f2e;--color-success:#3f7d4a;--color-error:#b3261e;--font-display:"Cabinet Grotesk",sans-serif;--font-body:"JetBrains Mono",monospace;--font-sans:"Inter",system-ui,-apple-system,sans-serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-18:72px;--space-20:80px;--space-28:112px;--space-32:128px;--space-40:160px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}a,button,input,textarea{-webkit-tap-highlight-color:transparent;touch-action:manipulation}html{scroll-behavior:smooth}body{background:#f7f5f0;background:var(--color-background-base);color:#1f1c18;color:var(--color-foreground-ink);font-family:Inter,system-ui,-apple-system,sans-serif;font-family:var(--font-sans);font-size:16px;line-height:26px;overflow-x:clip}a{color:inherit;text-decoration:none}ul{list-style:none}.fade-in{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.fade-in.visible{opacity:1;transform:translateY(0)}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}a:focus,button:focus,input:focus,textarea:focus{outline:2px solid #c1633d;outline:2px solid var(--color-terracotta-accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}.section{border-top:1px solid #e2ddd1;border-top:1px solid var(--color-grid-line-border);padding:112px 32px;padding:var(--space-28) var(--space-8)}.container{padding-inline:32px;padding-inline:var(--space-8);width:100%}.container,.section>*{margin-inline:auto;max-width:1200px}@media (max-width:768px){.container{padding-inline:16px;padding-inline:var(--space-4)}}.section-header{align-items:center;display:flex;gap:24px;gap:var(--space-6);margin-bottom:64px;margin-bottom:var(--space-16)}.section-label{color:#a84f2e;color:var(--color-terracotta-text);font-size:12px;letter-spacing:1.5px}.section-title{font-family:Cabinet Grotesk,sans-serif;font-family:var(--font-display);font-size:clamp(32px,4.5vw,64px);font-weight:700;letter-spacing:-.03em}.section-line{background:#e2ddd1;background:var(--color-grid-line-border);flex:1 1;height:1px}@media (max-width:768px){.section-header{flex-wrap:wrap}.section-line{display:none}.section{padding:72px 16px;padding:var(--space-18) var(--space-4)}}