@font-face{font-family:InterTight;src:url('/assets/redesign-20261027/inter-tight.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{--paper:#f5f5f5;--ink:#161616;--muted:#656565;--blue:#145cff;--rule:#d5d5d5}
*{box-sizing:border-box;letter-spacing:0}
html{scroll-behavior:smooth;scroll-padding-top:30px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:InterTight,Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,a{-webkit-tap-highlight-color:transparent}
a:focus-visible{outline:3px solid var(--blue);outline-offset:6px}
img{display:block;max-width:100%}
svg.lucide{width:22px;height:22px;flex-shrink:0;stroke-width:1.6}
h1,h2,h3,p{margin:0}
.shell{width:min(1280px,calc(100% - 80px));margin-inline:auto}
.blue{color:var(--blue)}
.quiet{color:var(--muted)}
.eyebrow{font-size:14px;font-weight:500}
.skip-link{position:fixed;left:20px;top:-100px;z-index:9;background:white;padding:15px}
.skip-link:focus{top:15px}
.header{height:88px;display:flex;align-items:center;justify-content:space-between}
.wordmark{font-weight:750;font-size:27px}
.wordmark img{width:74px;height:40px;object-fit:contain}
.wordmark span{color:var(--blue);font-size:14px;vertical-align:super;margin-left:3px}
.header nav{display:flex;align-items:center;gap:40px;font-size:15px}
.header nav a{display:flex;gap:8px;align-items:center}
.header nav a:hover{color:var(--blue)}
sup{font-size:10px;color:var(--muted);align-self:flex-start}
.folder{position:relative;isolation:isolate;height:min(620px,calc(100svh - 250px));min-height:380px;color:#fff;border-radius:0 0 36px 36px;overflow:hidden}
.portrait-shade{display:none}
.folder-shape{position:absolute;inset:0;width:100%;height:100%;z-index:-1;fill:#101010}
.folder-tab{position:absolute;left:36px;top:24px;display:flex;align-items:center;gap:12px;font-size:11px;font-weight:500}
.folder-tab>span:last-child{color:#9d9d9d;margin-left:15px}
.tab-dot{width:10px;height:10px;border-radius:50%;background:#4280ff}
.hero-intro{position:absolute;left:44px;top:122px;z-index:2}
.hero-intro .eyebrow{color:#bdbdbd;margin-bottom:15px;font-size:18px}
h1{font-size:46px;line-height:1.04;font-weight:550}
.hero-avatar{position:absolute;height:90%;width:auto;max-width:52%;object-fit:contain;object-position:bottom;bottom:0;left:50%;transform:translateX(-50%);z-index:1}
.hero-role{position:absolute;right:36px;bottom:118px;width:245px;z-index:2}
.hero-role p{font-size:25px;line-height:1.12;font-weight:500}
.hero-role>span{display:block;font-size:15px;line-height:1.4;color:#bdbdbd;margin-top:20px}
.hero-link{position:absolute;left:44px;bottom:44px;display:flex;gap:32px;align-items:center;padding-bottom:10px;border-bottom:1px solid #747474;font-size:17px;z-index:2}
.hero-link:hover{color:#89aeff;border-color:#89aeff}
.hero-index{position:absolute;right:36px;bottom:45px;color:#9d9d9d;font-size:13px}
.hero-caption{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:22px;font-size:14px;color:var(--muted)}
.hero-caption a{color:var(--ink);display:flex;gap:12px;align-items:center}
.hero-caption a:hover{color:var(--blue)}
.projects{padding-top:64px}
.section-top{display:flex;justify-content:space-between;align-items:baseline;gap:24px;font-size:14px;margin-bottom:32px}
h2{font-size:76px;line-height:1.04;font-weight:500}
.projects h2{margin-bottom:44px}
.projects h2 span{font-size:24px;vertical-align:top;display:inline-block;margin-top:12px;margin-left:10px}
.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px 28px}
.project-image{display:block;position:relative;overflow:hidden;border-radius:8px;background:#ececec;aspect-ratio:5/4}
.project-image>img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.3,1)}
.project-image:hover>img{transform:scale(1.025)}
.project-open{position:absolute;right:18px;bottom:18px;width:44px;height:44px;background:#fff;color:#111;border-radius:50%;display:grid;place-items:center;transition:background .2s,color .2s,transform .2s}
.project-image:hover .project-open{background:var(--blue);color:white;transform:rotate(45deg)}
.project-heading{display:flex;justify-content:space-between;gap:18px;align-items:baseline;margin-top:22px}
.project-heading h3{font-size:28px;line-height:1.15;font-weight:550}
.project-heading h3 a:hover{color:var(--blue)}
.project-heading>span{font-size:12px;white-space:nowrap;color:var(--muted)}
.project>p{max-width:490px;font-size:17px;line-height:1.45;color:var(--muted);margin-top:10px}
.project-wide{grid-column:1/-1}
.project-wide .project-image{aspect-ratio:16/10;background:#e6edff;padding:32px}
.project-wide .project-image>img{object-fit:contain}
.project-wide>p{max-width:680px}
.about{padding-block:140px 100px}
.about-intro{display:grid;grid-template-columns:1.15fr 1fr;gap:80px;align-items:start;margin-bottom:70px}
.about h2{font-size:60px}
.about-copy{font-size:20px;line-height:1.45;padding-top:4px}
.about-copy p+p{margin-top:20px;color:var(--muted)}
.experience-row{display:grid;grid-template-columns:70px 1fr 1.8fr 130px;gap:24px;align-items:start;padding-block:28px;border-top:1px solid var(--rule)}
.row-no{font-size:14px;color:var(--muted);padding-top:5px}
.experience h3{font-size:24px;font-weight:500}
.experience p{font-size:16px;line-height:1.5}
.experience p span{color:var(--muted);font-size:14px}
.experience time{text-align:right;font-size:14px;padding-top:5px;color:var(--muted)}
.tools{display:grid;grid-template-columns:1fr 3fr;gap:24px;border-top:1px solid var(--rule);padding-top:28px;margin-top:20px;font-size:17px;line-height:1.5}
.tools>span{color:var(--muted);font-size:14px}
footer{background:var(--blue);color:white;padding-block:62px 26px}
footer h2{font-size:90px;margin-block:60px}
footer h2 em{font-family:Georgia,serif;font-weight:400}
.contact-list a{display:grid;grid-template-columns:1fr 2fr 28px;gap:24px;align-items:center;border-top:1px solid #ffffff66;padding-block:28px}
.contact-list a:last-child{border-bottom:1px solid #ffffff66}
.contact-list a>span{font-size:14px}
.contact-list strong{font-size:32px;font-weight:450}
.contact-list a:hover strong{text-decoration:underline;text-underline-offset:6px}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:12px;padding-top:56px}
.footer-bottom>a{display:flex;align-items:center;gap:12px}
@media(min-width:1600px){.folder{height:620px}}
@media(max-width:1150px){.shell{width:calc(100% - 56px)}h1{font-size:38px}.hero-intro{left:32px;top:110px}.hero-avatar{left:57%;max-width:55%}.hero-role{left:32px;bottom:130px;right:auto;width:240px}.hero-role p{font-size:22px}.hero-role>span{display:none}.hero-link{left:32px;bottom:42px}.hero-index{right:28px}.about-intro{gap:40px}.about h2{font-size:49px}.experience-row{grid-template-columns:45px 1fr 1.6fr 110px;gap:15px}}
@media(max-width:760px){.shell{width:calc(100% - 40px)}.header{height:72px}.header nav{gap:22px;font-size:14px}.header nav a:last-child{font-size:0;gap:0}.wordmark{font-size:24px}.folder{height:620px;min-height:0;max-height:calc(100svh - 160px)}.folder-tab{left:23px;top:16px;font-size:10px;gap:8px}.folder-tab>span:last-child{display:none}.tab-dot{width:7px;height:7px}.folder-shape{display:none}.folder::before{content:"";position:absolute;inset:32px 0 0;border-radius:0 24px 24px 24px;background:#101010;z-index:-1}.folder::after{content:"";position:absolute;left:0;top:0;width:52%;height:54px;background:#101010;border-radius:22px 28px 0 0;z-index:-1}.hero-intro{top:72px;left:24px}.hero-intro .eyebrow{font-size:14px;margin-bottom:8px}h1{font-size:38px;line-height:1.02}.hero-avatar{height:auto;width:100%;max-width:none;left:50%;bottom:0;max-height:72%;object-fit:contain}.hero-role{left:24px;bottom:24px;width:190px}.hero-role p{font-size:19px;line-height:1.2}.hero-link{left:auto;right:22px;bottom:22px;font-size:0;gap:0;width:40px;height:40px;display:grid;place-items:center;border:1px solid #777;border-radius:50%;background:#101010cc}.hero-index{display:none}.hero-caption{font-size:12px;gap:16px;padding-top:18px;flex-wrap:wrap}.hero-caption>span:nth-child(2){display:none}.projects{padding-top:70px}.section-top{font-size:12px;margin-bottom:22px;gap:18px}.section-top .eyebrow{font-size:12px}.projects .section-top .quiet{max-width:145px;text-align:right}h2{font-size:50px}.projects h2{margin-bottom:28px}.projects h2 span{font-size:18px;margin-top:7px}.project-grid{gap:40px 16px}.project-heading{display:block;margin-top:14px}.project-heading h3{font-size:23px}.project-heading>span{display:block;margin-top:7px;font-size:11px}.project>p{font-size:15px;line-height:1.4;margin-top:9px}.project-wide .project-image{aspect-ratio:5/4}.project-open{width:36px;height:36px;right:12px;bottom:12px}.about{padding-block:80px 65px}.about-intro{grid-template-columns:1fr;gap:24px;margin-bottom:38px}.about h2{font-size:48px}.about-copy{font-size:18px}.about-copy p+p{margin-top:16px}.experience-row{grid-template-columns:32px 1fr auto;gap:14px;padding-block:23px}.experience h3{font-size:23px}.experience p{grid-column:2/4;grid-row:2;font-size:15px}.experience time{grid-column:3;grid-row:1;font-size:12px}.experience p span{font-size:13px}.tools{grid-template-columns:1fr;gap:14px;font-size:16px}.about .section-top>.quiet{max-width:135px;text-align:right}footer{padding-top:38px}footer .section-top>span{max-width:145px;text-align:right}footer h2{font-size:54px;margin-block:40px}.contact-list a{grid-template-columns:1fr 24px;gap:15px;padding-block:22px}.contact-list a>span{grid-column:1;font-size:12px}.contact-list strong{grid-column:1;grid-row:auto;font-size:29px}.contact-list svg{grid-column:2;grid-row:1/3}.footer-bottom{flex-wrap:wrap;font-size:11px;gap:20px;padding-top:30px}.footer-bottom span:nth-child(2){order:3;width:100%}}
@media(max-width:520px){.project-grid{grid-template-columns:1fr}.project-wide{grid-column:auto}.hero-avatar{bottom:0}.hero-role p{font-size:17px}.folder{height:550px;max-height:calc(100svh - 160px);min-height:450px}.hero-role{bottom:20px}.hero-avatar{max-height:65%}.hero-caption svg{width:18px;height:18px}.about h2{font-size:42px}footer h2{font-size:46px}.project-heading{display:flex;align-items:baseline}.project-heading>span{white-space:normal;text-align:right;max-width:105px;flex-shrink:0}.project-wide .project-heading{display:block}.project-wide .project-heading>span{max-width:none;text-align:left}}
@media(max-width:360px){h1{font-size:32px}.hero-intro{left:20px}.hero-role{left:20px}.hero-role p{font-size:15px}.header nav{gap:16px}.contact-list strong{font-size:24px}.experience-row{gap:10px}.experience h3{font-size:20px}footer h2{font-size:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
@media(max-width:760px){.folder{border-radius:22px 0 24px 24px}.portrait-shade{display:block;position:absolute;inset:auto 0 0;height:110px;background:linear-gradient(transparent,#101010 95%);z-index:2;pointer-events:none}.hero-role,.hero-link{z-index:3}.project-wide .project-image{padding:12px}}
@media(max-width:520px){.folder{max-height:calc(100svh - 220px)}.projects{padding-top:50px}}

/* One continuous contour for both the hero and the project folders. */
.folder,.project-image{--folder-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1280 720' preserveAspectRatio='none'%3E%3Cpath fill='white' d='M76 0H330C390 0 392 76 466 76H1204C1254 76 1280 102 1280 152V644C1280 694 1254 720 1204 720H76C26 720 0 694 0 644V76C0 26 26 0 76 0Z'/%3E%3C/svg%3E");border-radius:0;mask:var(--folder-mask) 0 0/100% 100% no-repeat;-webkit-mask:var(--folder-mask) 0 0/100% 100% no-repeat}
.folder{background:#101010}
.folder-shape,.folder::before,.folder::after{display:none}
.hero-avatar{width:68%;height:89%;max-width:none;bottom:0;object-fit:cover;object-position:center top}
.projects h2{text-align:center;position:sticky;top:20px;margin-bottom:36px}
.project-grid{display:flex;flex-direction:column;gap:90px;padding-bottom:24px}
.project{position:sticky;top:112px;transform:scale(var(--stack-scale,1));transform-origin:center 112px;will-change:transform;background:var(--paper);padding-bottom:24px}
.project-image,.project-wide .project-image{width:100%;height:min(64svh,680px);aspect-ratio:auto;padding:0;background:#e6edff}
.project-image>img{object-fit:cover}
.project-heading{padding-inline:8px}
.project>p{padding-inline:8px;max-width:720px}
.project-open{right:28px;bottom:28px;width:52px;height:52px}
.project-wide .project-image{display:flex;align-items:center;justify-content:center;padding:74px 36px 28px}
.project-wide .project-image>img{width:auto;height:auto;max-height:100%;max-width:100%;object-fit:contain;border-radius:24px}
@media(max-width:1150px) and (min-width:761px){.hero-avatar{left:62%;width:70%;height:87%}}
@media(max-width:760px){
  .folder,.project-image{--folder-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 900' preserveAspectRatio='none'%3E%3Cpath fill='white' d='M60 0H238C300 0 296 70 362 70H580C620 70 640 94 640 130V840C640 880 620 900 580 900H60C20 900 0 880 0 840V60C0 20 20 0 60 0Z'/%3E%3C/svg%3E")}
  .hero-avatar{width:100%;height:64%;max-height:none;object-fit:cover;object-position:center top;left:50%;scale:1.45;transform-origin:center top;bottom:0;transform:translateX(-34.48%)}
  .projects h2{top:16px;margin-bottom:28px}
  .project{top:82px;transform-origin:center 82px;padding-bottom:18px}
  .project-grid{gap:55px}
  .project-image,.project-wide .project-image{height:48svh;min-height:240px;max-height:470px;aspect-ratio:auto}
  .project-wide .project-image{padding:44px 14px 18px}
  .project-wide .project-image>img{border-radius:14px}
  .project-heading,.project>p{padding-inline:0}
  .project-open{width:40px;height:40px;right:18px;bottom:18px}
}
@media(prefers-reduced-motion:reduce){.project,.projects h2{position:relative;top:auto;transform:none!important;will-change:auto}}
@media(max-height:620px){.project,.projects h2{position:relative;top:auto;transform:none!important;will-change:auto}}

/* Static editorial project grid; only the page scroll is eased. */
html.lenis{scroll-behavior:auto}
.projects h2{position:static;text-align:left;margin-bottom:44px}
.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:56px 28px;padding-bottom:0}
.project{position:static;transform:none;will-change:auto;background:none;padding:0;min-width:0;grid-column:span 1}
.project:first-child,.project:nth-child(n+4){grid-column:span 1}
.project-image,.project-wide .project-image{mask:none;-webkit-mask:none;border-radius:8px;width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:5/4;background:#e6edff;padding:0}
.project-image>img,.project-image:hover>img{width:100%;height:100%;object-fit:cover;transform:none;transition:none}
.project-wide .project-image{display:flex;padding:24px}
.project-wide .project-image>img{width:100%;height:auto;max-height:100%;object-fit:contain;border-radius:14px}
.project-heading{display:block;padding:0;margin-top:18px}
.project-heading h3{font-size:25px;line-height:1.2;min-height:2.4em;max-width:100%;text-wrap:balance}
.project-heading>span{display:block;margin-top:8px;white-space:normal;text-align:left;max-width:none}
.project>p{padding:0;font-size:16px;max-width:580px}
.project-open{width:40px;height:40px;right:16px;bottom:16px;transition:none}
.project-image:hover .project-open{transform:none}
@media(max-width:1000px){
  .project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 24px}
  .project,.project:first-child,.project:nth-child(n+4){grid-column:span 1}
}
@media(max-width:600px){
  .projects h2{margin-bottom:28px}
  .project-grid{grid-template-columns:1fr;gap:36px}
  .project,.project:first-child,.project:nth-child(n+4){grid-column:1}
  .project-wide .project-image{padding:14px}
  .project-heading h3{font-size:24px;min-height:0}
  .project>p{font-size:15px}
}
