:root{color:#15171b;background:#f6f6f4;font-family:proxima-nova,Proxima Nova,Helvetica Neue,Helvetica,Arial,Liberation Sans,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--font-body: "proxima-nova", "Proxima Nova", "Helvetica Neue", Helvetica, Arial, "Liberation Sans", sans-serif;--font-display: "futura-pt", "Futura PT", Futura, "Trebuchet MS", Arial, sans-serif;--page-x: clamp(1.25rem, 7vw, 12.5rem);--site-gutter: clamp(1.5rem, 8vw, 7rem);--content-max: 75rem;--muted: #76777c;--line: #d9d8d2;--ink: #0c1118}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);font-weight:400;margin:0;min-width:320px}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}img{display:block;max-width:100%}.site-header{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:var(--content-max);min-height:clamp(10.5rem,18vw,15.25rem);padding:3.5rem 0 2.5rem;width:calc(100% - var(--site-gutter))}.brand{color:#fff;display:inline-block;font-family:var(--font-display);font-size:clamp(.82rem,1.1vw,1.08rem);font-style:italic;font-weight:700;letter-spacing:0;line-height:.85;text-decoration:none;text-transform:uppercase;text-shadow:0 1px 0 #b7b7b7,1px 2px 3px rgb(0 0 0 / 28%);transform:skew(-9deg) rotate(-6deg)}.site-nav{display:flex;gap:clamp(1.15rem,1.85vw,1.9rem)}.mobile-menu-toggle,.mobile-nav-panel{display:none}.site-nav a,.mobile-nav-panel a,.mobile-menu-toggle,.project-card span,.eyebrow{font-family:var(--font-display);font-size:.92rem;letter-spacing:.13em;text-transform:uppercase}.site-nav a{color:var(--muted);display:inline-block;font-size:.78rem;font-weight:500;letter-spacing:.11em;text-decoration:none;transform:scaleX(.88);transform-origin:center}.site-nav .active,.site-nav a:hover,.mobile-nav-panel .active,.mobile-nav-panel a:hover{color:var(--ink)}main{min-height:56vh}.intro{margin:0 auto 4rem;max-width:52rem;padding:0 var(--page-x);text-align:center}.intro p{color:var(--muted);font-size:1rem;font-weight:400;margin:0 0 1.1rem}.intro h1,.project-copy h1,.about-copy h1{font-family:var(--font-display);font-size:clamp(2rem,4.8vw,4.9rem);font-weight:300;letter-spacing:0;line-height:1.02;margin:0;text-transform:uppercase}.work-page{padding-bottom:5rem}.project-grid{display:grid;gap:clamp(3.25rem,6vw,5.5rem) clamp(1.8rem,3vw,3rem);grid-template-columns:repeat(3,minmax(0,1fr));margin:0 auto;max-width:var(--content-max);padding:0;width:calc(100% - var(--site-gutter))}.project-card{min-width:0}.project-link{display:grid;gap:1.05rem;text-align:center;text-decoration:none}.project-link img{aspect-ratio:1 / 1;background:#050505;height:auto;object-fit:cover;transition:opacity .18s ease,transform .18s ease;width:100%}.project-link:hover img{opacity:.88;transform:translateY(-2px)}.project-card span{color:#5e5f63;display:inline-block;font-size:.82rem;font-weight:300;letter-spacing:.105em;line-height:1.45;transform:scaleX(.86);transform-origin:center}.project-detail{align-items:start;display:grid;gap:4.4rem 50px;grid-template-columns:minmax(0,900px) 250px;margin:0 auto;max-width:1200px;padding:0 0 6rem;width:calc(100% - var(--site-gutter))}.project-media img{aspect-ratio:16 / 9;background:#111;object-fit:cover;width:100%}.video-frame{aspect-ratio:16 / 9;background:#050505;width:100%}.video-frame iframe{border:0;display:block;height:100%;width:100%}.project-media p{font-family:var(--font-body);font-size:.9rem;font-weight:700;margin:.95rem 0 0;text-align:center}.project-copy{align-self:start;max-width:250px}.project-copy h1{display:inline-block;font-size:1.45rem;font-weight:300;letter-spacing:.08em;line-height:1.18;margin:0 0 .95rem;transform:scaleX(.9);transform-origin:left center}.project-copy p,.about-copy p,.resume-contact p,.resume-entry p{color:#4f525a;font-size:.95rem;font-weight:300;line-height:1.8}.project-copy p{color:#696b70;font-size:.92rem;line-height:1.72;margin:0 0 1.45rem}.project-copy p:last-child{margin-bottom:0}.eyebrow{color:var(--muted);display:inline-block;font-weight:500;margin-top:0;transform:scaleX(.9);transform-origin:left center}.project-pagination{display:flex;grid-column:1 / -1;justify-content:space-between;padding-top:.15rem}.project-pagination a{color:var(--ink);font-family:var(--font-body);font-weight:400;text-decoration:none;transition:color .16s ease}.project-pagination a:hover{color:var(--muted)}.project-detail .project-grid{grid-column:1 / -1;padding:0}.text-page{margin:0 auto;max-width:58rem;padding:0 var(--page-x) 6rem;text-align:center}.resume-page{max-width:64rem;padding-top:1.2rem}.resume-contact{margin-bottom:2.35rem}.resume-contact p{color:#575757;font-size:.9rem;font-weight:300;line-height:1.65;margin:0 0 1.15rem}.resume-contact strong{color:#3f4147;font-weight:700}.button-link{border:1px solid var(--ink);display:inline-flex;font-family:var(--font-display);font-size:.82rem;letter-spacing:.12em;margin-top:.8rem;padding:.8rem 1rem;text-decoration:none;text-transform:uppercase}.button-link:hover{background:var(--ink);color:#fff}.resume-list{display:grid;gap:3.05rem}.resume-entry{margin:0 auto;max-width:44rem;text-align:center}.resume-entry h2{align-items:baseline;display:flex;flex-wrap:wrap;gap:.48rem;justify-content:center;font-family:var(--font-display);font-size:clamp(1.12rem,1.5vw,1.45rem);font-weight:300;letter-spacing:.075em;line-height:1.2;margin:0 auto 1.35rem;max-width:100%;text-transform:uppercase;white-space:normal}.resume-entry h2 strong{color:var(--ink);font-weight:700}.resume-dash{color:var(--ink);font-weight:300}.dates{margin:0 0 1.75rem}.resume-entry p{color:#575757;font-size:.9rem;font-weight:300;line-height:1.5;margin:0 auto .38rem;max-width:34rem}.about-page{align-items:start;display:grid;gap:clamp(5rem,8.5vw,10rem);grid-template-columns:minmax(25rem,41rem) minmax(18rem,24.5rem);margin:0 auto;max-width:calc(65.5rem + clamp(5rem,8.5vw,10rem));padding:0 0 6rem;width:calc(100% - var(--site-gutter))}.portrait-wrap{aspect-ratio:1 / 1;background:#fff;border-radius:999px;overflow:hidden}.portrait-wrap img{height:100%;object-fit:contain;object-position:center;width:100%}.about-copy h1{color:var(--ink);font-size:clamp(1.55rem,1.85vw,1.85rem);font-weight:300;letter-spacing:.075em;line-height:1.1;margin-bottom:1.45rem}.about-copy p{color:#666970;font-size:.88rem;font-weight:300;line-height:1.74;margin:0 0 1.15rem;max-width:23.5rem}.site-footer{align-items:center;border-top:1px solid var(--line);display:flex;justify-content:space-between;margin:4rem var(--page-x) 0;padding:1.5rem 0}.footer-meta{display:grid;gap:.3rem}.site-footer p{color:var(--muted);font-size:.85rem;margin:0}.last-updated{color:#8c8d91}.social-links{display:flex;gap:1rem}.social-links a{font-weight:800;text-decoration:none}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}@media(max-width:1120px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.site-header{align-items:flex-start;gap:2.5rem;min-height:12rem}.project-detail,.about-page{grid-template-columns:1fr}.project-copy{max-width:42rem}}@media(max-width:620px){.site-header{align-items:center;flex-direction:column;gap:2.25rem;min-height:auto;padding:1.35rem 0 3rem;width:calc(100% - 2rem)}.site-nav{display:none}.mobile-menu-toggle{appearance:none;background:transparent;border:0;color:#9b9ca1;cursor:pointer;display:inline-block;font-size:.9rem;font-weight:400;letter-spacing:.12em;line-height:1;order:2;padding:0;text-transform:uppercase}.mobile-nav-panel{border-bottom:1px solid transparent;display:grid;gap:1.15rem;max-height:0;opacity:0;order:1;overflow:hidden;padding:0;pointer-events:none;text-align:center;transform:translateY(-.45rem);transition:max-height .32s cubic-bezier(.22,1,.36,1),opacity .22s ease,transform .32s cubic-bezier(.22,1,.36,1),padding-bottom .32s cubic-bezier(.22,1,.36,1),border-color .22s ease;width:100%}.menu-open .mobile-nav-panel{border-color:var(--line);max-height:10rem;opacity:1;padding-bottom:1.45rem;pointer-events:auto;transform:translateY(0)}.mobile-nav-panel a{color:#9b9ca1;font-size:.9rem;font-weight:400;letter-spacing:.12em;text-decoration:none;text-transform:uppercase;transition:color .18s ease}.brand{order:3}@media(prefers-reduced-motion:reduce){.mobile-nav-panel{transition:none}}.site-nav a,.project-card span,.eyebrow{font-size:.78rem}.project-grid{gap:2.35rem 1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.project-link{gap:.7rem}.project-card span{font-size:.64rem;letter-spacing:.09em;line-height:1.35;transform:scaleX(.84)}.project-pagination,.site-footer{align-items:flex-start;flex-direction:column;gap:1rem}.resume-entry h2{gap:.32rem}}
