/* CVCraftHub resume templates.
   Shared by the builder preview, print, PDF export (which reads the rendered DOM), static previews and the
   personal-website export. All values come from CSS variables set on .rs-page by templates/render.js.
   Rules: opaque colors only (the PDF engine does not composite alpha), no ::before/::after content
   (generated text would be missing from the PDF), no background images. */

.rs-measure { position: absolute; left: -99999px; top: 0; visibility: hidden; pointer-events: none; }

.rs-page {
  box-sizing: border-box;
  position: relative;
  display: flex;
  flex-direction: column;
  width: var(--rs-pw, 816px);
  height: var(--rs-ph, 1056px);
  padding: var(--rs-my) var(--rs-mx);
  overflow: hidden;
  background: #fff;
  color: var(--rs-bc);
  font-family: var(--rs-font);
  font-size: var(--rs-fs);
  line-height: var(--rs-lh);
  font-variant-ligatures: none;
  font-kerning: normal;
  text-align: left;
  overflow-wrap: break-word;
  hyphens: manual;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}
.rs-page *, .rs-page *::before, .rs-page *::after { box-sizing: border-box; }
.rs-page :is(h1, h2, p) { margin: 0; }
/* Bold runs keep the resume's text color, not the site's global strong color. */
.rs-page strong { font-weight: 700; color: inherit; }
.rs-page em { font-style: italic; }

.rs-top { flex: none; }
.rs-cols { flex: 1 1 auto; min-height: 0; display: flex; gap: var(--rs-cg); }
.rs-top + .rs-cols { margin-top: var(--rs-ss); }
.rs-main { flex: 1 1 0; min-width: 0; overflow: hidden; }
.rs-side { flex: 0 0 var(--rs-cw); min-width: 0; overflow: hidden; }

/* ---- Block spacing (margin-top only; the first block of a region has none) ---- */
.rs-b { margin-top: var(--rs-is); }
.rs-h { margin-top: var(--rs-ss); }
.rs-p { margin-top: 3pt; }
.rs-li { margin-top: 1.5pt; }
.rs-entry + .rs-p, .rs-entry + .rs-li { margin-top: 2.5pt; }
.rs-p + .rs-li { margin-top: 2.5pt; }
.rs-li + .rs-entry, .rs-p + .rs-entry, .rs-tags + .rs-entry { margin-top: var(--rs-is); }
.rs-h + .rs-b { margin-top: calc(var(--rs-is) * 0.5 + 2pt); }
.rs-kv { margin-top: 2.5pt; }
.rs-sk-group { margin-top: 6pt; }
.rs-sk-group + .rs-b { margin-top: 2.5pt; }
.rs-skills-inline + .rs-skills-inline { margin-top: 2pt; }
.rs-top > :first-child, .rs-main > :first-child, .rs-side > :first-child { margin-top: 0; }

/* ---- Header ---- */
.rs-name {
  font-family: var(--rs-hfont);
  font-size: var(--rs-ns);
  font-weight: 700;
  line-height: 1.1;
  color: var(--rs-bc);
  letter-spacing: 0;
}
.rs-headline { margin-top: 3pt; font-size: calc(var(--rs-fs) * 1.18); line-height: 1.25; color: var(--rs-muted); }
.rs-contacts { margin-top: 6pt; font-size: calc(var(--rs-fs) * 0.95); color: var(--rs-bc); }
.rs-contacts-line { display: flex; flex-wrap: wrap; align-items: center; }
.rs-contacts-wrap { display: flex; flex-wrap: wrap; gap: 2pt 13pt; }
.rs-contacts-stack { display: flex; flex-direction: column; gap: 2.5pt; }
.rs-contacts-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5pt 14pt; }
.rs-c { display: inline-flex; align-items: center; gap: 4pt; min-width: 0; }
.rs-contacts-stack .rs-c, .rs-contacts-grid .rs-c { display: flex; align-items: flex-start; }
.rs-c-t { min-width: 0; overflow-wrap: anywhere; }
.rs-sep { white-space: pre; color: var(--rs-muted); }
.rs-ico { flex: none; width: 1.05em; height: 1.05em; color: var(--rs-accent); }
.rs-contacts-stack .rs-ico, .rs-contacts-grid .rs-ico { margin-top: 0.12em; }
.rs-c-labeled { display: block; margin-top: 5pt; }
.rs-c-labeled:first-child { margin-top: 0; }
.rs-c-label { display: block; font-size: 0.82em; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--rs-hc); }
.rs-link { color: inherit; text-decoration: none; }

