/* Restrained palette: lime is the primary color; blue and peach are soft accents. */
:root{--blue:#8bb43b;--line:#dce5d5}
.progress{background:linear-gradient(90deg,#87b83f,#b7d96a,#83cfc1)}
.brand span{color:#afd25a}
.hero{background:linear-gradient(125deg,#f1f7e7 0%,#dcecb9 42%,#cce7ce 73%,#dae8ed 100%);background-size:145% 145%;color:#172019;animation-duration:22s}
.hero:before,.hero-grid{display:none}
.hero-title b{color:#8cb942;text-shadow:none}
.hero-details em{color:#779d39}
.scroll-cue i{background:#17201944}
.profile{background:#fffefa}
.section-head b,.media .section-head b{color:#89b33e}
.keywords{justify-content:flex-start;gap:34px;margin-top:115px;border-bottom:0;color:#687364}
.keywords span:nth-of-type(n){color:inherit}
.keywords i{display:none}
.work{background:#f5f8f1;color:#172019}
.work:before{display:none}
.work .section-head{border-color:#dce5d5}
.work .section-head>span{color:#687364}
.work .section-head b{color:#89b33e}
.project{background:linear-gradient(120deg,#d9edac 0%,#cde8b5 62%,#cfe6dd 100%);background-size:125% 125%;border:1px solid #c2d3b3;box-shadow:0 20px 55px #293c1d18;color:#172019;transition:transform .45s,box-shadow .45s,background-position .65s}
.project:hover{border-color:#91b65f;box-shadow:0 27px 65px #293c1d22}
.project:after,.project-glow{display:none}
.project-main h3 strong{color:#58892c;text-shadow:none}
.round-arrow{border-color:#172019}
.round-arrow:hover,.project:hover .round-arrow{background:#172019;color:#fff}
.project-foot{border-color:#17201955}
.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}
.work-card{min-height:390px;padding:30px 34px;background:#fff;border:1px solid #dce5d5;display:flex;flex-direction:column;justify-content:space-between;transition:transform .4s,border-color .4s,box-shadow .4s}
.work-card:hover{transform:translateY(-5px);border-color:#9aba71;box-shadow:0 18px 35px #293c1d12}
.work-card:nth-child(2){background:#f1f7ee}
.work-card-top{display:flex;justify-content:space-between;gap:15px;color:#60803c;font-size:11px;letter-spacing:.1em;font-weight:800}
.work-card h3{font-size:clamp(26px,3vw,43px);letter-spacing:-.06em;line-height:1.35;margin:34px 0 18px}
.work-card p{font-size:15px;line-height:1.9;max-width:520px;color:#566255;margin:0 0 26px}
.work-card-tag{font-size:11px;letter-spacing:.08em;font-weight:800;color:#6a8b47;border-top:1px solid #dce5d5;padding-top:18px}
.experience{display:grid;grid-template-columns:280px 1fr;gap:7vw;margin-top:110px;padding-top:24px;border-top:1px solid #dce5d5}
.experience-heading>span{font-size:11px;letter-spacing:.16em;font-weight:850;color:#668443}
.experience-heading h3{font-size:clamp(26px,3vw,41px);letter-spacing:-.06em;margin:15px 0}
.experience-heading h3 span{color:#89b33e}
.experience-list article{display:grid;grid-template-columns:140px 1fr;gap:30px;padding:0 0 35px;margin-bottom:35px;border-bottom:1px solid #dce5d5}
.experience-list article>span{font-size:12px;font-weight:800;color:#60803c;white-space:nowrap;padding-top:7px}
.experience-list h4{font-size:clamp(21px,2.1vw,30px);line-height:1.35;letter-spacing:-.04em;margin:0 0 12px}
.experience-list p{font-size:15px;line-height:1.85;color:#566255;max-width:620px;margin:0}
.media{background:#fffefa}
.media-row:hover{background:#f2f7e9}
.num,.media-row small,.media-row i{color:#5e7e38}
.contact{background:linear-gradient(130deg,#18221a,#243525);animation:none}
.contact .section-head b{color:#b6da65}
.email:hover{color:#cce89c;border-color:#cce89c}
.social-strip{background:#eef4e7;color:#172019;padding:76px 0}
.social-strip-inner{display:grid;grid-template-columns:250px 1fr;gap:80px;align-items:start}
.social-strip h2{font-size:clamp(32px,4vw,56px);letter-spacing:-.06em;line-height:1.15;margin:0}
.social-strip h2 span{color:#8bb43b}
.social-panel{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.social-channel{position:relative;min-height:175px;padding:24px 26px;background:#fff;border:1px solid #dce5d5;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;transition:border-color .3s,box-shadow .3s,transform .3s}
.social-channel:hover{border-color:#98bc6d;box-shadow:0 12px 30px #293c1d12;transform:translateY(-4px)}
.social-icon{width:29px;height:29px;color:#527d35;position:absolute;top:24px;left:26px}
.social-channel-arrow{position:absolute;top:19px;right:24px;font-size:24px;font-weight:300;transition:transform .3s}
.social-channel:hover .social-channel-arrow{transform:translate(3px,-3px)}
.social-channel-name{font-size:22px;font-weight:750;letter-spacing:-.04em}
.social-channel-handle{display:block;font-size:13px;color:#687364;margin-top:4px}
.social-channel>a,.social-channel summary{font-size:13px;font-weight:750;cursor:pointer;border-bottom:1px solid #7ca33c;padding-bottom:3px}
.social-channel summary{list-style:none}
.social-channel summary::-webkit-details-marker{display:none}
.x-embed{margin-top:24px}
.x-embed summary{font-size:13px;font-weight:750;cursor:pointer;list-style:none;width:max-content;border-bottom:1px solid #7ca33c;padding-bottom:4px}
.x-embed summary::-webkit-details-marker{display:none}
.x-embed[open]{padding-top:18px;border-top:1px solid #d1ddc9}
.x-feed{margin-top:24px;min-height:0}
.x-feed>a{color:#4c6e2b;text-decoration:underline}
@media(max-width:900px){.experience{grid-template-columns:1fr;gap:25px}.experience-list article{grid-template-columns:120px 1fr}}
@media(max-width:700px){.header nav a:nth-child(2){display:block}.work-grid{grid-template-columns:1fr}.work-card{min-height:340px}.experience{margin-top:75px}.social-strip{padding:60px 0}.social-strip-inner{grid-template-columns:1fr;gap:30px}.social-panel{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.social-channel{min-height:140px;padding:18px}.social-icon{top:16px;left:18px;width:24px;height:24px}.social-channel-arrow{top:11px;right:15px}.social-channel-name{font-size:18px}.social-channel-handle{font-size:11px;overflow-wrap:anywhere}.keywords{gap:18px}}
@media(max-width:430px){.experience-list article{display:block}.experience-list article>span{display:block;margin-bottom:12px}.work-card{padding:24px}.work-card h3{font-size:28px}}
