/* Résumé sheet styles only (for embedding inside the site). Always light "paper". */
.r-tech {
  width: 794px;
  height: 1123px;
  background: #fff;
  color: #141414;
  overflow: hidden;
  position: relative;
  font-family: "IBM Plex Sans", sans-serif;
  font-size: 10px;
  line-height: 1.45;
  padding: 40px 48px;
}
.r-tech .rt-k, .r-tech .rt-chip, .r-tech .rt-n, .r-tech .rt-job-period,
.r-tech .rt-title, .r-tech .rt-type, .r-tech .rt-lang-lvl, .r-tech .rt-skill-g,
.r-tech .rt-edu-det, .r-tech .rt-head-meta { font-family: "IBM Plex Mono", monospace; }
.r-tech .rt-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 30px; padding-bottom: 13px; border-bottom: 2px solid #141414; }
.r-tech .rt-name { margin: 0; font-size: 28px; font-weight: 600; letter-spacing: -0.01em; line-height: 1; color: #141414; }
.r-tech .rt-title { margin-top: 7px; font-size: 9.5px; text-transform: uppercase; letter-spacing: 0.2em; color: #666; }
.r-tech .rt-tagline { margin: 7px 0 0; font-size: 10.5px; color: #3a3a3a; line-height: 1.5; max-width: 400px; }
.r-tech .rt-tagline-seek { color: #7c7c7c; }
.r-tech .rt-head-meta { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; font-size: 9px; color: #2c2c2c; white-space: nowrap; }
.r-tech .rt-k { color: #aaa; margin-right: 7px; text-transform: uppercase; letter-spacing: 0.04em; }
.r-tech .rt-body { display: grid; grid-template-columns: 1fr 210px; gap: 32px; margin-top: 16px; }
.r-tech .rt-main section + section, .r-tech .rt-side section + section { margin-top: 11px; }
.r-tech .rt-sec { margin: 0 0 9px; font-size: 9.5px; text-transform: uppercase; letter-spacing: 0.14em; font-weight: 600; color: #111; display: flex; align-items: baseline; gap: 8px; padding-bottom: 5px; border-bottom: 1px solid #ddd; }
.r-tech .rt-n { color: #b5b5b5; font-size: 9px; }
.r-tech .rt-job { display: grid; grid-template-columns: 74px 1fr; gap: 14px; margin-bottom: 9px; }
.r-tech .rt-job-period { font-size: 8.5px; color: #888; line-height: 1.5; padding-top: 2px; }
.r-tech .rt-job-top { display: flex; align-items: baseline; flex-wrap: wrap; gap: 2px 0; }
.r-tech .rt-role { font-weight: 600; font-size: 11px; }
.r-tech .rt-at { color: #bbb; margin: 0 5px; font-family: "IBM Plex Mono", monospace; }
.r-tech .rt-company { font-weight: 600; font-size: 11px; }
.r-tech .rt-type { font-size: 7.5px; text-transform: uppercase; letter-spacing: 0.06em; color: #888; margin-left: 9px; border: 1px solid #ddd; padding: 1px 5px; border-radius: 2px; }
.r-tech .rt-blurb { font-size: 9.5px; color: #555; margin: 2px 0 4px; }
.r-tech .rt-place { color: #999; }
.r-tech .rt-job.is-break .rt-role, .r-tech .rt-job.is-break .rt-company { font-weight: 500; color: #8a8a8a; }
.r-tech .rt-bullets { margin: 0; padding-left: 0; list-style: none; }
.r-tech .rt-bullets li { position: relative; padding-left: 14px; margin-bottom: 2px; font-size: 10px; color: #2c2c2c; line-height: 1.4; }
.r-tech .rt-bullets li::before { content: "—"; position: absolute; left: 0; top: 0; color: #c4c4c4; font-family: "IBM Plex Mono", monospace; font-size: 9px; }
.r-tech .rt-chips { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 6px; }
.r-tech .rt-chip { font-size: 8px; color: #444; background: #f4f3f1; border: 1px solid #e6e4e0; padding: 2px 6px; border-radius: 3px; line-height: 1.4; }
.r-tech .rt-proj { margin-bottom: 8px; }
.r-tech .rt-proj-head { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.r-tech .rt-proj-name { font-weight: 600; font-size: 10.5px; }
.r-tech .rt-proj-url { font-family: "IBM Plex Mono", monospace; font-size: 8.5px; color: #555; border-bottom: 1px solid #ccc; }
.r-tech .rt-proj-url.muted { color: #aaa; border: none; }
.r-tech .rt-proj-desc { margin: 3px 0 0; font-size: 9.5px; color: #444; line-height: 1.42; }
.r-tech .rt-skill { margin-bottom: 7px; }
.r-tech .rt-skill-g { font-size: 8px; text-transform: uppercase; letter-spacing: 0.08em; color: #111; margin-bottom: 4px; }
.r-tech .rt-skill .rt-chips { margin-top: 0; }
.r-tech .rt-langline { font-size: 9.5px; color: #3a3a3a; line-height: 1.5; }
.r-tech .rt-profile { margin: 0; font-size: 9.5px; color: #444; line-height: 1.5; }
.r-tech .rt-opento-focus { font-size: 10px; color: #222; font-weight: 600; line-height: 1.4; }
.r-tech .rt-opento-where { font-size: 9px; color: #7c7c7c; font-family: "IBM Plex Mono", monospace; margin-top: 2px; }
.r-tech .rt-edu { margin-bottom: 9px; }
.r-tech .rt-edu-deg { font-weight: 600; font-size: 10.5px; }
.r-tech .rt-edu-sch { font-size: 9.5px; color: #555; }
.r-tech .rt-edu-det { font-size: 8px; color: #999; margin-top: 1px; }
.r-tech .rt-int { margin: 0; padding: 0; list-style: none; }
.r-tech .rt-int li { position: relative; padding-left: 14px; font-size: 9.5px; color: #3a3a3a; margin-bottom: 3px; }
.r-tech .rt-int li::before { content: "—"; position: absolute; left: 0; color: #c4c4c4; font-family: "IBM Plex Mono", monospace; font-size: 9px; }