.rs-photo-wrap { flex: none; width: 86pt; height: 86pt; overflow: hidden; background: var(--rs-tint); }
.rs-photo { display: block; width: 100%; height: 100%; object-fit: cover; }
.ph-circle .rs-photo-wrap { border-radius: 50%; }
.ph-rounded .rs-photo-wrap { border-radius: 14%; }
.ph-square .rs-photo-wrap { border-radius: 0; }

/* ---- Section headings ---- */
.rs-h {
  display: flex;
  align-items: center;
  gap: 7pt;
  font-family: var(--rs-hfont);
  font-size: var(--rs-hs);
  font-weight: 700;
  line-height: 1.2;
  color: var(--rs-hc);
  padding-bottom: 2.5pt;
  border-bottom: var(--rs-div-w) var(--rs-div-s) var(--rs-line);
}
.rs-h-text { min-width: 0; }
.rs-h-mark, .rs-h-bar { display: none; }

/* ---- Entries ---- */
.rs-row { display: flex; justify-content: space-between; align-items: baseline; gap: 10pt; }
/* A title that wraps finishes before its date: the date sits on the title's last line, so text extracted
   from the PDF reads "title, date" instead of putting the date in the middle of the title. The same goes
   for an organisation and its location. */
.rs-row1, .rs-row2 { align-items: last baseline; }
.rs-title { font-weight: 700; min-width: 0; }
.rs-title-x { font-weight: 400; }
.rs-date, .rs-loc { flex: none; max-width: 45%; text-align: right; color: var(--rs-muted); }
.rs-date { white-space: nowrap; }
.rs-org { min-width: 0; font-style: italic; }
.rs-row2 { margin-top: 0.5pt; }
.rs-row3 { margin-top: 0.5pt; color: var(--rs-muted); }
.rs-detail { color: var(--rs-bc); }

.rs-li { display: flex; padding-left: 3pt; }
.rs-li-m { flex: none; width: 10pt; color: var(--rs-bc); }
.rs-li-t { flex: 1 1 auto; min-width: 0; }

.rs-kv { display: flex; justify-content: space-between; gap: 8pt; }
.rs-kv-k { min-width: 0; }
.rs-kv-v { flex: none; color: var(--rs-muted); }
.rs-sk-group { font-weight: 700; }

.rs-tags { display: flex; flex-wrap: wrap; gap: 3.5pt 4pt; }
.rs-tag { display: inline-block; padding: 1.2pt 6pt; border-radius: 3pt; background: var(--rs-tint); color: var(--rs-bc); font-size: 0.92em; line-height: 1.35; }

/* =============================================================================================
   Templates
   ============================================================================================= */

/* 1. ATS Classic: centered header, serif, uppercase headings with full-width rule */
.tpl-ats-classic .hd-centered { text-align: center; }
.tpl-ats-classic .rs-name { font-size: var(--rs-ns); letter-spacing: 0.02em; }
.tpl-ats-classic .rs-headline { color: var(--rs-bc); }
.tpl-ats-classic .rs-contacts-line { justify-content: center; }
.tpl-ats-classic .rs-h { text-transform: uppercase; letter-spacing: 0.06em; border-bottom-color: var(--rs-hc); padding-bottom: 1.5pt; }
.tpl-ats-classic .rs-date, .tpl-ats-classic .rs-loc { color: var(--rs-bc); }

/* 2. ATS Modern: accent name, bottom accent rule, headings followed by a hairline */
.tpl-ats-modern .hd-left-rule { padding-bottom: 9pt; border-bottom: 2px solid var(--rs-accent); }
.tpl-ats-modern .rs-name { color: var(--rs-accent); }
.tpl-ats-modern .rs-h { text-transform: uppercase; letter-spacing: 0.12em; border-bottom: 0; padding-bottom: 0; }
.tpl-ats-modern .rs-h-bar { display: block; flex: 1 1 auto; border-top: var(--rs-div-w) var(--rs-div-s) var(--rs-line); }
.tpl-ats-modern .rs-org { font-style: normal; color: var(--rs-accent); }

