/* IBM Plex and the existing off-white / graphite / muted orange palette.
   A personal introduction leads; the two current streams share one row. */
.side #page-home{padding-top:2.25rem}
.side .bench-layout{display:block}
.side .intro-first{display:grid;grid-template-columns:200px minmax(0,1fr);gap:3rem;align-items:start;padding-bottom:2.4rem}
.side .intro-first .profile-rail{padding:0;position:static;border:0}
.side .intro-first .willow-photo{width:200px;max-width:100%;margin:0;aspect-ratio:3/4;border-radius:3px}
.side .intro-first .profile-social{justify-content:space-between;margin-top:.35rem}
.side .intro-first .profile-social a{width:36px}
.intro-copy{min-width:0}
.intro-copy h1{font-size:2.75rem;font-weight:500;letter-spacing:-.045em;line-height:1.12;margin:0 0 1rem;color:var(--ink)}
.intro-copy h1 span{font-size:1rem;letter-spacing:0;color:var(--muted);font-weight:400;vertical-align:baseline;margin-left:.35rem}
.intro-lead{font-size:1.1875rem;line-height:1.6;max-width:65ch;margin:0;color:var(--ink)}
.intro-background{font-size:.9375rem;line-height:1.65;color:var(--muted);max-width:75ch;margin:.65rem 0 0}
.expertise-list{list-style:none;padding:0;margin:1.65rem 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem 1.4rem}
.expertise-list li{display:flex;gap:.7rem;align-items:flex-start;min-width:0;margin:0}
.expertise-list svg{width:24px;height:24px;flex:0 0 24px;color:var(--accent);margin-top:2px}
.expertise-list strong{display:block;font-size:.9375rem;font-weight:500;line-height:1.4;color:var(--ink)}
.expertise-list span{display:block;font-size:.8125rem;color:var(--muted);line-height:1.5;margin-top:.16rem}
.side .writing-activity-row{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:2.5rem;padding:1.65rem 0 2.1rem;border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light);margin-bottom:2rem}
.side .writing-activity-row>section{min-width:0;margin:0;padding:0}
.side .writing-heading{margin:0 0 .7rem;min-height:30px;align-items:center}
.side .writing-heading .home-section-label{font-size:1.125rem;line-height:1.4;margin:0;padding:0;border:0;text-transform:none;letter-spacing:-.015em;color:var(--ink);font-weight:500}
.side .writing-heading>a{font-size:.75rem;min-height:30px}
.side .writing-card{border:1px solid var(--border);border-radius:6px;background:transparent}
.side .writing-card-link{display:block;padding:1rem;border-radius:inherit}
.side .writing-thumb{display:none}
.side .writing-card h4{font-size:1.125rem;line-height:1.4;max-width:35ch;margin-bottom:.55rem;text-wrap:pretty}
.side .writing-excerpt{font-size:.875rem;line-height:1.6;max-width:48ch;margin-bottom:.65rem}
.side .writing-meta{font-size:.75rem}
.side .activity-year .activity-heading{min-height:30px;margin:0 0 .8rem;gap:.8rem}
.side .activity-year #github-year-title{font-size:1.125rem;line-height:1.4;margin:0 0 .5rem;letter-spacing:-.015em}
.side .activity-year .activity-heading>a{min-height:30px;display:flex;align-items:center;white-space:nowrap}
.side .activity-year .activity-heading p{display:flex;gap:.3rem 1rem;flex-wrap:wrap}
.side .activity-year .activity-calendar svg{display:block}
.side .activity-year .activity-bottom{margin-top:.4rem}
.side .home-updates .home-section-label{margin:0;padding:0;border:0;font-size:1.65rem}
.side .home-updates .label-row{margin:0 0 .65rem;align-items:center}
.side .home-updates{margin-bottom:3.5rem}
.side .updates-list li{padding:.9rem 0}
.side .work-section>.work-heading .home-section-label{margin-top:0}
@media(max-width:1000px){
 .side .intro-first{grid-template-columns:170px minmax(0,1fr);gap:2rem}
 .side .intro-first .willow-photo{width:170px}
 .intro-copy h1{font-size:2.4rem}
 .intro-lead{font-size:1.0625rem}
 .expertise-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
 .side .writing-activity-row{gap:1.75rem;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
}
@media(max-width:700px){
 .side #page-home{padding-top:1.25rem}
 .side .intro-first{display:block;padding-bottom:1.65rem}
 .side .intro-first .profile-rail{width:180px;margin-bottom:1.25rem}
 .side .intro-first .willow-photo{width:132px;aspect-ratio:3/4}
 .side .intro-first .profile-social{margin-left:-.4rem;justify-content:flex-start}
 .intro-copy h1{font-size:2.25rem;white-space:nowrap}
 .intro-lead{font-size:1.0625rem}
 .intro-background{font-size:.875rem}
 .expertise-list{gap:1rem .85rem;margin-top:1.4rem}
 .expertise-list li{gap:.5rem}
 .expertise-list svg{width:21px;height:21px;flex-basis:21px}
 .expertise-list strong{font-size:.875rem}
 .expertise-list span{font-size:.75rem}
 .side .writing-activity-row{grid-template-columns:minmax(0,1fr);gap:1.8rem;padding:1.5rem 0 1.65rem;margin-bottom:1.65rem}
 .side .writing-card h4{max-width:100%}
 .side .writing-excerpt{max-width:100%}
 .side .home-updates{margin-bottom:3rem}
}
@media(max-width:360px){
 .expertise-list{grid-template-columns:minmax(0,1fr)}
 .intro-copy h1{font-size:2rem}
}
