:root{--bg:#f4f0ea;--ink:#24221f;--muted:#77716a;--line:#d8d0c7;--accent:#a34f38;--surface:#ece6de}.dark{--bg:#242320;--ink:#f2eee7;--muted:#aaa39a;--line:#48443e;--accent:#d18468;--surface:#302e2a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;transition:background .25s,color .25s}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.site-nav{height:76px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--bg) 90%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.monogram{font-size:1.1rem;font-weight:700;letter-spacing:-.08em}.monogram span{color:var(--accent)}.nav-links{display:flex;gap:2.2rem;margin-left:auto;margin-right:3rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em}.footer-bottom a,.nav-links a{transition:color .2s}.contact-links a:hover,.footer-bottom a:hover,.nav-links a:hover{color:var(--accent)}.nav-actions{display:flex;align-items:center;gap:1.2rem}.theme-toggle{border:1px solid var(--line);background:transparent;width:34px;height:20px;border-radius:20px;padding:2px;cursor:pointer}.theme-toggle span{display:block;width:14px;height:14px;background:var(--ink);border-radius:50%;transition:transform .2s}.theme-toggle span.is-dark{transform:translateX(14px)}.menu-button{display:none;border:0;background:none;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;color:var(--ink)}.page-section{padding:9.5rem 10vw;border-bottom:1px solid var(--line)}.hero{min-height:680px;display:flex;flex-direction:column;justify-content:center;padding-top:10rem;padding-bottom:7rem}.experience-stack,.eyebrow,.focus-list span,.footer-bottom,.footer-top,.hero-meta,.post-time,.project-meta,.project-tech,.section-kicker,.skill-groups span{font-size:.68rem;line-height:1.4;letter-spacing:.13em;text-transform:uppercase}.eyebrow{color:var(--accent)}.eyebrow span{color:var(--muted);margin:0 .45rem}.hero h1{font-size:clamp(4rem,10vw,9.5rem);line-height:.88;letter-spacing:-.085em;font-weight:500;max-width:1000px;margin:2rem 0 4rem}.footer-name em,.hero h1 em,h2 em{font-family:Georgia,serif;font-weight:400}.hero-bottom{display:flex;gap:6rem;align-items:end;max-width:720px}.hero-bottom p{max-width:320px;font-family:Georgia,serif;font-size:1.12rem;line-height:1.45;margin:0}.hero-links{display:flex;flex-direction:column;gap:.65rem}.arrow-link,.text-link{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.arrow-link span{margin-left:.7rem;font-size:1rem}.hero-meta,.muted-link{color:var(--muted)}.hero-meta{margin-top:5rem;max-width:480px}.section-kicker{color:var(--accent)}.section-kicker span{color:var(--muted);margin-right:1.3rem}.intro-grid,.skills-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:9vw;gap:9vw;margin-top:4rem}.intro h2,.skills h2{font-size:clamp(2.8rem,5vw,5.5rem);line-height:.94;letter-spacing:-.07em;font-weight:500;margin:0}.lead{font-family:Georgia,serif;font-size:1.55rem;line-height:1.25;margin:0 0 2rem}.intro-grid>div>p:not(.lead){color:var(--muted);max-width:470px;line-height:1.7}.focus-list{margin-top:3.2rem;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.focus-list span{padding:.8rem 0;border-bottom:1px solid var(--line);color:var(--muted)}.focus-list span:first-child{color:var(--accent);grid-column:1/-1}.section-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:4rem}.section-header p{margin:0;font-family:Georgia,serif;line-height:1.35;color:var(--muted)}.project-row{display:grid;grid-template-columns:5% 50% 1fr;grid-gap:2.5vw;gap:2.5vw;align-items:start;margin-bottom:8rem}.project-row:nth-child(2n){grid-template-columns:5% 1fr 50%}.project-row:nth-child(2n) .project-image-link{order:3}.project-row:nth-child(2n) .project-copy{order:2}.project-number{color:var(--accent);font-size:.7rem;letter-spacing:.1em}.project-visual{aspect-ratio:1.35;background:var(--surface);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;transition:transform .35s}.project-image-link:hover .project-visual{transform:scale(.985)}.project-visual:after,.project-visual:before{content:"";position:absolute;border:1px solid color-mix(in srgb,var(--ink) 25%,transparent);width:55%;height:65%;transform:rotate(-12deg)}.project-visual:after{width:38%;height:42%;transform:rotate(18deg)}.project-visual.rust{background:#b65e43;color:#f4f0ea}.project-visual.sage{background:#aeb9a5;color:#26312a}.project-visual.ink{background:#343735;color:#d3dac9}.visual-label{position:absolute;top:1.2rem;left:1.3rem;font-size:.62rem;letter-spacing:.12em}.visual-mark{font-size:7rem;font-family:Georgia,serif;z-index:1}.project-meta{display:flex;justify-content:space-between;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:.8rem}.project-copy h3{font-size:clamp(2rem,4vw,4rem);font-weight:500;letter-spacing:-.06em;margin:1.6rem 0 1rem}.project-copy p{color:var(--muted);line-height:1.55;max-width:320px}.project-tech{color:var(--muted);margin:2rem 0}.text-link{display:inline-block;border-bottom:1px solid var(--accent);padding-bottom:.3rem}.text-link span{font-size:1rem;margin-left:.5rem}.timeline{margin-top:4rem}.experience-row{display:grid;grid-template-columns:1.1fr 1.3fr 2fr 1.2fr;grid-gap:2rem;gap:2rem;padding:1.8rem 0;border-top:1px solid var(--line)}.experience-row:last-child{border-bottom:1px solid var(--line)}.experience-date,.experience-stack{color:var(--muted)}.experience-row h3{margin:0;font-size:1.2rem;font-weight:500}.company{color:var(--accent);margin:.4rem 0 0}.experience-description{color:var(--muted)}.experience-description,.experience-stack{margin:0;line-height:1.5}.skill-groups{display:grid;grid-template-columns:1fr 1fr;grid-gap:0 3rem;gap:0 3rem}.skill-groups>div{border-top:1px solid var(--line);padding:1.2rem 0}.skill-groups span{color:var(--accent)}.skill-groups p{margin:.7rem 0 0;color:var(--muted);line-height:1.5}.post-list{border-top:1px solid var(--line)}.post-row{display:grid;grid-template-columns:1fr 3fr 1fr 30px;grid-gap:2rem;gap:2rem;align-items:center;padding:1.8rem 0;border-bottom:1px solid var(--line);transition:padding .25s,color .25s}.post-row:hover{color:var(--accent);padding-left:.8rem;padding-right:.8rem}.post-date,.post-time{color:var(--muted);font-size:.68rem;letter-spacing:.1em}.post-row h3{margin:0 0 .45rem;font-size:1.55rem;font-weight:500;letter-spacing:-.04em}.post-row p{color:var(--muted);margin:0}.post-arrow{font-size:1.3rem;text-align:right}.all-writing{margin-top:2rem}.achievement-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:4rem}.achievement-grid>div{border-top:1px solid var(--line);padding:1.2rem 1.5rem 1.2rem 0}.achievement-grid h3{margin:0;font-size:1.1rem;font-weight:500}.achievement-grid p{color:var(--muted);margin:.5rem 0 0}.contact{display:grid;grid-template-columns:1.1fr .9fr;grid-gap:10vw;gap:10vw;background:var(--surface)}.contact h2{font-size:clamp(3.4rem,7vw,7.8rem);line-height:.84;letter-spacing:-.08em;font-weight:500;margin:4rem 0 2.5rem}.contact-heading>p{font-family:Georgia,serif;font-size:1.2rem;max-width:300px;line-height:1.4}.contact-links{display:flex;flex-wrap:wrap;gap:1.4rem 2rem;margin-top:3rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}.contact-form{display:flex;flex-direction:column;gap:1.5rem;align-self:end}.contact-form label{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.contact-form input,.contact-form textarea{display:block;width:100%;margin-top:.7rem;background:transparent;color:var(--ink);border:0;border-bottom:1px solid var(--line);padding:.5rem 0 .8rem;font:inherit;outline:0;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent)}.submit-button{align-self:start;border:1px solid var(--ink);color:var(--ink);background:transparent;padding:1rem 1.2rem;font-size:.68rem;letter-spacing:.12em;cursor:pointer}.submit-button:hover{background:var(--ink);color:var(--bg)}.form-message h3{font-size:2rem;font-weight:500;margin:1.5rem 0 .7rem}.form-message p:not(.eyebrow){color:var(--muted)}.form-message .text-link{background:none;border:0;border-bottom:1px solid var(--accent);padding:0 0 .3rem;margin-top:1rem;cursor:pointer}.site-footer{padding:2.5rem 5vw 2rem}.footer-bottom,.footer-top{display:flex;justify-content:space-between;color:color-mix(in srgb,var(--bg) 60%,transparent);line-height:1.5}.footer-name{font-size:clamp(5rem,19vw,19rem);line-height:.75;letter-spacing:-.11em;margin:11rem 0 10rem}.footer-bottom{align-items:end}.footer-bottom>div{display:flex;gap:1.5rem}.footer-bottom a:last-child{color:var(--bg)}.detail-page{min-height:100vh}.detail-eyebrow{margin-top:7rem}.detail-page h1{font-size:clamp(4rem,10vw,9rem);line-height:.86;letter-spacing:-.08em;font-weight:500;margin:2rem 0 5rem}.detail-copy{max-width:600px;margin:3rem 0}.detail-copy p{color:var(--muted);line-height:1.7}.detail-copy .lead{color:var(--ink)}.detail-hero{border:0}.case-study{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:5rem;gap:5rem}.case-study p{font-family:Georgia,serif;font-size:1.4rem;line-height:1.35}.article-page{max-width:980px;margin:auto}.article-page h1{max-width:850px}.article-meta{display:flex;gap:1.5rem;margin-top:3rem;color:var(--muted);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}.article-intro{font-family:Georgia,serif;font-size:1.55rem;line-height:1.35;max-width:590px;color:var(--muted);margin-bottom:7rem}.article-body{max-width:650px;margin:0 auto 7rem}.article-body h2{font-size:2rem;font-weight:500;letter-spacing:-.05em;margin-top:4rem}.article-body p{font-family:Georgia,serif;font-size:1.2rem;line-height:1.7;color:var(--muted)}.listing-page{max-width:1200px;margin:auto}.listing-intro{max-width:430px;color:var(--muted);font-family:Georgia,serif;font-size:1.3rem;line-height:1.45;margin:0 0 7rem}@media (max-width:800px){.site-nav{padding:0 6vw}.nav-links{display:none;position:absolute;top:75px;left:0;right:0;padding:1.5rem 6vw;background:var(--bg);border-bottom:1px solid var(--line);flex-direction:column;gap:1.2rem;margin:0}.nav-links.open{display:flex}.menu-button{display:block}.page-section{padding:6rem 6vw}.hero{min-height:610px;padding-top:7rem}.hero h1{font-size:clamp(3.8rem,16vw,7rem);margin:1.5rem 0 3rem}.contact,.hero-bottom,.intro-grid,.skills-grid{grid-template-columns:1fr;display:grid;grid-gap:3rem;gap:3rem}.hero-bottom{display:flex;flex-direction:column;align-items:start;gap:1.8rem}.hero-meta{margin-top:4rem}.section-header{display:block}.section-header p{margin-top:1.7rem}.project-row,.project-row:nth-child(2n){display:grid;grid-template-columns:30px 1fr;grid-gap:1rem;gap:1rem;margin-bottom:5.5rem}.project-row .project-image-link,.project-row:nth-child(2n) .project-image-link{grid-column:2;grid-row:1;order:0}.project-row .project-copy,.project-row:nth-child(2n) .project-copy{grid-column:2;grid-row:2;order:0}.project-number{grid-column:1;grid-row:1}.experience-row{grid-template-columns:1fr 1fr;gap:1rem}.experience-description,.experience-stack{grid-column:1/-1}.skill-groups{grid-template-columns:1fr}.post-row{grid-template-columns:1fr 30px;gap:.8rem}.post-date,.post-time{grid-column:1}.post-time{grid-row:2}.post-row>span:nth-child(2){grid-column:1}.post-arrow{grid-column:2;grid-row:1/span 2}.achievement-grid,.case-study{grid-template-columns:1fr}.contact h2{margin-top:3rem}.footer-name{margin:8rem 0 7rem;font-size:23vw}.footer-bottom{flex-wrap:wrap;gap:1.5rem}.footer-bottom>div{order:3;width:100%;gap:1rem;flex-wrap:wrap}.detail-page h1{font-size:clamp(3.7rem,14vw,7rem)}.article-intro{margin-bottom:4rem}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.experience-title{display:flex;justify-content:space-between;align-items:end}.experience-title h2{font-size:clamp(2.8rem,5vw,5.5rem);line-height:.94;letter-spacing:-.07em;font-weight:500;margin:0}.experience-tabs{display:flex;gap:1rem;margin:4rem 0 2.5rem}.experience-tab{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border:1px solid var(--line);border-radius:.8rem;background:transparent;color:var(--muted);font:inherit;font-size:.78rem;font-weight:600;cursor:pointer;transition:background .2s,color .2s,border-color .2s}.experience-tab span{font-size:1.2rem;line-height:1}.experience-tab.active{background:var(--ink);border-color:var(--ink);color:var(--bg)}.experience-cards{display:grid;grid-gap:1.25rem;gap:1.25rem}.experience-card{position:relative;background:#191a1a;color:#f2f0eb;border:1px solid #303130;border-radius:1rem;padding:2.25rem 2.5rem 2.1rem;box-shadow:0 12px 30px #00000012}.experience-card-top{display:flex;align-items:center;gap:1rem;color:#969aa6;font-size:.9rem}.experience-type{display:inline-flex;align-items:center;gap:.6rem;border:1px solid #5c5e62;background:#2d2e2e;border-radius:2rem;padding:.65rem 1rem;color:#f2f0eb}.experience-type span{font-size:1.15rem}.experience-date{letter-spacing:.01em}.experience-expand{margin-left:auto;width:3.1rem;height:3.1rem;border:1px solid #454648;border-radius:50%;background:#2c2d2d;color:#aeb1ba;font-size:1.8rem;font-weight:200;line-height:1;cursor:pointer}.experience-card h3{font-size:clamp(1.55rem,2.5vw,2.1rem);letter-spacing:-.04em;margin:1.6rem 0 .55rem}.experience-card h4{color:#9ca0ab;font-size:1.25rem;margin:0 0 1.35rem}.experience-chips{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin-bottom:1.7rem}.experience-chips span{border:1px solid #344254;background:#202c3b;color:#c6cbd5;border-radius:2rem;padding:.48rem .75rem;font-size:.86rem}.experience-chips b{font-weight:400;color:#8e929e;font-size:.9rem}.experience-card p{max-width:900px;color:#a8abb4;font-size:1rem;line-height:1.5;margin:0}.empty-experience{border:1px dashed var(--line);padding:4rem 2rem;text-align:center;color:var(--muted)}.empty-experience span{color:var(--accent);font-size:.7rem;letter-spacing:.14em}@media (max-width:800px){.experience-title{display:block}.experience-title h2{margin-top:2rem}.experience-tabs{overflow-x:auto;margin:2.5rem 0 1.5rem;padding-bottom:.3rem}.experience-tab{white-space:nowrap;padding:.85rem 1rem}.experience-card{padding:1.4rem 1.2rem 1.5rem}.experience-card-top{align-items:start;flex-wrap:wrap}.experience-date{padding-top:.7rem}.experience-expand{position:absolute;top:1.35rem;right:1.2rem}.experience-card h3{padding-right:3.5rem;margin-top:1.5rem}}.background-groups{margin-top:4rem;display:grid;grid-template-columns:1.25fr .75fr;grid-gap:5rem 7vw;gap:5rem 7vw}.background-group{min-width:0}.background-group-label{color:var(--accent);font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;margin-bottom:1rem}.background-item{border-top:1px solid var(--line);padding:1.4rem 0 1.6rem}.background-item:last-child{border-bottom:1px solid var(--line)}.background-item-top{display:flex;align-items:center;gap:1rem;color:var(--muted);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.background-kind{color:var(--accent)}.background-expand{margin-left:auto;width:2rem;height:2rem;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--muted);font-size:1.25rem;font-weight:300;line-height:1;cursor:pointer}.background-main{display:grid;grid-template-columns:1.1fr 1fr;grid-gap:2rem;gap:2rem;margin-top:1.2rem}.background-main h3{margin:0;font-size:1.4rem;font-weight:500;letter-spacing:-.04em}.background-main h4{margin:.45rem 0 0;color:var(--muted);font-size:.95rem;font-weight:400}.background-main p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.5}.background-tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1.35rem}.background-tags span{border:1px solid var(--line);border-radius:2rem;padding:.38rem .65rem;color:var(--muted);font-size:.7rem}.split-group{align-self:start}.background-note{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1.4rem 0 1.6rem}.background-note span{font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}.background-note p{font-family:Georgia,serif;font-size:1.15rem;line-height:1.4;color:var(--muted);margin:1.2rem 0 0;max-width:300px}.split-group+.split-group{margin-top:2.5rem}.background-tabs{display:flex;gap:.65rem;margin:4rem 0 2.5rem;border-bottom:1px solid var(--line);padding-bottom:1rem}.background-tab{border:0;border-bottom:1px solid transparent;background:transparent;color:var(--muted);padding:.7rem .9rem;font:inherit;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:color .2s,border-color .2s}.background-tab:hover{color:var(--ink)}.background-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.background-panel{min-height:17rem}.background-panel>.background-group{max-width:1000px}@media (max-width:800px){.background-groups{grid-template-columns:1fr;gap:3rem}.background-main{grid-template-columns:1fr;gap:.8rem}.background-main p{max-width:34rem}.split-group+.split-group{margin-top:0}.background-tabs{overflow-x:auto;gap:.25rem;margin:2.5rem 0 2rem}.background-tab{white-space:nowrap;padding:.65rem .7rem;font-size:.66rem}.background-panel{min-height:22rem}}.site-footer{background:var(--bg);color:var(--ink);border-top:1px solid var(--line)}.site-footer .footer-bottom,.site-footer .footer-top{color:var(--muted)}.site-footer .footer-bottom a:last-child{color:var(--ink)}.site-footer{overflow:hidden}.footer-name{white-space:nowrap;width:100%;font-family:Avenir Next,Avenir,Century Gothic,Trebuchet MS,sans-serif;font-size:clamp(4rem,14vw,22rem);letter-spacing:-.12em;margin:6rem 0 5rem}.footer-name,.footer-name em{font-style:normal;font-weight:600}.footer-name em{font-family:inherit}@media (max-width:800px){.footer-name{font-size:14vw;letter-spacing:-.13em;margin:5rem 0 4rem}}.site-footer{background:var(--ink);color:var(--bg);border-top:1px solid color-mix(in srgb,var(--bg) 18%,transparent);padding:2.5rem 5vw 1.35rem}.site-footer .footer-bottom,.site-footer .footer-top{color:color-mix(in srgb,var(--bg) 68%,transparent)}.site-footer .footer-bottom a:last-child{color:var(--bg)}.footer-legal{align-items:center;justify-content:space-between;border-top:1px solid color-mix(in srgb,var(--bg) 18%,transparent);margin-top:2rem;padding-top:1.35rem;color:color-mix(in srgb,var(--bg) 68%,transparent);font-size:.78rem}.footer-legal,.footer-legal>div{display:flex;gap:2rem}.footer-legal a{transition:color .2s}.footer-legal a:hover{color:var(--bg)}@media (max-width:600px){.footer-legal{align-items:flex-start;flex-direction:column;gap:1rem;font-size:.7rem}.footer-legal>div{gap:1.2rem}}.background-panel>.background-group{max-width:none;width:100%}.background-panel>.background-group>.background-item:first-child{border-top:0}.background-tabs{border-bottom:0;padding-bottom:0}.background-tab{width:190px;text-align:left;padding-left:0;border-bottom-color:var(--line)}@media (max-width:800px){.background-tab{width:150px;min-width:150px}}.background-tabs{margin-bottom:.75rem}.background-panel>.background-group>.background-item:first-child{padding-top:.75rem}.detail-about{min-height:100vh}.detail-about>.text-link{display:inline-block;margin-bottom:7rem}.detail-about-kicker{margin-bottom:4rem}.detail-about h1{font-size:clamp(2.8rem,5vw,5.5rem);line-height:.94;letter-spacing:-.07em;font-weight:500;margin:0}.detail-about h1 em{font-family:Georgia,serif;font-weight:400}.detail-copy-section{display:flex;align-items:flex-end;justify-content:space-between;gap:4rem}.detail-copy-section .detail-copy{max-width:600px;margin:0}.detail-copy-section .detail-copy p{margin:0 0 1.5rem}.detail-copy-section .detail-copy p:last-child{margin-bottom:0}@media (max-width:800px){.detail-about>.text-link{margin-bottom:4rem}.detail-about-kicker{margin-bottom:2.5rem}.detail-about .intro-grid{display:grid}.detail-copy-section{display:block}.detail-copy-section .arrow-link{display:inline-block;margin-top:2rem}}.reveal-on-scroll{opacity:0;transform:translate3d(0,2.5rem,0);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1)}.reveal-on-scroll.is-visible{opacity:1;transform:none}.background-item:nth-child(2),.post-row:nth-child(2),.project-row:nth-child(2){transition-delay:.1s}.background-item:nth-child(3),.post-row:nth-child(3),.project-row:nth-child(3){transition-delay:.18s}@media (prefers-reduced-motion:reduce){.reveal-on-scroll{opacity:1;transform:none;transition:none}}.background-preview{background:color-mix(in srgb,var(--bg) 94%,var(--ink));display:grid;grid-template-columns:minmax(230px,.7fr) minmax(0,1.3fr);grid-gap:9vw;gap:9vw;align-items:start}.background-preview>.section-header{position:-webkit-sticky;position:sticky;top:20vh;margin:0;display:block}.background-preview>.section-header>p{margin-top:2rem}.background-preview-list{margin-top:0}.background-preview-group{border-top:1px solid var(--line);padding:1.2rem 0 0}.background-preview-group+.background-preview-group{margin-top:5rem}.background-preview-label{color:var(--accent);font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;margin-bottom:1.5rem}.background-preview-card{display:grid;grid-template-columns:1fr 1fr;grid-gap:4rem;gap:4rem;border-bottom:1px solid var(--line);padding:2.2rem 0 2.5rem}.background-preview-card h3{font-size:clamp(1.8rem,3vw,3.2rem);font-weight:500;letter-spacing:-.06em;margin:.8rem 0 .45rem}.background-preview-card h4{color:var(--muted);font-size:1rem;font-weight:400;margin:0}.background-preview-meta{color:var(--muted);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}.background-preview-card p{color:var(--muted);line-height:1.6;margin:2.1rem 0 0;max-width:520px}@media (max-width:800px){.background-preview{display:block}.background-preview>.section-header{position:static}.background-preview-group+.background-preview-group,.background-preview-list{margin-top:3rem}.background-preview-card{grid-template-columns:1fr;gap:0;padding:1.7rem 0 2rem}.background-preview-card p{margin-top:1.4rem}}.collection-hero{min-height:620px;display:flex;flex-direction:column;justify-content:flex-end;padding-top:8rem}.collection-hero h1{font-size:clamp(4rem,9vw,8.5rem);line-height:.88;letter-spacing:-.08em;font-weight:500;margin:2.5rem 0 4.5rem}.collection-cta h2 em,.collection-hero h1 em{font-family:Georgia,serif;font-weight:400}.collection-hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:4rem}.collection-hero-bottom p{font-family:Georgia,serif;font-size:1.25rem;line-height:1.45;max-width:520px;margin:0}.archive-heading,.collection-hero-bottom span,.post-tags{font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}.collection-list{padding-top:7rem}.collection-list .project-row:last-child{margin-bottom:0}.collection-list .project-copy h2{font-size:clamp(2rem,4vw,4rem);font-weight:500;letter-spacing:-.06em;margin:1.6rem 0 1rem}.collection-cta{display:grid;grid-template-columns:1fr 2fr;grid-gap:4rem;gap:4rem;align-items:end}.collection-cta h2{font-size:clamp(3rem,6vw,6rem);line-height:.94;letter-spacing:-.07em;font-weight:500;margin:0}.collection-cta .arrow-link{justify-self:end}.writing-hero{background:color-mix(in srgb,var(--bg) 94%,var(--ink))}.writing-archive{padding-top:5rem}.archive-heading{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:1.2rem}.archive-row h2{font-size:clamp(1.7rem,3vw,3rem);font-weight:500;letter-spacing:-.05em;margin:.65rem 0 .6rem}.post-tags{color:var(--accent)}@media (max-width:800px){.collection-hero{min-height:560px;padding-top:7rem}.collection-hero h1{margin:2rem 0 3rem}.collection-hero-bottom{display:block}.collection-hero-bottom p{font-size:1.1rem}.collection-hero-bottom span{display:block;margin-top:2.5rem}.collection-list{padding-top:4rem}.collection-cta{grid-template-columns:1fr}.collection-cta .arrow-link{justify-self:start}.archive-row h2{margin-top:.55rem}}.experience{scroll-margin-top:75px;background:var(--surface)}.career-layout{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,2fr);grid-gap:clamp(3rem,7vw,8rem);gap:clamp(3rem,7vw,8rem)}.career-heading h2{font-size:clamp(3rem,5.2vw,5.6rem);font-weight:500;line-height:.98;letter-spacing:-.065em;margin:2.5rem 0 1.8rem}.career-heading>p{max-width:260px;font-family:Georgia,serif;font-size:1.125rem;line-height:1.65;color:var(--muted)}.career-note{display:block;margin-top:3rem;color:var(--accent);font-size:.75rem;letter-spacing:.12em}.career-tabs{min-width:0;gap:0}.career-tab-list{display:flex;width:100%;height:auto!important;justify-content:flex-start;gap:1.5rem;background:transparent;padding:0;border-bottom:1px solid var(--line);border-radius:0}.career-tab{flex:0 1 auto;white-space:normal;min-height:60px;height:auto;padding:0 0 1.1rem;gap:.55rem;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent!important;color:var(--muted);font-size:.875rem;box-shadow:none!important;cursor:pointer}.career-tab[data-active]{color:var(--ink);border-bottom-color:var(--accent)}.career-tab>span{font-size:.75rem;color:var(--accent);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.career-panel{padding-top:2.8rem}.career-timeline{list-style:none;margin:0;padding:0 0 0 1.5rem}.career-entry{position:relative;border-left:1px solid var(--line);padding:0 0 3rem 2rem}.career-entry:last-child{padding-bottom:0}.career-marker{position:absolute;left:-6px;top:5px;width:11px;height:11px;border:2px solid var(--accent);border-radius:50%;background:var(--surface)}.career-entry:first-child .career-marker{background:var(--accent);box-shadow:0 0 0 5px var(--surface)}.career-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.7rem;color:var(--muted);font-size:.875rem;line-height:1.5}.career-current{color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);padding:.2rem .55rem;border-radius:3px;font-size:.75rem}.career-index{margin-left:auto;font-family:Georgia,serif;font-style:italic;color:var(--muted)}.career-organization{margin:1.5rem 0 .6rem;color:var(--accent);font-size:.875rem;line-height:1.5}.career-entry h3{font-weight:500;font-size:clamp(1.5rem,2.2vw,2.15rem);line-height:1.2;letter-spacing:-.035em;margin:0;max-width:580px;text-wrap:balance}.career-description{font-size:1rem;line-height:1.75;color:var(--muted);margin:1.2rem 0 1.5rem;max-width:610px}.career-tags{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:0}.career-tags li{font-size:.875rem;line-height:1.4;border:1px solid var(--line);padding:.4rem .65rem;border-radius:4px;color:var(--ink);background:var(--bg)}@media (max-width:1000px){.career-layout{grid-template-columns:1fr;gap:2.5rem}.career-heading h2 br:nth-of-type(2){display:none}.career-heading>p{max-width:420px}.career-note{display:none}.career-heading h2{margin:2rem 0 1rem}}@media (max-width:500px){.career-tab-list{gap:1rem}.career-tab{font-size:.875rem;gap:.3rem}.career-tab>span{display:none}.career-timeline{padding-left:.4rem}.career-entry{padding-left:1.3rem}.career-meta{font-size:.8125rem}.career-panel{padding-top:2rem}.career-index{display:none}}.selected-work{scroll-margin-top:76px}.selected-work-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:3rem;margin-bottom:3rem}.selected-work-heading h2{font-size:clamp(2.6rem,4.3vw,4.5rem);font-weight:500;line-height:1.05;letter-spacing:-.055em;margin:1.5rem 0 0}.selected-work-heading>p{font-family:Georgia,serif;font-size:1.125rem;line-height:1.6;color:var(--muted);margin:0}.simple-projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1.25rem;gap:1.25rem}.simple-project{display:flex;flex-direction:column;align-items:flex-start;gap:1.35rem;min-width:0;padding:1.75rem;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--surface) 45%,var(--bg));transition:border-color .2s}.simple-project-meta{font-size:.8125rem;line-height:1.6;color:var(--muted)}.simple-project h3{font-size:clamp(1.6rem,2.5vw,2.2rem);font-weight:500;letter-spacing:-.04em;line-height:1.2;margin:1rem 0 0}.simple-project-details{display:flex;flex-direction:column;flex:1 1;width:100%}.simple-project-details p{font-size:1rem;line-height:1.7;color:var(--muted);margin:0 0 1.5rem}.simple-project-tech{display:flex;flex-wrap:wrap;gap:.4rem;margin:auto 0 0;padding:0;list-style:none}.simple-project-tech li{font-size:.75rem;line-height:1.5;color:var(--muted);padding:.3rem .55rem;border:1px solid var(--line);border-radius:4px;background:var(--bg)}.simple-project-link{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:44px;padding-top:1rem;border-top:1px solid var(--line);font-size:.875rem;color:var(--accent)}.simple-project a:hover{text-decoration:underline;text-underline-offset:5px}.simple-project:focus-within{border-color:var(--accent)}@media (hover:hover){.simple-project:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--line))}}@media (max-width:1000px){.simple-projects{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:650px){.selected-work-heading{display:block}.selected-work-heading>p{margin-top:1.5rem}.simple-projects{grid-template-columns:minmax(0,1fr)}.simple-project{padding:1.5rem}}@media (prefers-reduced-motion:reduce){.simple-project{transition:none}}.hero.hero-minimal{min-height:660px;min-height:min(780px,calc(100svh - 76px));padding:6.5rem 6vw 3rem;text-align:center;position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 50% 44%,color-mix(in srgb,var(--accent) 9%,transparent),transparent 64%),var(--bg)}.hero-intro,.hero.hero-minimal{align-items:center;justify-content:center}.hero-intro{display:flex;flex-wrap:wrap;gap:.8rem;font-size:.875rem;line-height:1.6;color:var(--muted)}.hero-intro-line{width:24px;height:1px}.hero-intro-divider{color:var(--line)}.hero-minimal h1{max-width:1100px;font-size:clamp(3.25rem,7.6vw,7.5rem);font-weight:400;line-height:1.04;letter-spacing:-.065em;margin:2.4rem 0 1.6rem;text-wrap:balance}.hero-minimal h1 em{position:relative;display:inline-block;color:var(--accent);letter-spacing:-.06em}.hero-minimal h1 em:after{content:"";position:absolute;left:8%;right:5%;bottom:-.11em;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.45}.hero-summary{font-size:1.125rem;line-height:1.75;max-width:520px;margin:0;color:var(--muted)}.hero-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:1.8rem;margin-top:2rem}.hero-primary-link,.hero-secondary-link{display:inline-flex;align-items:center;justify-content:center;gap:1.5rem;font-size:.875rem;line-height:1.5;min-height:48px;transition:background .2s,color .2s,border-color .2s}.hero-primary-link{background:var(--ink);color:var(--bg);padding:.8rem 1.3rem;border:1px solid var(--ink);border-radius:100px;box-shadow:0 5px 15px color-mix(in srgb,var(--ink) 12%,transparent)}.hero-secondary-link{color:var(--ink);border-bottom:1px solid var(--line);padding:.5rem 0}.hero-actions a>span{font-size:1.125rem}.hero-primary-link:hover{background:var(--accent);border-color:var(--accent)}.hero-secondary-link:hover{color:var(--accent);border-color:var(--accent)}.hero-footnote{display:flex;justify-content:center;flex-wrap:wrap;gap:.7rem;margin-top:4rem;font-size:.75rem;line-height:1.5;letter-spacing:.03em;color:var(--muted)}@media (max-width:600px){.hero.hero-minimal{min-height:610px;padding:5rem 6vw 3rem}.hero-intro{gap:.55rem;font-size:.8125rem}.hero-intro-line{width:16px}.hero-minimal h1{font-size:clamp(2.8rem,9.7vw,3.8rem);margin:2rem 0 1.5rem}.hero-summary{font-size:1rem;max-width:340px}.hero-desktop-break{display:none}.hero-actions{gap:1.4rem;margin-top:1.8rem}.hero-primary-link,.hero-secondary-link{gap:.65rem}.hero-footnote{margin-top:3rem}}@media (prefers-reduced-motion:reduce){.hero-actions a{transition:none}}.hero-minimal:before{inset:0;background-image:radial-gradient(var(--line) .7px,transparent .7px);background-size:22px 22px;-webkit-mask-image:linear-gradient(90deg,#0008,transparent 28%,transparent 72%,#0008);mask-image:linear-gradient(90deg,#0008,transparent 28%,transparent 72%,#0008);opacity:.45}.hero-minimal:after,.hero-minimal:before{content:"";position:absolute;z-index:-1;pointer-events:none}.hero-minimal:after{inset:2rem 3vw;border-left:1px solid color-mix(in srgb,var(--line) 50%,transparent);border-right:1px solid color-mix(in srgb,var(--line) 50%,transparent)}.hero-intro{padding:.55rem 1rem;border:1px solid var(--line);border-radius:100px;background:color-mix(in srgb,var(--bg) 75%,transparent)}.hero-intro-line{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 10%,transparent)}.hero-actions a>span{display:inline-block;transition:transform .25s}.hero-primary-link:hover>span{transform:translate(2px,2px)}.hero-secondary-link:hover>span{transform:translate(2px,-2px)}.hero-footnote{position:relative;padding-top:1.2rem}.hero-footnote:before{content:"";position:absolute;top:0;left:calc(50% - 18px);width:36px;height:1px;background:var(--line)}@keyframes hero-arrive{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:no-preference){.hero-actions,.hero-footnote,.hero-intro,.hero-minimal h1,.hero-summary{animation:hero-arrive .7s ease both}.hero-minimal h1{animation-delay:.08s}.hero-summary{animation-delay:.16s}.hero-actions{animation-delay:.24s}.hero-footnote{animation-delay:.32s}}@media (max-width:600px){.hero-intro{font-size:.75rem;padding:.5rem .8rem}.hero-intro-line{width:6px}.hero-minimal:after{inset:1.2rem 3vw}.hero-minimal:before{opacity:.25}}@media (prefers-reduced-motion:reduce){.hero-actions a>span{transition:none}}.hero.hero-with-portrait{display:grid;grid-gap:clamp(2.5rem,5vw,6rem);gap:clamp(2.5rem,5vw,6rem);padding:6rem 8vw;text-align:left;align-items:center;min-height:720px}.hero-copy{min-width:0}.hero-with-portrait .hero-intro{width:-moz-fit-content;width:fit-content;justify-content:flex-start}.hero-with-portrait h1{font-size:clamp(3rem,4.8vw,5.4rem);line-height:1.08;letter-spacing:-.065em;margin:2rem 0 1.6rem;text-wrap:wrap}.hero-with-portrait h1 em{letter-spacing:-.055em}.hero-with-portrait .hero-summary{max-width:470px}.hero-with-portrait .hero-actions{justify-content:flex-start}.hero-with-portrait .hero-footnote{justify-content:flex-start;margin-top:2.5rem}.hero-with-portrait .hero-footnote:before{left:0}.hero-portrait{width:100%;max-width:420px;justify-self:end;position:relative}.hero-portrait-frame{aspect-ratio:4/5;width:100%;overflow:hidden;border-radius:6px;border:1px solid var(--line);background:var(--surface)}.hero-portrait-image{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.hero-portrait-placeholder{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2rem;background:var(--surface)}.portrait-monogram{font-family:Georgia,serif;font-size:clamp(7rem,14vw,13rem);font-weight:400;line-height:1;color:var(--ink);letter-spacing:-.1em}.portrait-monogram>span{color:var(--accent)}.portrait-placeholder-label{font-size:.75rem;letter-spacing:.18em;color:var(--muted)}.hero-portrait-caption{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.8125rem;line-height:1.5;padding:1rem .25rem 0}.hero-portrait-caption>span:last-child{color:var(--muted)}@media (max-width:1000px){.hero.hero-with-portrait{padding:5rem 6vw;gap:2.5rem;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.hero-with-portrait h1{font-size:clamp(2.8rem,5.3vw,4rem)}.hero-with-portrait .hero-intro{font-size:.75rem;gap:.5rem}.hero-with-portrait .hero-actions{gap:1rem}.hero-with-portrait .hero-actions a{gap:.6rem}}@media (max-width:700px){.hero.hero-with-portrait{grid-template-columns:minmax(0,1fr);padding:4rem 7vw;gap:3rem;min-height:0}.hero-with-portrait h1{font-size:clamp(2.7rem,8.9vw,4.5rem)}.hero-portrait{justify-self:center;max-width:340px}.hero-with-portrait .hero-summary{max-width:480px}.portrait-monogram{font-size:9rem}}@media (prefers-reduced-motion:no-preference){.hero-portrait{animation:hero-arrive .8s ease .15s both}}.hero-socials{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.25rem}.hero-social-link{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:40px;padding:.5rem .7rem;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);font-size:.875rem;font-weight:500;line-height:1.4;transition:border-color .2s,background .2s}.hero-social-link svg{width:16px;height:16px;flex-shrink:0}.hero-social-link[href]:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}@media (prefers-reduced-motion:reduce){.hero-social-link{transition:none}}.landing-page{position:relative;isolation:isolate}.landing-page:after{content:"";position:absolute;top:0;bottom:0;left:3vw;right:3vw;border-left:1px solid color-mix(in srgb,var(--line) 50%,transparent);border-right:1px solid color-mix(in srgb,var(--line) 50%,transparent);pointer-events:none;z-index:1}.landing-page .hero-minimal:after{display:none}.hero.hero-with-portrait{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:start}.hero-right-column{min-width:0;display:flex;flex-direction:column;gap:3rem}.hero-right-column .hero-portrait{align-self:center;width:min(100%,300px);margin-top:2rem}.hero-biography{text-align:left;padding:0;border:0}.hero-minimal .hero-biography h1{font-family:Georgia,serif;font-style:italic;font-size:clamp(2.4rem,3.6vw,3.8rem);line-height:1.1;font-weight:600;letter-spacing:-.04em;margin:0 0 1.3rem}.hero-biography-tagline{font-family:Georgia,serif;font-style:italic;font-size:clamp(1.25rem,1.8vw,1.7rem);line-height:1.45;color:var(--accent);margin:0 0 1.7rem}.hero-biography-body{font-size:1rem;line-height:1.85;color:var(--muted)}.hero-biography-body p{margin:0 0 1.3rem}.hero-biography-body p:last-child{margin-bottom:0}.hero-biography-body a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.hero-biography-body a:hover{color:var(--ink)}@media (max-width:1000px){.hero.hero-with-portrait{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.5rem}}@media (max-width:700px){.hero.hero-with-portrait{grid-template-columns:minmax(0,1fr)}.hero-right-column{gap:2rem}.hero-biography{padding-top:0}.hero-right-column .hero-portrait{max-width:280px;margin-top:0}}