/* 3. ATS Compact: split header with stacked contacts, dense spacing */
.tpl-ats-compact .hd-split { display: flex; justify-content: space-between; align-items: flex-end; gap: 16pt; padding-bottom: 6pt; border-bottom: 1.5px solid var(--rs-accent); }
.tpl-ats-compact .hd-split .rs-contacts { margin-top: 0; text-align: right; }
.tpl-ats-compact .hd-split .rs-contacts-stack { align-items: flex-end; gap: 1pt; }
.tpl-ats-compact .rs-headline { margin-top: 2pt; }
.tpl-ats-compact .rs-h { text-transform: uppercase; letter-spacing: 0.05em; padding-bottom: 1pt; }
.tpl-ats-compact .rs-org { font-style: normal; font-weight: 600; }
.tpl-ats-compact .rs-li { padding-left: 1pt; }
.tpl-ats-compact .rs-li-m { width: 8.5pt; }

/* 4. Professional: headings in a left label column, serif headings, icon contact row */
.tpl-professional .rs-top { padding-bottom: 10pt; border-bottom: 2px solid var(--rs-accent); }
.tpl-professional .rs-name { color: var(--rs-accent); }
.tpl-professional .rs-contacts { margin-top: 8pt; }
.tpl-professional .rs-main { padding-left: 23%; }
.tpl-professional .rs-h {
  float: left; clear: left;
  width: calc(23% / 0.77 - 12pt);
  margin-left: calc(-23% / 0.77);
  margin-right: 12pt;
  display: block;
  border-bottom: 0;
  padding: 0;
  font-size: var(--rs-hs);
  color: var(--rs-hc);
}
.tpl-professional .rs-h + .rs-b { margin-top: var(--rs-ss); }
.tpl-professional .rs-main > .rs-h:first-child + .rs-b { margin-top: 0; }
.tpl-professional .rs-entry { padding-top: 0; }
.tpl-professional .rs-title { color: var(--rs-bc); }
.tpl-professional .rs-org { font-style: normal; color: var(--rs-accent); }
.tpl-professional .rs-li-m { color: var(--rs-accent); }

/* 5. Executive: letterspaced uppercase name, double rule, centered headings */
.tpl-executive .hd-exec { text-align: center; padding-bottom: 9pt; border-bottom: 3px double var(--rs-accent); }
.tpl-executive .rs-name { font-weight: 400; text-transform: uppercase; letter-spacing: 0.14em; color: var(--rs-hc); }
.tpl-executive .rs-headline { text-transform: uppercase; letter-spacing: 0.12em; font-size: calc(var(--rs-fs) * 0.95); margin-top: 5pt; }
.tpl-executive .rs-contacts-line { justify-content: center; }
.tpl-executive .rs-h { justify-content: center; text-align: center; text-transform: uppercase; letter-spacing: 0.16em; font-weight: 600; border-bottom-color: var(--rs-accent); padding-bottom: 3pt; }
.tpl-executive .rs-title { font-weight: 700; }
.tpl-executive .rs-org { font-style: italic; }

/* 6. Minimal: whitespace, gray letterspaced headings, no decoration */
.tpl-minimal .rs-name { font-weight: 400; letter-spacing: -0.01em; color: var(--rs-accent); }
.tpl-minimal .rs-headline { margin-top: 5pt; }
.tpl-minimal .rs-contacts { margin-top: 9pt; color: var(--rs-muted); }
.tpl-minimal .rs-h { text-transform: uppercase; letter-spacing: 0.2em; font-weight: 600; padding-bottom: 3pt; }
.tpl-minimal .rs-title { font-weight: 600; }
.tpl-minimal .rs-org { font-style: normal; color: var(--rs-muted); }
.tpl-minimal .rs-li-m { color: var(--rs-muted); }

