:root{--paper:#fbf7f0;--card:#f3ede3;--ink:#2b2620;--ink-soft:#55493c;--taupe:#8a7f6e;--marigold:#d9a441;--marigold-deep:#b8842e;--teal:#1f4b4a;--line:#e4dacb;--max:780px}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--paper)}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Work Sans,sans-serif;font-size:17px;line-height:1.6}h1,h2,h3{color:var(--ink);font-family:Fraunces,serif;font-weight:500;line-height:1.15}a{color:inherit;text-decoration:none}.wrap{max-width:var(--max);margin:0 auto;padding:0 28px}header.site{padding:32px 0 0}header.site .wrap{justify-content:space-between;align-items:center;display:flex}.brand{font-family:Fraunces,serif;font-size:20px;font-weight:600}nav.top a{color:var(--ink-soft);margin-left:28px;font-size:15px;transition:color .15s}nav.top a:hover{color:var(--ink)}.hero{opacity:0;border-top:none;padding:110px 0 90px;animation:.9s forwards rise}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.hero{opacity:1;animation:none}}.hero h1{max-width:11ch;font-size:clamp(38px,6vw,56px)}.hero .role{color:var(--marigold-deep);font-family:Fraunces,serif;font-style:italic;font-weight:400}.hero p.lede{max-width:52ch;color:var(--ink-soft);margin-top:22px;font-size:19px}.hero .actions{gap:14px;margin-top:34px;display:flex}.btn{border-radius:3px;padding:13px 26px;font-size:15px;font-weight:500;transition:background-color .15s,border-color .15s;display:inline-block}.btn.primary{background:var(--teal);color:var(--paper)}.btn.primary:hover{background:#16403f}.btn.ghost{border:1px solid var(--line);color:var(--ink)}.btn.ghost:hover{border-color:var(--taupe)}section{border-top:1px solid var(--line);padding:70px 0}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:40px;display:flex}.section-head h2{font-size:30px}.section-head .see-all{color:var(--ink-soft);border-bottom:1px solid var(--taupe);padding-bottom:2px;font-size:15px;transition:color .15s,border-color .15s}.section-head .see-all:hover{color:var(--ink);border-color:var(--ink)}.about p{max-width:60ch;color:var(--ink-soft);font-size:17px}.about p+p{margin-top:16px}.skills{flex-wrap:wrap;gap:10px;margin-top:30px;display:flex}.skills span{background:var(--card);color:var(--ink-soft);border-radius:3px;padding:7px 14px;font-size:14px}.posts{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.posts.single-column{grid-template-columns:1fr;gap:18px}.post-card{background:var(--card);border-radius:6px;flex-direction:column;gap:10px;padding:24px;display:flex}.post-card .date{color:var(--taupe);font-size:13px}.post-card h3{font-size:19px;font-weight:500}.post-card p{color:var(--ink-soft);font-size:15px}.post-card .read{color:var(--marigold-deep);margin-top:auto;font-size:14px;transition:color .15s}.post-card a:hover .read{color:var(--ink)}.timeline{padding-left:26px;position:relative}.timeline:before{content:"";background:var(--line);width:1px;position:absolute;top:6px;bottom:6px;left:4px}.role-item{padding-bottom:38px;position:relative}.role-item:last-child{padding-bottom:0}.role-item:before{content:"";background:var(--marigold);border-radius:50%;width:9px;height:9px;position:absolute;top:4px;left:-26px}.role-item .when{color:var(--taupe);font-size:13px}.role-item h3{margin-top:4px;font-size:20px;font-weight:500}.role-item .org{color:var(--marigold-deep);margin-top:2px;font-size:15px}.role-item p{color:var(--ink-soft);max-width:58ch;margin-top:8px;font-size:15.5px}.contact-grid{grid-template-columns:1fr 1fr;gap:50px;display:grid}.contact-copy p{color:var(--ink-soft);max-width:40ch}.socials{gap:18px;margin-top:26px;display:flex}.socials a{border-bottom:1px solid var(--line);padding-bottom:2px;font-size:15px;transition:border-color .15s}.socials a:hover{border-color:var(--ink)}form{flex-direction:column;gap:14px;display:flex}label{color:var(--taupe);font-size:13px}input,textarea{border:1px solid var(--line);background:var(--paper);color:var(--ink);resize:vertical;border-radius:4px;padding:12px 14px;font-family:Work Sans,sans-serif;font-size:15px}input:focus,textarea:focus{outline:2px solid var(--marigold);outline-offset:1px}form .btn.primary{cursor:pointer;border:none;align-self:flex-start}form .form-note{margin-top:2px;font-size:14px}form .form-note.success{color:var(--teal)}form .form-note.error{color:#a6402f}footer.site{color:var(--taupe);padding:40px 0 60px;font-size:14px}footer.site .wrap{justify-content:space-between;display:flex}.page-header{border-top:none;padding:70px 0 20px}.page-header h1{font-size:clamp(34px,5vw,44px)}.page-header p{color:var(--ink-soft);max-width:52ch;margin-top:14px;font-size:17px}.post-list{flex-direction:column;display:flex}.post-list-item{border-top:1px solid var(--line);padding:28px 0}.post-list-item:first-child{border-top:none;padding-top:0}.post-list-item .date{color:var(--taupe);font-size:13px}.post-list-item h2{margin-top:6px;font-size:22px;font-weight:500}.post-list-item p{color:var(--ink-soft);max-width:58ch;margin-top:8px;font-size:15.5px}.post-list-item .read{color:var(--marigold-deep);margin-top:10px;font-size:14px;transition:color .15s;display:inline-block}.post-list-item a:hover .read{color:var(--ink)}article.post{padding-top:20px}article.post .post-meta{color:var(--taupe);font-size:13px}article.post h1{max-width:18ch;margin-top:10px;font-size:clamp(32px,5vw,44px)}article.post .post-excerpt{color:var(--ink-soft);max-width:52ch;margin-top:16px;font-size:19px}article.post .post-body{max-width:68ch;color:var(--ink-soft);margin-top:40px}article.post .post-body p{margin-bottom:18px}article.post .post-body h2{color:var(--ink);margin:36px 0 14px;font-size:26px}article.post .post-body h3{color:var(--ink);margin:28px 0 12px;font-size:21px}article.post .post-body a{color:var(--marigold-deep);border-bottom:1px solid var(--line);transition:color .15s,border-color .15s}article.post .post-body a:hover{color:var(--ink);border-color:var(--ink)}article.post .post-body ul,article.post .post-body ol{margin:0 0 18px 22px}article.post .post-body li{margin-bottom:6px}article.post .post-body blockquote{border-left:3px solid var(--marigold);color:var(--ink-soft);margin:24px 0;padding-left:18px;font-style:italic}article.post .back-link{color:var(--ink-soft);border-bottom:1px solid var(--taupe);margin-top:50px;padding-bottom:2px;font-size:15px;transition:color .15s,border-color .15s;display:inline-block}article.post .back-link:hover{color:var(--ink);border-color:var(--ink)}@media (width<=720px){.posts{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr;gap:40px}nav.top a{margin-left:16px}}
