:root{--ink:#17241f;--paper:#f5f4ef;--muted:#64716a;--line:#d9ddd4;--lime:#d9fb4c;--forest:#20362d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}.site-header{z-index:10;background:rgba(245,244,239,.72);width:100%;transition:background-color .22s,color .22s;position:-webkit-sticky;position:sticky;top:0}.site-nav{justify-content:space-between;align-items:center;max-width:1280px;height:78px;margin:auto;padding:0 42px;font-size:13px;display:flex}.monogram{align-items:center;display:flex}.initials-crop{width:80px;height:40px;overflow:hidden}.initials-logo{width:180px;max-width:none;height:auto;display:block;transform:translate(-46px,-30px)}.nav-links{color:var(--muted);gap:28px;display:flex}.nav-links a{font-size:18px;transition:color .16s}.nav-links a.is-active{color:var(--ink);border-bottom:1px solid;padding-bottom:3px}.nav-links a:hover,.text-link:hover{color:var(--ink)}.nav-menu{position:relative}.nav-menu summary{cursor:pointer;align-items:center;list-style:none;display:flex}.nav-menu summary::-webkit-details-marker{display:none}.nav-menu-icon{object-fit:contain;width:24px;height:24px;transition:opacity .16s;display:block}.nav-menu summary:hover .nav-menu-icon{opacity:.55}.nav-menu summary:focus-visible .nav-menu-icon{opacity:.55}.nav-menu-panel{z-index:1;border:1px solid var(--ink);background:var(--paper);width:max-content;min-width:174px;color:var(--ink);box-shadow:5px 5px 0 var(--lime);padding:8px;position:absolute;top:calc(100% + 12px);right:0}.nav-menu-panel a{padding:10px 12px;font-size:14px;transition:background-color .16s;display:block}.nav-menu-panel a:hover{background:var(--lime);outline:none}.nav-menu-panel a:focus-visible{background:var(--lime);outline:none}.quiz-page{background:#dcead1;place-items:center;min-height:100svh;padding:48px 22px;display:grid}.quiz-card{border:1px solid var(--ink);background:var(--paper);width:min(100%,720px);min-height:600px;box-shadow:12px 12px 0 var(--forest);padding:max(28px,min(6vw,64px))}.quiz-back{color:var(--muted);font-size:14px;display:inline-block}.quiz-back:hover{color:var(--ink)}.quiz-progress{grid-template-columns:repeat(5,1fr);gap:8px;margin:55px 0 26px;display:grid}.quiz-progress span{background:var(--line);height:5px}.quiz-progress .is-active{background:var(--forest)}.quiz-kicker{color:var(--muted);letter-spacing:.11em;text-transform:uppercase;margin:0 0 18px;font-size:11px;font-weight:700}.quiz-card h1{letter-spacing:-.06em;max-width:590px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:max(38px,min(5vw,62px));font-weight:400;line-height:.98}.quiz-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:46px;display:grid}.quiz-option{border:1px solid var(--ink);min-height:70px;color:var(--ink);cursor:pointer;font:inherit;text-align:left;background:0 0;padding:14px;font-size:15px;transition:background-color .16s,color .16s}.quiz-option:hover:not(:disabled){background:var(--lime);outline:none}.quiz-option:focus-visible{background:var(--lime);outline:none}.quiz-option span{border:1px solid;border-radius:50%;place-items:center;width:24px;height:24px;margin-right:10px;font-size:11px;font-weight:700;display:inline-grid}.quiz-option:disabled{cursor:default}.quiz-option.is-correct{border-color:var(--forest);background:var(--forest);color:#fff}.quiz-option.is-incorrect{color:#70271e;background:#f2d1ca;border-color:#a13f32}.quiz-feedback{min-height:48px;color:var(--muted);margin:24px 0 0;font-size:14px;line-height:1.5}.quiz-button{border:1px solid var(--ink);background:var(--lime);color:var(--ink);cursor:pointer;font:inherit;margin-top:24px;padding:13px 18px;font-size:14px;font-weight:700}.quiz-button span{margin-left:15px;font-size:18px}.quiz-button:hover:not(:disabled){background:var(--forest);color:#fff;outline:none}.quiz-button:focus-visible{background:var(--forest);color:#fff;outline:none}.quiz-button:disabled{cursor:not-allowed;opacity:.45}.quiz-results{flex-direction:column;justify-content:center;display:flex}.quiz-results .quiz-kicker{margin-top:66px}.quiz-score{color:var(--forest);letter-spacing:-.05em;margin:0 0 24px;font-family:Georgia,Times New Roman,serif;font-size:max(80px,min(14vw,140px));line-height:.82}.quiz-score span{color:var(--muted);letter-spacing:-.06em;font-size:.38em}.quiz-description{color:var(--muted);margin:20px 0 0}@media (max-width:600px){.quiz-page{place-items:stretch stretch;padding:22px}.quiz-card{min-height:calc(100svh - 44px);box-shadow:6px 6px 0 var(--forest);padding:30px 24px}.quiz-progress{margin:42px 0 23px}.quiz-options{grid-template-columns:1fr;margin-top:34px}.quiz-results .quiz-kicker{margin-top:45px}}.hero{--pattern-x:0px;--pattern-y:0px;isolation:isolate;text-align:center;flex-direction:column;justify-content:center;align-items:center;max-width:1280px;min-height:calc(100svh - 78px);margin:auto;padding:62px 42px 78px;display:flex;position:relative}.hero:before{content:"";z-index:-1;background-image:radial-gradient(circle,rgba(32,54,45,.22) 1px,transparent 1.25px);background-position:var(--pattern-x)var(--pattern-y);pointer-events:none;background-size:28px 28px;width:100vw;margin-left:-50vw;position:absolute;top:-78px;bottom:0;left:50%;-webkit-mask-image:linear-gradient(90deg,transparent,rgba(0,0,0,.32) 10%,#000 28%,#000 72%,rgba(0,0,0,.32) 90%,transparent);mask-image:linear-gradient(90deg,transparent,rgba(0,0,0,.32) 10%,#000 28%,#000 72%,rgba(0,0,0,.32) 90%,transparent)}.headshot-frame{aspect-ratio:1;border:3px solid var(--forest);background:#d9ddd4;border-radius:50%;width:max(182px,min(20vw,232px));overflow:hidden}.headshot{object-fit:cover;object-position:center 18%;width:100%;height:100%}.section-label,.project-number,.mini-label{color:var(--muted);letter-spacing:.11em;text-transform:uppercase;font-size:11px;font-weight:700}.hero h1{letter-spacing:-.075em;max-width:850px;margin:10px 0 0;font-family:Georgia,Times New Roman,serif;font-size:max(66px,min(10.5vw,142px));font-weight:400;line-height:.88}.hero-role{margin:0;font-size:max(18px,min(2vw,25px))}.hero-role-line{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 13px;margin-top:22px;display:flex}.hero-location{color:var(--muted);margin-top:4px;font-size:14px}.hero-location:before{content:"•";margin-right:13px}.hero-intro{color:#405049;max-width:490px;margin:24px 0 28px;font-size:17px;line-height:1.6}.hero-footer{color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:14px 30px;margin-top:22px;font-size:12px;display:flex}.social-links{align-items:center;gap:15px;display:flex}.social-icon-link{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.social-icon-link:hover{color:var(--ink)}.social-icon{object-fit:contain;opacity:.74;width:20px;height:15px}.social-icon-link:hover .social-icon{opacity:1}.social-links-hero{gap:24px}.social-links-hero .social-icon-link,.hero-icon-link{width:40px;height:40px;color:var(--ink);justify-content:center;align-items:center;transition:color .2s,transform .2s;display:inline-flex}.social-links-hero .social-icon-link:hover,.hero-icon-link:hover{color:#186844;transform:translateY(-2px)}.social-links-hero .social-icon{opacity:1;width:24px;max-width:none;height:24px;transition:filter .2s}.hero-icon{object-fit:contain;width:26px;max-width:none;height:26px;transition:filter .2s}.social-links-hero .social-icon-link-linkedin .social-icon-linkedin{width:72px;max-width:none;height:72px}.social-links-hero .social-icon-link-github .social-icon-github{width:36px;max-width:none;height:36px}.hero-icon-link-email .hero-icon-email{width:40px;max-width:none;height:40px}.social-links-hero .social-icon-link:hover .social-icon,.hero-icon-link:hover .hero-icon{filter:invert(34%)sepia(86%)saturate(665%)hue-rotate(105deg)brightness(85%)contrast(84%)}.text-link{border-bottom:1px solid var(--line);padding-bottom:2px;font-size:12px}.section{--pattern-x:0px;--pattern-y:0px;isolation:isolate;border-top:1px solid var(--line);grid-template-columns:190px 1fr;align-content:center;gap:46px;min-height:100svh;padding:110px max(42px,50vw - 598px);display:grid;position:relative}.section:before{content:"";z-index:0;background-position:var(--pattern-x)var(--pattern-y);pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.section>*{z-index:1;position:relative}.section-content{min-width:0}.section h2{letter-spacing:-.065em;margin:0 0 60px;font-family:Georgia,Times New Roman,serif;font-size:max(44px,min(5.3vw,72px));font-weight:400;line-height:.98}.about-section{background:#bed5a9;align-content:start}.about-section:before{background-image:repeating-linear-gradient(45deg,rgba(32,54,45,.12) 0,rgba(32,54,45,.12) 1px,transparent 1px,transparent 20px);background-size:28px 28px}.experience-section{background:#b7d8be;border-color:#93b99d}.experience-section:before{background-image:radial-gradient(9px 1px,rgba(49,93,65,.26) 85%,transparent 100%);background-size:38px 28px}.experience-section .section-label{color:#315d41}.experience-section h2{max-width:560px}.education-section{background:#e8dfc9;border-color:#c8b994}.education-section:before{background-image:linear-gradient(rgba(120,101,66,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(120,101,66,.14) 1px,transparent 1px);background-size:32px 32px}.education-section .section-label{color:#786542}.about-content{grid-template-columns:minmax(250px,1fr) minmax(250px,1fr);gap:70px;display:grid}.about-visual h2{margin-bottom:32px}.canoeing-photo{aspect-ratio:4/3;background:#c8d0c5;width:100%;max-width:500px;margin:0;position:relative;overflow:hidden}.canoeing-image{object-fit:cover;object-position:center 58%;width:100%;height:100%}.about-skills{border-top:1px solid #c8d0c5;grid-column:1/-1;padding-top:32px}.about-skills-heading{align-items:top;justify-content:space-between;gap:30px;margin-bottom:28px;display:flex}.about-skills-heading h3{letter-spacing:-.055em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:max(30px,min(3.5vw,48px));font-weight:400}.about-skills-heading p{max-width:235px;color:var(--muted);margin-top:16px;font-size:14px;line-height:1.5}.prose{color:#405049;max-width:470px;font-size:16px;line-height:1.65}.prose p{margin:0 0 1rem}.mini-list{border-top:1px solid #c8d0c5;margin-top:44px;padding-top:17px}.mini-label{margin-bottom:5px}.timeline{border-left:1px solid var(--line);max-width:720px;margin-left:5px}.timeline-item{padding:0 0 52px 38px;position:relative}.entry-topline{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.entry-logo{flex:none;justify-content:flex-end;align-items:center;width:112px;height:48px;display:flex}.entry-logo img{object-fit:contain;object-position:right center;width:100%;max-width:none;height:100%}.timeline-item:last-child{padding-bottom:0}.entry-period{color:var(--muted);margin:0 0 8px;font-size:12px}.timeline h3,.project-card h3{letter-spacing:-.025em;margin:0;font-size:20px}.entry-organization{color:var(--muted);margin:6px 0 16px;font-size:14px}.entry-description{color:#405049;margin:0 0 12px;line-height:1.55}.highlights{color:#405049;padding-left:17px;font-size:14px;line-height:1.55}.highlights li{margin:5px 0}.timeline-experience{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:980px;margin-left:0;display:grid}.timeline-experience .timeline-item{background:#fff0d2;border:1px solid #1f4730;flex-direction:column;min-height:0;padding:32px;transition:transform .18s,box-shadow .18s;display:flex;box-shadow:9px 9px #245438}.timeline-experience .timeline-item:hover{transform:translate(-4px,-7px)rotate(-.65deg);box-shadow:14px 15px #245438}.timeline-experience .timeline-item:nth-child(2){background:#e3d8ff;margin:42px 0 -42px;box-shadow:9px 9px #5d478d}.timeline-experience .timeline-item:nth-child(2):hover{transform:translate(-4px,-7px)rotate(.65deg);box-shadow:14px 15px #5d478d}.timeline-experience .entry-period{color:#315d41;letter-spacing:.04em;text-transform:uppercase;font-weight:700}.timeline-experience .entry-organization{color:#315d41;margin-bottom:26px}.timeline-experience .entry-description,.timeline-experience .highlights{color:#263d2e}.timeline-experience .entry-logo{width:118px;height:58px;transition:transform .2s}.timeline-experience .entry-logo:hover{transform:scale(1.04)}.timeline-experience .entry-topline{border-bottom:1px solid rgba(31,71,48,.3);grid-template-columns:minmax(0,1fr) 118px;min-height:0;margin-bottom:22px;display:grid}.timeline-experience .entry-topline>div:first-child{min-width:0}.tags{flex-wrap:wrap;gap:7px;margin-top:17px;display:flex}.tags span{border:1px solid var(--line);color:var(--muted);padding:5px 8px;font-size:11px}.timeline-experience .tags{margin-top:20px;padding-top:18px}.timeline-experience .tags span{color:#315d41;border-color:rgba(31,71,48,.45)}.timeline-experience .timeline-item:nth-child(2) .entry-period,.timeline-experience .timeline-item:nth-child(2) .entry-organization,.timeline-experience .timeline-item:nth-child(2) .tags span{color:#503c80}.timeline-experience .timeline-item:nth-child(2) .entry-topline,.timeline-experience .timeline-item:nth-child(2) .tags span{border-color:rgba(80,60,128,.36)}.education-chronology{max-width:940px}.education-chapter{grid-template-columns:126px minmax(0,1fr);gap:24px;display:grid}.education-rail{color:#8a613c;flex-direction:column;align-items:center;min-height:298px;font-family:Georgia,Times New Roman,serif;font-size:22px;font-weight:700;display:flex}.education-rail i{background:#cf5c36;flex:1;width:2px;min-height:165px;margin:13px 0}.education-card{background:#fff9eb;border:1px solid #5d4d30;min-height:298px;padding:39px 42px;transition:transform .18s,box-shadow .18s;box-shadow:8px 8px #bcab82}.education-chapter:hover .education-card{transform:translate(4px,-4px)rotate(.3deg);box-shadow:12px 12px #bcab82}.education-chapter:hover .education-rail i{background:#f17442;box-shadow:0 0 0 5px rgba(241,116,66,.16)}.education-card .entry-period{color:#8a613c;letter-spacing:.08em;text-transform:uppercase;margin:0 0 15px;font-size:12px;font-weight:700}.education-card h3{color:#342b1d;letter-spacing:-.06em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:max(36px,min(4.4vw,60px));font-weight:400;line-height:.95}.education-card .entry-organization{color:#5d4d30;margin:14px 0 22px;font-size:17px;font-weight:700}.education-card .entry-description{color:#564c3b;margin:0 0 16px;font-size:16px;line-height:1.6}.education-card .highlights{color:#564c3b;margin:0;font-size:15px;line-height:1.6}.education-break{align-items:center;height:88px;margin-left:62px;display:flex;position:relative}.education-break:before{content:"";background:repeating-linear-gradient(#cf5c36 0,#cf5c36 5px,transparent 5px,transparent 11px);width:2px;height:100%;position:absolute;left:0}.projects-section{background:var(--forest);color:#f5f4ef;border-color:#395047}.projects-section:before{background-image:repeating-radial-gradient(circle,transparent 0,transparent 34px,rgba(217,251,76,.16) 35px,rgba(217,251,76,.16) 36px)}.projects-section .section-label{color:#bcc8bf}.projects-heading{justify-content:space-between;align-items:flex-start;gap:30px;display:flex}.projects-controls{max-width:295px;margin-top:12px}.projects-controls p{color:#bcc8bf;margin:0;font-size:14px;line-height:1.5}.projects-controls button{color:#f5f4ef;cursor:pointer;font:inherit;background:0 0;border:0;border-bottom:1px solid #bcc8bf;margin-top:13px;padding:0 0 3px;font-size:12px}.projects-controls button:hover{border-color:var(--lime);color:var(--lime);outline:none}.projects-controls button:focus-visible{border-color:var(--lime);color:var(--lime);outline:none}.projects-grid{grid-template-columns:repeat(2,1fr);grid-auto-flow:row;align-items:stretch;gap:14px;display:grid}.project-empty-slot{min-height:305px}.project-sortable{min-width:0;transition:opacity .16s,transform .16s;position:relative}.project-sortable.project-featured,.project-sortable.project-pickup{grid-column:1/-1}.project-sortable.is-dragging{opacity:.45;transform:scale(.98)}.project-sortable.is-drop-target{outline:2px solid var(--lime);outline-offset:4px;transform:translateY(-3px)}.project-sortable.is-drop-target:after{content:"Drop to swap";z-index:4;background:var(--lime);color:var(--ink);letter-spacing:.08em;pointer-events:none;text-transform:uppercase;padding:9px 12px;font-size:11px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.project-card{background:#2b4439;flex-direction:column;min-width:0;min-height:305px;padding:29px;display:flex;position:relative}.project-featured .project-card{color:var(--ink);background:#afcdbd}.project-pickup .project-card{color:#172c42;background:#b9daf3}.project-drag-hint{z-index:3;color:currentColor;cursor:grab;letter-spacing:.07em;opacity:.5;text-transform:uppercase;-webkit-user-select:none;-moz-user-select:none;user-select:none;background:0 0;border:0;padding:0;font-size:10px;font-weight:700;position:absolute;top:13px;right:15px}.project-drag-hint:focus-visible{outline-offset:4px;opacity:1;outline:1px solid}.project-sortable:hover .project-drag-hint{opacity:.9}.project-sortable:active .project-drag-hint{cursor:grabbing}@media (hover:none){.project-drag-hint{opacity:.9;touch-action:none}}.project-card .project-number{color:inherit;opacity:.66}.project-card h3{margin:24px 0 0;font-family:Georgia,Times New Roman,serif;font-size:35px;font-weight:400}.project-card>p{color:inherit;opacity:.77;font-size:14px;line-height:1.5}.project-highlights{color:inherit;opacity:.78;margin:0;padding-left:17px;font-size:12px;line-height:1.45}.project-highlights li{margin:5px 0}.project-card .tags span{opacity:.75;border-color:currentColor}.project-card .tags{min-width:0}.project-links:empty{display:none}.project-links{flex-wrap:wrap;gap:17px;margin-top:20px;display:flex}.project-links .text-link{border-color:currentColor}.project-tooltip{z-index:2;color:#f5f4ef;opacity:0;pointer-events:none;background:#10261c;width:min(330px,100% - 42px);padding:13px 15px;font-size:12px;line-height:1.45;transition:opacity .2s,transform .2s;position:absolute;bottom:18px;right:18px;transform:translateY(8px)}.project-featured .project-tooltip,.project-pickup .project-tooltip{background:var(--forest)}.project-pickup .project-tooltip{background:#17324a}.project-tooltip span{color:#d9fb4c;letter-spacing:.1em;text-transform:uppercase;margin-bottom:5px;font-size:10px;font-weight:700;display:block}.project-tooltip p{margin:0}.project-card:hover .project-tooltip,.project-card:focus-within .project-tooltip{opacity:1;transform:translateY(0)}.skill-groups{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;display:grid}.skill-group{border-top:1px solid var(--line);padding-top:15px}.skill-group h3{letter-spacing:.08em;text-transform:uppercase;margin:0 0 20px;font-size:12px}.skill-list{gap:14px;display:grid}.skill-item{justify-content:space-between;align-items:center;gap:14px;font-size:15px;display:flex}.skill-item:hover .skill-level span.is-filled{animation:.5s ease-in-out both skill-bubble}.skill-item:hover .skill-level span:nth-child(2){animation-delay:60ms}.skill-item:hover .skill-level span:nth-child(3){animation-delay:.12s}.skill-item:hover .skill-level span:nth-child(4){animation-delay:.18s}.skill-item:hover .skill-level span:nth-child(5){animation-delay:.24s}@keyframes skill-bubble{50%{transform:translateY(-4px)scale(1.15)}}.skill-level{flex:none;gap:5px;display:flex}.skill-level span{border:1px solid #9aa69d;border-radius:50%;width:10px;height:10px}.skill-level .is-filled{border-color:var(--forest);background:var(--forest)}.sticky-notes-section{background-color:#fff4d7;background-image:linear-gradient(rgba(173,133,44,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(173,133,44,.14) 1px,transparent 1px);background-size:28px 28px;background-position:var(--pattern-x,0px)var(--pattern-y,0px),var(--pattern-x,0px)var(--pattern-y,0px);border-color:#e3d2a7;grid-template-rows:minmax(0,1fr);align-content:start;box-shadow:inset 0 14px rgba(255,232,120,.35)}.sticky-notes-section:before{background-image:linear-gradient(30deg,rgba(150,120,52,.16) 1px,transparent 1px),linear-gradient(120deg,rgba(150,120,52,.13) 1px,transparent 1px),radial-gradient(circle,rgba(255,232,120,.38) 0,rgba(255,232,120,.38) 2px,transparent 2.5px);background-size:36px 36px,36px 36px,50px 50px}.sticky-notes-section .section-label{color:#876a26}.sticky-notes-section .section-content{flex-direction:column;align-self:stretch;display:flex}.sticky-notes-intro{grid-template-columns:minmax(0,1.3fr) minmax(220px,.8fr);align-items:start;gap:32px;margin-bottom:54px;display:grid}.sticky-notes-intro h2{letter-spacing:-.07em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:max(42px,min(5.5vw,75px));font-weight:400;line-height:.9}.sticky-notes-intro>p:last-child{color:#496136;max-width:300px;margin:5px 0 0;font-size:14px;line-height:1.45}.sticky-notes-content{grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);align-items:start;gap:max(38px,min(7vw,104px));display:grid}.sticky-notes-copyright{color:#876a26;text-align:right;margin:auto 0 0;padding-top:54px;font-size:11px}.sticky-note-composer{aspect-ratio:1.08;background:#ffe878;flex-direction:column;width:min(100%,440px);min-height:max(370px,min(31vw,420px));padding:25px;display:flex;position:static;transform:rotate(-1.25deg);box-shadow:9px 10px #8ead71}.sticky-note-composer>label,.sticky-note-name span{letter-spacing:.04em;text-transform:uppercase;margin-bottom:10px;font-size:12px;font-weight:700;display:block}.sticky-note-composer .sticky-note-honeypot{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.sticky-note-composer textarea,.sticky-note-name input{width:100%;color:var(--ink);font:inherit;background:rgba(255,255,255,.48);border:0;border-radius:0;outline:0}.sticky-note-composer textarea{resize:vertical;flex:1;min-height:130px;padding:12px;line-height:1.42}.sticky-note-character-count{color:#597044;justify-content:space-between;min-height:18px;margin:7px 0 0;font-size:11px;line-height:1.3;display:flex}.sticky-note-character-count.is-limit{color:#75471a}.sticky-note-character-count a{color:inherit;text-underline-offset:2px;font-weight:700;text-decoration:underline}.sticky-note-composer textarea:focus,.sticky-note-name input:focus{box-shadow:inset 0 -2px 0 var(--forest)}.sticky-note-composer-bottom{align-items:end;gap:15px;margin-top:16px;display:flex}.sticky-note-name{flex:1}.sticky-note-name span{margin-bottom:6px;font-size:10px}.sticky-note-name em{letter-spacing:0;text-transform:none;font-style:normal;font-weight:400}.sticky-note-name input{border-bottom:1px solid rgba(23,36,31,.55);padding:8px 2px;font-size:14px}.sticky-note-composer button{border:1px solid var(--ink);background:var(--forest);color:var(--paper);cursor:pointer;font:inherit;white-space:nowrap;padding:10px 12px;font-size:13px;font-weight:700;transition:transform .16s,background-color .16s}.sticky-note-composer button:hover:not(:disabled){background:#315141;transform:translate(-2px,-2px)}.sticky-note-drag-handle{width:100%;color:var(--ink);cursor:grab;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;font:inherit;background:rgba(255,255,255,.24);border:1px dashed rgba(23,36,31,.7);flex:none;margin-top:19px;padding:10px;font-size:12px;font-weight:700}.sticky-note-drag-handle:active{cursor:grabbing}.sticky-note-status{margin:15px 0 0;font-size:13px;line-height:1.3}.sticky-note-status.is-success{color:#245438}.sticky-note-status.is-error{color:#8b3020}.sticky-note-board{background-color:#fff;background-image:radial-gradient(#d9ddd4 .7px,transparent .7px);background-size:16px 16px;border:12px solid #f4f4ef;outline:1px solid #9aa69d;min-height:680px;transition:outline-color .16s,box-shadow .16s;position:relative;overflow:hidden;box-shadow:10px 11px #8ead71}.sticky-note-board.is-drop-target{outline:3px dashed var(--forest);box-shadow:13px 14px #7e9f60}.sticky-note-board-label{z-index:20;color:#7a877f;letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:10px;font-weight:700;position:absolute;top:14px;left:18px}.sticky-note-drop-preview{border:2px dashed var(--forest);pointer-events:none;background:rgba(255,232,120,.32);width:max(155px,min(28%,220px));min-height:174px;position:absolute;transform:translate(-50%)rotate(-1.25deg);box-shadow:5px 6px rgba(32,54,45,.14)}.sticky-note{background:#fff6b3;flex-direction:column;justify-content:space-between;width:max(155px,min(28%,220px));min-height:174px;padding:22px 18px 17px;font-family:Georgia,Times New Roman,serif;transition:transform .16s,box-shadow .16s;display:flex;position:absolute;transform:translate(-50%)rotate(-2.4deg);box-shadow:5px 6px rgba(32,54,45,.22)}.sticky-note:nth-child(2n){background:#f9c4d5;transform:translate(-50%)rotate(2.1deg)}.sticky-note:nth-child(3n){background:#bfe7ed;transform:translate(-50%)rotate(-.7deg)}.sticky-note:hover,.sticky-note:focus-within{box-shadow:9px 10px rgba(32,54,45,.27)}.sticky-note:hover{transform:translate(-50%)rotate(-1deg)scale(1.035)}.sticky-note p{overflow-wrap:anywhere;letter-spacing:-.035em;white-space:pre-wrap;margin:0;font-size:max(16px,min(1.55vw,21px));line-height:1.08}.sticky-note span{color:#496136;margin-top:18px;font-family:Arial,Helvetica,sans-serif;font-size:11px}.sticky-note-remove{border:1px solid var(--ink);background:var(--paper);width:25px;height:25px;color:var(--ink);cursor:pointer;border-radius:50%;font-size:19px;line-height:1;position:absolute;top:7px;right:8px}.sticky-note-remove:hover{background:#f3a6a6}.sticky-note-remove:focus-visible{background:#f3a6a6}.sticky-note-owner-access{justify-content:flex-end;margin:-38px 0 19px;display:flex}.sticky-note-owner-access details{position:relative}.sticky-note-owner-access summary,.sticky-note-owner-signout{color:#5d7061;cursor:pointer;font:inherit;text-underline-offset:3px;background:0 0;border:0;padding:0;font-size:11px;text-decoration:underline}.sticky-note-owner-access form{z-index:110;border:1px solid var(--ink);background:var(--paper);width:220px;box-shadow:4px 4px 0 var(--forest);padding:13px;position:absolute;top:calc(100% + 8px);right:0}.sticky-note-owner-access label,.sticky-note-owner-access input,.sticky-note-owner-access form button{width:100%;display:block}.sticky-note-owner-access label{letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px;font-size:10px;font-weight:700}.sticky-note-owner-access input{background:#fff;border:1px solid #9aa69d;padding:7px}.sticky-note-owner-access form button{border:1px solid var(--forest);background:var(--forest);color:var(--paper);cursor:pointer;font:inherit;margin-top:9px;padding:7px;font-size:12px}.sticky-note-owner-access form p{color:#8b3020;margin:8px 0 0;font-size:11px}.sticky-note-empty{color:#496136;letter-spacing:-.04em;width:min(280px,78%);margin:0;font-family:Georgia,Times New Roman,serif;font-size:24px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero:before,.timeline-experience .timeline-item,.education-card,.project-sortable{transition:none}.skill-item:hover .skill-level span.is-filled{animation:none}}@media (max-width:900px){.section{padding:80px 32px;display:block}.section-label{margin:0 0 39px}.about-content{display:block}.about-visual{margin-bottom:42px}.about-skills{margin-top:48px}}@media (max-width:1100px){.timeline-experience{grid-template-columns:1fr}.timeline-experience .timeline-item:nth-child(2){margin:0}.projects-grid{grid-template-columns:1fr}.project-empty-slot{display:none}.project-sortable.project-featured,.project-sortable.project-pickup{grid-column:auto}}@media (max-width:700px){.site-nav{padding:0 22px}.nav-links{display:none}.hero{min-height:calc(100svh - 78px);padding:42px 22px 48px}.headshot-frame{width:126px}.hero-footer{margin-top:32px}.section{min-height:100svh;padding:73px 22px;display:block}.section-label{margin:0 0 39px}.section h2{margin-bottom:37px}.about-content{display:block}.prose{margin-bottom:1rem;font-size:15px}.timeline-item{padding-left:28px}.timeline-experience .timeline-item,.timeline-experience .timeline-item:nth-child(2){margin-left:0;padding:25px 21px 25px 30px;box-shadow:5px 5px #245438}.education-chapter{grid-template-columns:56px minmax(0,1fr);gap:15px}.education-rail{min-height:0;font-size:16px}.education-rail i{min-height:145px;margin:9px 0}.education-card{min-height:0;padding:29px 24px;box-shadow:5px 5px #bcab82}.education-card h3{font-size:39px}.education-break{height:72px;margin-left:27px}.entry-logo{width:78px;height:34px}.timeline-experience{grid-template-columns:1fr}.timeline-experience .timeline-item,.timeline-experience .timeline-item:nth-child(2){min-height:0;margin:0}.projects-heading{display:block}.projects-controls{max-width:none;margin:-15px 0 36px}.projects-grid{grid-template-columns:1fr}.about-skills-heading{display:block}.about-skills-heading p{margin-top:10px}.skill-groups{grid-template-columns:1fr;gap:28px}.project-card{min-height:280px;padding:25px 22px}.project-empty-slot{min-height:280px}.project-card .tags{gap:5px}.project-card .tags span{padding:4px 6px;font-size:10px}.sticky-notes-intro,.sticky-notes-content{display:block}.sticky-notes-intro{margin-bottom:38px}.sticky-note-owner-access{margin:-23px 0 18px}.sticky-notes-intro>p:last-child{margin-top:20px}.sticky-note-composer{margin:0 6px 48px 0;position:static}.sticky-note-board{border-width:8px;min-height:560px}.sticky-note{width:max(140px,min(42%,185px));min-height:155px;padding:18px 15px 14px}.sticky-note-drop-preview{width:max(140px,min(42%,185px));min-height:155px}.social-links{gap:13px}}.site-header-experience{background:rgba(183,216,190,.78)}.site-header-education{background:rgba(232,223,201,.8)}.site-header-projects{color:var(--paper);background:rgba(32,54,45,.88)}.site-header-projects .nav-links{color:#bcc8bf}.site-header-projects .nav-links a.is-active,.site-header-projects .nav-links a:hover{color:var(--paper)}.site-header-projects .nav-links a:focus-visible{color:var(--paper)}.site-header-projects .nav-menu-icon{filter:brightness(0)invert()}.site-header-about{background:rgba(190,213,169,.8)}.site-header-stickies{background:rgba(247,239,215,.84)}
