:root{--forest: #1f3d2b;--forest-2: #2a4f38;--green: #2f6b45;--green-hover: #24563a;--sage: #e4ece1;--mint: #cfe6d4;--cream: #f7f4ec;--ink: #1a1f1b;--muted: #4c574f;--gold: #a8842f;--rule: #cfd8cc;--serif: "Fraunces", Georgia, "Times New Roman", serif;--sans: "Public Sans", system-ui, -apple-system, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:var(--green);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--green-hover);text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:2px}.skip{position:absolute;left:12px;top:-48px;z-index:20;background:var(--ink);color:var(--cream);padding:8px 14px}.skip:focus{top:12px}.site-header{background:var(--forest);color:var(--cream);display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;padding:22px clamp(16px,6vw,72px) 0}.wordmark{font-family:var(--serif);font-size:1.2rem;font-weight:600;color:var(--cream);text-decoration:none}.site-header nav{display:flex;gap:22px;flex-wrap:wrap}.site-header nav a{color:var(--mint);text-decoration:none;font-size:.95rem}.site-header nav a:hover{color:var(--cream);text-decoration:underline}.wordmark:hover{color:var(--mint)}.hero{background:var(--forest);color:var(--cream);padding:clamp(64px,11vw,132px) clamp(16px,6vw,72px) clamp(72px,10vw,112px)}.hero-inner{max-width:640px}.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.6rem,7vw,4.6rem);line-height:1.05;letter-spacing:-.01em;margin-bottom:28px}.intro{font-size:1.2rem;line-height:1.6;color:var(--cream)}.looking{margin-top:18px;color:var(--mint)}.currently{margin-top:36px;padding-top:16px;border-top:1px solid rgba(207,230,212,.35);font-size:.95rem;color:var(--mint)}.currently .label{font-weight:600;color:var(--cream);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;margin-right:8px}.hero-links{margin-top:36px;display:flex;align-items:center;gap:24px;flex-wrap:wrap}.hero .text-link{color:var(--mint)}.hero .text-link:hover{color:var(--cream)}.btn{display:inline-block;background:var(--green);color:#fff;padding:11px 20px;border-radius:4px;text-decoration:none;font-weight:500;transition:background .15s}.btn:hover{background:var(--green-hover);color:#fff}.hero .btn{background:var(--cream);color:var(--forest)}.hero .btn:hover{background:var(--mint);color:var(--forest)}.btn.light{background:var(--cream);color:var(--forest)}.btn.light:hover{background:var(--mint);color:var(--forest)}.section{display:grid;grid-template-columns:170px minmax(0,620px);column-gap:clamp(24px,5vw,64px);padding:72px clamp(16px,6vw,72px)}.section.wide{grid-template-columns:170px minmax(0,820px)}.section+.section{padding-top:24px}.section-label{font-family:var(--sans);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--green);padding-top:6px}.section-body>p{margin-bottom:18px}.section-body h3{font-family:var(--serif);font-weight:600;font-size:1.25rem;line-height:1.3}#about .section-body>p:first-child{font-size:1.12rem}.skills{margin:32px 0;border-top:1px solid var(--rule)}.skills>div{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--rule)}.skills dt{font-weight:600}.skills dd{color:var(--muted)}.minor{margin-bottom:10px}.awards{list-style:none}.awards li{padding:6px 0 6px 18px;position:relative}.awards li:before{content:"";position:absolute;left:0;top:.95em;width:8px;height:2px;background:var(--gold)}.awards span{color:var(--muted)}#projects{background:var(--sage);margin-top:48px;padding-top:64px;padding-bottom:72px}.note{color:var(--muted)}.project-list{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:8px}.project-list li{background:var(--cream);border:1px solid var(--rule);border-radius:6px;padding:20px 22px;transition:border-color .15s,transform .15s}.project-list li:not(.placeholder):hover{border-color:var(--green);transform:translateY(-2px)}.project-list li.placeholder{background:transparent;border:1.5px dashed #9db3a3}.project-list li.featured{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:24px;align-items:start;padding:0;overflow:hidden}.project-list li.featured .project-text{padding:22px 24px 22px 0}.project-image{display:block;border-right:1px solid var(--rule);background:var(--cream)}.project-image img{display:block;width:100%;height:auto}.project-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px}.soon{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--green);white-space:nowrap}.project-list p{color:var(--muted);font-size:.95rem}.result{color:var(--ink)!important;font-weight:500;margin-top:6px}.tags{margin-top:10px;font-size:.85rem!important}.project-links{margin-top:10px;display:flex;gap:16px}.timeline{list-style:none;border-left:2px solid var(--green);margin-left:4px}.timeline li{position:relative;padding:0 0 34px 26px}.timeline li:last-child{padding-bottom:0}.timeline li:before{content:"";position:absolute;left:-7px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--cream);border:2px solid var(--green)}.timeline li:first-child:before{background:var(--green)}.when{font-size:.85rem;color:var(--green);font-weight:600;margin-bottom:2px}.org{color:var(--muted);font-style:italic;margin-bottom:6px}.band{background:var(--forest-2);color:var(--cream);margin-top:56px}.band-inner{padding:44px clamp(16px,6vw,72px);display:flex;align-items:center;gap:24px 40px;flex-wrap:wrap}.band p{font-family:var(--serif);font-size:clamp(1.25rem,2.6vw,1.6rem);max-width:520px}#contact{padding-top:72px}.contact-line{font-family:var(--serif);font-size:clamp(1.3rem,3vw,1.7rem);line-height:1.35}footer{border-top:1px solid var(--rule);padding:28px clamp(16px,6vw,72px) 40px;color:var(--muted);font-size:.85rem;display:flex;justify-content:space-between;gap:8px 24px;flex-wrap:wrap}@media (max-width: 760px){body{font-size:16px}.section,.section.wide{grid-template-columns:1fr;padding-top:56px;padding-bottom:56px}.section+.section{padding-top:16px}.section-label{margin-bottom:18px;padding-top:0}#projects{margin-top:32px;padding-top:48px;padding-bottom:56px}.skills>div{grid-template-columns:1fr;gap:2px}.project-list li.featured{grid-template-columns:1fr;gap:0}.project-list li.featured .project-text{padding:18px 20px 20px}.project-image{border-right:none;border-bottom:1px solid var(--rule)}.site-header nav{gap:16px}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{transition:none!important}}
