/* Resume page and the five templates. Units are pt/mm so screen preview and print match. */
.rs-page{width:210mm;min-height:297mm;box-sizing:border-box;padding:var(--mg,14mm);background:#fff;color:#1b1f23;font-family:var(--rf);font-size:var(--fs);line-height:var(--lh,1.42);text-align:left;-webkit-font-smoothing:antialiased}
.rs *{box-sizing:border-box;margin:0}
:where(.rs) h1,:where(.rs) h2{font-family:inherit;font-weight:inherit;letter-spacing:normal;color:inherit;line-height:inherit;font-size:inherit;margin:0}
.rs-name{color:inherit}
.rs ul{list-style:none;padding:0}
.rs-name{font-size:2.35em;line-height:1.1;letter-spacing:-.01em;font-weight:700;overflow-wrap:anywhere}
.rs-title{font-size:1.12em;margin-top:.15em;color:var(--ac);font-weight:600}
.rs-contact{margin-top:.55em;font-size:.92em;color:#4a545c;display:flex;flex-wrap:wrap;gap:.1em 1.1em}
.rs-contact span{white-space:nowrap}
.rs-sec{margin-top:1.15em;break-inside:auto}
.rs-sec h2{font-size:.95em;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ac);break-after:avoid}
.rs-item{margin-top:.7em;break-inside:avoid}
.rs-item:first-child{margin-top:.5em}
.rs-row{display:flex;justify-content:space-between;gap:1em;align-items:baseline}
.rs-role{font-weight:700}
.rs-date{font-size:.92em;color:#59646c;white-space:nowrap}
.rs-sub{color:#3b454c;font-size:.98em}
.rs-note{color:#3b454c;font-size:.97em;margin-top:.1em}
.rs-item ul{margin-top:.3em}
.rs-item li{position:relative;padding-left:1.05em;margin-top:.18em}
.rs-item li:before{content:"";position:absolute;left:.1em;top:.62em;width:.32em;height:.32em;border-radius:50%;background:var(--ac)}
.rs p{margin-top:.45em;color:inherit;font-size:inherit;line-height:inherit}
.rs-page{color:#1b1f23}
.rs-tags{display:flex;flex-wrap:wrap;gap:.25em .2em;margin-top:.5em}
.rs-tags li{font-size:.97em}
.rs-tags li:not(:last-child):after{content:" ·";color:#8a949b;margin:0 .35em 0 .15em}
.rs-plain li{margin-top:.2em}
.rs-plain{margin-top:.45em}

/* Classic */
.rs-classic .rs-head{text-align:center;padding-bottom:.7em;border-bottom:2px solid var(--ac)}
.rs-classic .rs-name{font-weight:700}
.rs-classic .rs-contact{justify-content:center}
.rs-classic .rs-sec h2{border-bottom:1px solid #d5d9dd;padding-bottom:.2em;color:#1b1f23}

/* Modern */
.rs-modern .rs-head{padding-bottom:.8em;border-bottom:4px solid var(--ac)}
.rs-modern .rs-name{color:var(--ac)}
.rs-modern .rs-title{color:#1b1f23}
.rs-cols{display:grid;grid-template-columns:1fr 32%;gap:0 1.6em;align-items:start}
.rs-split .rs-cols{grid-template-columns:31% 1fr}.rs-split .rs-side{order:-1}
.rs-modern .rs-side{background:color-mix(in srgb,var(--ac) 7%,#fff);padding:0 1em 1em;border-radius:6px;margin-top:1.15em}
.rs-modern .rs-side .rs-sec{margin-top:calc(1em*var(--sp,1))}
.rs-modern .rs-side .rs-row{flex-direction:column;gap:0}
.rs-modern .rs-side .rs-tags li{display:block;font-size:.95em;padding:.12em 0}
.rs-modern .rs-side .rs-tags{display:block}
.rs-modern .rs-side .rs-tags li:after{content:none!important}
.rs-modern .rs-main .rs-sec:first-child{margin-top:1.15em}

/* Minimal */
.rs-minimal .rs-name{font-weight:300;font-size:2.6em;letter-spacing:-.02em}
.rs-minimal .rs-title{color:#59646c;font-weight:400;letter-spacing:.04em}
.rs-minimal .rs-contact{color:#59646c}
.rs-minimal .rs-sec{margin-top:calc(1.5em*var(--sp,1))}
.rs-minimal .rs-sec h2{color:#8a949b;font-weight:600;font-size:.82em;letter-spacing:.18em}
.rs-minimal .rs-item li:before{background:#9aa4ab;border-radius:0;height:.14em;top:.7em;width:.5em;left:0}

/* Bold */
.rs-bold .rs-head{background:var(--ac);color:#fff;padding:1.1em 1.3em;border-radius:6px}
.rs-bold .rs-title{color:#fff;opacity:.92}
.rs-bold .rs-contact{color:#fff;opacity:.92}
.rs-bold .rs-sec h2{display:flex;align-items:center;gap:.5em}
.rs-bold .rs-sec h2:before{content:"";width:.7em;height:.7em;background:var(--ac);border-radius:2px;flex:none}
.rs-bold .rs-sec{margin-top:calc(1.25em*var(--sp,1))}

/* Compact */
.rs-compact{font-size:.93em;line-height:calc(var(--lh,1.42) - .07)}
.rs-compact .rs-name{font-size:2em}
.rs-compact .rs-head{display:grid;grid-template-columns:1fr auto;gap:0 1em;align-items:end;padding-bottom:.5em;border-bottom:1px solid #cfd4d8}
.rs-compact .rs-contact{margin:0;display:block;text-align:right}
.rs-compact .rs-contact span{display:block}
.rs-compact .rs-sec{margin-top:calc(.85em*var(--sp,1))}
.rs-compact .rs-sec h2{border-left:3px solid var(--ac);padding-left:.55em;letter-spacing:.08em}
.rs-compact .rs-item{margin-top:calc(.45em*var(--sp,1))}
.rs-compact .rs-item li{margin-top:.08em}

/* host used for thumbnails and previews */
.rs-host{position:relative;overflow:hidden;background:#fff}
.rs-host .rs-page{position:absolute;left:0;top:0}

/* print: the builder clones the resume into #print-root */
#print-root{display:none}
@media print{
  body.printing>*:not(#print-root){display:none!important}
  body.printing #print-root{display:block}
  body.printing .rs-page{width:auto;min-height:0;padding:0;box-shadow:none;transform:none!important}
  body.printing{background:#fff!important}
  .rs{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* cover letter */
.lt-page{font-family:var(--rf);font-size:var(--fs);line-height:1.6;color:#1b1f23}
.lt *{box-sizing:border-box}.lt p{margin:0 0 1em}.lt-name{font-size:2em;font-weight:700;letter-spacing:-.01em}.lt-contact{margin-top:.3em;font-size:.93em;color:#4a545c;display:flex;flex-wrap:wrap;gap:.1em 1.1em}
.lt-head{padding-bottom:.8em;margin-bottom:1.6em}.lt-meta{margin-bottom:1.6em;line-height:1.5}
.lt-classic .lt-head{border-bottom:2px solid var(--ac)}.lt-classic .lt-name{color:#1b1f23}
.lt-modern .lt-head{background:var(--ac);color:#fff;padding:1em 1.3em;border-radius:6px}.lt-modern .lt-contact{color:#fff;opacity:.92}.lt-modern .lt-name{color:#fff}
.lt-simple .lt-name{font-weight:300;font-size:2.2em}.lt-simple .lt-head{border-bottom:1px solid #d5d9dd}

/* Professional */
.rs-professional .rs-head{border-top:6px solid var(--ac);padding-top:.8em;padding-bottom:.7em;border-bottom:1px solid #d5d9dd}
.rs-professional .rs-title{color:#4a545c;font-weight:500;text-transform:uppercase;letter-spacing:.12em;font-size:.88em}
.rs-professional .rs-sec h2{color:#1b1f23;border-bottom:2px solid var(--ac);display:inline-block;padding-bottom:.15em}
.rs-professional .rs-sec{margin-top:calc(1.2em*var(--sp,1))}
/* Timeline: labels left, content right */
.rs-timeline .rs-head{padding-bottom:.8em;border-bottom:1px solid #d5d9dd}
.rs-timeline .rs-sec{display:grid;grid-template-columns:19% 1fr;gap:0 1.2em;margin-top:1.1em}
.rs-timeline .rs-sec h2{font-size:.82em;letter-spacing:.1em;padding-top:.15em}
.rs-timeline .rs-item:first-child{margin-top:0}
.rs-timeline .rs-sec p{margin-top:0}
.rs-timeline .rs-tags{margin-top:0}.rs-timeline .rs-plain{margin-top:0}
/* Split: coloured side column on the left */
.rs-split .rs-head{padding-bottom:.8em;border-bottom:4px solid var(--ac)}.rs-split .rs-name{color:var(--ac)}.rs-split .rs-title{color:#1b1f23}
.rs-split .rs-side{background:var(--ac);color:#fff;padding:.2em 1em 1em;border-radius:6px;margin-top:1.15em}
.rs-split .rs-side h2,.rs-split .rs-side .rs-role{color:#fff}
.rs-split .rs-side .rs-sub,.rs-split .rs-side .rs-note,.rs-split .rs-side .rs-date{color:rgba(255,255,255,.88)}
.rs-split .rs-side .rs-row{flex-direction:column;gap:0}
.rs-split .rs-side .rs-tags{display:block}.rs-split .rs-side .rs-tags li{display:block;padding:.12em 0}.rs-split .rs-side .rs-tags li:after{content:none!important}
.rs-split .rs-side .rs-sec{margin-top:calc(1em*var(--sp,1))}
.rs-split .rs-main .rs-sec:first-child{margin-top:1.15em}

/* ===== template polish v2: icons, monograms, better hierarchy ===== */
.rs-ci{display:inline-flex;align-items:center;gap:.4em;white-space:nowrap}
.rs-ci svg{display:none;width:1.05em;height:1.05em;flex:none;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.rs-modern .rs-ci svg,.rs-bold .rs-ci svg,.rs-split .rs-ci svg,.rs-professional .rs-ci svg{display:block}
.rs-contact span.rs-ci{white-space:nowrap}

/* Modern */
.rs-modern{border-top:7px solid var(--ac);padding-top:1.1em;margin-top:-.2em}
.rs-modern .rs-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5em;padding-bottom:.85em;border-bottom:1px solid #dfe3e7}
.rs-modern .rs-name{font-size:2.2em;color:#14181c;letter-spacing:-.015em}
.rs-modern .rs-title{color:var(--ac);font-weight:600;margin-top:.1em}
.rs-modern .rs-contact{display:flex;flex-direction:column;align-items:flex-end;gap:.25em;margin:0;font-size:.9em;color:#4a545c}
.rs-modern .rs-sec h2{color:#14181c;font-size:.9em;letter-spacing:.12em;display:flex;align-items:center;gap:.6em}
.rs-modern .rs-sec h2:after{content:"";height:2px;width:1.6em;background:var(--ac);border-radius:2px}
.rs-modern .rs-side{background:color-mix(in srgb,var(--ac) 8%,#fff);padding:.2em 1em 1.1em;border-radius:8px}
.rs-modern .rs-side .rs-sec h2:after{display:none}
.rs-modern .rs-tags{gap:.35em .35em}.rs-modern .rs-tags li{background:#fff;border:1px solid color-mix(in srgb,var(--ac) 35%,#fff);color:#1b1f23;border-radius:999px;padding:.12em .7em;font-size:.9em}
.rs-modern .rs-tags li:after{content:none!important}
.rs-modern .rs-side .rs-tags{display:flex!important;flex-wrap:wrap}.rs-modern .rs-side .rs-tags li{display:inline-block!important}

/* Bold */
.rs-bold .rs-head{display:flex;gap:1.1em;align-items:center;background:var(--ac);padding:1.15em 1.3em;border-radius:10px}
.rs-bold .rs-mono{flex:none;width:3.6em;height:3.6em;border-radius:50%;background:#fff;color:var(--ac);display:grid;place-items:center;font-weight:700;font-size:1.25em;letter-spacing:.02em}
.rs-bold .rs-hd{min-width:0}.rs-bold .rs-name{font-size:2em;color:#fff}.rs-bold .rs-title{color:#fff;opacity:.95;font-weight:500}
.rs-bold .rs-contact{color:#fff;opacity:.95;margin-top:.5em;gap:.15em 1em;font-size:.88em}
.rs-bold .rs-sec h2{color:#14181c;display:flex;align-items:center;gap:.55em;letter-spacing:.1em}
.rs-bold .rs-sec h2:before{content:"";width:.75em;height:.75em;background:var(--ac);border-radius:3px;flex:none}
.rs-bold .rs-tags li{background:color-mix(in srgb,var(--ac) 10%,#fff);border-radius:999px;padding:.1em .7em}.rs-bold .rs-tags li:after{content:none!important}.rs-bold .rs-tags{gap:.3em}

/* Split: coloured side column with contact inside */
.rs-split .rs-cols{display:grid;grid-template-columns:32% 1fr;gap:0 1.5em;align-items:stretch}
.rs-split .rs-side{background:var(--ac);color:#fff;padding:1.3em 1.1em 1.3em;border-radius:10px;margin-top:0;order:0}
.rs-split .rs-main{padding-top:.2em}
.rs-split .rs-head{padding:0 0 .7em;border-bottom:0}.rs-split .rs-name{font-size:2.3em;color:var(--ac);line-height:1.05}.rs-split .rs-title{color:#1b1f23;font-weight:600;margin-top:.25em;font-size:1.1em}
.rs-split .rs-mono{width:4.4em;height:4.4em;border-radius:50%;background:rgba(255,255,255,.18);border:2px solid rgba(255,255,255,.75);display:grid;place-items:center;font-weight:700;font-size:1.2em;margin:0 auto 1em}
.rs-split .rs-side .rs-sec{margin-top:1.05em}
.rs-split .rs-side h2{color:#fff;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:.3em;font-size:.85em}
.rs-split .rs-clist{display:grid;gap:.5em;margin-top:.6em;font-size:.92em}.rs-split .rs-clist .rs-ci{white-space:normal;align-items:flex-start;word-break:break-word}.rs-split .rs-clist svg{margin-top:.18em}
.rs-split .rs-side .rs-tags{display:flex!important;flex-wrap:wrap;gap:.35em}.rs-split .rs-side .rs-tags li{display:inline-block!important;background:rgba(255,255,255,.16);border-radius:999px;padding:.12em .65em;font-size:.88em}.rs-split .rs-side .rs-tags li:after{content:none!important}
.rs-split .rs-side .rs-role{color:#fff}.rs-split .rs-side .rs-sub,.rs-split .rs-side .rs-date,.rs-split .rs-side .rs-note{color:rgba(255,255,255,.9)}.rs-split .rs-side .rs-row{flex-direction:column;gap:0}
.rs-split .rs-main .rs-sec h2{color:var(--ac);border-bottom:1.5px solid color-mix(in srgb,var(--ac) 30%,#fff);padding-bottom:.25em}
.rs-split .rs-main .rs-sec:first-of-type{margin-top:.6em}

/* Timeline */
.rs-timeline .rs-head{border-bottom:2px solid var(--ac)}.rs-timeline .rs-name{color:#14181c}.rs-timeline .rs-title{color:var(--ac)}
.rs-timeline .rs-s-experience .rs-item{position:relative;padding-left:1.15em;border-left:2px solid color-mix(in srgb,var(--ac) 30%,#fff);margin-top:0;padding-bottom:.8em}
.rs-timeline .rs-s-experience .rs-item:before{content:"";position:absolute;left:-.42em;top:.3em;width:.7em;height:.7em;border-radius:50%;background:var(--ac);border:2px solid #fff;box-shadow:0 0 0 1px var(--ac)}
.rs-timeline .rs-sec h2{color:var(--ac);font-weight:700}

/* Professional */
.rs-professional .rs-head{border-top:7px solid var(--ac);padding-top:.9em}
.rs-professional .rs-name{text-transform:uppercase;letter-spacing:.06em;font-size:2em;color:#14181c;font-weight:700}
.rs-professional .rs-title{color:#4a545c;font-weight:500;text-transform:uppercase;letter-spacing:.14em;font-size:.85em;margin-top:.3em}
.rs-professional .rs-contact{font-size:.88em;gap:.1em 1.2em}
.rs-professional .rs-sec h2{color:var(--ac);border-bottom:1px solid #d5d9dd;display:block;width:100%;padding-bottom:.25em}

/* Classic */
.rs-classic .rs-name{font-size:2.3em;letter-spacing:.01em}
.rs-classic .rs-head{border-bottom:3px double var(--ac)}
.rs-classic .rs-title{text-transform:uppercase;letter-spacing:.16em;font-size:.85em;color:#4a545c;font-weight:600;margin-top:.35em}

/* photo templates */
.rs-photo{display:block;object-fit:cover;border-radius:50%;flex:none;width:6.6em;height:6.6em}
.rs-ph-r{position:absolute;right:0;top:0;width:4.6em;height:4.6em}
.rs-head{position:relative}.rs-hasphoto .rs-head{padding-right:5.4em;min-height:4.8em}
.rs-bold .rs-photo{width:7em;height:7em;border:3px solid #fff}
.rs-split .rs-photo{width:8.2em;height:8.2em;margin:0 auto 1em;border:3px solid rgba(255,255,255,.8)}
.rs-modern .rs-head{align-items:center}.rs-modern .rs-photo{width:6.8em;height:6.8em;border:3px solid var(--ac)}.rs-modern .rs-hd{flex:1}
.rs-modern .rs-head>.rs-photo+.rs-hd{margin-left:-.4em}

/* Spotlight */
.rs-spotlight .rs-head{display:flex;gap:1.2em;align-items:center;background:var(--ac);color:#fff;padding:1.2em 1.4em;border-radius:12px 12px 0 0}
.rs-spotlight .rs-mono{flex:none;width:4.2em;height:4.2em;border-radius:50%;background:#fff;color:var(--ac);display:grid;place-items:center;font-weight:700;font-size:1.2em}
.rs-spotlight .rs-photo{width:7em;height:7em;border:3px solid #fff}
.rs-spotlight .rs-hd{flex:1;min-width:0}.rs-spotlight .rs-name{font-size:2.05em;color:#fff}.rs-spotlight .rs-title{color:#fff;opacity:.95;font-weight:500}
.rs-spotlight .rs-contact{display:flex;flex-direction:column;align-items:flex-end;gap:.2em;margin:0;color:#fff;font-size:.88em}
.rs-spotlight .rs-ci svg{display:block}
.rs-spotlight .rs-cols{display:grid;grid-template-columns:1fr 33%;gap:0 1.4em;align-items:stretch}
.rs-spotlight .rs-main{padding:.5em 0 0}.rs-spotlight .rs-side{background:color-mix(in srgb,var(--ac) 7%,#f5f6fa);padding:.4em 1em 1em;margin-top:1.15em;border-radius:0 0 10px 10px}
.rs-spotlight .rs-sec h2{color:var(--ac);font-weight:700}.rs-spotlight .rs-side .rs-sec{margin-top:1em}.rs-spotlight .rs-side .rs-row{flex-direction:column;gap:0}
.rs-spotlight .rs-tags{display:block}.rs-spotlight .rs-tags li{display:block;padding:.1em 0}.rs-spotlight .rs-tags li:after{content:none!important}
.rs-spotlight .rs-tags li:before{content:"";display:inline-block;width:.4em;height:.4em;border-radius:50%;background:var(--ac);margin-right:.55em;vertical-align:.12em}

/* Executive */
.rs-executive .rs-head{display:flex;justify-content:space-between;align-items:center;gap:1.2em;background:color-mix(in srgb,var(--ac) 18%,#fff);padding:1.2em 1.4em;border-radius:12px}
.rs-executive .rs-hd{flex:1;min-width:0}.rs-executive .rs-name{font-size:2.15em;color:#14181c}.rs-executive .rs-title{color:var(--ac);font-weight:600}
.rs-executive .rs-contact{margin-top:.55em;font-size:.88em;color:#3b454c}
.rs-executive .rs-photo{width:7em;height:7em;border:3px solid #fff;box-shadow:0 0 0 2px var(--ac)}
.rs-executive .rs-mono{flex:none;width:4.6em;height:4.6em;border-radius:50%;background:var(--ac);color:#fff;display:grid;place-items:center;font-weight:700;font-size:1.2em}
.rs-executive .rs-sec h2{color:var(--ac);border-bottom:2px solid color-mix(in srgb,var(--ac) 30%,#fff);padding-bottom:.25em}
.rs-executive .rs-tags{display:grid;grid-template-columns:1fr 1fr;gap:.15em 1.2em;margin-top:.5em}.rs-executive .rs-tags li:after{content:none!important}
.rs-executive .rs-tags li:before{content:"";display:inline-block;width:.4em;height:.4em;border-radius:50%;background:var(--ac);margin-right:.55em;vertical-align:.12em}
