/* CA_RESUME_BUILDER_V1 (25 Oct 2026): resume document designs. ONE stylesheet for both the live preview in the browser and
   the server PDF (Chromium), so the download looks exactly like the preview. Everything is scoped to .rbd (resume document).
   Fonts: metric-compatible open fonts (Carlito = Calibri, Caladea = Cambria, Liberation Sans = Arial, Liberation Serif = Times,
   TeX Gyre Pagella = Palatino) + Lora + Inter, subset to Latin, in /fonts/rb (licences in /fonts/rb/LICENSES.txt). */
@font-face{font-family:'RB Carlito';font-style:normal;font-weight:400;font-display:swap;src:local('Calibri'),url('../fonts/rb/carlito-Regular.woff') format('woff')}
@font-face{font-family:'RB Carlito';font-style:normal;font-weight:700;font-display:swap;src:local('Calibri Bold'),local('Calibri-Bold'),url('../fonts/rb/carlito-Bold.woff') format('woff')}
@font-face{font-family:'RB Carlito';font-style:italic;font-weight:400;font-display:swap;src:local('Calibri Italic'),local('Calibri-Italic'),url('../fonts/rb/carlito-Italic.woff') format('woff')}
@font-face{font-family:'RB Carlito';font-style:italic;font-weight:700;font-display:swap;src:local('Calibri Bold Italic'),local('Calibri-BoldItalic'),url('../fonts/rb/carlito-BoldItalic.woff') format('woff')}
@font-face{font-family:'RB Caladea';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/rb/caladea-Regular.woff') format('woff')}
@font-face{font-family:'RB Caladea';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/rb/caladea-Bold.woff') format('woff')}
@font-face{font-family:'RB Caladea';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/rb/caladea-Italic.woff') format('woff')}
@font-face{font-family:'RB Caladea';font-style:italic;font-weight:700;font-display:swap;src:url('../fonts/rb/caladea-BoldItalic.woff') format('woff')}
@font-face{font-family:'RB Arial';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/rb/libsans-Regular.woff') format('woff')}
@font-face{font-family:'RB Arial';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/rb/libsans-Bold.woff') format('woff')}
@font-face{font-family:'RB Arial';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/rb/libsans-Italic.woff') format('woff')}
@font-face{font-family:'RB Arial';font-style:italic;font-weight:700;font-display:swap;src:url('../fonts/rb/libsans-BoldItalic.woff') format('woff')}
@font-face{font-family:'RB Times';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/rb/libserif-Regular.woff') format('woff')}
@font-face{font-family:'RB Times';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/rb/libserif-Bold.woff') format('woff')}
@font-face{font-family:'RB Times';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/rb/libserif-Italic.woff') format('woff')}
@font-face{font-family:'RB Times';font-style:italic;font-weight:700;font-display:swap;src:url('../fonts/rb/libserif-BoldItalic.woff') format('woff')}
@font-face{font-family:'RB Palatino';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/rb/pagella-Regular.woff') format('woff')}
@font-face{font-family:'RB Palatino';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/rb/pagella-Bold.woff') format('woff')}
@font-face{font-family:'RB Palatino';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/rb/pagella-Italic.woff') format('woff')}
@font-face{font-family:'RB Palatino';font-style:italic;font-weight:700;font-display:swap;src:url('../fonts/rb/pagella-BoldItalic.woff') format('woff')}
@font-face{font-family:'RB Lora';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/rb/lora-Regular.woff') format('woff')}
@font-face{font-family:'RB Lora';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/rb/lora-Bold.woff') format('woff')}
@font-face{font-family:'RB Lora';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/rb/lora-Italic.woff') format('woff')}
@font-face{font-family:'RB Lora';font-style:italic;font-weight:700;font-display:swap;src:url('../fonts/rb/lora-BoldItalic.woff') format('woff')}
@font-face{font-family:'RB Inter';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/rb/inter-Regular.woff') format('woff')}
@font-face{font-family:'RB Inter';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/rb/inter-SemiBold.woff') format('woff')}
@font-face{font-family:'RB Inter';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/rb/inter-Bold.woff') format('woff')}
@font-face{font-family:'RB Inter';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/rb/inter-Italic.woff') format('woff')}

/* ------------------------------------------------------------------ base (every design) */
.rbd{--a:#1F3A5F;--at:#EEF2F7;--al:#D5DEEA;--ink:#1B2230;--mut:#4B5563;--rule:#C7CFDA;--fs:10.5pt;--lh:1.36;--sg:11pt;--ig:7pt;--hs:1.12;
  font-family:var(--f,'RB Carlito'),'RB Carlito','Segoe UI',Arial,sans-serif;font-size:var(--fs);line-height:var(--lh);color:var(--ink);background:#fff;
  text-align:left;font-kerning:normal;font-variant-ligatures:common-ligatures;overflow-wrap:break-word;-webkit-print-color-adjust:exact;print-color-adjust:exact;
  letter-spacing:0;word-spacing:0;text-transform:none;font-weight:400;font-style:normal}
.rbd *,.rbd *::before,.rbd *::after{box-sizing:border-box;margin:0;padding:0;border:0;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit}
.rbd b,.rbd strong{font-weight:700}
.rbd a{color:inherit;text-decoration:none}
.rbd-fs-s{--fs:9.5pt}.rbd-fs-m{--fs:10.5pt}.rbd-fs-l{--fs:11.5pt}
.rbd-sp-c{--lh:1.26;--sg:8pt;--ig:5pt}.rbd-sp-n{--lh:1.36;--sg:11pt;--ig:7pt}.rbd-sp-r{--lh:1.46;--sg:14.5pt;--ig:9pt}

.rbd-hd{break-inside:avoid}
.rbd-name{font-size:calc(var(--fs) * 2.05);line-height:1.1;font-weight:700;color:var(--ink)}
.rbd-hl{margin-top:2pt;font-size:calc(var(--fs) * 1.08);color:var(--mut)}
.rbd-ct{margin-top:4pt;font-size:calc(var(--fs) * .93);color:var(--mut)}
.rbd-ci{display:inline}
.rbd-ci+.rbd-ci::before{content:"|";margin:0 .45em;color:var(--rule)}
.rbd-sec{margin-top:var(--sg)}
.rbd-h{font-size:calc(var(--fs) * var(--hs));line-height:1.2;font-weight:700;color:var(--a);margin-bottom:4pt;break-after:avoid;break-inside:avoid}
.rbd-it{margin-top:var(--ig)}
.rbd-it:first-of-type{margin-top:0}
.rbd-h+.rbd-it{margin-top:0}
.rbd-row{display:flex;justify-content:space-between;align-items:baseline;gap:10pt;break-inside:avoid;break-after:avoid}
.rbd-l{flex:1 1 auto;min-width:0}
.rbd-r{flex:0 0 auto;white-space:nowrap;text-align:right;color:var(--mut);font-size:calc(var(--fs) * .95)}
.rbd-t{font-weight:700}
.rbd-o{font-style:italic}
.rbd-sub .rbd-l{color:var(--ink)}
.rbd-ul{margin:2.5pt 0 0 1.12em;list-style:disc outside}
.rbd-ul li{margin-top:1.4pt;padding-left:.12em;break-inside:avoid}
.rbd-ul li::marker{color:var(--a)}
.rbd-p{break-inside:avoid;orphans:3;widows:3}
.rbd-note{margin-top:1.5pt;color:var(--mut);font-size:calc(var(--fs) * .95);break-inside:avoid}
.rbd-note b{color:var(--ink);font-weight:700}
.rbd-qs{color:var(--mut)}
.rbd-skg{display:flex;gap:6pt;margin-top:2pt;break-inside:avoid}
.rbd-skg:first-of-type{margin-top:0}
.rbd-skn{flex:0 0 auto;font-weight:700}
.rbd-skn::after{content:":"}
.rbd-ski{flex:1 1 auto;min-width:0}
.rbd-skl{list-style:none;margin:0}
.rbd-skl li{break-inside:avoid}
.rbd-kv{break-inside:avoid}
.rbd-kv span{font-weight:700}
.rbd-decl{margin-top:8pt}
.rbd-gap{display:block}
/* placeholders still to fill: highlighted in the live preview only, never in the PDF */
.rbd-ph{border-radius:2px}
.rb-preview .rbd-ph{background:#FFF1A8;box-shadow:0 0 0 1px #F2D36B}

/* ------------------------------------------------------------------ 1. Classic: centred, serif, ruled headings (Big 4 / audit safe) */
.rbd--classic .rbd-hd{text-align:center}
.rbd--classic .rbd-name{font-size:calc(var(--fs) * 1.95);letter-spacing:.06em;text-transform:uppercase}
.rbd--classic .rbd-hl{color:var(--ink);font-style:italic}
.rbd--classic .rbd-ct{color:var(--ink)}
.rbd--classic .rbd-h{color:var(--ink);text-transform:uppercase;letter-spacing:.07em;font-size:calc(var(--fs) * 1.02);border-bottom:.9pt solid var(--a);padding-bottom:1.5pt;margin-bottom:4.5pt}
.rbd--classic .rbd-ul li::marker{color:var(--ink)}
.rbd--classic .rbd-r{color:var(--ink)}

/* ------------------------------------------------------------------ 2. Professional (default): clean, accent headings with a hairline */
.rbd--professional .rbd-name{color:var(--a)}
.rbd--professional .rbd-hd{padding-bottom:6pt;border-bottom:1.6pt solid var(--a)}
.rbd--professional .rbd-h{text-transform:uppercase;letter-spacing:.09em;font-size:calc(var(--fs) * 1.0);border-bottom:.6pt solid var(--al);padding-bottom:2pt;margin-bottom:4.5pt}

/* ------------------------------------------------------------------ 3. Modern: bold name, accent bar headings */
.rbd--modern .rbd-name{font-size:calc(var(--fs) * 2.25);letter-spacing:-.01em}
.rbd--modern .rbd-hl{color:var(--a);font-weight:600}
.rbd--modern .rbd-h{display:flex;align-items:center;gap:6pt;font-size:calc(var(--fs) * 1.1);color:var(--ink)}
.rbd--modern .rbd-h::before{content:"";flex:0 0 auto;width:3.2pt;height:1.05em;border-radius:1pt;background:var(--a)}
.rbd--modern .rbd-t{color:var(--ink)}
.rbd--modern .rbd-r{color:var(--a)}

/* ------------------------------------------------------------------ 4. Executive: senior roles - competencies grid, summary panel */
.rbd--executive .rbd-name{font-size:calc(var(--fs) * 2.2);color:var(--ink)}
.rbd--executive .rbd-hl{letter-spacing:.02em;font-size:calc(var(--fs) * 1.04);color:var(--a);font-weight:700;margin-top:3pt}
.rbd--executive .rbd-hd{padding-bottom:7pt;border-bottom:.8pt solid var(--rule)}
.rbd--executive .rbd-h{font-size:calc(var(--fs) * 1.12);color:var(--a);border-top:1.5pt solid var(--a);padding-top:3pt;margin-bottom:5pt}
.rbd--executive .rbd-s-summary .rbd-p{background:var(--at);border-left:2.5pt solid var(--a);padding:6pt 8pt}
.rbd--executive .rbd-skl{columns:3;column-gap:12pt}
.rbd--executive .rbd-skl li{padding-left:9pt;position:relative;margin-top:1.4pt}
.rbd--executive .rbd-skl li::before{content:"";position:absolute;left:0;top:.52em;width:3.5pt;height:3.5pt;background:var(--a)}
.rbd--executive .rbd-skgt{font-weight:700;margin:3pt 0 1pt}
.rbd--executive .rbd-skgt:first-child{margin-top:0}

/* ------------------------------------------------------------------ 5. Compact: dense one-pager */
.rbd--compact{--hs:1.0}
.rbd--compact.rbd-sp-c{--lh:1.2;--sg:6pt;--ig:3.5pt}.rbd--compact.rbd-sp-n{--lh:1.24;--sg:8pt;--ig:4.5pt}.rbd--compact.rbd-sp-r{--lh:1.32;--sg:10.5pt;--ig:6pt}
.rbd--compact.rbd-fs-s{--fs:9pt}.rbd--compact.rbd-fs-m{--fs:9.75pt}.rbd--compact.rbd-fs-l{--fs:10.75pt}
.rbd--compact .rbd-name{font-size:calc(var(--fs) * 1.85)}
.rbd--compact .rbd-hd{display:block}
.rbd--compact .rbd-h{text-transform:uppercase;letter-spacing:.08em;color:var(--a);border-bottom:.7pt solid var(--a);padding-bottom:1pt;margin-bottom:3pt}
.rbd--compact .rbd-ul{margin-top:1.5pt}
.rbd--compact .rbd-ul li{margin-top:.8pt}

/* ------------------------------------------------------------------ 6. Elegant: centred serif, small caps, lined headings */
.rbd--elegant .rbd-hd{text-align:center}
.rbd--elegant .rbd-name{font-weight:400;font-size:calc(var(--fs) * 2.3);letter-spacing:.04em;color:var(--ink)}
.rbd--elegant .rbd-hl{font-style:italic;color:var(--a)}
.rbd--elegant .rbd-h{display:flex;align-items:center;gap:8pt;text-align:center;font-variant:small-caps;text-transform:lowercase;letter-spacing:.1em;font-size:calc(var(--fs) * 1.18);font-weight:700;color:var(--a)}
.rbd--elegant .rbd-h::before,.rbd--elegant .rbd-h::after{content:"";flex:1 1 auto;height:0;border-top:.6pt solid var(--al)}
.rbd--elegant .rbd-ul li::marker{content:"– ";color:var(--a)}

/* ------------------------------------------------------------------ 7. Sidebar: two columns (name, contact and skills on the left) */
.rbd--sidebar .rbd-cols{display:flex;align-items:stretch;min-height:100%}
.rbd--sidebar .rbd-side{flex:0 0 32%;background:var(--at);padding:13pt 11pt 13pt 12pt;border-radius:3pt}
.rbd--sidebar .rbd-main{flex:1 1 auto;min-width:0;padding:4pt 0 4pt 14pt}
.rbd--sidebar .rbd-side .rbd-name{font-size:calc(var(--fs) * 1.75);color:var(--a);line-height:1.12}
.rbd--sidebar .rbd-side .rbd-hl{font-size:calc(var(--fs) * .98);color:var(--ink);margin-top:4pt}
.rbd--sidebar .rbd-side .rbd-ct{margin-top:9pt;font-size:calc(var(--fs) * .9);color:var(--ink)}
.rbd--sidebar .rbd-side .rbd-ci{display:block;margin-top:2.5pt;overflow-wrap:anywhere}
.rbd--sidebar .rbd-side .rbd-ci+.rbd-ci::before{content:none}
.rbd--sidebar .rbd-side .rbd-sec{margin-top:calc(var(--sg) + 3pt)}
.rbd--sidebar .rbd-side .rbd-h{font-size:calc(var(--fs) * .95);text-transform:uppercase;letter-spacing:.1em;border-bottom:.7pt solid var(--al);padding-bottom:2pt}
.rbd--sidebar .rbd-side .rbd-skl li,.rbd--sidebar .rbd-side .rbd-ul li{margin-top:2pt;font-size:calc(var(--fs) * .95)}
.rbd--sidebar .rbd-side .rbd-skgt{font-weight:700;margin-top:5pt;font-size:calc(var(--fs) * .95)}
.rbd--sidebar .rbd-side .rbd-skgt:first-child{margin-top:0}
.rbd--sidebar .rbd-side .rbd-p{font-size:calc(var(--fs) * .95)}
.rbd--sidebar .rbd-main .rbd-sec:first-child{margin-top:0}
.rbd--sidebar .rbd-main .rbd-h{text-transform:uppercase;letter-spacing:.09em;font-size:calc(var(--fs) * 1.0);border-bottom:.6pt solid var(--al);padding-bottom:2pt}

/* ------------------------------------------------------------------ 8. Banner: coloured name band, single column */
.rbd--banner .rbd-hd{background:var(--a);color:#fff;padding:12pt 14pt 11pt;border-radius:3pt}
.rbd--banner .rbd-name{color:#fff;font-size:calc(var(--fs) * 2.1)}
.rbd--banner .rbd-hl{color:rgba(255,255,255,.88)}
.rbd--banner .rbd-ct{color:rgba(255,255,255,.92);margin-top:5pt}
.rbd--banner .rbd-ci+.rbd-ci::before{color:rgba(255,255,255,.55)}
.rbd--banner .rbd-h{color:var(--a);text-transform:uppercase;letter-spacing:.08em;font-size:calc(var(--fs) * 1.0);display:flex;align-items:center;gap:7pt}
.rbd--banner .rbd-h::after{content:"";flex:1 1 auto;border-top:.6pt solid var(--al)}

/* ------------------------------------------------------------------ print (PDF): the page margins come from @page, set per resume */
@media print{
  html,body{margin:0;padding:0;background:#fff}
  .rbd{width:auto}
}
