:root{--paper:#f3f0e8;--paper-deep:#e5e0d4;--ink:#151612;--muted:#64635c;--rule:#c9c4b7;--signal:#e4471a;--signal-dark:#a92c0a;--blue:#b9c8ff;--gutter:clamp(1rem, 4vw, 4.5rem);--section-space:clamp(5rem, 10vw, 10rem);--content:90rem;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;font-family:Helvetica Neue,Arial Nova,Arial,sans-serif;line-height:1.5}*{box-sizing:border-box}html{scroll-behavior:smooth;min-width:20rem;min-height:100%}body,#root{min-height:100%}body{background:var(--paper);min-width:20rem;margin:0;overflow-x:hidden}body:before{z-index:-1;content:"";pointer-events:none;background-image:radial-gradient(circle,#1516121a .7px,#0000 .8px);background-size:22px 22px;position:fixed;inset:0}::selection{color:var(--paper);background:var(--signal-dark)}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--signal);outline-offset:4px;border-radius:2px}p,h1,h2,h3,ul{margin:0}ul{padding:0;list-style:none}svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:1.15rem;display:block}.skip-link{z-index:100;color:var(--paper);background:var(--ink);text-transform:uppercase;letter-spacing:.08em;padding:.75rem 1rem;font-size:.8rem;font-weight:700;transition:transform .18s;position:fixed;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:50;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f3f0e8e0;border:1px solid #15161238;grid-template-columns:1fr auto 1fr;align-items:center;width:min(100% - 2rem,86rem);min-height:4rem;padding:0 .65rem 0 1.2rem;display:grid;position:fixed;top:1rem;left:50%;transform:translate(-50%);box-shadow:0 12px 40px #15161212}.wordmark{letter-spacing:-.05em;width:fit-content;font-size:1.15rem;font-weight:800}.wordmark span{color:var(--signal-dark)}.site-header nav{align-items:center;gap:clamp(1rem,2.7vw,2.5rem);display:flex}.site-header nav a{color:var(--muted);text-transform:uppercase;letter-spacing:.11em;padding:1.25rem 0;font-size:.72rem;font-weight:700;position:relative}.site-header nav a:after{transform-origin:100%;content:"";background:currentColor;height:1px;transition:transform .2s;position:absolute;bottom:.9rem;left:0;right:0;transform:scaleX(0)}.site-header nav a:hover:after,.site-header nav a:focus-visible:after{transform-origin:0;transform:scaleX(1)}.header-cta{min-height:2.75rem;color:var(--paper);background:var(--ink);text-transform:uppercase;letter-spacing:.08em;justify-self:end;align-items:center;gap:.6rem;padding:0 1rem;font-size:.75rem;font-weight:700;transition:color .18s,background .18s;display:flex}.header-cta:hover,.header-cta:focus-visible{color:var(--ink);background:var(--signal)}.hero{width:min(100%, var(--content));min-height:100svh;padding:clamp(8rem, 13vh, 10rem) var(--gutter) clamp(2.25rem, 6vh, 4.5rem);flex-direction:column;justify-content:space-between;margin:0 auto;display:flex;position:relative;overflow:hidden}.hero:before{z-index:-1;top:7rem;right:var(--gutter);bottom:2rem;left:var(--gutter);content:"";background-image:linear-gradient(#1516120d 1px,#0000 1px),linear-gradient(90deg,#1516120d 1px,#0000 1px);background-size:clamp(3rem,7vw,6.5rem) clamp(3rem,7vw,6.5rem);position:absolute;-webkit-mask-image:linear-gradient(#0000,#000 16% 78%,#0000);mask-image:linear-gradient(#0000,#000 16% 78%,#0000)}.hero-meta{border-bottom:1px solid var(--rule);color:var(--muted);text-transform:uppercase;letter-spacing:.13em;justify-content:space-between;padding-bottom:.8rem;font-size:.7rem;font-weight:700;display:flex}.hero-title-wrap{margin:clamp(2.5rem,6vh,5rem) 0;position:relative}.hero h1{letter-spacing:-.085em;font-size:clamp(5rem,15.5vw,14rem);font-weight:750;line-height:.72}.hero h1>span{display:block}.hero-last-name{text-align:right;padding-right:clamp(0rem,7vw,7rem)}.accent-dot{color:var(--signal)}.hero-stamp{aspect-ratio:1;border:1px solid var(--ink);width:clamp(6.5rem,11vw,9.5rem);color:var(--paper);background:var(--signal);box-shadow:5px 5px 0 var(--ink);text-transform:uppercase;letter-spacing:.12em;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;font-size:clamp(.58rem,.8vw,.75rem);font-weight:800;line-height:1.45;display:flex;position:absolute;top:42%;left:53%;transform:rotate(8deg)}.hero-bottom{border-top:1px solid var(--ink);grid-template-columns:minmax(17rem,1.6fr) 1fr auto;align-items:end;gap:clamp(1.5rem,4vw,5rem);padding-top:1.25rem;display:grid}.hero-intro{letter-spacing:-.035em;max-width:39rem;font-family:Iowan Old Style,Baskerville,Times New Roman,serif;font-size:clamp(1.5rem,2.6vw,2.5rem);line-height:1.08}.hero-status{color:var(--muted);align-items:center;gap:.65rem;font-size:.83rem;display:flex}.status-dot{background:var(--signal-dark);border-radius:50%;flex:none;width:.55rem;height:.55rem;animation:.8s ease-out .65s both status-in;box-shadow:0 0 0 5px #a92c0a1a}@keyframes status-in{0%{transform:scale(0);box-shadow:0 0 0 16px #a92c0a00}}.scroll-cue{white-space:nowrap;text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:.7rem;min-height:2.75rem;font-size:.7rem;font-weight:700;display:flex}.scroll-cue svg{transition:transform .18s}.scroll-cue:hover svg,.scroll-cue:focus-visible svg{transform:translateY(4px)}.registration-mark{border:1px solid var(--rule);border-radius:50%;width:1.25rem;height:1.25rem;position:absolute}.registration-mark:before,.registration-mark:after{background:var(--rule);content:"";position:absolute}.registration-mark:before{width:2rem;height:1px;top:50%;left:-.45rem}.registration-mark:after{width:1px;height:2rem;top:-.45rem;left:50%}.registration-mark-one{top:29%;right:calc(var(--gutter) + 2rem)}.registration-mark-two{bottom:22%;left:calc(var(--gutter) + 1rem)}.toolkit{padding:1.35rem max(var(--gutter), calc((100vw - var(--content)) / 2 + var(--gutter)));color:var(--paper);background:var(--ink);grid-template-columns:minmax(10rem,1fr) 4fr;align-items:center;gap:2rem;display:grid}.toolkit-label{color:#aaa99f;text-transform:uppercase;letter-spacing:.13em;font-size:.68rem;font-weight:700}.toolkit ul{flex-wrap:wrap;justify-content:flex-end;gap:.6rem clamp(1.1rem,2.5vw,2.4rem);display:flex}.toolkit li{white-space:nowrap;align-items:center;gap:.55rem;font-size:clamp(.83rem,1.1vw,1rem);display:flex}.toolkit li span{color:var(--signal);font-size:.65rem}.page-section{width:min(100%, var(--content));padding:var(--section-space) var(--gutter);grid-template-columns:minmax(16rem,4fr) minmax(0,8fr);gap:clamp(3rem,7vw,8rem);margin:0 auto;scroll-margin-top:5rem;display:grid;position:relative}.page-section+.page-section{border-top:1px solid var(--rule)}.section-intro{grid-template-columns:2.3rem 1fr;align-self:start;gap:1rem;display:grid;position:sticky;top:7.5rem}.section-number,.strength-number,.experience-index{color:var(--signal-dark);letter-spacing:.08em;font-size:.72rem;font-weight:800}.eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:.13em;margin-bottom:1rem;font-size:.7rem;font-weight:800}.section-intro h2{letter-spacing:-.06em;max-width:28rem;font-size:clamp(2.25rem,4.2vw,4.5rem);font-weight:650;line-height:.97}.section-note{max-width:19rem;color:var(--muted);margin-top:1.5rem;font-family:Iowan Old Style,Baskerville,Times New Roman,serif;font-size:1.05rem;font-style:italic;line-height:1.35}.section-content{min-width:0}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.project-card{border:1px solid var(--ink);background:var(--paper);min-width:0;box-shadow:0 0 0 var(--ink);transition:transform .2s,box-shadow .2s}.project-card:first-child{grid-column:1/-1}.project-card:hover,.project-card:focus-within{box-shadow:7px 7px 0 var(--ink);transform:translate(-4px,-4px)}.project-link{flex-direction:column;height:100%;display:flex}.project-link:focus-visible{outline-offset:-4px}.project-meta{border-bottom:1px solid var(--ink);text-transform:uppercase;letter-spacing:.1em;grid-template-columns:2.5rem 1fr auto;align-items:center;padding:.9rem 1rem;font-size:.66rem;font-weight:800;display:grid}.project-meta svg{transition:transform .18s}.project-link:hover .project-meta svg,.project-link:focus-visible .project-meta svg{transform:translate(3px,-3px)}.project-art{border-bottom:1px solid var(--ink);min-height:19rem;position:relative;overflow:hidden}.project-card:first-child .project-art{min-height:clamp(21rem,36vw,31rem)}.project-art>p{letter-spacing:.11em;font-size:.6rem;font-weight:800;position:absolute;bottom:.8rem;right:1rem}.project-art-riftbound{background:linear-gradient(135deg, transparent 70%, #1516121f 70%), var(--signal)}.project-art-riftbound:before{content:"";border:1px solid #15161273;position:absolute;inset:1.5rem}.inventory-window{border:1px solid var(--ink);background:var(--paper);width:clamp(17rem,47vw,38rem);position:absolute;top:50%;left:8%;transform:translateY(-50%)rotate(-2deg);box-shadow:6px 6px #151612d9}.inventory-toolbar{border-bottom:1px solid var(--ink);align-items:center;gap:.4rem;padding:.65rem .8rem;display:flex}.inventory-toolbar>span{aspect-ratio:1;border:1px solid var(--ink);border-radius:50%;width:.45rem}.inventory-toolbar strong{letter-spacing:.14em;margin-left:auto;font-size:.5rem}.inventory-search{border:1px solid var(--ink);align-items:center;gap:.65rem;margin:clamp(1rem,2.5vw,1.8rem);padding:.7rem .8rem;display:flex}.inventory-search span{font-size:1.25rem;line-height:1}.inventory-search i{background:var(--rule);width:58%;height:.35rem}.inventory-results{grid-template-columns:repeat(3,1fr);gap:clamp(.55rem,1.4vw,1rem);padding:0 clamp(1rem,2.5vw,1.8rem) clamp(1rem,2.5vw,1.8rem);display:grid}.inventory-results span{aspect-ratio:1.45;border:1px solid var(--ink);background:linear-gradient(90deg, var(--ink) 0 24%, transparent 24%), linear-gradient(var(--paper-deep) 0 44%, transparent 44%)}.riftbound-marker{aspect-ratio:1;border:clamp(.65rem, 1.4vw, 1.1rem) solid var(--ink);width:clamp(7.5rem,16vw,12rem);color:var(--paper);background:var(--signal);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;right:8%;transform:translateY(-50%)rotate(5deg)}.riftbound-marker strong{letter-spacing:-.08em;font-size:clamp(2.4rem,5vw,4.75rem);line-height:.85}.riftbound-marker span{letter-spacing:.13em;font-size:clamp(.42rem,.8vw,.58rem);font-weight:800}.project-art-compiler{background:linear-gradient(#f3f0e812 1px, transparent 1px), linear-gradient(90deg, #f3f0e812 1px, transparent 1px), var(--ink);background-size:2rem 2rem}.project-art-compiler>p{color:var(--paper)}.graph-node{z-index:2;aspect-ratio:1;border:1px solid var(--paper);width:3.3rem;color:var(--paper);background:var(--ink);border-radius:50%;place-items:center;font-size:.72rem;font-weight:800;display:grid;position:absolute}.graph-node-one{top:18%;left:12%}.graph-node-two{color:var(--ink);background:var(--signal);top:32%;left:47%}.graph-node-three{bottom:18%;right:12%}.graph-node-four{bottom:14%;left:20%}.graph-line{z-index:1;transform-origin:0;background:var(--paper);height:1px;position:absolute}.graph-line-one{width:37%;top:27%;left:20%;transform:rotate(10deg)}.graph-line-two{width:36%;top:45%;left:54%;transform:rotate(31deg)}.graph-line-three{width:31%;bottom:27%;left:27%;transform:rotate(-39deg)}.project-art-nonogram{background:var(--blue);place-items:center;display:grid}.nonogram-grid{aspect-ratio:1;border-top:1px solid var(--ink);border-left:1px solid var(--ink);background:var(--paper);width:min(68%,15rem);box-shadow:7px 7px 0 var(--ink);grid-template-columns:repeat(7,1fr);display:grid}.nonogram-grid span{border-right:1px solid var(--ink);border-bottom:1px solid var(--ink)}.nonogram-grid .filled{background:var(--signal)}.project-copy{grid-template-columns:minmax(0,1.1fr) minmax(13rem,1fr);gap:1.5rem;padding:clamp(1.15rem,2vw,1.8rem);display:grid}.project-card:not(:first-child) .project-copy{grid-template-columns:1fr}.project-copy h3{letter-spacing:-.055em;font-size:clamp(1.7rem,2.9vw,3.25rem);font-weight:650;line-height:.95}.project-card:not(:first-child) .project-copy h3{font-size:clamp(1.45rem,2.4vw,2.4rem)}.project-copy>p{color:var(--muted);font-size:.94rem;line-height:1.55}.project-copy ul{flex-wrap:wrap;grid-column:1/-1;gap:.4rem;display:flex}.project-copy li{border:1px solid var(--rule);text-transform:uppercase;letter-spacing:.08em;padding:.4rem .65rem;font-size:.62rem;font-weight:750}.about-copy{padding-bottom:clamp(4rem,8vw,7rem)}.about-copy p:first-child{letter-spacing:-.035em;max-width:53rem;font-family:Iowan Old Style,Baskerville,Times New Roman,serif;font-size:clamp(2rem,4vw,4rem);line-height:1.08}.about-copy p:last-child{max-width:38rem;color:var(--muted);margin:2rem 0 0 auto;font-size:clamp(1rem,1.4vw,1.2rem)}.strengths{border-top:1px solid var(--ink)}.strength{border-bottom:1px solid var(--rule);grid-template-columns:3rem minmax(9rem,.8fr) minmax(14rem,1.4fr);gap:1.25rem;padding:1.6rem 0;display:grid}.strength h3{letter-spacing:-.03em;font-size:clamp(1.15rem,1.8vw,1.5rem);font-weight:650}.strength>p:last-child{color:var(--muted);font-size:.94rem}.experience:before{z-index:-1;content:"";background:#e5e0d48c;width:100vw;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.experience-list{border-top:1px solid var(--ink)}.experience-item{border-bottom:1px solid var(--ink);padding:clamp(1.6rem,3.5vw,3rem) 0}.experience-heading{grid-template-columns:3rem 1fr auto;align-items:baseline;gap:1rem;display:grid}.experience-heading h3{letter-spacing:-.055em;font-size:clamp(1.7rem,3.4vw,3.6rem);font-weight:650;line-height:1}.experience-period{color:var(--muted);white-space:nowrap;text-transform:uppercase;letter-spacing:.09em;font-size:.7rem;font-weight:700}.experience-body{margin-top:2rem;margin-left:4rem}.experience-summary{max-width:42rem;color:var(--muted);font-family:Iowan Old Style,Baskerville,Times New Roman,serif;font-size:clamp(1.15rem,1.8vw,1.55rem);line-height:1.3}.role-list{border-top:1px solid var(--rule);margin-top:1.75rem}.role{border-bottom:1px solid var(--rule);justify-content:space-between;gap:1rem;padding:.8rem 0;font-size:.79rem;display:flex}.role p:first-child{font-weight:700}.role p:last-child{color:var(--muted)}.highlights{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 2rem;margin-top:2rem;display:grid}.highlights li{color:var(--muted);padding-left:1rem;font-size:.83rem;position:relative}.highlights li:before{background:var(--signal-dark);content:"";width:.32rem;height:.32rem;position:absolute;top:.55em;left:0}.education-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.education-card{border:1px solid var(--ink);background:var(--paper-deep);flex-direction:column;justify-content:space-between;min-height:clamp(23rem,37vw,34rem);padding:clamp(1.25rem,2.4vw,2rem);display:flex;position:relative;overflow:hidden}.education-card:first-child{color:var(--paper);background:var(--signal-dark)}.education-card-top{z-index:2;text-transform:uppercase;letter-spacing:.1em;justify-content:space-between;font-size:.65rem;font-weight:800;display:flex;position:relative}.block-m{color:#0000;-webkit-text-stroke:1px currentColor;opacity:.2;font-size:clamp(13rem,25vw,24rem);font-weight:900;line-height:.8;position:absolute;top:44%;left:50%;transform:translate(-50%,-50%)}.education-card:first-child .block-m{color:var(--paper)}.education-card:not(:first-child) .block-m{color:var(--ink)}.education-card>div:last-child{z-index:2;position:relative}.education-card h3{letter-spacing:-.055em;max-width:16rem;font-size:clamp(1.8rem,3.1vw,3.2rem);font-weight:650;line-height:.98}.education-card>div:last-child p{max-width:15rem;margin-top:1rem;font-size:.78rem;line-height:1.4}.contact{padding:clamp(5rem, 10vw, 9rem) max(var(--gutter), calc((100vw - var(--content)) / 2 + var(--gutter))) 2rem;color:var(--paper);background:var(--ink);scroll-margin-top:4rem}.contact-top{border-bottom:1px solid #f3f0e847;justify-content:space-between;padding-bottom:1rem;display:flex}.contact .eyebrow{color:#aaa99f;margin:0}.contact-note{color:#aaa99f;font-family:Iowan Old Style,Baskerville,Times New Roman,serif;font-size:1rem;font-style:italic}.contact-title-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:2rem;padding:clamp(3.5rem,8vw,7rem) 0;display:grid}.contact h2{letter-spacing:-.075em;max-width:72rem;font-size:clamp(4rem,10.7vw,10rem);font-weight:650;line-height:.82}.contact h2 em{color:var(--signal);font-family:Iowan Old Style,Baskerville,Times New Roman,serif;font-weight:400;display:block}.contact-action{aspect-ratio:1;width:clamp(5rem,9vw,8rem);color:var(--ink);background:var(--paper);border-radius:50%;place-items:center;transition:transform .2s,background .2s;display:grid}.contact-action svg{width:34%;transition:transform .2s}.contact-action:hover,.contact-action:focus-visible{background:var(--signal);transform:rotate(7deg)}.contact-action:hover svg,.contact-action:focus-visible svg{transform:translate(4px,-4px)}.contact-footer{color:#aaa99f;border-top:1px solid #f3f0e847;justify-content:space-between;align-items:center;gap:2rem;padding-top:1.25rem;font-size:.77rem;display:flex}.contact-links{gap:1.5rem;display:flex}.contact-links a{min-height:2.75rem;color:var(--paper);font-weight:700;line-height:2.75rem}.contact-links a span{color:var(--signal);transition:transform .18s;display:inline-block}.contact-links a:hover span,.contact-links a:focus-visible span{transform:translate(3px,-3px)}.site-footer{padding:1rem max(var(--gutter), calc((100vw - var(--content)) / 2 + var(--gutter))) 1.5rem;color:#828178;background:var(--ink);text-transform:uppercase;letter-spacing:.09em;border-top:1px solid #f3f0e824;justify-content:space-between;gap:1rem;font-size:.63rem;font-weight:700;display:flex}.reveal-ready [data-reveal]{opacity:0;transition:transform .65s cubic-bezier(.2,.75,.25,1),opacity .65s;transform:translateY(1rem)}.reveal-ready [data-reveal].is-visible{opacity:1;transform:translateY(0)}.reveal-ready .project-card:nth-child(2),.reveal-ready .strength:nth-child(2){transition-delay:80ms}.reveal-ready .project-card:nth-child(3),.reveal-ready .strength:nth-child(3){transition-delay:.16s}@media (width<=70rem){.page-section{grid-template-columns:minmax(14rem,.75fr) minmax(0,1.6fr);gap:clamp(2.5rem,5vw,4.5rem)}.hero-stamp{left:55%}.project-art{min-height:16rem}.strength{grid-template-columns:2.5rem .8fr 1.2fr}}@media (width<=54rem){.hero{min-height:auto;padding-top:8rem}.hero-bottom{grid-template-columns:1fr 1fr}.hero-intro{grid-column:1/-1}.scroll-cue{justify-self:end}.toolkit{grid-template-columns:1fr;gap:.8rem}.toolkit ul{justify-content:flex-start}.page-section{grid-template-columns:1fr}.section-intro{grid-template-columns:2rem minmax(0,1fr);position:static}.section-intro h2{max-width:38rem}.section-note{max-width:28rem}.project-card:first-child .project-art{min-height:min(55vw,27rem)}.education-card{min-height:27rem}}@media (width<=43rem){.site-header{grid-template-columns:auto 1fr;min-height:3.5rem;padding-right:.9rem}.site-header nav{justify-content:flex-end;gap:clamp(.75rem,4vw,1.5rem)}.site-header nav a{padding:1rem 0;font-size:.62rem}.header-cta,.hero-meta p:last-child{display:none}.hero-title-wrap{margin:4.5rem 0}.hero h1{font-size:clamp(4.6rem,24vw,8rem);line-height:.77}.hero-last-name{padding-right:0}.hero-stamp{width:5.7rem;box-shadow:3px 3px 0 var(--ink);top:68%;left:8%}.hero-bottom{grid-template-columns:1fr;align-items:start;gap:1.3rem}.scroll-cue{justify-self:start}.registration-mark-one{display:none}.page-section{padding-top:5.5rem;padding-bottom:5.5rem}.project-grid,.education-list{grid-template-columns:1fr}.project-card:first-child{grid-column:auto}.project-art,.project-card:first-child .project-art{min-height:18rem}.project-copy,.project-card:first-child .project-copy{grid-template-columns:1fr}.strength{grid-template-columns:2.3rem 1fr}.strength>p:last-child{grid-column:2}.experience-heading{grid-template-columns:2.3rem 1fr}.experience-period{grid-column:2}.experience-body{margin-left:3.3rem}.highlights{grid-template-columns:1fr}.education-card{min-height:24rem}.contact-top,.contact-footer{flex-direction:column;align-items:flex-start}.contact-title-row{grid-template-columns:1fr;align-items:start}.contact-action{width:4.5rem}.contact-links{justify-content:flex-start;width:100%}.site-footer{flex-direction:column}}@media (width<=24rem){.site-header{width:calc(100% - 1rem)}.site-header nav{gap:.65rem}.site-header nav a{letter-spacing:.06em;font-size:.56rem}.role{flex-direction:column;gap:.25rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal-ready [data-reveal]{opacity:1;transform:none}}
