@font-face{font-family:Bowlby One SC;font-style:normal;font-weight:400;font-display:swap;src:url(../media/4786a94fe12fca7a-s.3vxrpxtv_s_0p.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bowlby One SC;font-style:normal;font-weight:400;font-display:swap;src:url(../media/39d3a37ce3178c4a-s.p.3720-dalom85i.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bowlby One SC Fallback;src:local(Arial);ascent-override:82.55%;descent-override:32.17%;line-gap-override:0.0%;size-adjust:132.97%}.W_C9Da_className{font-family:Bowlby One SC,Bowlby One SC Fallback;font-style:normal;font-weight:400}.W_C9Da_variable{--font-family-display:"Bowlby One SC", "Bowlby One SC Fallback"}
@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b12e986493c137cf-s.2tuvx2ggl0uf7.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/36363bfb06833f56-s.p.048ctm9k7u_u3.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b2fa3ef4ca165ab4-s.2t3qiyt2vl-ta.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a73419dd2ba2d841-s.p.2_s53-223o24o.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono Fallback;src:local(Arial);ascent-override:73.71%;descent-override:23.03%;line-gap-override:0.0%;size-adjust:134.59%}.QKj32G_className{font-family:DM Mono,DM Mono Fallback;font-style:normal}.QKj32G_variable{--font-family-body:"DM Mono", "DM Mono Fallback"}
@font-face{font-family:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/fc0a7394b875fa43-s.3zvkfbs08rnj_.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/7ebf22b5a21034f8-s.p.3strvg7o-g5v2.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Serif Fallback;src:local(Times New Roman);ascent-override:117.94%;descent-override:36.93%;line-gap-override:0.0%;size-adjust:83.94%}.X_wjqa_className{font-family:Instrument Serif,Instrument Serif Fallback;font-style:italic;font-weight:400}.X_wjqa_variable{--font-family-serif:"Instrument Serif", "Instrument Serif Fallback"}
:root{--blue:#4876ff;--lime:#d9f154;--navy:#2e3192;--orange:#ff7347;--pink:#f7d0e9;--purple:#692e54;--gray:#fffdf9;--ink:#181716;--paper:#fff9ee;--font-display:var(--font-family-display), "Bowlby One SC", Impact, sans-serif;--font-body:var(--font-family-body), "DM Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--font-serif:var(--font-family-serif), "Instrument Serif", Georgia, serif}
:root{color:var(--ink);background:var(--ink);font-family:var(--font-body);scroll-behavior:smooth;font-weight:500}html,body{width:100%;max-width:100%;overflow-x:clip}#root{width:100%;max-width:100%}*{box-sizing:border-box}body{background:var(--ink);min-width:320px;margin:0}main{width:100%}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;border:0}::selection{background:var(--lime);color:var(--ink)}
h1,h2,h3,h4{font-family:var(--font-display);text-transform:uppercase;letter-spacing:0;margin:0;font-weight:400;line-height:.95}h1{max-width:11ch;font-size:clamp(3.4rem,8.4vw,7.2rem)}h1 span{display:block}h2{font-size:clamp(2.7rem,7vw,6rem)}h3{font-size:clamp(1.9rem,4.5vw,4.2rem)}h4{font-size:clamp(1.05rem,1.7vw,1.4rem)}p{line-height:1.65}.eyebrow{text-transform:uppercase;letter-spacing:0;margin:0 0 .9rem;font-size:clamp(.82rem,1.4vw,1rem)}@media (max-width:620px){h1{font-size:clamp(2.55rem,12vw,4.5rem)}h2{font-size:clamp(2.3rem,12vw,4.4rem)}h3{font-size:clamp(2rem,11vw,3.8rem)}}
.section-texture{background-image:url(/assets/bg-texture.webp);background-position:50%;background-repeat:repeat;background-size:720px 460px}.pink{background-color:var(--pink)}.gray{background-color:var(--gray)}.projects,.skills,.experience,.contact{min-height:100svh;padding:clamp(4rem,8vw,7rem) max(1.2rem,50vw - 580px)}@media (max-width:720px){.projects,.skills,.experience,.contact{padding-inline:1rem}}
@keyframes slide-in{to{opacity:1;transform:translate(0)}}@keyframes squiggle{0%{filter:url(#squiggle-0)}25%{filter:url(#squiggle-1)}50%{filter:url(#squiggle-2)}75%{filter:url(#squiggle-3)}to{filter:url(#squiggle-4)}}@keyframes ticker{0%{transform:translate(0)}to{transform:translate(-50%)}}
.svg-filters{width:0;height:0;position:absolute}.cursor{z-index:1000;pointer-events:none;border:2px solid var(--ink);background:var(--lime);mix-blend-mode:multiply;opacity:0;width:18px;height:18px;transition:width .16s,height .16s,background .16s,opacity .16s;position:fixed;top:0;left:0}.cursor.is-ready{opacity:1}.cursor.is-active{background:var(--orange);width:42px;height:42px}.cursor.is-hidden{opacity:0}.marquee{padding:clamp(1.5rem,4vw,3rem) 0;overflow:hidden}.ticker{width:max-content;color:var(--purple);font-family:var(--font-display);opacity:.2;gap:1rem;font-size:clamp(2.8rem,7vw,6.5rem);line-height:1;animation:24s linear infinite ticker;display:flex}.ticker span{white-space:nowrap}@media (max-width:620px){.cursor{display:none}}
.site-header{z-index:30;grid-template-columns:1fr auto;align-items:center;gap:clamp(.75rem,2vw,2rem);width:min(1160px,100% - 2rem);margin:0 auto;padding:clamp(1rem,3vw,1.6rem) 0;display:grid;position:absolute;top:0;left:0;right:0}.menu-toggle{display:none}.site-header nav{flex-wrap:wrap;justify-content:flex-start;gap:clamp(.85rem,2.4vw,2rem);font-size:clamp(.88rem,1.6vw,1.15rem);display:flex}.site-header nav a{position:relative}.site-header nav a:after{content:"";background:currentColor;width:0;height:2px;transition:width .22s;position:absolute;bottom:-.25rem;left:0}.site-header nav a:hover:after{width:100%}.nav-resume{display:none}@media (max-width:980px){.site-header{grid-template-columns:1fr}.site-header .cutout-button{display:none}.nav-resume{display:inline-block}}@media (max-width:620px){.site-header{grid-template-columns:1fr;justify-items:end;gap:.75rem;width:min(100% - 1rem,1160px);padding-top:.9rem}.menu-toggle{aspect-ratio:1;width:2.75rem;color:var(--ink);box-shadow:none;cursor:pointer;background:0 0;border:0;align-self:center;place-items:center;display:inline-grid}.site-header nav{background:var(--gray);border:2px solid var(--ink);width:min(15rem,100vw - 2rem);box-shadow:8px 8px 0 var(--ink);flex-direction:column;gap:.7rem;padding:.9rem;font-size:.95rem;display:none;position:absolute;top:calc(100% + .55rem);right:0}.site-header.menu-open nav{display:flex}}
.cutout-button{min-height:3rem;color:var(--ink);background:linear-gradient(to bottom, var(--orange) 0 25%, var(--lime) 75% 100%);filter:drop-shadow(0 1px #000)drop-shadow(-1px 0 #000)drop-shadow(1px 0 #000)drop-shadow(0 -1px #000)drop-shadow(8px 8px #000);background-size:100% 400%;justify-content:center;align-items:center;gap:.55rem;padding:.78rem 1.15rem;font-weight:700;transition:filter .26s,background-position .26s,transform .18s;display:inline-flex;position:relative}.cutout-button:before,.cutout-button:after{background:inherit;content:"";width:1rem;height:100%;position:absolute;top:0}.cutout-button:before{clip-path:polygon(23% 19%,0 0,100% 0,100% 100%,0 100%,29% 79%,9% 80%,0 33%);right:calc(100% - 1px)}.cutout-button:after{clip-path:polygon(100% 0,74% 28%,100% 29%,100% 70%,84% 78%,100% 100%,0 100%,0 0);left:calc(100% - 1px)}.cutout-button:hover{filter:drop-shadow(0 1px #000)drop-shadow(-1px 0 #000)drop-shadow(1px 0 #000)drop-shadow(0 -1px #000)drop-shadow(2px 2px #000);background-position:bottom}.cutout-button.purple,.cutout-button.purple:before,.cutout-button.purple:after{color:#fff;background:linear-gradient(to bottom, var(--purple) 0 25%, var(--lime) 75% 100%);background-size:100% 400%}.cutout-button.lime,.cutout-button.lime:before,.cutout-button.lime:after{background:linear-gradient(to bottom, var(--lime) 0 25%, var(--orange) 75% 100%);background-size:100% 400%}
.reveal{opacity:0;transform:translate(-24px)}.reveal.is-visible{animation:.42s ease-out forwards slide-in}
.section-heading{text-align:center;max-width:880px;margin:0 auto clamp(2rem,5vw,4rem)}.section-heading.left{text-align:left;margin-left:0}.section-heading p:not(.eyebrow){max-width:66ch;margin:1rem auto 0}
.social-links{flex-wrap:wrap;justify-content:center;gap:.85rem;margin:2rem 0 0;padding:0;list-style:none;display:flex}.social-links a{border:2px solid;align-items:center;gap:.5rem;padding:.6rem 1rem;font-size:.92rem;transition:transform .2s,background .2s,color .2s;display:inline-flex}.social-links a:hover{background:var(--ink);color:var(--paper);transform:translateY(-3px)}@media (max-width:620px){.social-links{gap:.6rem}.social-links a{padding:.55rem .8rem;font-size:.85rem}}
.footer{color:var(--ink);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:2.5rem max(1.2rem,50vw - 580px);display:flex}.footer .social-links{margin:0 0 1rem}.footer p{margin:0;font-size:.88rem}
.hero{background-image:radial-gradient(circle at 18% 18%, #ffffff47, transparent 24rem), radial-gradient(circle at 82% 46%, #692e541a, transparent 28rem), url(/assets/bg-texture.webp), linear-gradient(180deg, #f9d8ee 0%, var(--pink) 58%, #f6c8e4 100%);background-position:50%,50%,50%,50%;background-repeat:no-repeat,no-repeat,repeat,no-repeat;background-size:auto,auto,720px 460px,auto;grid-template-rows:1fr auto;align-items:end;height:100svh;min-height:680px;padding:clamp(6.2rem,10vw,8.2rem) max(1.2rem,50vw - 580px) clamp(1.5rem,3.5vw,2.8rem);display:grid;position:relative;overflow:hidden}.ghost-word{z-index:0;color:var(--purple);font-family:var(--font-display);opacity:.18;mix-blend-mode:multiply;margin:0;line-height:.78;animation:.52s step-end infinite squiggle;position:absolute}.ghost-word.wide{text-align:center;white-space:nowrap;width:112vw;font-size:clamp(6rem,12.4vw,15.6rem);top:20vh;left:50%;transform:translate(-50%)}.ghost-word.tall{writing-mode:vertical-rl;font-size:clamp(7rem,24vw,16rem);display:none;bottom:18vh;right:2vw}.hero-copy,.hero-lower,.hero-actions{z-index:2;position:relative}.hero .reveal{animation:.62s forwards slide-in}.hero-copy{grid-template-columns:minmax(0,1fr) minmax(280px,43ch);align-self:start;align-items:end;gap:clamp(2rem,7vw,6rem);width:100%;max-width:1120px;display:grid}.hero-lower{justify-content:flex-end;align-self:end;width:100%;max-width:1120px;display:flex}.hero-body{text-align:right;margin:0 0 clamp(.35rem,1vw,.8rem);font-size:clamp(.92rem,1.25vw,1.08rem)}.hero-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:1rem;margin-top:0;display:flex}@media (max-width:980px){.hero{height:100svh;min-height:0}.hero-actions{justify-content:flex-start}.hero-copy{grid-template-columns:1fr;gap:1rem}.hero-body{text-align:left}.hero-lower{justify-content:flex-start}}@media (max-width:620px){.ghost-word.wide{display:none}.ghost-word.tall{display:block}.hero{padding-top:7rem}.hero-lower{gap:.9rem}.hero-body{margin-top:0}}
.project-intro{min-height:auto;padding-block:clamp(4rem,7vw,6rem)}.project-intro .section-heading{z-index:1;margin-bottom:0;position:relative}.project-intro{position:relative;overflow:hidden}.serif-accent{font-family:var(--font-serif);text-transform:lowercase;letter-spacing:-.01em;color:var(--purple);font-size:1.12em;font-style:italic}.specimens{z-index:0;pointer-events:none;position:absolute;inset:0}.specimen-card{--tilt:0deg;background:var(--paper);border:3px solid var(--ink);width:clamp(150px,14vw,250px);box-shadow:10px 10px 0 var(--ink);transform:rotate(var(--tilt));pointer-events:auto;margin:0;padding:.7rem .7rem .65rem;transition:transform .22s,box-shadow .22s;position:absolute}.specimen-card:hover{box-shadow:13px 13px 0 var(--ink);transform:rotate(0)translate(-3px,-3px)}.specimen-card:before{background:var(--lime);border:2px solid var(--ink);content:"";width:72px;height:24px;position:absolute;top:-14px;left:50%;transform:translate(-50%)rotate(-4deg)}.specimen-image{aspect-ratio:4/5;background:var(--paper);border:2px solid var(--ink);overflow:hidden}.specimen-image img{object-fit:cover;mix-blend-mode:multiply;width:100%;height:100%}.specimen-card figcaption{text-transform:uppercase;letter-spacing:.04em;gap:.1rem;margin-top:.55rem;font-size:.72rem;line-height:1.3;display:grid}.specimen-card figcaption span{color:var(--purple)}.specimen-small figcaption{font-size:clamp(.6rem,.62vw,.72rem)}.specimen-left{--tilt:-5deg;top:24%;left:max(1.5rem,50% - 720px)}.specimen-small{--tilt:-4deg;width:clamp(120px,10vw,180px);top:60%;right:max(5rem,50% - 600px)}.specimen-right{--tilt:4deg;top:7%;right:max(1.5rem,50% - 720px)}.project-slide-stack{background:var(--pink);isolation:isolate}.project-slide-panel{top:calc(var(--panel-index) * 2rem);height:100svh;min-height:0;color:var(--ink);background-color:var(--pink);grid-template-columns:minmax(0,1fr) minmax(260px,.85fr);align-items:center;gap:clamp(2rem,6vw,5rem);padding:clamp(2.8rem,5vw,4.4rem) max(1.2rem,50vw - 580px);display:grid;position:sticky;overflow:hidden;box-shadow:0 -1px #0000002e}.project-slide-panel.slide-vermilion{--case-accent:#f0c13a;color:#fff8e8;background-color:#610c0f;background-image:radial-gradient(circle at 18% 12%,#f0c13a33,#0000 18rem),radial-gradient(circle at 82% 80%,#00000057,#0000 20rem),url(/assets/bg-texture.webp);background-repeat:no-repeat,no-repeat,repeat;background-size:auto,auto,720px 460px}.project-slide-panel.slide-violet{--case-accent:#e0b3ff;color:#f7f0ff;background-color:#2b1247;background-image:radial-gradient(circle at 20% 14%,#e0b3ff38,#0000 18rem),radial-gradient(circle at 84% 78%,#0000004d,#0000 20rem),url(/assets/bg-texture.webp);background-repeat:no-repeat,no-repeat,repeat;background-size:auto,auto,720px 460px}.project-slide-panel.slide-paper{--case-accent:var(--blue);color:var(--ink);background-color:var(--gray)}.project-slide-panel.slide-navy{--case-accent:var(--lime);color:#fff;background-color:var(--navy)}.project-slide-panel.slide-cream{--case-accent:#c4a574;color:#2d1f16;background-color:#f5f1e9;background-image:radial-gradient(circle at 18% 16%,#c4a57438,#0000 18rem),radial-gradient(circle at 88% 12%,#e8d6ba8c,#0000 22rem),radial-gradient(circle at 78% 78%,#2d1f160d,#0000 18rem),url(/assets/bg-texture.webp);background-repeat:no-repeat,no-repeat,no-repeat,repeat;background-size:auto,auto,auto,720px 460px}.project-slide-panel.slide-cream .project-slide-details>p,.project-slide-panel.slide-cream .project-slide-tech li{color:#2d1f16;background:#efe6d8}.project-slide-panel.slide-cream .project-slide-actions a:hover{background:#2d1f16}.project-slide-panel.slide-navy .project-slide-details>p,.project-slide-panel.slide-navy .project-slide-tech li{color:var(--ink)}.project-slide-panel.slide-navy .project-slide-actions a{color:var(--ink);background:var(--lime);border:2px solid var(--ink)}.project-slide-panel.slide-navy .project-slide-actions a:hover{color:#fff;background:var(--purple)}.project-slide-panel.slide-violet .project-slide-details>p,.project-slide-panel.slide-violet .project-slide-tech li{color:#2b1247;background:#e0b3ff}.project-slide-panel.slide-violet .project-slide-actions a:hover{background:#4a2178}.project-slide-panel.slide-vermilion .project-slide-details>p,.project-slide-panel.slide-vermilion .project-slide-tech li{color:var(--ink);background:#f0c13a}.project-slide-panel.slide-vermilion .project-slide-actions a:hover{background:#6e1114}.project-slide-copy{z-index:1;max-width:min(610px,100%);position:relative}.project-slide-visual{justify-self:stretch}.project-slide-panel:nth-child(2n) .project-slide-visual{order:-1}.project-slide-panel:nth-child(2n) .project-slide-copy{justify-self:end}.project-slide-copy p:not(.eyebrow){max-width:52ch;font-size:clamp(.92rem,1.25vw,1.08rem)}.project-slide-copy h2{font-size:clamp(2.7rem,5.45vw,5.8rem)}.project-slide-details{gap:1rem;margin-top:1.4rem;display:grid}.project-slide-details>p{background:var(--case-accent);border:2px solid var(--ink);width:fit-content;box-shadow:4px 4px 0 var(--ink);color:var(--ink);margin:0;padding:.4rem .65rem;font-size:clamp(.85rem,1.1vw,.98rem);display:inline-flex}.project-slide-details ul,.project-slide-tech{margin:0;padding:0;list-style:none}.project-slide-details ul{gap:.45rem;max-width:44ch;font-size:clamp(.82rem,1.1vw,.95rem);display:grid}.project-slide-details li{padding-left:1rem;position:relative}.project-slide-details li:before{color:var(--case-accent);content:"+";position:absolute;left:0}.project-slide-actions{flex-wrap:wrap;gap:.75rem;display:flex}.project-slide-actions a{color:#fff;background:var(--ink);align-items:center;gap:.45rem;padding:.62rem .75rem;transition:transform .18s,background .18s;display:inline-flex}.project-slide-actions a:hover{background:var(--purple);transform:translateY(-2px)}.project-slide-media{gap:1rem;display:grid;transform:rotate(2deg)}.project-slide-image{aspect-ratio:1.3/.86;background:var(--case-accent);border:3px solid var(--ink);box-shadow:14px 14px 0 var(--ink);display:block;position:relative;overflow:hidden}.project-slide-image img{object-fit:cover;filter:saturate(1.08)contrast(1.05);width:100%;height:100%;transition:transform .52s,filter .52s}.project-slide-media:hover .project-slide-image img{filter:saturate(1.24)contrast(1.12);transform:scale(1.07)rotate(-1deg)}.project-slide-visit{color:var(--ink);background:var(--lime);border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);align-items:center;gap:.35rem;padding:.45rem .65rem;font-size:.82rem;transition:transform .18s;display:inline-flex;position:absolute;bottom:.75rem;right:.75rem}.project-slide-image:hover .project-slide-visit,.project-slide-image:focus-visible .project-slide-visit{transform:translate(-2px,-2px)}.project-slide-image:focus-visible{outline:3px solid var(--case-accent);outline-offset:4px}.project-slide-tech{flex-wrap:wrap;gap:.55rem;display:flex}.project-slide-tech li{background:var(--lime);border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);color:var(--ink);padding:.38rem .55rem;font-size:.78rem}.project-slide-placeholder{aspect-ratio:16/10;background:repeating-linear-gradient(45deg, transparent, transparent 12px, #0000000f 12px, #0000000f 24px), var(--case-accent,var(--lime));color:var(--ink);text-align:center;place-content:center;gap:.5rem;padding:1.5rem;display:grid}.project-slide-placeholder span{font-family:var(--font-display);font-size:clamp(1.6rem,3.5vw,2.8rem);line-height:1.05}.project-slide-placeholder small{text-transform:uppercase;letter-spacing:.08em;opacity:.75;font-size:.85rem}@media (max-width:1100px){.specimens{justify-content:center;gap:1.6rem;margin-top:2.8rem;display:flex;position:relative;inset:auto}.specimen-card{width:clamp(120px,26vw,180px);box-shadow:6px 6px 0 var(--ink);position:relative;inset:auto}}@media (max-width:980px){.project-slide-panel{top:calc(var(--panel-index) * .75rem);grid-template-columns:1fr;height:auto;min-height:100svh}}@media (max-width:720px){.project-slide-panel{padding-inline:1rem}.specimen-small{display:none}.specimen-card figcaption{font-size:.62rem}}
.experience{color:var(--ink)}.experience-list{gap:1.25rem;max-width:1000px;margin:0 auto;padding:0;list-style:none;display:grid}.experience-item{background:var(--gray);border:2px solid var(--ink);box-shadow:10px 10px 0 var(--ink);grid-template-columns:minmax(0,.72fr) minmax(0,1fr);gap:clamp(1rem,3vw,2.5rem);padding:clamp(1.25rem,3vw,2rem);transition:transform .22s,box-shadow .22s;display:grid}.experience-item:hover{box-shadow:5px 5px 0 var(--ink);transform:translate(4px,4px)}.experience-item:nth-child(2),.experience-item:nth-child(3){background:var(--lime)}.experience-meta h3{font-family:var(--font-display);margin:0;font-size:clamp(1.6rem,3.2vw,2.4rem);line-height:1.05}.experience-role{margin:.5rem 0 0;font-weight:700}.experience-period{color:var(--purple);text-transform:uppercase;letter-spacing:.04em;margin:.3rem 0 0;font-size:.9rem}.experience-points{gap:.7rem;margin:0;padding:0;list-style:none;display:grid}.experience-points li{padding-left:1.4rem;font-size:clamp(.92rem,1.5vw,1.02rem);line-height:1.5;position:relative}.experience-points li:before{background:var(--ink);content:"";width:.6rem;height:.6rem;position:absolute;top:.45em;left:0}.education-card{background:var(--orange);border:2px solid var(--ink);max-width:1000px;box-shadow:10px 10px 0 var(--ink);margin:1.25rem auto 0;padding:clamp(1.25rem,3vw,2rem)}.education-card h3{font-family:var(--font-display);margin:.4rem 0 .3rem;font-size:clamp(1.4rem,2.8vw,2rem);line-height:1.1}.education-card p{margin:0}@media (max-width:980px){.experience-item{grid-template-columns:1fr;gap:1.25rem}}@media (max-width:620px){.experience-item,.education-card{box-shadow:6px 6px 0 var(--ink)}.experience-item:hover{box-shadow:6px 6px 0 var(--ink);transform:none}}
.skill-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.skill-card{min-height:22rem;color:var(--ink);background:var(--gray);border:2px solid var(--ink);box-shadow:10px 10px 0 var(--ink);padding:1.25rem;transition:transform .22s,box-shadow .22s}.skill-card:nth-child(2){background:var(--pink)}.skill-card:nth-child(3){background:var(--lime)}.skill-card:nth-child(4){background:var(--orange)}.skill-card:hover{box-shadow:5px 5px 0 var(--ink);transform:translate(4px,4px)rotate(-1deg)}.skill-card h3{font-size:clamp(1.45rem,2.8vw,2.35rem)}@media (max-width:980px){.skill-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.skill-grid{grid-template-columns:1fr}.skill-card{min-height:15rem}}
.contact{color:var(--ink);text-align:center;place-items:center;min-height:88svh;display:grid}.contact-copy{max-width:920px}.contact-copy p:not(.eyebrow){max-width:58ch;margin-inline:auto}.contact-actions{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:2rem;display:flex}@media (max-width:980px){.contact{grid-template-columns:1fr}}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.cutout-button:focus-visible,.social-links a:focus-visible,.project-slide-actions a:focus-visible{outline:3px solid var(--ink);outline-offset:4px}.slide-navy :focus-visible,.slide-vermilion :focus-visible,.slide-violet :focus-visible{outline-color:var(--lime)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}

