body.page-resume .wrap { max-width:860px; }

.resume-hero { padding:2.5rem 0 1rem; }
.resume-hero-body { padding:1.6rem 1.6rem 1.8rem; }
.resume-hero h1 { font-size:clamp(1.8rem,4vw,2.8rem); font-weight:800; line-height:1.1; letter-spacing:-0.03em; }
.resume-hero p { margin-top:0.8rem; max-width:60ch; color:var(--text-mid); font-size:1rem; }
.skill-row { margin-top:1.4rem; }

.section { padding:1.5rem 0; }

.job-list { display:flex; flex-direction:column; }
.job { padding:1.2rem 1.4rem; border-bottom:2px solid var(--ink); }
.job:last-child { border-bottom:none; }
.job-header { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:0.4rem; margin-bottom:0.5rem; }
.job-title { font-size:1.05rem; font-weight:700; letter-spacing:-0.01em; }
.job-co { color:var(--c-blue); }
.job-date { font-family:var(--mono); font-size:0.72rem; color:var(--text-dim); white-space:nowrap; }
.job ul { list-style:none; padding:0; display:flex; flex-direction:column; gap:0.3rem; margin-top:0.5rem; }
.job li { font-size:0.9rem; color:var(--text-mid); padding-left:1.1rem; position:relative; }
.job li::before { content:'›'; position:absolute; left:0; color:var(--text-dim); }
.job li a { color:var(--c-blue); }
.job li a:hover { text-decoration:underline; }
.job p { font-size:0.9rem; color:var(--text-mid); margin-top:0.3rem; }

.edu { padding:1.2rem 1.4rem; }
.edu-title { font-size:1.05rem; font-weight:700; }
.edu-date { font-family:var(--mono); font-size:0.72rem; color:var(--text-dim); margin-top:2px; }
.edu p { font-size:0.9rem; color:var(--text-mid); margin-top:0.4rem; }

@media (max-width:560px){
  .job-header{flex-direction:column; gap:0.2rem;}
}