@import url('https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&display=swap');
:root{--bg:#090909;--surface:#121211;--text:#eeece4;--muted:#7e7c76;--line:#292823;--mint:#ed9065;--heading:'Space Grotesk','Segoe UI',sans-serif;--serif:'Instrument Serif',Georgia,serif}
body{background:var(--bg);color:var(--text)}body:before{content:'';position:fixed;inset:0;z-index:80;pointer-events:none;opacity:.027;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.7' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}.wrap{width:min(1240px,calc(100% - 112px))}.site-header{width:calc(100% - 112px);max-width:1328px;margin:18px auto 0;top:16px;height:70px;padding:0 25px;border:1px solid #3b393177;background:linear-gradient(120deg,#25241de8,#141413e8);border-radius:19px;box-shadow:inset 0 1px 0 #ffffff0a,0 10px 30px #0002;transition:background .3s,border-color .3s,box-shadow .3s}.site-header.scrolled{background:#141412ed;border-color:#4d4335;box-shadow:0 10px 35px #0007}.signature{font:34px var(--serif);letter-spacing:-1.5px;white-space:nowrap}.signature span{color:var(--mint)}.site-header nav{gap:27px;font-size:11px}.site-header nav a{color:#c0beb7}.site-header nav sup{font:8px var(--mono);color:#6a6861;margin-right:4px}.site-header .nav-resume{border:1px solid #656154;color:#e8e4d9;background:#ffffff08;border-radius:12px;padding:10px 19px}.hero{padding-top:30px;overflow:clip}.hero-top .eyebrow{font-size:9px;letter-spacing:1.6px;color:#a8a69b}.status-dot{background:#ed9065;box-shadow:0 0 13px #ed906555}.hero-edition{font-size:9px;color:#7b7a71}.hero-layout{position:relative;grid-template-columns:1fr;min-height:710px;padding:38px 0 35px;gap:0}.hero-copy{position:relative;z-index:3;width:53%;pointer-events:none}.hero-copy a{pointer-events:auto}.intro{font:9px var(--mono);letter-spacing:1.8px;color:#817d70;margin:0 0 25px}h1{font-family:var(--serif);font-size:clamp(116px,13.4vw,190px);font-weight:400;line-height:.78;letter-spacing:-7px;margin:0 0 30px}h1 .name-line{display:block;color:var(--text);overflow:visible;transform-origin:left bottom}h1 em{font-weight:400;color:var(--mint);font-style:italic}.hero-role{font-size:25px;letter-spacing:-.6px;line-height:1.3;margin:25px 0 18px}.word-cycle{color:var(--mint);display:inline-block;animation:purposeGlow 5s ease-in-out infinite}.hero-description{font-size:13px;line-height:1.9;max-width:340px;color:#a7a398;margin:0 0 27px}.hero-actions{gap:25px}.button{border-radius:99px;padding:13px 22px;font-size:11px;background:#242119;border:1px solid #554836;color:#eeeadf;box-shadow:inset 0 1px 0 #fff1;transition:background .3s,border-color .3s,transform .3s}.primary:hover{background:#3a2b20;border-color:#ad704d}.text-link{font-size:11px;border-color:#5c4a38;color:#bfb8aa}.text-link:hover{color:var(--mint)}.data-stage{position:absolute;top:-35px;bottom:0;left:37%;right:-5%;isolation:isolate;min-width:0;overflow:hidden}.field-glow{position:absolute;inset:6% 1% 10%;border-radius:50%;background:radial-gradient(ellipse,#bf6a2d14 0%,#613c2007 40%,transparent 68%);animation:fieldBreath 8s ease-in-out infinite;z-index:-1}#data-field{display:block;width:100%;height:100%;min-height:600px;touch-action:pan-y;mask-image:linear-gradient(180deg,transparent 0%,#000 10%,#000 88%,transparent 100%)}.field-coordinate{position:absolute;font:8px var(--mono);letter-spacing:1.6px;color:#777165;line-height:1.8;pointer-events:none}.field-coordinate.top-left{left:26%;top:11%}.field-coordinate.top-right{right:4%;top:11%;text-align:right}.field-cross{position:absolute;top:50%;left:55%;font:24px var(--mono);color:#eea67a66;pointer-events:none}.field-caption{position:absolute;top:79%;left:29%;display:flex;align-items:center;gap:13px;font:8px var(--mono);letter-spacing:1.5px;color:#ad9c7c;pointer-events:none}.field-caption-line{width:42px;height:1px;background:#936343}.field-controls{position:absolute;bottom:8%;left:23%;right:0;display:flex;justify-content:center;gap:5px}.field-controls button{border:1px solid transparent;border-radius:40px;background:transparent;color:#8d877b;font:9px var(--mono);padding:9px 11px;cursor:pointer;transition:color .3s,background .3s,border .3s}.field-controls button[aria-pressed="true"]{color:#ffc29c;border-color:#87644877;background:#754d2d1a}.field-controls button:hover{color:#f2c9ac}.field-description{position:absolute;bottom:2%;left:23%;right:0;text-align:center;font-size:10px;color:#766e61}.hero-footnote{border-top:1px solid #29261e;display:flex;justify-content:space-between;align-items:center;padding-block:22px;font:8px var(--mono);letter-spacing:1.2px;color:#747266;gap:20px}.hero-footnote a{color:#bcb3a0;display:flex;gap:30px;align-items:center}.hero-footnote a span{color:var(--mint);font-size:16px;animation:scrollNudge 2s ease-in-out infinite}.hero-stats{margin-top:10px;border-block:1px solid #26231f;padding:27px 0 32px}.hero-stats strong{font-family:var(--serif);font-size:45px;line-height:1.1;letter-spacing:-1px;color:#ece5d6}.hero-stats strong span{color:#8d806c;font-size:23px}.hero-stats p{color:#888174;font-size:10px}.scroll-cue{color:#797262}.scroll-cue span{color:var(--mint)}.section{padding-top:130px}.about{grid-template-columns:1fr 2fr;padding-top:130px;gap:45px}.section-label{color:#8e806b;font-size:9px;letter-spacing:1.5px}.about h2{font-family:var(--serif);font-size:61px;font-weight:400;letter-spacing:-2px;line-height:1.08}.about p{font-size:15px;color:#aaa69b;line-height:1.9}.muted{color:#777369}.interest-tags span,.skill-tags span{border-color:#39342b;color:#b0a795;border-radius:4px;font-size:9px}.section-heading{margin-bottom:50px}.section-heading h2{font-family:var(--serif);font-size:70px;font-weight:400;letter-spacing:-2.4px;line-height:1.03}.eyebrow{color:#b89573;font-size:9px}.section-description{color:#8e897d;font-size:13px}.project-grid{display:flex;flex-direction:column;gap:40px;position:relative}.project{display:grid;grid-template-columns:1.13fr 1fr;border:1px solid #39342b;border-radius:16px;overflow:clip;background:#11110f;position:sticky;top:112px;box-shadow:0 18px 45px #0007;transform-style:preserve-3d;transition:border-color .3s,box-shadow .3s;min-height:420px}.project:nth-child(2){top:126px}.project:nth-child(3){top:140px}.project:nth-child(4){top:154px}.project:hover{border-color:#786147;box-shadow:0 25px 65px #000a}.project-visual{height:100%;min-height:420px;border:0;border-right:1px solid #39342b;overflow:hidden;display:flex;align-items:center;background:#101914}.project-visual svg{height:auto;min-height:70%;transition:transform 1.1s cubic-bezier(.2,.8,.2,1);transform:scale(1.03)}.project:hover .project-visual svg{transform:scale(1.09)}.visual-caption{font-size:7px;letter-spacing:1px;bottom:20px;left:22px;border:1px solid #ffffff18;background:#070b0ccf;border-radius:3px;color:#b3b7ac}.project-content{padding:38px 35px;align-self:center}.project-meta{font-size:8px;letter-spacing:.7px;color:#c59774;gap:12px;align-items:center}.project-meta>span:last-child{font-family:var(--serif);font-size:32px;line-height:1;color:#7b6a56}.project h3{font-family:var(--heading);font-size:30px;font-weight:400;letter-spacing:-1px;line-height:1.15;margin:17px 0}.project p{color:#9a978d;font-size:12px;line-height:1.85}.project-tags span{background:#24231d;border:1px solid #3c372c;color:#a99f8c;border-radius:3px;font-size:8px}.project details{border-color:#363126;margin-top:25px}.project summary{font-size:10px;color:#c8bda7}.project summary:after{color:var(--mint)}.project ul{color:#aba89a;font-size:12px}.project-links{margin-top:25px}.project-links a{font-size:11px;color:#e0a177}.project details p{color:#c8bda7!important}.timeline summary{transition:padding .4s,background .4s;position:relative}.timeline summary:hover{background:linear-gradient(90deg,transparent,#48331c1a,transparent)}.timeline .date{color:#7d7464;font-size:9px}.timeline .role{color:#ddd8cb;font-size:23px;transition:color .25s}.timeline summary:hover .role{color:var(--mint)}.timeline .org{color:#868073}.expand{color:#ae8967;font-size:23px;transition:transform .35s}.timeline details[open] .expand:after{color:var(--mint)}.detail-body{color:#9d978a;font-size:13px}.impact{background:#100f0c;border-block:1px solid #2d281f;margin-top:130px;padding-top:85px}.impact-feature{border:1px solid #453a29;background:radial-gradient(ellipse at top left,#42311e38,transparent 65%),#15130f;border-radius:12px;padding:36px;transition:transform .5s,border-color .5s}.impact-feature:hover{border-color:#8b6844;transform:translateY(-6px)}.feature-top,.feature-top .small-label{color:#ad8f6a}.impact-feature h3{font-family:var(--serif);font-size:41px;letter-spacing:-.8px}.impact-feature p{font-size:13px;color:#999180}.feature-stats strong{font-family:var(--serif);font-size:52px;font-weight:400;color:#e5c29b}.feature-stats span{color:#8e806c}.sweepaws{background:radial-gradient(ellipse at top left,#39342538,transparent 65%),#15140f;border-color:#3e392b}.sweepaws .feature-top,.sweepaws .small-label{color:#a89b77}.sweepaws .feature-stats strong{color:#d6c49a}.small-label{color:#9b8e77}.subheading h3{color:#d7ccba}.education{background:#14120e;border-color:#3c3325;border-radius:10px;padding:36px}.education h3{font-family:var(--serif);font-size:33px;font-weight:400}.education-score{border-color:#3c3325}.education-score>span{color:#9e8f78}.education-score strong{font-family:var(--serif);font-weight:400;color:#e4b78a;font-size:65px;line-height:1.1;letter-spacing:-1px}.education-score small{color:#9b8060}.education-score p{color:#a0927b}.award-row{padding-block:23px;transition:padding .3s,background .3s}.award-row:hover{padding-left:12px;background:linear-gradient(90deg,#38281933,transparent)}.award-row h4{color:#c7bfaf}.award-row p,.award-row time{color:#827762}.award-star{color:#96754d;transition:transform .5s}.award-row:hover .award-star{transform:rotate(90deg);color:var(--mint)}.skills-grid h3{font-family:var(--serif);font-size:33px;font-weight:400;letter-spacing:-.5px}.skills-grid p:not(.small-label){color:#a19785}.certifications span{color:#897c65}.languages span{color:#b8ac96}.languages i{color:#87785e}.contact{position:relative;overflow:hidden;margin-top:130px;padding-block:90px}.contact h2{font-family:var(--serif);font-size:clamp(60px,7vw,104px);font-weight:400;letter-spacing:-2px;line-height:.98}.contact h2 span{color:var(--mint);font-style:italic}.contact-email{border-color:#775138;color:#ddd3be;font-size:28px;transition:color .3s,gap .3s}.contact-email:hover{color:var(--mint);gap:65px}.contact-links{color:#a99c86}.contact>p:not(.eyebrow){color:#968873}.contact:after{content:'ag.';position:absolute;font:italic 400 430px var(--serif);right:30px;top:-20px;color:#ffffff03;z-index:-1;pointer-events:none}footer p,footer>a:last-child{color:#827762}.motion-toggle{position:fixed;bottom:20px;right:22px;z-index:70;display:flex;gap:7px;align-items:center;border:1px solid #585041;background:#1b1913ed;backdrop-filter:blur(15px);border-radius:5px;color:#a79a82;padding:10px 12px;font:8px var(--mono);letter-spacing:1px;cursor:pointer}.motion-symbol{color:var(--mint);font-size:11px;margin-right:3px}.motion-toggle:hover{border-color:#ba885e;color:#e6c4a3}.motion-state{color:#d7bc96}.motion-ready .reveal{opacity:0;transform:translateY(35px);transition:opacity .85s cubic-bezier(.2,.65,.2,1),transform .85s cubic-bezier(.2,.65,.2,1);transition-delay:var(--reveal-delay,0ms)}.motion-ready .reveal.is-visible{opacity:1;transform:translateY(0)}.motion-ready .project.reveal{transform:translateY(50px);transition:opacity .9s,transform .9s,border-color .3s}.motion-ready .project.reveal.is-visible{transform:translateY(0)}.hero-copy .intro{animation:heroIn 1s .1s both}.hero-copy h1 .name-line:first-child{animation:nameIn 1.3s .2s cubic-bezier(.16,1,.3,1) both}.hero-copy h1 .name-line:last-child{animation:nameIn 1.3s .32s cubic-bezier(.16,1,.3,1) both}.hero-role{animation:heroIn 1s .55s both}.hero-description{animation:heroIn 1s .65s both}.hero-actions{animation:heroIn 1s .75s both}.data-stage{animation:fieldIn 2s .2s both}.ticker{margin-top:105px;border-block:1px solid #29241b;overflow:hidden;padding:23px 0;display:flex;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.ticker-track{display:flex;flex-shrink:0;animation:ticker 35s linear infinite;width:max-content}.ticker span{font-family:var(--serif);font-size:43px;font-style:italic;letter-spacing:-1px;color:#7f6c52;white-space:nowrap;display:inline-flex;gap:35px;margin-right:35px;align-items:center}.ticker i{color:#cf9264;font:22px var(--mono);font-style:normal}.motion-off *,.motion-off *:before,.motion-off *:after{animation-play-state:paused!important;scroll-behavior:auto!important}.motion-off .reveal{opacity:1!important;transform:none!important;transition:none!important}.motion-off .hero-copy .intro,.motion-off .hero-copy .name-line,.motion-off .hero-role,.motion-off .hero-description,.motion-off .hero-actions,.motion-off .data-stage{opacity:1;transform:none;filter:none;animation:none}.motion-off .hero-footnote a span{transform:none}.motion-off .project-visual svg,.motion-off .impact-feature,.motion-off .award-star{transition:none;transform:none}.motion-off .contact-email{transition:none}.motion-off .button{transition:none}
html.motion-off{scroll-behavior:auto}.motion-off .hero-copy h1 .name-line{animation:none!important;opacity:1!important;transform:none!important;filter:none!important}.canvas-unavailable .field-controls{display:none}.canvas-unavailable .field-glow{background:radial-gradient(circle,#ad754433 0%,transparent 65%)}
@keyframes nameIn{from{opacity:0;transform:translateY(65px) rotate(3deg);filter:blur(10px)}to{opacity:1;transform:none;filter:blur(0)}}@keyframes heroIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes fieldIn{from{opacity:0;transform:scale(.87);filter:blur(20px)}to{opacity:1;transform:scale(1);filter:blur(0)}}@keyframes fieldBreath{50%{transform:scale(1.12);opacity:.6}}@keyframes purposeGlow{50%{color:#f9be87;text-shadow:0 0 28px #ff9b5130}}@keyframes scrollNudge{50%{transform:translateY(5px)}}@keyframes ticker{to{transform:translateX(-100%)}}
@media(min-width:1500px){.hero-layout{min-height:760px}.hero-copy{padding-top:20px}.site-header{padding-inline:28px}}
@media(max-width:1100px){.wrap{width:calc(100% - 72px)}.site-header{width:calc(100% - 72px);padding-inline:20px}.site-header nav{gap:17px}.site-header nav sup{display:none}.hero-layout{min-height:665px}.hero-copy{width:57%}h1{font-size:150px}.data-stage{left:34%;right:-13%}.hero-footnote>span:last-child{display:none}.project-content{padding:30px 26px}.project h3{font-size:26px}.project-meta{font-size:7px}.project-visual{min-height:430px}.section-heading h2{font-size:61px}.about h2{font-size:52px}.about{gap:30px}.impact-feature{padding:29px}.impact-feature h3{font-size:36px}.signature{font-size:30px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.site-header{width:calc(100% - 28px);height:61px;top:10px;margin-top:10px;padding-inline:16px;border-radius:15px}.signature{font-size:30px}.menu-toggle{background:#ffffff04;border-color:#57503e;border-radius:8px;color:#c7bba3;padding:7px 11px;font-size:9px}.site-header nav{top:68px;left:-1px;right:-1px;background:#17150ff7;backdrop-filter:blur(20px);border:1px solid #49402d;border-radius:13px;padding:14px}.site-header nav a{border-color:#3b3427;font-size:12px}.site-header nav sup{display:inline}.site-header .nav-resume{padding:12px;border-radius:8px}.hero{padding-top:30px}.hero-top .eyebrow{font-size:7px;letter-spacing:1px}.hero-layout{min-height:0;display:flex;flex-direction:column;padding:35px 0 0;gap:0}.hero-copy{width:100%;padding-top:0}.intro{font-size:7px;letter-spacing:1.1px;margin-bottom:20px}h1{font-size:clamp(106px,27vw,170px);line-height:.8;letter-spacing:-4px;margin-bottom:20px}h1 .name-line{display:inline-block}h1 .name-line:first-child{margin-right:15px}h1 .name-line:last-child{display:block}.hero-role{font-size:22px;margin-block:23px 14px}.hero-description{font-size:12px;max-width:315px;line-height:1.9}.hero-actions{gap:20px;flex-wrap:wrap}.button{font-size:10px;padding:12px 17px;gap:25px}.hero-actions .text-link{font-size:10px}.data-stage{position:relative;left:auto;right:auto;top:auto;bottom:auto;width:calc(100% + 30px);height:390px;margin:-12px -15px 0;min-height:0}.field-glow{inset:0}.data-stage canvas{min-height:0;height:100%;mask-image:linear-gradient(180deg,transparent,#000 12%,#000 90%,transparent)}.field-coordinate.top-left{top:9%;left:4%;font-size:6px}.field-coordinate.top-right{top:9%;right:4%;font-size:6px}.field-caption{top:76%;left:20%;font-size:6px;letter-spacing:1px}.field-cross{left:50%;top:43%;font-size:20px}.field-controls{bottom:8%;left:0;right:0;gap:3px}.field-controls button{font-size:8px;padding:8px 10px}.field-description{bottom:0;left:0;font-size:9px}.hero-footnote{padding-block:20px;font-size:6px;gap:15px;letter-spacing:.6px}.hero-footnote a{gap:15px}.hero-stats{padding-block:23px;margin-top:0;gap:15px}.hero-stats strong{font-size:34px}.hero-stats p{font-size:8px}.hero-stats strong span{font-size:16px}.section,.about{padding-top:80px}.section-label{font-size:8px}.about h2{font-size:45px}.about p{font-size:13px}.interest-tags{gap:7px}.interest-tags span{font-size:8px;padding:6px 9px}.section-heading{margin-bottom:30px}.section-heading h2{font-size:49px;letter-spacing:-1.5px}.section-description{font-size:12px}.project-grid{gap:25px}.project{position:relative;top:0!important;display:block;border-radius:12px;min-height:0;box-shadow:none}.project-visual{height:235px;min-height:0;border-right:0;border-bottom:1px solid #3c3426;display:block}.project-visual svg{width:100%;height:100%}.project-content{padding:24px 23px}.project-meta{font-size:7px;letter-spacing:.5px}.project-meta>span:last-child{font-size:27px}.project h3{font-size:27px}.project p{font-size:12px}.project ul{font-size:12px}.project-links a{font-size:11px}.visual-caption{font-size:6px;left:15px;bottom:13px}.timeline .role{font-size:21px}.timeline .date{font-size:8px}.timeline .org{font-size:10px}.detail-body{font-size:12px}.impact{margin-top:80px;padding-top:60px}.impact-feature{padding:27px}.impact-feature h3{font-size:36px}.impact-feature p{font-size:12px}.feature-stats strong{font-size:48px}.feature-stats span{font-size:9px}.subheading h3{font-size:17px}.education{padding:25px}.education h3{font-size:29px}.education-score strong{font-size:47px}.education-score>span{font-size:7px}.education-score p{font-size:9px}.education-score{border-color:#3b3224}.award-row:hover{padding-left:0}.skills-grid h3{font-size:32px}.contact{margin-top:80px;padding-block:60px}.contact h2{font-size:60px}.contact-email{font-size:clamp(17px,4.5vw,25px);gap:25px}.contact-email:hover{gap:25px}.contact>p:not(.eyebrow){font-size:12px}.contact-links{font-size:10px}.contact:after{font-size:320px;right:-70px;top:50px}.motion-toggle{bottom:12px;right:12px;padding:9px 10px;font-size:7px;gap:6px}footer{padding-bottom:65px}footer .signature{font-size:25px}footer p{max-width:120px;font-size:8px}footer>a:last-child{font-size:7px}.ticker{margin-top:60px;padding-block:15px}.ticker span{font-size:33px;gap:25px;margin-right:25px}.motion-ready .reveal{transform:translateY(22px)}.motion-ready .project.reveal{transform:translateY(25px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal{opacity:1;transform:none}.hero-copy .intro,.hero-copy .name-line,.hero-role,.hero-description,.hero-actions,.data-stage{opacity:1;transform:none;filter:none}}
@media print{body:before,.data-stage,.motion-toggle,.hero-footnote,.ticker{display:none}.site-header{display:none}.hero-copy{width:100%}.hero-layout{min-height:0;padding-top:0}.hero h1{font-size:75pt;color:#111}.hero-role{color:#333}.hero-description{color:#333}.name-line{color:#111!important}.project{position:static;display:block;box-shadow:none}.project-visual{min-height:0;height:150px}.reveal{opacity:1!important;transform:none!important}.section-heading h2,.about h2{font-size:32pt}.contact h2{font-size:38pt}.contact:after{display:none}footer{display:none}}
