@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a342834df7752944-s.1ypl14jhz9yyw.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.2g9li78_0_it5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.00u3xrku2lqty.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.2vepgg3wcdr2q.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.2ttjmmx-9gnz1.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.3259ncl47-hqj.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope Fallback;src:local(Arial);ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.0%;size-adjust:103.19%}.manrope_628f7f73-module__E126nW__className{font-family:Manrope,Manrope Fallback;font-style:normal}.manrope_628f7f73-module__E126nW__variable{--font-manrope:"Manrope", "Manrope Fallback"}
:root{--canvas:#101114;--surface:#191b20;--ink:#f4f6f8;--muted:#a8adb5;--line:#f4f6f83b;--line-soft:#f4f6f81f;--accent:#f4f6f8;--accent-ink:#101114;--max:1280px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;-moz-text-size-adjust:100%;text-size-adjust:100%}body{--font-space-grotesk:var(--font-manrope);--font-fraunces:var(--font-manrope);background-color:var(--canvas);background-image:radial-gradient(circle, color-mix(in srgb, var(--ink) 10%, transparent) 1px, transparent 1.25px);color:var(--ink);font-family:var(--font-space-grotesk), Arial, Helvetica, sans-serif;background-position:top;background-size:24px 24px;margin:0;line-height:1.25;transition:background-color .18s,color .18s;overflow-x:clip}html.intro-active,html.intro-active body{overflow:hidden}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.scroll-rise-ready .scroll-rise{opacity:.64;transition:opacity .76s cubic-bezier(.22,1,.36,1),transform .76s cubic-bezier(.22,1,.36,1);transition-delay:var(--rise-delay,0s);will-change:opacity, transform;transform:translateY(20px)}.scroll-rise-ready .scroll-rise.is-revealed{opacity:1;will-change:auto;transform:translateY(0)}.intro-loader{--intro-nav-x:max(24px, calc((100vw - var(--max)) / 2));--intro-nav-y:35px;z-index:1000;background:var(--canvas);color:var(--ink);place-items:center;animation:4.1s cubic-bezier(.76,0,.24,1) forwards intro-curtain;display:grid;position:fixed;inset:0;overflow:hidden}.intro-mark{font-family:var(--font-space-grotesk), Arial, Helvetica, sans-serif;letter-spacing:-.04em;opacity:0;white-space:nowrap;font-size:1.05rem;font-weight:700;line-height:1;animation:4.1s cubic-bezier(.76,0,.24,1) forwards intro-mark-move;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.intro-mark span{color:currentColor}.intro-word{font-family:var(--font-space-grotesk), Arial, Helvetica, sans-serif;letter-spacing:-.075em;opacity:0;justify-content:center;align-items:center;font-size:clamp(2.45rem,7vw,6.25rem);font-weight:400;line-height:.9;animation:4.1s cubic-bezier(.76,0,.24,1) forwards intro-word-in;display:flex}.intro-glyph{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background:currentColor;flex:0 0 .68em;width:.68em;height:.68em;margin:0 .08em 0 .14em;animation:1.05s step-end 1.28s infinite intro-glyph-morph}.intro-pointer{clip-path:polygon(0 0,86% 64%,53% 67%,68% 100%,53% 100%,39% 70%,15% 91%);opacity:0;background:currentColor;width:20px;height:26px;animation:4.1s forwards intro-pointer-in;position:absolute;bottom:clamp(34px,7vh,76px);left:50%;transform:translate(-50%)rotate(-14deg)}@keyframes intro-mark-move{0%{opacity:0;transform:translate(-50%,-36%)scale(.9)}6%{opacity:1;transform:translate(-50%,-50%)scale(1)}16%{opacity:1;transform:translate(-50%,-50%)scale(1)}31%,70%{top:var(--intro-nav-y);opacity:1;left:50%;transform:translate(-50%,-50%)scale(1)}90%,95%{top:var(--intro-nav-y);left:var(--intro-nav-x);opacity:1;transform:translateY(-50%)scale(1)}to{top:var(--intro-nav-y);left:var(--intro-nav-x);opacity:0;transform:translateY(-50%)scale(1)}}@keyframes intro-word-in{0%,24%{opacity:0;transform:translateY(18px)}34%,64%{opacity:1;transform:translateY(0)}72%,to{opacity:0;transform:translateY(-12px)}}@keyframes intro-glyph-morph{0%{clip-path:circle(48%);border-radius:50%;transform:rotate(0)scale(.72)}20%{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);border-radius:0;transform:rotate(0)scale(.82)}40%{clip-path:polygon(50% 0,64% 35%,100% 50%,64% 65%,50% 100%,36% 65%,0 50%,36% 35%);border-radius:0;transform:rotate(22deg)scale(.9)}60%{clip-path:polygon(10% 8%,90% 8%,63% 50%,90% 92%,10% 92%,37% 50%);border-radius:0;transform:rotate(0)scale(.8)}80%{clip-path:polygon(50% 0,100% 100%,0 100%);border-radius:0;transform:rotate(15deg)scale(.86)}}@keyframes intro-pointer-in{0%,42%{opacity:0;transform:translate(-50%,10px)rotate(-14deg)}53%,64%{opacity:.18;transform:translate(-50%)rotate(-14deg)}72%,to{opacity:0;transform:translate(-50%,-7px)rotate(-14deg)}}@keyframes intro-curtain{0%,90%{opacity:1;visibility:visible}99%{opacity:0;visibility:visible}to{opacity:0;visibility:hidden}}a,a:hover{color:inherit}h1,h2,h3,p{margin:0}section>*{min-width:0}.site-header{z-index:10;border-bottom:1px solid var(--line-soft);background:color-mix(in srgb, var(--canvas) 90%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:sticky;top:0}.nav,main{width:min(calc(100% - 48px), var(--max));margin:0 auto}.nav{justify-content:space-between;align-items:center;gap:20px;min-height:70px;display:flex;position:relative}.wordmark{letter-spacing:-.04em;font-size:1.05rem;font-weight:700;text-decoration:none}.wordmark span{color:var(--accent)}.nav-actions,.nav-links{align-items:center;display:flex}.nav-actions{gap:16px}.nav-links{gap:22px}.nav-links>a{color:var(--muted);font-family:var(--font-space-grotesk), Arial, Helvetica, sans-serif;background:0 0;border:1px solid #0000;border-radius:999px;padding:8px 11px;font-size:.9rem;text-decoration:none;transition:background-color .18s,border-color .18s,color .18s,transform .18s}.nav-links>a:hover,.nav-links>a:focus-visible{border-color:color-mix(in srgb, var(--ink) 14%, transparent);background:color-mix(in srgb, var(--surface) 58%, transparent);color:var(--ink);-webkit-backdrop-filter:blur(12px)saturate(145%);transform:translateY(-1px)}.nav-links>a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.menu-toggle{border:1px solid var(--line);background:var(--surface);width:50px;height:50px;color:var(--ink);cursor:pointer;border-radius:50%;place-items:center;padding:0;display:none;position:relative}.menu-toggle>span{background:currentColor;width:18px;height:1px;transition:transform .18s;position:absolute}.menu-toggle>span:first-child{transform:translateY(-4px)}.menu-toggle>span:last-child{transform:translateY(4px)}.menu-toggle[aria-expanded=true]>span:first-child{transform:rotate(45deg)}.menu-toggle[aria-expanded=true]>span:last-child{transform:rotate(-45deg)}.menu-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.mobile-menu{display:none}.hero{grid-template-columns:minmax(0,.9fr) minmax(430px,1.1fr);align-items:center;min-height:max(620px,76vh - 70px);padding:34px 0 42px;display:grid;position:relative;overflow:hidden}.hero-portrait{z-index:0;clip-path:inset(0 0 10%);pointer-events:none;-webkit-user-select:none;user-select:none;width:min(52vw,680px);height:auto;position:absolute;bottom:0;right:0;transform:translateY(10%)}em{font-family:var(--font-fraunces), Georgia, "Times New Roman", serif;font-optical-sizing:auto;font-weight:400}.education-school{font-family:var(--font-space-grotesk), Arial, Helvetica, sans-serif;font-style:normal;font-weight:600}.hero-bottom{z-index:1;justify-content:flex-start;align-items:center;gap:28px;display:flex;position:relative}.hero-bottom h1{max-width:560px;color:var(--ink);font-family:var(--font-fraunces), Georgia, "Times New Roman", serif;letter-spacing:-.02em;text-align:left;-webkit-user-select:none;user-select:none;font-size:clamp(3.6rem,6vw,6.4rem);font-weight:400;line-height:.94}.text-link{border-bottom:1px solid var(--ink);flex:none;padding-bottom:5px;font-size:.92rem;text-decoration:none}.text-link span,.project-live span{margin-left:8px;transition:transform .16s;display:inline-block}.text-link:hover span,.project-live:hover span{transform:translate(5px)}.work-section,.about-section,.notes-section,.contact-section{border-bottom:1px solid var(--line);padding:128px 0}#education,#projects,#experience,#skills,#other,#contact{scroll-margin-top:70px}.section-intro{margin-bottom:76px}.work-section .section-intro{margin-bottom:52px}.section-intro h2,.about-copy h2,.notes-section h2,.contact-section h2{letter-spacing:-.07em;text-wrap:balance;font-size:4.8rem;font-weight:500;line-height:1.02}.project-list{border-top:1px solid var(--line)}.project-stack-stage{height:240vh;min-height:1500px;position:relative}.project-stack-sticky{place-items:center;height:calc(100vh - 70px);min-height:620px;display:grid;position:sticky;top:70px;overflow:clip}.project-stack-cards{width:100%;height:min(76vh,600px);position:relative}.project-stack-card-shell{transform-origin:50% 84%;will-change:transform;height:min(34vh,270px);transition:filter .22s;position:absolute;top:50%;left:50%}.project-stack-card{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 94%, var(--canvas));border-radius:22px;flex-direction:column;justify-content:space-between;width:100%;height:100%;padding:17px;transition:background-color .18s,transform .22s;display:flex;position:relative;overflow:hidden;transform:translate(-50%,-50%)}.project-stack-card>*{opacity:var(--project-card-content-opacity,1);will-change:opacity}.project-stack-card>.project-stack-cover-label{z-index:2;color:var(--ink);font-family:var(--font-space-grotesk), Arial, Helvetica, sans-serif;letter-spacing:-.075em;pointer-events:none;place-items:center;font-size:clamp(2.7rem,5.5vw,5.2rem);font-weight:500;line-height:1;display:grid;position:absolute;inset:0}.project-stack-cover-label span{color:var(--ink)}.project-stack-card-shell:hover .project-stack-card{border-color:color-mix(in srgb, var(--ink) 34%, transparent);transform:translate(-50%,calc(-50% - 6px))}.project-stack-card-shell:nth-child(2n) .project-stack-card{background:color-mix(in srgb, var(--surface) 88%, var(--canvas))}.project-stack-card-topline,.project-stack-card-footer,.project-stack-status{font-family:var(--font-space-grotesk), Arial, Helvetica, sans-serif;text-transform:uppercase;font-size:.62rem}.project-stack-card-topline{color:var(--muted);letter-spacing:.04em;justify-content:space-between;align-items:center;display:flex}.project-stack-card-index{background:var(--ink);min-width:30px;min-height:24px;color:var(--canvas);border-radius:999px;place-items:center;display:inline-grid}.project-stack-card h3{letter-spacing:-.055em;margin:15px 0 8px;font-size:clamp(1.22rem,1.55vw,1.62rem);font-weight:500;line-height:1}.project-stack-card p{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.78rem;line-height:1.48;display:-webkit-box;overflow:hidden}.project-stack-card-footer{justify-items:end;gap:12px;padding-top:12px;display:grid}.project-stack-card-footer a,.project-stack-status{width:fit-content;color:var(--ink);text-decoration:none}.project-stack-card-footer a{background:var(--ink);color:var(--canvas);letter-spacing:.02em;border-radius:999px;padding:8px 11px;transition:transform .16s}.project-stack-card-footer a span{margin-left:4px;transition:transform .16s;display:inline-block}.project-stack-card-footer a:hover span{transform:translate(4px)}.project-stack-card-footer a:hover{transform:translateY(-2px)}.project-stack-card>.project-stack-card-hitarea{z-index:4;border-radius:inherit;cursor:pointer;opacity:1;background:0 0;border:0;width:100%;height:100%;position:absolute;inset:0}.project-stack-card:has(.project-stack-card-hitarea:focus-visible){border-color:var(--ink);outline:2px solid var(--ink);outline-offset:4px}.project{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr);padding:36px 0 42px;display:grid}.project:last-child{border-bottom:0}.project-meta{color:var(--muted);font-family:var(--font-space-grotesk), Arial, Helvetica, sans-serif;flex-direction:column;justify-content:space-between;gap:36px;font-size:.86rem;display:flex}.project-meta span:first-child{color:var(--ink)}.project-body{grid-template-columns:minmax(0,1.1fr) minmax(220px,.75fr);gap:22px 44px;display:grid}.project-title{width:fit-content;color:var(--ink);grid-column:1/-1;align-items:baseline;text-decoration:none;display:inline-flex}.project-title h3{letter-spacing:-.075em;text-wrap:balance;font-size:4.7rem;font-weight:500;line-height:.96}.project-title>span{font-size:1.45rem}.project-body p{max-width:590px;color:var(--muted);font-size:1.08rem;line-height:1.38}.project-summary{max-width:620px}.project-body .project-note{color:var(--ink);margin-top:14px}.project-live{border-bottom:1px solid var(--ink);width:fit-content;color:var(--ink);font-family:var(--font-space-grotesk), Arial, Helvetica, sans-serif;align-self:start;padding-bottom:4px;font-size:.82rem;text-decoration:none}.project-body ul{border-top:1px solid var(--line-soft);flex-wrap:wrap;grid-column:1/-1;gap:10px 22px;margin:0;padding:16px 0 0;list-style:none;display:flex}.project-body li{color:var(--muted);font-family:var(--font-space-grotesk), Arial, Helvetica, sans-serif;align-items:center;font-size:.8rem;display:inline-flex}.project-body li:before{background:var(--accent);content:"";width:6px;height:6px;margin-right:8px}.about-section{display:block}.about-copy{grid-template-columns:minmax(0,1.15fr) minmax(230px,.55fr);gap:50px;display:grid}.about-copy h2{font-size:5.7rem}.education-section .about-copy h2{font-size:4.6rem}.education-details{color:var(--muted);align-self:end;gap:22px;display:grid}.education-institution{color:var(--ink);font-size:1.18rem;font-weight:600;line-height:1.35}.education-program{gap:7px;font-size:1.05rem;line-height:1.45;display:grid}.education-date{font-family:var(--font-space-grotesk), Arial, Helvetica, sans-serif;letter-spacing:.04em;text-transform:uppercase;font-size:.82rem}.notes-section{display:block}#experience.notes-section{padding:84px 0}.notes-section h2{margin-top:18px}.notes-list{border-top:1px solid var(--line)}#experience .notes-list{border-top:0}.other-section .notes-list{text-align:center;border-top:0;width:min(100%,760px);margin-inline:auto}.notes-list article{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr);padding:25px 0;display:grid}#experience .notes-list article{border-bottom:0;grid-template-columns:minmax(260px,.7fr) minmax(320px,1fr);align-items:start;gap:clamp(48px,8vw,128px)}#experience .experience-summary{max-width:620px;color:var(--ink);letter-spacing:-.025em;font-size:clamp(1.1rem,1.65vw,1.45rem);line-height:1.45}.other-section .notes-list article{border-bottom:0;justify-items:center}.notes-list p+p{margin-top:16px}.notes-list article>span{color:var(--muted);font-family:var(--font-space-grotesk), Arial, Helvetica, sans-serif;font-size:.82rem}.notes-list h3{letter-spacing:-.035em;margin-bottom:14px;font-size:1.2rem;font-weight:500}.notes-list p{color:var(--muted);line-height:1.35}.contact-section{border-bottom:0;padding-bottom:76px}.contact-section h2{max-width:1080px;margin:18px 0 72px;font-size:6.4rem}.contact-links{flex-wrap:wrap;gap:10px;display:flex}.contact-links a{border:1px solid var(--line);max-width:100%;color:var(--ink);overflow-wrap:anywhere;border-radius:999px;padding:12px 16px;font-size:.94rem;text-decoration:none}.contact-links a:hover{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.contact-loop-stage{background:0 0;border-bottom:0;width:100vw;min-height:calc(100svh - 70px);margin-left:calc(50% - 50vw);position:relative;overflow:hidden}.contact-loop-panel{isolation:isolate;min-height:calc(100svh - 70px);position:relative}.contact-loop-content{z-index:2;width:min(calc(100% - 48px), var(--max));flex-direction:column;justify-content:space-between;min-height:calc(100svh - 70px);margin:0 auto;padding:clamp(34px,6vh,64px) 0 clamp(42px,8vh,84px);display:flex;position:relative}.contact-loop-copy{max-width:1180px}.contact-loop-email{max-width:1180px;color:var(--ink);letter-spacing:-.075em;overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:24px;padding-bottom:clamp(12px,2vh,22px);font-size:clamp(3rem,6.6vw,6.4rem);font-weight:500;line-height:.92;text-decoration:none;display:flex}.contact-loop-email>span:last-child{flex:none;font-size:.42em;transition:transform .18s}.contact-loop-email:hover>span:last-child,.contact-loop-email:focus-visible>span:last-child{transform:translate(5px,-5px)}.contact-loop-email:focus-visible{outline:2px solid var(--ink);outline-offset:6px}.contact-loop-links{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.contact-loop-links a{border:1px solid var(--line);min-height:48px;color:var(--ink);font-family:var(--font-space-grotesk), Arial, Helvetica, sans-serif;text-transform:uppercase;border-radius:999px;justify-content:space-between;align-items:center;gap:22px;padding:12px 18px;font-size:.78rem;text-decoration:none;transition:background-color .18s,color .18s,transform .18s;display:inline-flex}.contact-loop-links a:hover,.contact-loop-links a:focus-visible{background:var(--ink);color:var(--canvas);transform:translateY(-2px)}.contact-loop-links a:focus-visible,.contact-loop-footer a:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.contact-loop-footer{color:var(--muted);font-family:var(--font-space-grotesk), Arial, Helvetica, sans-serif;letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:20px;font-size:.68rem;display:flex}.contact-loop-footer a{border-bottom:1px solid var(--line);color:var(--ink);padding-bottom:5px;text-decoration:none}@media (max-width:960px){.nav-links{display:none}.menu-toggle{display:grid}.mobile-menu{z-index:9;border-top:1px solid var(--line-soft);background:color-mix(in srgb, var(--canvas) 96%, transparent);opacity:0;pointer-events:none;visibility:hidden;transition:opacity .18s,transform .22s cubic-bezier(.22,1,.36,1),visibility .18s;display:block;position:fixed;inset:70px 0 0;overflow-y:auto;transform:translateY(-12px)}.mobile-menu.is-open{opacity:1;pointer-events:auto;visibility:visible;transform:translateY(0)}.mobile-menu-inner{width:min(calc(100% - 48px), var(--max));margin:0 auto;padding:clamp(34px,7vh,76px) 0;display:grid}.mobile-menu-inner>a{border-bottom:1px solid var(--line-soft);color:var(--ink);letter-spacing:-.06em;text-transform:capitalize;grid-template-columns:44px minmax(0,1fr);align-items:baseline;padding:clamp(13px,2.4vh,22px) 0;font-size:clamp(2.2rem,8vw,4.7rem);font-weight:500;line-height:1;text-decoration:none;display:grid}.mobile-menu-inner>a:first-child{border-top:1px solid var(--line-soft)}.mobile-menu-inner>a>span{color:var(--muted);font-family:var(--font-space-grotesk), Arial, Helvetica, sans-serif;letter-spacing:.06em;font-size:.65rem;font-weight:500}.mobile-menu-inner>a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.hero{grid-template-columns:minmax(0,.85fr) minmax(360px,1.15fr)}.hero-portrait{width:min(62vw,610px);right:-5%}.hero-bottom h1{font-size:clamp(3.2rem,7.2vw,5.4rem)}.section-intro h2,.about-copy h2,.notes-section h2,.contact-section h2{font-size:4rem}.project-title h3{font-size:3.75rem}.about-copy{grid-template-columns:1fr}.education-details{max-width:570px}}@media (max-width:700px){.intro-loader{--intro-nav-x:15px;--intro-nav-y:31px}.nav,main{width:min(calc(100% - 30px), var(--max))}.nav{min-height:62px}.nav-actions{gap:9px}.menu-toggle{width:44px;height:44px}.mobile-menu{top:62px}.mobile-menu-inner{width:min(calc(100% - 30px), var(--max))}#education,#projects,#experience,#skills,#other,#contact{scroll-margin-top:62px}.hero{grid-template-columns:1fr;align-items:start;min-height:calc(100svh - 62px);padding:clamp(64px,11vh,104px) 0 30px;display:grid}.hero-portrait{width:min(94vw,520px);max-width:none;right:-12%;transform:translateY(10%)}.hero-bottom h1{max-width:70%;font-size:clamp(2.8rem,13vw,4.6rem)}.hero-bottom,.section-intro,.project,.about-section{grid-template-columns:1fr}.hero-bottom{justify-content:flex-start;display:flex}.work-section,.about-section,.notes-section,.contact-section{padding:78px 0}#experience.notes-section{padding:62px 0}.section-intro{gap:20px;margin-bottom:48px;display:grid}.section-intro h2,.about-copy h2,.notes-section h2,.contact-section h2{letter-spacing:-.065em;font-size:clamp(2.35rem,12vw,3.05rem)}.project{gap:22px;padding:25px 0 31px;display:grid}.project-stack-stage{height:270vh;min-height:1750px}.project-stack-sticky{height:calc(100svh - 62px);min-height:590px;top:62px}.project-stack-cards{height:500px}.project-stack-card-shell{height:148px}.project-stack-card{border-radius:10px;padding:11px}.project-stack-card>.project-stack-cover-label{font-size:clamp(2.15rem,12vw,3.25rem)}.project-stack-card-topline{padding-bottom:7px;font-size:.54rem}.project-stack-card h3{letter-spacing:-.05em;margin:8px 0;font-size:.94rem}.project-stack-card p{display:none}.project-stack-card-footer{gap:7px;padding-top:7px;font-size:.5rem}.project-meta{flex-direction:row;gap:10px}.project-body{grid-template-columns:1fr;gap:18px}.project-title h3{font-size:3.2rem}.about-section{gap:20px;display:grid}.about-copy{gap:28px;display:grid}.education-details{gap:18px}#experience .notes-list article{grid-template-columns:1fr;gap:26px}.contact-section{padding-bottom:52px}.contact-section h2{margin-bottom:44px}.contact-links{justify-items:start;display:grid}.contact-loop-stage{min-height:calc(100svh - 62px)}.contact-loop-panel{min-height:590px}.contact-loop-content{width:min(calc(100% - 30px), var(--max));min-height:max(590px,100svh - 62px);padding:28px 0 34px}.contact-loop-email{letter-spacing:-.075em;gap:14px;font-size:clamp(2.55rem,11vw,4.6rem);line-height:.95}.contact-loop-links{grid-template-columns:repeat(3,minmax(0,auto));justify-content:start;align-items:stretch;display:grid}.contact-loop-links a{gap:12px;min-height:44px;padding:10px 13px;font-size:.64rem}.contact-loop-footer{font-size:.56rem}}@media (prefers-reduced-motion:reduce),(pointer:coarse){.nav-links>a{transition:none}.nav-links>a:hover,.nav-links>a:focus-visible{transform:none}}@media (prefers-reduced-motion:reduce){.scroll-rise-ready .scroll-rise{opacity:1;transition:none;transform:none}.project-stack-stage{height:auto;min-height:0}.project-stack-sticky{height:auto;min-height:0;position:relative;top:auto;overflow:visible}.project-stack-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;height:auto;display:grid}.project-stack-card-shell{height:350px;position:relative;inset:auto;opacity:1!important;width:auto!important;transform:none!important}.project-stack-card{transition:none;transform:none}}@media (prefers-reduced-motion:reduce) and (max-width:700px){.project-stack-cards{grid-template-columns:1fr}.project-stack-card-shell{height:180px}}@media (max-width:420px){.wordmark{font-size:.96rem}.nav-actions{gap:7px}.menu-toggle{width:40px;height:40px}.project-title h3{font-size:2.85rem}.contact-loop-email{font-size:clamp(2.25rem,10.5vw,3.4rem)}.contact-loop-links{grid-template-columns:repeat(2,minmax(0,auto))}}#product,#features,#workflow,#why,#contact{scroll-margin-top:70px}.product-hero{grid-template-columns:minmax(0,.82fr) minmax(480px,1.18fr);min-height:max(660px,100svh - 70px)}.product-hero .hero-bottom h1{font-size:clamp(4rem,6.5vw,7rem)}.hero-kicker,.workflow-heading>span{color:var(--muted);font-family:var(--font-space-grotesk), Arial, Helvetica, sans-serif;letter-spacing:.1em;text-transform:uppercase;margin-bottom:24px;font-size:.72rem;font-weight:600;display:block}.hero-actions{flex-wrap:wrap;align-items:center;gap:20px;margin-top:34px;display:flex}.hero-primary{background:var(--ink);border:1px solid var(--ink);color:var(--canvas);border-radius:999px;padding:13px 18px;font-size:.84rem;text-decoration:none;transition:transform .18s}.hero-primary:hover{transform:translateY(-2px)}.product-hero-preview{background:color-mix(in srgb, var(--surface) 94%, var(--canvas));border:1px solid var(--line);color:var(--ink);z-index:2;border-radius:20px;width:min(54vw,690px);height:min(58vh,510px);text-decoration:none;transition:border-color .2s,transform .3s cubic-bezier(.22,1,.36,1);position:absolute;top:50%;right:0;overflow:hidden;transform:translateY(-50%)rotate(1.2deg);box-shadow:0 30px 80px #00000057}.product-hero-preview:hover{border-color:color-mix(in srgb, var(--ink) 45%, transparent);transform:translateY(calc(-50% - 8px))rotate(0)}.preview-chrome{border-bottom:1px solid var(--line);grid-template-columns:.8fr 1.25fr .65fr;align-items:center;height:48px;padding:0 14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.62rem;display:grid}.preview-chrome strong{color:#a7c3ff;font-size:.78rem}.preview-chrome>span{background:color-mix(in srgb, var(--canvas) 65%, transparent);border:1px solid var(--line);color:var(--muted);border-radius:4px;padding:7px 9px}.preview-chrome b{color:#fff;background:#3f83f8;border-radius:4px;justify-self:end;padding:8px 11px}.preview-body{grid-template-columns:54px minmax(180px,.8fr) minmax(260px,1.3fr);height:calc(100% - 48px);display:grid}.preview-rail{border-right:1px solid var(--line);flex-direction:column;align-items:center;gap:22px;padding-top:22px;display:flex}.preview-rail i{border:1px solid var(--muted);width:15px;height:15px;display:block}.preview-rail i:nth-child(2){background:var(--ink)}.preview-repos{border-right:1px solid var(--line);padding:clamp(18px,3vw,32px) 18px}.preview-repos small,.preview-video-copy small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.58rem}.preview-repos h3{font-family:var(--font-fraunces), Georgia, serif;letter-spacing:-.045em;margin:16px 0 clamp(26px,6vh,56px);font-size:clamp(1.55rem,2.4vw,2.65rem);font-weight:400;line-height:.98}.preview-repo-row{border-top:1px solid var(--line-soft);justify-content:space-between;align-items:center;padding:14px 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.58rem;display:flex}.preview-repo-row em{background:var(--canvas);border:1px solid var(--line);color:var(--muted);border-radius:4px;padding:3px 4px;font-style:normal}.preview-video{background:linear-gradient(145deg,#19334a,#0b1118 70%);place-items:center;display:grid;position:relative;overflow:hidden}.preview-video:before,.preview-video:after{content:"";opacity:.75;background:#091018;width:28%;height:115%;position:absolute;transform:rotate(12deg)}.preview-video:before{left:-5%}.preview-video:after{right:-8%;transform:rotate(-11deg)}.preview-video-copy{z-index:1;position:absolute;top:14%;left:10%}.preview-video-copy strong{color:#fff;font-family:var(--font-fraunces), Georgia, serif;letter-spacing:-.035em;margin-top:10px;font-size:clamp(1.5rem,3vw,3.1rem);font-weight:400;line-height:.95;display:block}.preview-play{color:#16385f;z-index:2;background:#a7c3ff;border-radius:50%;justify-content:center;align-items:center;width:46px;height:46px;display:flex;position:absolute;bottom:14%}.preview-open{background:var(--ink);color:var(--canvas);z-index:4;border-radius:999px;padding:8px 11px;font-size:.66rem;position:absolute;bottom:13px;right:13px}.product-statement .about-copy h2{max-width:820px}.workflow-heading{margin-bottom:70px}.workflow-heading h2{letter-spacing:-.075em;font-size:clamp(3rem,6vw,5.8rem);font-weight:500;line-height:.98}.workflow-section .notes-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;display:grid}.workflow-section .notes-list article{border-right:1px solid var(--line);min-height:250px;padding:28px}.workflow-section .notes-list article:first-child{border-left:1px solid var(--line)}.workflow-section .notes-list article>div>span{color:var(--muted);margin-bottom:68px;font-size:.68rem;display:block}.workflow-section .notes-list h3{font-size:1.45rem}.workflow-section .notes-list p{max-width:310px}.product-principles .workflow-heading{text-align:left}.product-principles .notes-list{width:min(100%,900px)}.product-principles .notes-list article{border-bottom:1px solid var(--line);padding:34px 0}.product-principles .notes-list h3{font-size:1.6rem}.product-principles .notes-list p{font-size:1rem}@media (max-width:960px){.product-hero{grid-template-columns:minmax(0,.75fr) minmax(420px,1.25fr)}.product-hero-preview{width:62vw;right:-7%}}@media (max-width:700px){#product,#features,#workflow,#why,#contact{scroll-margin-top:62px}.product-hero{grid-template-rows:auto auto;grid-template-columns:1fr;align-content:start;min-height:auto;padding:54px 0 48px;display:grid}.product-hero .hero-bottom h1{max-width:none;font-size:clamp(3.2rem,16vw,4.8rem)}.hero-kicker{margin-bottom:18px}.hero-actions{margin-top:24px}.product-hero-preview{width:100%;height:340px;margin-top:44px;position:relative;top:auto;right:auto;transform:rotate(1deg)}.product-hero-preview:hover{transform:rotate(0)translateY(-5px)}.preview-body{grid-template-columns:42px minmax(120px,.85fr) minmax(150px,1.15fr)}.preview-repos{padding:18px 10px}.preview-repos h3{margin-bottom:24px;font-size:1.4rem}.preview-repo-row{font-size:.48rem}.preview-video-copy strong{font-size:1.45rem}.workflow-heading{margin-bottom:42px}.workflow-section .notes-list{grid-template-columns:1fr}.workflow-section .notes-list article,.workflow-section .notes-list article:first-child{border-left:0;border-right:0;min-height:0;padding:28px 0}.workflow-section .notes-list article>div>span{margin-bottom:28px}}