/* 7. Contemporary: tinted right sidebar, optional round photo, short accent bars */
.tpl-contemporary .hd-contemporary { display: flex; justify-content: space-between; align-items: center; gap: 18pt; }
.tpl-contemporary .rs-head-main { flex: 1 1 auto; min-width: 0; }
.tpl-contemporary .rs-name { color: var(--rs-accent); }
.tpl-contemporary .rs-photo-wrap { width: 84pt; height: 84pt; }
.tpl-contemporary .rs-side { padding: 12pt 12pt; background: var(--rs-tint); border-radius: 5pt; }
.tpl-contemporary .rs-h { flex-direction: column; align-items: flex-start; gap: 3pt; border-bottom: 0; padding-bottom: 0; text-transform: uppercase; letter-spacing: 0.06em; }
.tpl-contemporary .rs-h-bar { display: block; width: 26pt; border-top: calc(var(--rs-div-w) + 1px) var(--rs-div-s) var(--rs-accent); }
.tpl-contemporary.div-none .rs-h-bar { display: none; }
.tpl-contemporary .rs-org { font-style: normal; color: var(--rs-accent); }
.tpl-contemporary .rs-li-m { color: var(--rs-accent); }
.tpl-contemporary .rs-side .rs-tag { background: #fff; }

/* 8. Corporate: full-width header band, right column with divider */
.tpl-corporate.bleed { padding: 0; }
.tpl-corporate .rs-top { padding: calc(var(--rs-my) * 0.8) var(--rs-mx); background: var(--rs-accent); color: var(--rs-on-accent); }
.tpl-corporate .hd-band { display: flex; align-items: center; gap: 18pt; }
.tpl-corporate .rs-head-main { flex: 1 1 auto; min-width: 0; }
.tpl-corporate .rs-name { color: var(--rs-on-accent); }
.tpl-corporate .rs-headline { color: var(--rs-on-accent-2); }
.tpl-corporate .rs-contacts { color: var(--rs-on-accent); margin-top: 8pt; }
.tpl-corporate .rs-top .rs-ico { color: var(--rs-on-accent-2); }
.tpl-corporate .rs-photo-wrap { width: 80pt; height: 80pt; background: var(--rs-side-tag); }
.tpl-corporate .rs-top + .rs-cols { margin-top: 0; }
.tpl-corporate .rs-cols { padding: var(--rs-ss) var(--rs-mx) var(--rs-my); }
.tpl-corporate.cont .rs-cols { padding-top: var(--rs-my); }
.tpl-corporate .rs-side { padding-left: 14pt; border-left: 1px solid var(--rs-line); }
.tpl-corporate .rs-h { text-transform: uppercase; letter-spacing: 0.08em; }
.tpl-corporate .rs-org { font-style: normal; font-weight: 600; color: var(--rs-accent); }

/* 9. Student: accent-bordered header, square heading markers, tags */
.tpl-student .hd-student { padding: 2pt 0 4pt 12pt; border-left: 4pt solid var(--rs-accent); }
.tpl-student .rs-headline { color: var(--rs-accent); }
.tpl-student .rs-h { gap: 6pt; padding-bottom: 2pt; }
.tpl-student.div-none .rs-h { padding-bottom: 0; }
.tpl-student .rs-h-mark { display: block; flex: none; width: 7pt; height: 7pt; border-radius: 1.5pt; background: var(--rs-accent); }
.tpl-student .rs-org { font-style: normal; color: var(--rs-accent); }
.tpl-student .rs-li-m { color: var(--rs-accent); }

/* 10. Graduate: left sidebar with vertical rule, tinted heading bars */
.tpl-graduate .hd-graduate { padding-bottom: 8pt; border-bottom: var(--rs-div-w) var(--rs-div-s) var(--rs-accent); }
.tpl-graduate.div-none .hd-graduate { padding-bottom: 0; }
.tpl-graduate .rs-name { color: var(--rs-hc); }
.tpl-graduate .rs-headline { color: var(--rs-accent); }
.tpl-graduate .rs-side { padding-right: 14pt; border-right: 1px solid var(--rs-line); }
.tpl-graduate .rs-h { padding: 2pt 6pt; border-bottom: 0; border-left: 3pt solid var(--rs-accent); background: var(--rs-tint); }
.tpl-graduate .rs-side .rs-contacts { margin-top: 0; font-size: 0.95em; }
.tpl-graduate .rs-org { font-style: normal; color: var(--rs-accent); }

/* 11. Creative Professional: full-height color sidebar */
.tpl-creative.bleed { padding: 0; }
.tpl-creative .rs-cols { gap: 0; }
.tpl-creative .rs-side { padding: var(--rs-my) 18pt; background: var(--rs-accent); color: var(--rs-on-accent); }
.tpl-creative .rs-main { padding: var(--rs-my) var(--rs-mx) var(--rs-my) var(--rs-cg); }
.tpl-creative .rs-side-photo { display: flex; justify-content: center; }
.tpl-creative .rs-side .rs-photo-wrap { width: 108pt; height: 108pt; background: var(--rs-side-tag); }
.tpl-creative .rs-side .rs-h { color: var(--rs-on-accent); text-transform: uppercase; letter-spacing: 0.1em; font-size: calc(var(--rs-hs) * 0.9); border-bottom: 1px solid var(--rs-side-line); padding-bottom: 3pt; }
.tpl-creative .rs-side .rs-ico { color: var(--rs-on-accent-2); }
.tpl-creative .rs-side .rs-contacts { color: var(--rs-on-accent); }
.tpl-creative .rs-side .rs-tag { background: var(--rs-side-tag); color: var(--rs-on-accent); }
.tpl-creative .rs-side .rs-kv-v, .tpl-creative .rs-side .rs-date, .tpl-creative .rs-side .rs-loc, .tpl-creative .rs-side .rs-row3 { color: var(--rs-on-accent-2); }
.tpl-creative .rs-side .rs-li-m { color: var(--rs-on-accent); }
.tpl-creative .hd-creative .rs-name { color: var(--rs-accent); line-height: 1.05; }
.tpl-creative .hd-creative .rs-headline { text-transform: uppercase; letter-spacing: 0.14em; font-size: calc(var(--rs-fs) * 1.05); margin-top: 6pt; }
.tpl-creative .rs-main .rs-h { flex-direction: column; align-items: flex-start; gap: 3pt; border-bottom: 0; padding-bottom: 0; }
.tpl-creative .rs-main .rs-h-bar { display: block; width: 30pt; border-top: calc(var(--rs-div-w) + 1px) var(--rs-div-s) var(--rs-accent); }
.tpl-creative.div-none .rs-main .rs-h-bar { display: none; }
.tpl-creative .rs-org { font-style: normal; color: var(--rs-accent); }
/* The accent-colored organization would vanish on the accent sidebar. */
.tpl-creative .rs-side .rs-org { color: var(--rs-on-accent-2); }
.tpl-creative .rs-main .rs-li-m { color: var(--rs-accent); }

/* 12. Photo CV: light sidebar with large round photo and labeled personal details */
.tpl-photo-cv.bleed { padding: 0; }
.tpl-photo-cv .rs-cols { gap: 0; }
.tpl-photo-cv .rs-side { padding: var(--rs-my) 18pt; background: var(--rs-tint); }
.tpl-photo-cv .rs-main { padding: var(--rs-my) var(--rs-mx) var(--rs-my) var(--rs-cg); }
.tpl-photo-cv .rs-side-photo { display: flex; justify-content: center; }
.tpl-photo-cv .rs-side .rs-photo-wrap { width: 118pt; height: 118pt; background: var(--rs-tint2); }
.tpl-photo-cv .hd-photocv { text-align: center; }
.tpl-photo-cv .rs-side-photo + .hd-photocv { margin-top: 12pt; }
.tpl-photo-cv .rs-name { color: var(--rs-hc); font-size: var(--rs-ns); }
.tpl-photo-cv .rs-headline { color: var(--rs-accent); }
.tpl-photo-cv .rs-h { text-transform: uppercase; letter-spacing: 0.08em; gap: 6pt; }
.tpl-photo-cv .rs-h-mark { display: block; flex: none; width: 14pt; height: 3pt; border-radius: 1.5pt; background: var(--rs-accent); }
.tpl-photo-cv .rs-side .rs-tag { background: #fff; }
.tpl-photo-cv .rs-org { font-style: normal; color: var(--rs-accent); }
.tpl-photo-cv .rs-li-m { color: var(--rs-accent); }

/* ---- Static previews (template gallery, examples, thumbnails) ---- */
.rs-thumb { position: relative; width: 100%; aspect-ratio: 816 / 1056; overflow: hidden; container-type: inline-size; background: #fff; }
.rs-thumb.pg-a4 { aspect-ratio: 793.7 / 1122.5; }
.rs-thumb > .rs-page { position: absolute; left: 0; top: 0; transform-origin: 0 0; transform: scale(var(--thumb-scale, 0.25)); pointer-events: none; user-select: none; }
.rs-thumb > .rs-page { --thumb-scale: 0.1471; }
@container (min-width: 120px) { .rs-thumb > .rs-page { --thumb-scale: 0.1471; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.1512; } }
@container (min-width: 128px) { .rs-thumb > .rs-page { --thumb-scale: 0.1569; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.1613; } }
@container (min-width: 136px) { .rs-thumb > .rs-page { --thumb-scale: 0.1667; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.1713; } }
@container (min-width: 144px) { .rs-thumb > .rs-page { --thumb-scale: 0.1765; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.1814; } }
@container (min-width: 152px) { .rs-thumb > .rs-page { --thumb-scale: 0.1863; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.1915; } }
@container (min-width: 160px) { .rs-thumb > .rs-page { --thumb-scale: 0.1961; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.2016; } }
@container (min-width: 168px) { .rs-thumb > .rs-page { --thumb-scale: 0.2059; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.2117; } }
@container (min-width: 176px) { .rs-thumb > .rs-page { --thumb-scale: 0.2157; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.2217; } }
@container (min-width: 184px) { .rs-thumb > .rs-page { --thumb-scale: 0.2255; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.2318; } }
@container (min-width: 192px) { .rs-thumb > .rs-page { --thumb-scale: 0.2353; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.2419; } }
@container (min-width: 200px) { .rs-thumb > .rs-page { --thumb-scale: 0.2451; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.2520; } }
@container (min-width: 208px) { .rs-thumb > .rs-page { --thumb-scale: 0.2549; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.2621; } }
@container (min-width: 216px) { .rs-thumb > .rs-page { --thumb-scale: 0.2647; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.2721; } }
@container (min-width: 224px) { .rs-thumb > .rs-page { --thumb-scale: 0.2745; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.2822; } }
@container (min-width: 232px) { .rs-thumb > .rs-page { --thumb-scale: 0.2843; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.2923; } }
@container (min-width: 240px) { .rs-thumb > .rs-page { --thumb-scale: 0.2941; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.3024; } }
@container (min-width: 248px) { .rs-thumb > .rs-page { --thumb-scale: 0.3039; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.3125; } }
@container (min-width: 256px) { .rs-thumb > .rs-page { --thumb-scale: 0.3137; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.3225; } }
@container (min-width: 264px) { .rs-thumb > .rs-page { --thumb-scale: 0.3235; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.3326; } }
@container (min-width: 272px) { .rs-thumb > .rs-page { --thumb-scale: 0.3333; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.3427; } }
@container (min-width: 280px) { .rs-thumb > .rs-page { --thumb-scale: 0.3431; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.3528; } }
@container (min-width: 288px) { .rs-thumb > .rs-page { --thumb-scale: 0.3529; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.3629; } }
@container (min-width: 296px) { .rs-thumb > .rs-page { --thumb-scale: 0.3627; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.3729; } }
@container (min-width: 304px) { .rs-thumb > .rs-page { --thumb-scale: 0.3725; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.3830; } }
@container (min-width: 312px) { .rs-thumb > .rs-page { --thumb-scale: 0.3824; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.3931; } }
@container (min-width: 320px) { .rs-thumb > .rs-page { --thumb-scale: 0.3922; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.4032; } }
@container (min-width: 328px) { .rs-thumb > .rs-page { --thumb-scale: 0.4020; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.4133; } }
@container (min-width: 336px) { .rs-thumb > .rs-page { --thumb-scale: 0.4118; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.4233; } }
@container (min-width: 344px) { .rs-thumb > .rs-page { --thumb-scale: 0.4216; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.4334; } }
@container (min-width: 352px) { .rs-thumb > .rs-page { --thumb-scale: 0.4314; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.4435; } }
@container (min-width: 360px) { .rs-thumb > .rs-page { --thumb-scale: 0.4412; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.4536; } }
@container (min-width: 368px) { .rs-thumb > .rs-page { --thumb-scale: 0.4510; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.4637; } }
@container (min-width: 376px) { .rs-thumb > .rs-page { --thumb-scale: 0.4608; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.4737; } }
@container (min-width: 384px) { .rs-thumb > .rs-page { --thumb-scale: 0.4706; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.4838; } }
@container (min-width: 392px) { .rs-thumb > .rs-page { --thumb-scale: 0.4804; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.4939; } }
@container (min-width: 400px) { .rs-thumb > .rs-page { --thumb-scale: 0.4902; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.5040; } }
@container (min-width: 408px) { .rs-thumb > .rs-page { --thumb-scale: 0.5000; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.5140; } }
@container (min-width: 416px) { .rs-thumb > .rs-page { --thumb-scale: 0.5098; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.5241; } }
@container (min-width: 424px) { .rs-thumb > .rs-page { --thumb-scale: 0.5196; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.5342; } }
@container (min-width: 432px) { .rs-thumb > .rs-page { --thumb-scale: 0.5294; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.5443; } }
@container (min-width: 440px) { .rs-thumb > .rs-page { --thumb-scale: 0.5392; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.5544; } }
@container (min-width: 448px) { .rs-thumb > .rs-page { --thumb-scale: 0.5490; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.5644; } }
@container (min-width: 456px) { .rs-thumb > .rs-page { --thumb-scale: 0.5588; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.5745; } }
@container (min-width: 464px) { .rs-thumb > .rs-page { --thumb-scale: 0.5686; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.5846; } }
@container (min-width: 472px) { .rs-thumb > .rs-page { --thumb-scale: 0.5784; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.5947; } }
@container (min-width: 480px) { .rs-thumb > .rs-page { --thumb-scale: 0.5882; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.6048; } }
@container (min-width: 488px) { .rs-thumb > .rs-page { --thumb-scale: 0.5980; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.6148; } }
@container (min-width: 496px) { .rs-thumb > .rs-page { --thumb-scale: 0.6078; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.6249; } }
@container (min-width: 504px) { .rs-thumb > .rs-page { --thumb-scale: 0.6176; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.6350; } }
@container (min-width: 512px) { .rs-thumb > .rs-page { --thumb-scale: 0.6275; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.6451; } }
@container (min-width: 520px) { .rs-thumb > .rs-page { --thumb-scale: 0.6373; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.6552; } }
@container (min-width: 528px) { .rs-thumb > .rs-page { --thumb-scale: 0.6471; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.6652; } }
@container (min-width: 536px) { .rs-thumb > .rs-page { --thumb-scale: 0.6569; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.6753; } }
@container (min-width: 544px) { .rs-thumb > .rs-page { --thumb-scale: 0.6667; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.6854; } }
@container (min-width: 552px) { .rs-thumb > .rs-page { --thumb-scale: 0.6765; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.6955; } }
@container (min-width: 560px) { .rs-thumb > .rs-page { --thumb-scale: 0.6863; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.7056; } }
@container (min-width: 568px) { .rs-thumb > .rs-page { --thumb-scale: 0.6961; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.7156; } }
@container (min-width: 576px) { .rs-thumb > .rs-page { --thumb-scale: 0.7059; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.7257; } }
@container (min-width: 584px) { .rs-thumb > .rs-page { --thumb-scale: 0.7157; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.7358; } }
@container (min-width: 592px) { .rs-thumb > .rs-page { --thumb-scale: 0.7255; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.7459; } }
@container (min-width: 600px) { .rs-thumb > .rs-page { --thumb-scale: 0.7353; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.7560; } }
@container (min-width: 608px) { .rs-thumb > .rs-page { --thumb-scale: 0.7451; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.7660; } }
@container (min-width: 616px) { .rs-thumb > .rs-page { --thumb-scale: 0.7549; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.7761; } }
@container (min-width: 624px) { .rs-thumb > .rs-page { --thumb-scale: 0.7647; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.7862; } }
@container (min-width: 632px) { .rs-thumb > .rs-page { --thumb-scale: 0.7745; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.7963; } }
@container (min-width: 640px) { .rs-thumb > .rs-page { --thumb-scale: 0.7843; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.8064; } }
@container (min-width: 648px) { .rs-thumb > .rs-page { --thumb-scale: 0.7941; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.8164; } }
@container (min-width: 656px) { .rs-thumb > .rs-page { --thumb-scale: 0.8039; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.8265; } }
@container (min-width: 664px) { .rs-thumb > .rs-page { --thumb-scale: 0.8137; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.8366; } }
@container (min-width: 672px) { .rs-thumb > .rs-page { --thumb-scale: 0.8235; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.8467; } }
@container (min-width: 680px) { .rs-thumb > .rs-page { --thumb-scale: 0.8333; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.8567; } }
@container (min-width: 688px) { .rs-thumb > .rs-page { --thumb-scale: 0.8431; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.8668; } }
@container (min-width: 696px) { .rs-thumb > .rs-page { --thumb-scale: 0.8529; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.8769; } }
@container (min-width: 704px) { .rs-thumb > .rs-page { --thumb-scale: 0.8627; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.8870; } }
@container (min-width: 712px) { .rs-thumb > .rs-page { --thumb-scale: 0.8725; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.8971; } }
@container (min-width: 720px) { .rs-thumb > .rs-page { --thumb-scale: 0.8824; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.9071; } }
@container (min-width: 728px) { .rs-thumb > .rs-page { --thumb-scale: 0.8922; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.9172; } }
@container (min-width: 736px) { .rs-thumb > .rs-page { --thumb-scale: 0.9020; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.9273; } }
@container (min-width: 744px) { .rs-thumb > .rs-page { --thumb-scale: 0.9118; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.9374; } }
@container (min-width: 752px) { .rs-thumb > .rs-page { --thumb-scale: 0.9216; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.9475; } }
@container (min-width: 760px) { .rs-thumb > .rs-page { --thumb-scale: 0.9314; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.9575; } }
@container (min-width: 768px) { .rs-thumb > .rs-page { --thumb-scale: 0.9412; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.9676; } }
@container (min-width: 776px) { .rs-thumb > .rs-page { --thumb-scale: 0.9510; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.9777; } }
@container (min-width: 784px) { .rs-thumb > .rs-page { --thumb-scale: 0.9608; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.9878; } }
@container (min-width: 792px) { .rs-thumb > .rs-page { --thumb-scale: 0.9706; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 0.9979; } }
@container (min-width: 800px) { .rs-thumb > .rs-page { --thumb-scale: 0.9804; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 1.0079; } }
@container (min-width: 808px) { .rs-thumb > .rs-page { --thumb-scale: 0.9902; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 1.0180; } }
@container (min-width: 816px) { .rs-thumb > .rs-page { --thumb-scale: 1.0000; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 1.0281; } }
@container (min-width: 824px) { .rs-thumb > .rs-page { --thumb-scale: 1.0098; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 1.0382; } }
@container (min-width: 832px) { .rs-thumb > .rs-page { --thumb-scale: 1.0196; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 1.0483; } }
@container (min-width: 840px) { .rs-thumb > .rs-page { --thumb-scale: 1.0294; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 1.0583; } }
@container (min-width: 848px) { .rs-thumb > .rs-page { --thumb-scale: 1.0392; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 1.0684; } }
@container (min-width: 856px) { .rs-thumb > .rs-page { --thumb-scale: 1.0490; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 1.0785; } }
@container (min-width: 864px) { .rs-thumb > .rs-page { --thumb-scale: 1.0588; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 1.0886; } }
@container (min-width: 872px) { .rs-thumb > .rs-page { --thumb-scale: 1.0686; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 1.0987; } }
@container (min-width: 880px) { .rs-thumb > .rs-page { --thumb-scale: 1.0784; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 1.1087; } }
@container (min-width: 888px) { .rs-thumb > .rs-page { --thumb-scale: 1.0882; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 1.1188; } }
@container (min-width: 896px) { .rs-thumb > .rs-page { --thumb-scale: 1.0980; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 1.1289; } }
@container (min-width: 904px) { .rs-thumb > .rs-page { --thumb-scale: 1.1078; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 1.1390; } }
@container (min-width: 912px) { .rs-thumb > .rs-page { --thumb-scale: 1.1176; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 1.1490; } }
@container (min-width: 920px) { .rs-thumb > .rs-page { --thumb-scale: 1.1275; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 1.1591; } }
@container (min-width: 928px) { .rs-thumb > .rs-page { --thumb-scale: 1.1373; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 1.1692; } }
@container (min-width: 936px) { .rs-thumb > .rs-page { --thumb-scale: 1.1471; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 1.1793; } }
@container (min-width: 944px) { .rs-thumb > .rs-page { --thumb-scale: 1.1569; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 1.1894; } }
@container (min-width: 952px) { .rs-thumb > .rs-page { --thumb-scale: 1.1667; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 1.1994; } }
@container (min-width: 960px) { .rs-thumb > .rs-page { --thumb-scale: 1.1765; } .rs-thumb.pg-a4 > .rs-page { --thumb-scale: 1.2095; } }

/* ---- Print (builder "Print / Save as PDF") ---- */
.print-root { display: none; }
@media print {
  html, body { margin: 0 !important; padding: 0 !important; background: #fff !important; }
  body.is-printing > :not(.print-root) { display: none !important; }
  body.is-printing .print-root { display: block !important; }
  .print-root .rs-page {
    break-after: page; page-break-after: always; margin: 0; box-shadow: none; border-radius: 0; overflow: hidden;
    /* A hair under the sheet height so rounding never spills onto an extra blank sheet. */
    height: calc(var(--rs-ph, 1056px) - 2px);
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
  }
  .print-root .rs-page:last-child { break-after: auto; page-break-after: auto; }
}
