.portfolio-module__jf7IlW__root{min-height:100vh;padding-bottom:64px}.portfolio-module__jf7IlW__root em{color:var(--accent);font-style:italic;font-weight:400}.portfolio-module__jf7IlW__nav{z-index:10;background:var(--paper);border-bottom:1px solid var(--rule);grid-template-columns:repeat(12,1fr);align-items:center;gap:24px;padding:18px 40px;display:grid;position:sticky;top:0}.portfolio-module__jf7IlW__brand{font-family:var(--font-display), serif;letter-spacing:-.01em;grid-column:1/3;font-size:16px;animation:.5s both portfolio-module__jf7IlW__fadeIn}.portfolio-module__jf7IlW__meta{color:var(--ink-soft);font-family:var(--font-mono), monospace;letter-spacing:.08em;grid-column:3/7;font-size:11px}.portfolio-module__jf7IlW__links{grid-column:7/12;justify-content:flex-end;gap:28px;display:flex}.portfolio-module__jf7IlW__links a{font-family:var(--font-mono), monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);font-size:11px;transition:color .2s}.portfolio-module__jf7IlW__links a:hover{color:var(--ink)}.portfolio-module__jf7IlW__langBox{grid-column:12/13;justify-self:end}.portfolio-module__jf7IlW__langBox button{font-family:var(--font-mono), monospace;letter-spacing:.14em;background:var(--ink);color:var(--paper);cursor:pointer;border:none;padding:6px 10px;font-size:11px}@keyframes portfolio-module__jf7IlW__wipeUp{0%{transform:translateY(110%)}to{transform:translateY(0)}}@keyframes portfolio-module__jf7IlW__fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes portfolio-module__jf7IlW__fadeIn{0%{opacity:0}to{opacity:1}}@keyframes portfolio-module__jf7IlW__scaleRight{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.portfolio-module__jf7IlW__hero{border-bottom:1px solid var(--rule);grid-template-columns:repeat(12,1fr);align-content:end;gap:24px;min-height:calc(100vh - 57px);padding:48px 40px 56px;display:grid}.portfolio-module__jf7IlW__heroTag{font-family:var(--font-mono), monospace;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint);grid-column:1/3;padding-top:20px;font-size:11px;animation:.6s .15s both portfolio-module__jf7IlW__fadeIn}.portfolio-module__jf7IlW__heroStatement{grid-column:3/13}.portfolio-module__jf7IlW__heroLineWrap{overflow:hidden}.portfolio-module__jf7IlW__heroStatement h1{font-family:var(--font-display), serif;letter-spacing:-.028em;max-width:20ch;margin:0;font-size:clamp(48px,6.4vw,96px);font-weight:300;line-height:1.02;animation:.9s cubic-bezier(.77,0,.175,1) both portfolio-module__jf7IlW__wipeUp}.portfolio-module__jf7IlW__heroStatement .portfolio-module__jf7IlW__heroLineWrap:nth-child(2) h1{animation-delay:.2s}.portfolio-module__jf7IlW__heroStatement .portfolio-module__jf7IlW__heroLineWrap:nth-child(3) h1{animation-delay:.35s}.portfolio-module__jf7IlW__heroRule{background:var(--rule);transform-origin:0;grid-column:3/13;height:1px;margin-top:40px;animation:1s cubic-bezier(.77,0,.175,1) .8s both portfolio-module__jf7IlW__scaleRight}.portfolio-module__jf7IlW__heroRole{color:var(--ink-faint)}.portfolio-module__jf7IlW__heroPositioning{color:var(--ink-soft);grid-column:3/9;margin-top:40px;font-size:18px;line-height:1.55;animation:.7s 1s both portfolio-module__jf7IlW__fadeUp}.portfolio-module__jf7IlW__heroSig{font-family:var(--font-mono), monospace;letter-spacing:.1em;color:var(--ink-soft);text-align:right;flex-direction:column;grid-column:9/13;align-items:flex-end;gap:4px;margin-top:40px;font-size:11px;animation:.7s 1.1s both portfolio-module__jf7IlW__fadeUp;display:flex}.portfolio-module__jf7IlW__dot{background:var(--accent);border-radius:50%;width:6px;height:6px}.portfolio-module__jf7IlW__secHead{border-bottom:1px solid var(--rule);grid-template-columns:repeat(12,1fr);gap:24px;padding:56px 40px 16px;display:grid}.portfolio-module__jf7IlW__num{font-family:var(--font-mono), monospace;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint);grid-column:1/3;font-size:11px}.portfolio-module__jf7IlW__secHead h2{font-family:var(--font-display), serif;letter-spacing:-.015em;grid-column:3/9;margin:0;font-size:32px;font-weight:300}.portfolio-module__jf7IlW__note{text-align:right;font-family:var(--font-mono), monospace;letter-spacing:.12em;color:var(--ink-faint);text-transform:uppercase;grid-column:9/13;align-self:end;font-size:11px}.portfolio-module__jf7IlW__projects{padding:0 40px}.portfolio-module__jf7IlW__row{border-bottom:1px solid var(--rule);cursor:pointer;grid-template-columns:repeat(12,1fr);gap:24px;padding:32px 0;transition:padding .3s cubic-bezier(.2,.8,.2,1);display:grid}.portfolio-module__jf7IlW__row:hover{padding:40px 0}.portfolio-module__jf7IlW__rowNum{font-family:var(--font-mono), monospace;color:var(--ink-faint);grid-column:1/2;padding-top:8px;font-size:11px}.portfolio-module__jf7IlW__rowYear{font-family:var(--font-mono), monospace;color:var(--ink-soft);grid-column:2/3;padding-top:8px;font-size:11px}.portfolio-module__jf7IlW__rowTitle{font-family:var(--font-display), serif;letter-spacing:-.02em;grid-column:3/7;font-size:36px;font-weight:400;line-height:1}.portfolio-module__jf7IlW__rowTag{color:var(--ink-soft);font-size:14px;font-style:italic;font-family:var(--font-display), serif;grid-column:7/9;padding-top:8px}.portfolio-module__jf7IlW__rowStack{flex-wrap:wrap;grid-column:9/12;align-self:start;gap:4px;padding-top:8px;display:flex}.portfolio-module__jf7IlW__rowStack span{font-family:var(--font-mono), monospace;color:var(--ink-soft);border:1px solid var(--rule);letter-spacing:.04em;padding:3px 6px;font-size:10px}.portfolio-module__jf7IlW__rowToggle{grid-column:12/13;justify-self:end;display:none}.portfolio-module__jf7IlW__rowOpen .portfolio-module__jf7IlW__rowTitle{color:var(--accent)}.portfolio-module__jf7IlW__rowOpen{padding:40px 0}.portfolio-module__jf7IlW__preview{grid-column:3/13;max-height:0;margin-top:0;transition:max-height .4s cubic-bezier(.2,.8,.2,1),margin-top .4s;overflow:hidden}.portfolio-module__jf7IlW__rowOpen .portfolio-module__jf7IlW__preview{max-height:360px;margin-top:24px}@media (hover:hover){.portfolio-module__jf7IlW__row:hover .portfolio-module__jf7IlW__rowTitle{color:var(--accent)}.portfolio-module__jf7IlW__row:not(.portfolio-module__jf7IlW__rowOpen):hover{padding:40px 0}.portfolio-module__jf7IlW__row:not(.portfolio-module__jf7IlW__rowOpen):hover .portfolio-module__jf7IlW__preview{max-height:360px;margin-top:24px}}.portfolio-module__jf7IlW__previewInner{grid-template-columns:4fr 6fr;gap:24px;display:grid}.portfolio-module__jf7IlW__previewMeta{font-family:var(--font-mono), monospace;letter-spacing:.1em;color:var(--ink-faint);text-transform:uppercase;gap:20px;font-size:11px;display:flex}.portfolio-module__jf7IlW__previewInner p{color:var(--ink-soft);max-width:52ch;margin:0 0 14px;font-size:15px;line-height:1.55}.portfolio-module__jf7IlW__outcome{font-family:var(--font-display), serif;color:var(--accent);align-items:baseline;gap:10px;max-width:60ch;font-size:15px;font-style:italic;line-height:1.5;display:flex}.portfolio-module__jf7IlW__outcome .portfolio-module__jf7IlW__dot{flex-shrink:0;transform:translateY(1px)}.portfolio-module__jf7IlW__writing{padding:40px 40px 0}.portfolio-module__jf7IlW__paper{background:var(--paper-2);border:1px solid var(--rule);max-width:960px;padding:48px;transition:border-color .25s,background .25s;display:block}.portfolio-module__jf7IlW__paper:hover{border-color:var(--accent);background:color-mix(in oklab, var(--paper-2) 85%, var(--accent) 6%)}.portfolio-module__jf7IlW__paperMeta{font-family:var(--font-mono), monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);flex-wrap:wrap;gap:24px;margin-bottom:32px;font-size:11px;display:flex}.portfolio-module__jf7IlW__paper h3{font-family:var(--font-display), serif;letter-spacing:-.02em;max-width:22ch;margin:0 0 24px;font-size:clamp(28px,3vw,44px);font-weight:300;line-height:1.1}.portfolio-module__jf7IlW__paper h3 em{color:var(--accent);font-style:italic;font-weight:400}.portfolio-module__jf7IlW__paperAbstract{color:var(--ink-soft);max-width:66ch;margin:0 0 32px;font-size:16px;line-height:1.6}.portfolio-module__jf7IlW__paperFooter{font-family:var(--font-mono), monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);border-top:1px solid var(--rule);justify-content:space-between;padding-top:20px;font-size:11px;display:flex}.portfolio-module__jf7IlW__paper:hover .portfolio-module__jf7IlW__paperDoi{color:var(--accent)}.portfolio-module__jf7IlW__stack{border-top:1px solid var(--rule);grid-template-columns:repeat(4,1fr);gap:24px;padding:64px 40px;display:grid}.portfolio-module__jf7IlW__stackCol{min-width:0}.portfolio-module__jf7IlW__stackCol h4{font-family:var(--font-mono), monospace;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin:0 0 16px;font-size:11px;font-weight:400}.portfolio-module__jf7IlW__stackCol ul{margin:0;padding:0;list-style:none}.portfolio-module__jf7IlW__stackCol li{font-family:var(--font-display), serif;border-bottom:1px solid var(--rule);white-space:nowrap;text-overflow:ellipsis;padding:8px 0;font-size:18px;overflow:hidden}.portfolio-module__jf7IlW__contact{border-top:1px solid var(--rule);grid-template-columns:repeat(12,1fr);align-items:end;gap:24px;padding:96px 40px;display:grid}.portfolio-module__jf7IlW__contact h2{font-family:var(--font-display), serif;letter-spacing:-.03em;grid-column:1/8;margin:0;font-size:clamp(56px,8vw,112px);font-weight:300;line-height:.95}.portfolio-module__jf7IlW__contactBox{flex-direction:column;grid-column:9/13;gap:12px;display:flex}.portfolio-module__jf7IlW__contactBox a{border-bottom:1px solid var(--rule);justify-content:space-between;padding:12px 0;font-size:16px;transition:color .2s,border-color .2s;display:flex}.portfolio-module__jf7IlW__contactBox a:hover{color:var(--accent);border-color:var(--accent)}.portfolio-module__jf7IlW__k{font-family:var(--font-mono), monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);font-size:11px}.portfolio-module__jf7IlW__footer{font-family:var(--font-mono), monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);border-top:1px solid var(--rule);justify-content:space-between;padding:24px 40px;font-size:10px;display:flex}@media (max-width:1024px){.portfolio-module__jf7IlW__stack{grid-template-columns:1fr 1fr}}@media (max-width:760px){.portfolio-module__jf7IlW__nav{grid-template-columns:1fr auto;padding:14px 20px}.portfolio-module__jf7IlW__brand{grid-column:1}.portfolio-module__jf7IlW__meta,.portfolio-module__jf7IlW__links{display:none}.portfolio-module__jf7IlW__langBox{grid-column:2}.portfolio-module__jf7IlW__hero{grid-template-columns:1fr;padding:48px 20px 32px}.portfolio-module__jf7IlW__heroTag,.portfolio-module__jf7IlW__heroStatement,.portfolio-module__jf7IlW__heroPositioning,.portfolio-module__jf7IlW__heroSig,.portfolio-module__jf7IlW__heroRule{grid-column:1}.portfolio-module__jf7IlW__heroSig{text-align:left;align-items:flex-start;margin-top:24px}.portfolio-module__jf7IlW__heroStatement h1{font-size:52px}.portfolio-module__jf7IlW__secHead{grid-template-columns:1fr;padding:40px 20px 12px}.portfolio-module__jf7IlW__num,.portfolio-module__jf7IlW__secHead h2,.portfolio-module__jf7IlW__note{text-align:left;grid-column:1}.portfolio-module__jf7IlW__projects,.portfolio-module__jf7IlW__writing,.portfolio-module__jf7IlW__stack,.portfolio-module__jf7IlW__contact,.portfolio-module__jf7IlW__footer{padding-left:20px;padding-right:20px}.portfolio-module__jf7IlW__row{grid-template-columns:1fr;gap:6px;padding:24px 0}.portfolio-module__jf7IlW__rowNum,.portfolio-module__jf7IlW__rowYear,.portfolio-module__jf7IlW__rowTitle,.portfolio-module__jf7IlW__rowTag,.portfolio-module__jf7IlW__rowStack,.portfolio-module__jf7IlW__rowToggle{grid-column:1}.portfolio-module__jf7IlW__rowTitle{font-size:28px}.portfolio-module__jf7IlW__rowToggle{font-family:var(--font-mono), monospace;justify-self:start;align-items:center;gap:6px;padding-top:0;display:flex!important}.portfolio-module__jf7IlW__rowToggle:before{content:"▾";color:var(--ink-faint);font-size:18px;transition:transform .3s;display:inline-block}.portfolio-module__jf7IlW__rowToggleOpen:before{color:var(--accent);transform:rotate(180deg)}.portfolio-module__jf7IlW__rowToggle:after{content:attr(data-label);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);font-size:10px}.portfolio-module__jf7IlW__preview{grid-column:1}.portfolio-module__jf7IlW__previewInner{grid-template-columns:1fr}.portfolio-module__jf7IlW__paper{padding:28px}.portfolio-module__jf7IlW__stack{grid-template-columns:1fr 1fr}.portfolio-module__jf7IlW__contact{grid-template-columns:1fr;padding:56px 20px}.portfolio-module__jf7IlW__contact h2,.portfolio-module__jf7IlW__contactBox{grid-column:1}.portfolio-module__jf7IlW__footer{flex-direction:column;gap:6px}}
