/* ===== Template 1 – Peach two-column (A4 = 794 x 1123 px) ===== */
.tpl-peach {
  --ac: #8b5a3c; --ac-dark: #8b5a3c; --ac-soft: #b48b6d; --ac-tint: #fde9dc;
  --dens: 1; --ink: #1d1d1d; --photo: 196px; --bullet: "•"; --bfs: 1em;
  width: 794px; min-height: 1123px; flex: none;
  display: grid; grid-template-columns: 292px 1fr;
  background: #fff; color: var(--ink);
  font-family: var(--f-body, 'Public Sans', Arial, Helvetica, sans-serif);
  font-size: calc(13px * var(--s-body, 1));
  line-height: calc(1.45 + (var(--dens) - 1) * .4);
  box-shadow: 0 10px 40px rgba(60, 35, 20, .18);
}
.tpl-peach, .tpl-peach * { box-sizing: border-box; }

/* Left panel */
.tpl-peach .left { position: relative; background: var(--ac-tint); padding: 40px 34px 28px 40px; }
.tpl-peach .left > * { position: relative; }
.tpl-peach.pn-card .left { background: transparent; }
.tpl-peach.pn-card .left::before { content: ''; position: absolute; inset: 16px 10px 16px 16px; background: var(--ac-tint); border-radius: 26px; }
.tpl-peach .right { padding: 44px 45px 32px 46px; }
.tpl-peach.has-foot .left, .tpl-peach.has-foot .right { padding-bottom: 40px; }

.tpl-peach .photo-wrap { width: var(--photo); height: var(--photo); margin: 4px 0 calc(26px * var(--dens)); }
.tpl-peach .photo-wrap img { width: 100%; height: 100%; display: block; object-fit: contain; }

/* Header */
.tpl-peach .head { margin-bottom: calc(34px * var(--dens)); }
.tpl-peach .name {
  margin: 0; font-family: var(--f-head, 'Montserrat', Arial, sans-serif); font-weight: 600;
  font-size: calc(42px * var(--s-name, 1)); line-height: 1.05; letter-spacing: .015em;
  text-transform: uppercase; color: var(--ac); text-align: var(--a-name, left); overflow-wrap: anywhere;
}
.tpl-peach.nc-off .name { text-transform: none; }
.tpl-peach .title-row { margin: 10px 0 16px; text-align: var(--a-title, left); }
.tpl-peach .title {
  display: inline-block; font-family: var(--f-head, 'Montserrat', Arial, sans-serif); font-weight: 500;
  font-size: calc(17px * var(--s-title, 1)); line-height: 1.2; text-transform: uppercase; color: var(--ink);
}
.tpl-peach.ts-color .title { color: var(--ac); }
.tpl-peach.ts-tag .title { background: var(--ac); color: #fff; padding: .3em .75em; border-radius: 4px; }
.tpl-peach .summary { margin: 0; text-align: var(--a-body, justify); line-height: calc(1.55 + (var(--dens) - 1) * .4); white-space: pre-line; }

/* Sections */
.tpl-peach .sec { margin: 0 0 calc(26px * var(--dens)); }
.tpl-peach .sec:last-child { margin-bottom: 0; }
.tpl-peach .sec h2 {
  margin: 0 0 calc(11px * var(--dens)); padding-bottom: 5px;
  font-family: var(--f-head, 'Montserrat', Arial, sans-serif); font-weight: 600;
  font-size: calc(15px * var(--s-h2, 1)); line-height: 1.2; letter-spacing: .03em;
  text-transform: uppercase; color: var(--ac); text-align: var(--a-h2, left);
}
.tpl-peach.hc-off .sec h2 { text-transform: none; letter-spacing: 0; }

.tpl-peach .ci { display: flex; align-items: center; gap: 9px; margin-bottom: calc(7px * var(--dens)); }
.tpl-peach .ico { flex: none; width: 16px; height: 16px; border-radius: 50%; background: var(--ac); display: inline-flex; align-items: center; justify-content: center; }
.tpl-peach .ico svg { width: 9px; height: 9px; fill: #fff; }
.tpl-peach .txt { flex: 1; min-width: 0; overflow-wrap: anywhere; }

.tpl-peach .job, .tpl-peach .edu, .tpl-peach .cert { margin-bottom: calc(18px * var(--dens)); }
.tpl-peach .job { margin-bottom: calc(26px * var(--dens)); }
.tpl-peach .job:last-child, .tpl-peach .edu:last-child, .tpl-peach .cert:last-child { margin-bottom: 0; }
.tpl-peach .it { font-weight: 700; font-size: calc(13.5px * var(--s-sub, 1)); line-height: 1.35; text-align: var(--a-sub, left); }
.tpl-peach .edu .it { margin-bottom: 2px; }
.tpl-peach .job > div:not(.it), .tpl-peach .edu > div:not(.it), .tpl-peach .cert > div:not(.it) { text-align: var(--a-body, left); }

/* Lists with themed bullets */
.tpl-peach ul { margin: 6px 0 0; padding-left: 19px; list-style: none; }
.tpl-peach li { --lh: calc(1.45 + (var(--dens) - 1) * .4); position: relative; margin-bottom: calc(2px * var(--dens)); text-align: var(--a-body, left); line-height: var(--lh); }
/* the bullet keeps the SAME line box height as the text, so smaller glyphs stay vertically centred */
.tpl-peach li::before { content: var(--bullet); position: absolute; left: -15px; top: 0; font-size: var(--bfs); line-height: calc(var(--lh) / var(--bfsn, 1)); color: var(--ac); }
.tpl-peach .left ul { margin-top: 0; }
.tpl-peach .left .edu ul { margin-top: 3px; }
.tpl-peach .left li { --lh: calc(1.38 + (var(--dens) - 1) * .4); }
