/* =====================================================================
   Resume Forge — resume page styles (26 templates)
   The page is always white paper; UI theme never leaks in.
   Sizes are in em so the "text size" setting scales everything.
   ===================================================================== */
.page{
  --ac:#16624f;--ac-soft:#e3efeb;--ac-light:#8fbfb2;--ac-deep:#0e4034;--ac-ink:#fff;
  --ink:#1b1f24;--muted:#555c66;--rule:#dde1e6;--chip-bg:var(--ac-soft);--chip-fg:var(--ac-deep);
  --scale:1;--sp:1;--base:13px;--pw:794px;--ph:1123px;--ph-print:284mm;
  --f-body:"IBM Plex Sans",Helvetica,Arial,sans-serif;--f-head:var(--f-body);
  width:var(--pw);min-height:var(--ph);background:#fff;color:var(--ink);
  font-family:var(--f-body);font-size:calc(var(--base) * var(--scale));line-height:1.5;
  position:relative;text-align:left;overflow-wrap:break-word;
  -webkit-print-color-adjust:exact;print-color-adjust:exact;-webkit-font-smoothing:antialiased;
  padding:3em 3.4em;box-sizing:border-box;
}
.page.paper-letter{--pw:816px;--ph:1056px;--ph-print:266mm}
.page.sz-s{--scale:.92}.page.sz-l{--scale:1.08}
.page.sp-compact{--sp:.72}.page.sp-airy{--sp:1.3}
.page *{box-sizing:border-box;margin:0;padding:0}
.page ul{list-style:none}
.page h1,.page h2,.page h3{font-size:inherit;font-weight:inherit;line-height:inherit}
.page img{display:block;max-width:none}

.r-head{margin-bottom:calc(1.3em * var(--sp))}
.r-name{font-family:var(--f-head);font-size:2.4em;font-weight:700;line-height:1.05;letter-spacing:-.01em;color:var(--ink)}
.r-title{font-size:1.08em;font-weight:600;color:var(--ac);margin-top:.35em}
.r-contact{display:flex;flex-wrap:wrap;gap:.3em 1.2em;font-size:.88em;color:var(--muted);margin-top:.85em}
.r-ci{display:inline-flex;align-items:center;gap:.45em;min-width:0}
.r-ci svg{width:1.05em;height:1.05em;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.85}
.r-ci span{min-width:0;overflow-wrap:anywhere}
.r-photo{width:110px;height:110px;flex:none;overflow:hidden;border-radius:50%;background:var(--ac-soft)}
.r-photo--square{border-radius:10px}
.r-photo--tall{border-radius:6px;height:136px}
.r-photo img{width:100%;height:100%;object-fit:cover}
.r-mono{display:none}

.r-sec{margin-top:calc(1.35em * var(--sp))}
.r-body>.r-sec:first-child,.r-col-main>.r-sec:first-child,.r-col-side>.r-sec:first-child,.r-main>.r-sec:first-child{margin-top:0}
.r-sec-h{font-family:var(--f-head);font-size:.92em;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--ac);margin-bottom:calc(.65em * var(--sp));break-after:avoid}
.r-items{display:grid;gap:calc(.95em * var(--sp))}
.r-item{break-inside:avoid}
.r-item-h{display:flex;justify-content:space-between;align-items:baseline;gap:1em}
.r-item-t{min-width:0}
.r-role{font-weight:700;font-size:1.04em;color:var(--ink)}
.r-org{color:var(--muted);display:flex;flex-wrap:wrap;gap:0 .45em}
.r-sep::before{content:"·";margin-right:.45em;opacity:.7}
.r-date{white-space:nowrap;font-size:.88em;color:var(--muted);font-variant-numeric:tabular-nums;flex:none}
.r-bul{list-style:disc!important;padding-left:1.15em!important;margin-top:.35em!important;display:grid;gap:.22em}
.r-bul li{padding-left:.15em}
.r-bul li::marker{color:var(--ac)}
.r-note{margin-top:.2em!important;color:var(--muted)}
.r-plink{font-size:.86em;color:var(--ac);flex:none;max-width:45%;text-align:right;overflow-wrap:anywhere}
.r-text{max-width:70em}
.r-skills{display:flex;flex-wrap:wrap;gap:.38em .42em}
.r-skills li{background:var(--chip-bg);color:var(--chip-fg);padding:.14em .62em;border-radius:4px;font-size:.92em;font-weight:500}
.r-list{display:grid;gap:.28em}
.r-list--custom{list-style:disc!important;padding-left:1.15em!important}
.r-list--custom li::marker{color:var(--ac)}
.r-dl{display:grid;gap:.3em}
.r-dl div{display:flex;gap:.8em}
.r-dl dt{font-weight:600;min-width:8.5em;color:var(--ink)}
.r-dl dd{color:var(--muted)}

/* layouts */
.l-sidebar{display:grid;grid-template-columns:var(--sw,250px) 1fr;padding:0}
.l-sidebar.side-right{grid-template-columns:1fr var(--sw,250px)}
.l-sidebar.side-right .r-side{order:2}
.r-side{padding:2.8em 1.8em;display:flex;flex-direction:column;gap:calc(1.4em * var(--sp))}
.r-side .r-sec{margin:0}
.r-side .r-head{margin:0}
.r-main{padding:2.8em 2.6em}
.r-side .r-contact{display:grid;gap:.5em;margin:0}
.r-side .r-item-h,.r-col-side .r-item-h{flex-direction:column;gap:0}
.r-side .r-dl div,.r-col-side .r-dl div{flex-direction:column;gap:0}
.r-side .r-dl dt,.r-col-side .r-dl dt{min-width:0}
.r-cols{display:grid;grid-template-columns:1fr var(--sw,210px);gap:2.2em}
.side-left .r-cols{grid-template-columns:var(--sw,210px) 1fr}
.side-left .r-cols .r-col-side{order:-1}

/* ============================ 1 MODERN ============================ */
.t-modern{--f-body:"Manrope","Segoe UI",sans-serif;--f-head:var(--f-body);--sw:252px}
.t-modern .r-side{background:var(--ac);color:var(--ac-ink);--ink:var(--ac-ink);--muted:currentColor;--chip-bg:rgba(255,255,255,.16);--chip-fg:var(--ac-ink);padding:3em 1.7em 3em 2.1em}
.t-modern .r-photo{width:124px;height:124px;box-shadow:0 0 0 5px rgba(255,255,255,.22)}
.t-modern .r-name{font-size:2.15em;font-weight:800;color:inherit}
.t-modern .r-title{color:inherit;opacity:.85;text-transform:uppercase;letter-spacing:.09em;font-size:.86em;margin-top:.7em}
.t-modern .r-side .r-sec-h{color:inherit;opacity:.72;font-size:.76em;letter-spacing:.2em}
.t-modern .r-side .r-contact,.t-modern .r-side .r-list{font-size:.88em}
.t-modern .r-side .r-bul li::marker{color:inherit}
.t-modern .r-main{padding:3em 2.6em 3em 2.3em}
.t-modern .r-main .r-sec-h{font-weight:800;font-size:.98em;display:flex;align-items:center;gap:.8em}
.t-modern .r-main .r-sec-h::after{content:"";flex:1;height:2px;background:var(--ac);opacity:.18}
.t-modern .r-main .r-co{color:var(--ac);font-weight:600}

/* ============================ 2 TIMELINE ============================ */
.t-timeline{--f-body:"Manrope","Segoe UI",sans-serif;--f-head:var(--f-body);padding:3.4em 3.8em}
.t-timeline .r-head{padding-bottom:1.3em;border-bottom:2.5px solid var(--ink)}
.t-timeline .r-hd{display:grid;grid-template-columns:1fr auto;column-gap:2em;align-items:end}
.t-timeline .r-name{font-size:2.8em;font-weight:800;letter-spacing:-.03em;line-height:1}
.t-timeline .r-title{grid-column:1;font-weight:700;margin-top:.5em}
.t-timeline .r-contact{grid-column:2;grid-row:1/3;display:grid;gap:.15em;justify-items:end;margin:0;font-size:.86em}
.t-timeline .r-ci{flex-direction:row-reverse}
.t-timeline .r-sec-h{font-size:.82em;font-weight:800;letter-spacing:.22em;margin-bottom:.95em}
.t-timeline .r-sec--experience .r-items,.t-timeline .r-sec--education .r-items{gap:0}
.t-timeline .r-sec--experience .r-item,.t-timeline .r-sec--education .r-item{position:relative;padding:0 0 1.15em 1.7em;margin-left:.45em;border-left:2px solid var(--rule)}
.t-timeline .r-sec--experience .r-item:last-child,.t-timeline .r-sec--education .r-item:last-child{border-left-color:transparent;padding-bottom:.1em}
.t-timeline .r-sec--experience .r-item::before,.t-timeline .r-sec--education .r-item::before{content:"";position:absolute;left:-.6em;top:.2em;width:1.05em;height:1.05em;border-radius:50%;background:#fff;border:3.5px solid var(--ac)}
.t-timeline .r-role{font-weight:800}
.t-timeline .r-co{color:var(--ac);font-weight:600}
.t-timeline .r-skills li{--chip-bg:#f0f2f4;--chip-fg:var(--ink);font-weight:600;border-radius:5px}

/* ============================ 3 ELEGANT ============================ */
.t-elegant{--f-head:"EB Garamond",Georgia,serif;--sw:205px;padding:3.6em 3.9em}
.t-elegant .r-head{padding-bottom:1.4em;border-bottom:1px solid var(--ink);margin-bottom:.4em}
.t-elegant .r-name{font-size:3.5em;font-weight:500;letter-spacing:0;line-height:.95}
.t-elegant .r-title{font-size:.84em;letter-spacing:.32em;text-transform:uppercase;margin-top:.8em}
.t-elegant .r-ci svg{display:none}
.t-elegant .r-cols{gap:2.4em}
.t-elegant .r-col-side{border-left:1px solid var(--rule);padding-left:1.7em}
.t-elegant .r-col-main>.r-sec:first-child,.t-elegant .r-col-side>.r-sec:first-child{margin-top:1.3em}
.t-elegant .r-sec-h{font-size:1.55em;font-weight:600;font-style:italic;text-transform:none;letter-spacing:0}
.t-elegant .r-role{font-weight:600}
.t-elegant .r-col-side .r-skills{display:grid;gap:.3em}
.t-elegant .r-col-side .r-skills li{background:none;color:var(--ink);padding:0 0 .3em;border-bottom:1px dotted #cfd4d9;border-radius:0;font-weight:400}

/* ============================ 4 CLASSIC ============================ */
.t-classic{--f-body:"EB Garamond",Georgia,serif;--f-head:var(--f-body);--base:14px;padding:2.9em 4em 3.4em}
.t-classic .r-head{text-align:center;padding-bottom:.9em;border-bottom:1.5px solid var(--ink)}
.t-classic .r-name{font-size:2.5em;font-weight:600;letter-spacing:.03em}
.t-classic .r-title{font-style:italic;font-weight:400;font-size:1.15em}
.t-classic .r-contact{justify-content:center;gap:.2em 1.1em;color:#3b4148}
.t-classic .r-ci svg{display:none}
.t-classic .r-sec-h{font-size:.92em;letter-spacing:.2em;border-bottom:1px solid #c7ccd2;padding-bottom:.2em}
.t-classic .r-role{font-size:1.08em}
.t-classic .r-org{font-style:italic}
.t-classic .r-skills{gap:0}
.t-classic .r-skills li{background:none;color:var(--ink);padding:0;font-size:1em;font-weight:400;border-radius:0}
.t-classic .r-skills li:not(:last-child)::after{content:"·";margin:0 .55em;color:#9aa1a8}

/* ============================ 5 HARVARD ============================ */
.t-harvard{--f-body:"Source Serif 4","Times New Roman",Times,serif;--f-head:var(--f-body);--ac:#111!important;--base:13.4px;padding:2.8em 3.5em 3.2em}
.t-harvard .r-head{text-align:center}
.t-harvard .r-name{font-size:1.9em;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.t-harvard .r-title{color:var(--ink);font-weight:400;font-style:italic}
.t-harvard .r-contact{justify-content:center;gap:0;color:var(--ink);margin-top:.4em}
.t-harvard .r-ci svg{display:none}
.t-harvard .r-ci:not(:last-child)::after{content:"|";margin:0 .6em;color:#777}
.t-harvard .r-sec-h{color:var(--ink);font-size:1em;letter-spacing:.05em;border-bottom:1px solid var(--ink);padding-bottom:.1em}
.t-harvard .r-bul li::marker{color:var(--ink)}
.t-harvard .r-org{font-style:italic;color:var(--ink)}
.t-harvard .r-date{color:var(--ink)}
.t-harvard .r-skills{gap:0}
.t-harvard .r-skills li{background:none;color:var(--ink);padding:0;border-radius:0;font-size:1em;font-weight:400}
.t-harvard .r-skills li:not(:last-child)::after{content:",";margin-right:.35em}
.t-harvard .r-plink{color:var(--ink)}

/* ============================ 6 MINIMAL ============================ */
.t-minimal{padding:3.8em 4em}
.t-minimal .r-head{margin-bottom:1.9em}
.t-minimal .r-name{font-weight:300;font-size:2.8em;letter-spacing:-.02em}
.t-minimal .r-title{font-weight:500}
.t-minimal .r-contact{gap:.2em 1.4em;font-size:.84em}
.t-minimal .r-sec,.t-minimal .r-body>.r-sec:first-child{display:grid;grid-template-columns:9.2em 1fr;gap:1.3em;border-top:1px solid var(--rule);padding-top:1em;margin-top:calc(1em * var(--sp))}
.t-minimal .r-sec-h{font-size:.74em;color:var(--muted);font-weight:600;letter-spacing:.18em;margin:.3em 0 0}
.t-minimal .r-role{font-weight:600}
.t-minimal .r-skills{gap:.2em 1.1em}
.t-minimal .r-skills li{background:none;color:var(--ink);padding:0;font-weight:400}

/* ============================ 7 EXECUTIVE ============================ */
.t-executive{--f-head:"Libre Baskerville",Georgia,serif;--base:12.6px;padding:0}
.t-executive .r-head{background:#f3f4f6;padding:2.9em 3.8em 1.8em;border-bottom:6px solid var(--ac);margin:0}
.t-executive .r-name{font-size:2.35em}
.t-executive .r-title{font-family:var(--f-head);font-style:italic;font-weight:400;margin-top:.6em}
.t-executive .r-body{padding:1.9em 3.8em 3.2em}
.t-executive .r-sec-h{text-transform:none;letter-spacing:0;font-size:1.12em;color:var(--ink);border-left:3px solid var(--ac);padding-left:.7em}
.t-executive .r-role{font-weight:600;font-size:1.08em}
.t-executive .r-skills{display:grid;grid-template-columns:repeat(3,1fr);gap:.3em 1.4em}
.t-executive .r-skills li{background:none;color:var(--ink);padding:0;font-weight:400;border-radius:0}
.t-executive .r-skills li::before{content:"";display:inline-block;width:.45em;height:.45em;background:var(--ac);margin-right:.6em;vertical-align:.12em}

/* ============================ 8 CREATIVE ============================ */
.t-creative{--f-head:"Bricolage Grotesque","Manrope",sans-serif;--f-body:"Manrope","Segoe UI",sans-serif;--base:12.6px;padding:0}
.t-creative .r-head{background:var(--ac);color:var(--ac-ink);--ink:var(--ac-ink);padding:2.9em 3.4em 2.4em;display:flex;align-items:center;gap:1.8em;position:relative;overflow:hidden;margin:0}
.t-creative .r-head::after{content:"";position:absolute;right:-70px;top:-80px;width:250px;height:250px;border-radius:50%;border:40px solid rgba(255,255,255,.09)}
.t-creative .r-hd{position:relative;z-index:1}
.t-creative .r-photo{width:112px;height:112px;box-shadow:0 0 0 5px rgba(255,255,255,.25);position:relative;z-index:1}
.t-creative .r-name{font-size:3.2em;font-weight:800;letter-spacing:-.035em;line-height:.95;color:inherit}
.t-creative .r-title{color:inherit;opacity:.92;font-size:1.15em}
.t-creative .r-contact{gap:.4em;color:inherit;margin-top:1.1em}
.t-creative .r-ci{background:rgba(255,255,255,.16);border-radius:99px;padding:.2em .8em;font-weight:600;font-size:.94em}
.t-creative .r-body{padding:2em 3.4em 3.2em}
.t-creative .r-sec-h{text-transform:none;letter-spacing:-.01em;font-size:1.5em;font-weight:800;color:var(--ink)}
.t-creative .r-sec-h span::first-letter{color:var(--ac)}
.t-creative .r-sec-h span{display:inline-block}
.t-creative .r-role{font-weight:800}
.t-creative .r-co{color:var(--ac);font-weight:700}
.t-creative .r-skills li{background:none;border:1.5px solid var(--ac);color:var(--ac);border-radius:99px;font-weight:700}

/* ============================ 9 TECH ============================ */
.t-tech{--f-mono:"IBM Plex Mono",Consolas,monospace;--base:12.6px;padding:3.2em 3.8em}
.t-tech .r-head{padding-bottom:1.2em;border-bottom:1px dashed #b5bcc4}
.t-tech .r-name{font-size:2.3em;font-weight:700}
.t-tech .r-title{font-family:var(--f-mono);font-weight:400;font-size:1em}
.t-tech .r-title::before{content:"> ";color:#8a9199}
.t-tech .r-contact{font-family:var(--f-mono);font-size:.84em;gap:.2em 1.5em}
.t-tech .r-sec-h{font-family:var(--f-mono);font-size:.98em;font-weight:600;text-transform:lowercase;letter-spacing:0}
.t-tech .r-sec-h::before{content:"## ";color:#9aa1a8}
.t-tech .r-date{font-family:var(--f-mono);font-size:.8em}
.t-tech .r-skills li{font-family:var(--f-mono);font-size:.86em;background:#f1f3f5;color:var(--ink);border:1px solid #dde1e5;font-weight:400}
.t-tech .r-bul{list-style:"– "!important}
.t-tech .r-bul li::marker{color:var(--ac);font-family:var(--f-mono)}

/* ============================ 10 AURORA ============================ */
.t-aurora{--f-body:"DM Sans",Helvetica,sans-serif;--f-head:var(--f-body);padding:1.5em}
.t-aurora .r-head{border-radius:20px;background:linear-gradient(135deg,var(--ac-soft) 0%,#fff 78%);border:1px solid var(--rule);padding:2em 2.3em;display:flex;align-items:center;gap:1.8em;margin-bottom:1.6em}
.t-aurora .r-photo{width:106px;height:106px;box-shadow:0 0 0 5px #fff,0 0 0 7px var(--ac)}
.t-aurora .r-name{font-size:2.6em;letter-spacing:-.025em}
.t-aurora .r-body{padding:0 1.9em 1.8em}
.t-aurora .r-sec-h{text-transform:none;letter-spacing:-.005em;font-size:1.28em;color:var(--ink);display:flex;align-items:center;gap:.55em}
.t-aurora .r-sec-h::before{content:"";width:.55em;height:.55em;border-radius:50%;background:var(--ac);box-shadow:0 0 0 .22em var(--ac-soft)}
.t-aurora .r-skills li{border-radius:99px;padding:.18em .75em}
.t-aurora .r-co{color:var(--ac);font-weight:600}

/* ============================ 11 SLATE ============================ */
.t-slate{--f-body:"Work Sans",Helvetica,sans-serif;--f-head:var(--f-body);--sw:238px}
.t-slate .r-side{background:#262b33;color:#e9ecef;--ink:#fff;--muted:rgba(255,255,255,.72);--rule:rgba(255,255,255,.15);--chip-bg:rgba(255,255,255,.1);--chip-fg:#fff;padding:2.6em 1.7em}
.t-slate .r-photo{width:100%;height:auto;aspect-ratio:1/1;border-radius:6px}
.t-slate .r-side .r-sec-h{color:var(--ac-light);font-size:.8em;letter-spacing:.2em}
.t-slate .r-side .r-contact{font-size:.86em}
.t-slate .r-side .r-list{font-size:.92em}
.t-slate .r-main{padding:2.8em 2.4em 2.8em 3em}
.t-slate .r-head{margin-bottom:1.8em}
.t-slate .r-name{font-size:2.7em;font-weight:600;letter-spacing:-.03em}
.t-slate .r-name::after{content:"";display:block;width:2.2em;height:.12em;background:var(--ac);margin-top:.28em}
.t-slate .r-title{color:var(--muted);font-weight:500;text-transform:uppercase;letter-spacing:.14em;font-size:.86em}
.t-slate .r-main .r-sec-h{color:var(--ink);letter-spacing:.16em}
.t-slate .r-main .r-sec-h span{border-bottom:2px solid var(--ac);padding-bottom:.25em}
.t-slate .r-main .r-sec-h{margin-bottom:1em}

/* ============================ 12 METRO ============================ */
.t-metro{--f-head:"Oswald","Arial Narrow",sans-serif;--f-body:"Karla",Helvetica,sans-serif;padding:3em 3.4em}
.t-metro .r-head{border-left:.75em solid var(--ac);padding-left:1.1em}
.t-metro .r-name{font-size:3.1em;font-weight:600;text-transform:uppercase;letter-spacing:.015em;line-height:1}
.t-metro .r-title{font-family:var(--f-head);text-transform:uppercase;letter-spacing:.16em;color:var(--muted);font-weight:400}
.t-metro .r-sec-h{border-bottom:2px solid var(--ac);letter-spacing:.15em;font-weight:500;font-size:.95em}
.t-metro .r-sec-h span{display:inline-block;background:var(--ac);color:var(--ac-ink);padding:.25em .85em .15em}
.t-metro .r-role{font-family:var(--f-head);text-transform:uppercase;letter-spacing:.04em;font-weight:500;font-size:1.12em}
.t-metro .r-skills li{border-radius:0;font-weight:600}

/* ============================ 13 NORDIC ============================ */
.t-nordic{--f-body:"DM Sans",Helvetica,sans-serif;--f-head:var(--f-body);--base:12.8px;--muted:#6b7280;padding:4.2em 4.6em}
.t-nordic .r-head{margin-bottom:2.2em}
.t-nordic .r-name{font-weight:500;font-size:2.5em;letter-spacing:-.03em}
.t-nordic .r-title{color:var(--muted);font-weight:400;font-size:1.15em}
.t-nordic .r-ci svg{color:var(--ac)}
.t-nordic .r-sec{margin-top:calc(1.9em * var(--sp))}
.t-nordic .r-sec-h{text-transform:none;letter-spacing:0;font-size:1.05em;color:var(--ink);font-weight:500;margin-bottom:1em}
.t-nordic .r-sec-h span{display:inline-block;padding-bottom:.35em;background:linear-gradient(var(--ac),var(--ac)) left bottom/1.6em 2px no-repeat}
.t-nordic .r-role{font-weight:500}
.t-nordic .r-bul{list-style:"—  "!important}
.t-nordic .r-bul li::marker{color:#b3b9c0}
.t-nordic .r-skills li{background:none;color:var(--ink);border:1px solid var(--rule);border-radius:99px;font-weight:400;padding:.15em .8em}

/* ============================ 14 BANNER ============================ */
.t-banner{--f-body:"Poppins",Helvetica,sans-serif;--f-head:var(--f-body);--base:12.2px;padding:0}
.t-banner .r-head{background:var(--ac-deep);color:#fff;--ink:#fff;--muted:rgba(255,255,255,.82);padding:2.3em 3.2em;display:flex;align-items:center;gap:1.9em;margin:0}
.t-banner .r-photo{width:114px;height:136px;border-radius:8px;box-shadow:0 0 0 3px rgba(255,255,255,.9)}
.t-banner .r-name{font-size:2.35em;font-weight:600}
.t-banner .r-title{color:var(--ac-light);font-weight:500}
.t-banner .r-ci svg{color:var(--ac-light)}
.t-banner .r-body{padding:2em 3.2em 3em}
.t-banner .r-sec-h{font-weight:600;display:flex;align-items:center;gap:.7em}
.t-banner .r-sec-h::after{content:"";flex:1;height:1px;background:var(--rule)}
.t-banner .r-co{color:var(--ac);font-weight:500}

/* ============================ 15 COMPACT ============================ */
.t-compact{--base:11.6px;--sw:190px;padding:2.3em 2.5em}
.t-compact .r-head{border-bottom:2px solid var(--ac);padding-bottom:.9em;margin-bottom:1.1em}
.t-compact .r-hd{display:grid;grid-template-columns:1fr auto;column-gap:2em;align-items:end}
.t-compact .r-name{font-size:2.05em}
.t-compact .r-title{grid-column:1}
.t-compact .r-contact{grid-column:2;grid-row:1/3;display:grid;gap:.1em;justify-items:end;margin:0;font-size:.9em}
.t-compact .r-ci{flex-direction:row-reverse}
.t-compact .r-cols{gap:1.6em}
.t-compact .r-col-side{background:var(--ac-soft);padding:1.1em 1.1em 1.3em;border-radius:6px;align-self:start}
.t-compact .r-sec{margin-top:calc(1.05em * var(--sp))}
.t-compact .r-sec-h{font-size:.84em;margin-bottom:.5em}
.t-compact .r-items{gap:.7em}
.t-compact .r-bul{gap:.1em}
.t-compact .r-col-side .r-skills li{background:#fff}

/* ============================ 16 MAGAZINE ============================ */
.t-magazine{--f-head:"Playfair Display",Georgia,serif;--f-body:"Source Serif 4",Georgia,serif;--sw:200px;--base:12.8px;padding:2.8em 3.4em}
.t-magazine .r-head{border-top:9px solid #111;border-bottom:1px solid #111;padding:1em 0 1.2em;margin-bottom:1.6em}
.t-magazine .r-name{font-size:3.7em;font-weight:800;letter-spacing:-.02em;line-height:.95}
.t-magazine .r-title{font-family:var(--f-head);font-style:italic;font-weight:400;font-size:1.35em;margin-top:.25em}
.t-magazine .r-contact{font-family:"IBM Plex Sans",Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.1em;font-size:.7em;color:var(--ink)}
.t-magazine .r-ci svg{display:none}
.t-magazine .r-cols{gap:1.9em}
.t-magazine .r-col-side{border-left:1px solid #111;padding-left:1.5em}
.t-magazine .r-sec-h{font-family:var(--f-head);text-transform:none;letter-spacing:0;font-size:1.55em;font-weight:700;font-style:italic;color:#111;margin-bottom:.4em}
.t-magazine .r-sec--summary .r-text::first-letter{float:left;font-family:var(--f-head);font-size:3.3em;line-height:.8;padding:.06em .1em 0 0;color:var(--ac);font-weight:800}
.t-magazine .r-role{font-family:var(--f-head);font-size:1.12em}
.t-magazine .r-col-side .r-skills{display:grid;gap:.25em}
.t-magazine .r-col-side .r-skills li{background:none;color:var(--ink);padding:0;font-weight:400}
.t-magazine .r-col-side .r-skills li::before{content:"— ";color:var(--ac)}

/* ============================ 17 HORIZON ============================ */
.t-horizon{--f-body:"Poppins",Helvetica,sans-serif;--f-head:var(--f-body);--base:12.1px;padding:2.8em 3.2em}
.t-horizon .r-head{display:flex;flex-direction:row-reverse;justify-content:space-between;align-items:flex-start;gap:2em;padding-bottom:1.3em;border-bottom:4px double var(--ac)}
.t-horizon .r-photo{width:112px;height:138px;border-radius:4px;border:1px solid var(--rule)}
.t-horizon .r-name{font-size:2.3em;font-weight:700;color:var(--ac-deep)}
.t-horizon .r-contact{display:grid;gap:.3em}
.t-horizon .r-ci svg{color:var(--ac)}
.t-horizon .r-sec-h{background:var(--ac-soft);color:var(--ac-deep);padding:.38em .85em;border-radius:3px;font-weight:600}
.t-horizon .r-dl{grid-template-columns:1fr 1fr;column-gap:2em}
.t-horizon .r-dl dt{min-width:9em}

/* ============================ 18 BOLD ============================ */
.t-bold{--f-head:"Bricolage Grotesque","Manrope",sans-serif;--f-body:"Manrope","Segoe UI",sans-serif;padding:3.1em 3.5em}
.t-bold .r-name{font-size:3.7em;font-weight:800;letter-spacing:-.045em;line-height:.88;text-transform:uppercase}
.t-bold .r-name::after{content:".";color:var(--ac)}
.t-bold .r-title{display:inline-block;background:var(--ink);color:#fff;padding:.25em .7em;margin-top:.9em;text-transform:uppercase;letter-spacing:.12em;font-size:.82em}
.t-bold .r-sec-h{border-left:.45em solid var(--ac);padding-left:.6em;color:var(--ink);font-size:1.12em;letter-spacing:.07em;font-weight:800;line-height:1.1}
.t-bold .r-role{font-size:1.12em;font-weight:800}
.t-bold .r-skills li{background:var(--ink);color:#fff;border-radius:0;font-weight:600}
.t-bold .r-bul li::marker{color:var(--ink)}

/* ============================ 19 PASTEL ============================ */
.t-pastel{--f-body:"DM Sans",Helvetica,sans-serif;--f-head:var(--f-body);--sw:248px}
.t-pastel .r-side{background:var(--ac-soft);--chip-bg:#fff;padding:3em 1.8em;align-items:stretch}
.t-pastel .r-photo{width:134px;height:134px;margin:0 auto;box-shadow:0 0 0 6px #fff}
.t-pastel .r-head{text-align:center}
.t-pastel .r-name{font-size:2.05em;color:var(--ac-deep)}
.t-pastel .r-title{color:var(--ac)}
.t-pastel .r-side .r-sec-h{color:var(--ac-deep);letter-spacing:.16em;font-size:.8em}
.t-pastel .r-main{padding:3em 2.6em}
.t-pastel .r-main .r-sec-h{text-transform:none;letter-spacing:0;font-size:1.3em;color:var(--ac-deep);display:flex;align-items:center;gap:.5em}
.t-pastel .r-main .r-sec-h::before{content:"";width:1.1em;height:.38em;border-radius:99px;background:var(--ac)}

/* ============================ 20 SCHOLAR ============================ */
.t-scholar{--f-body:"Lora",Georgia,serif;--f-head:var(--f-body);--base:12.8px;padding:3.2em 3.9em}
.t-scholar .r-head{border-bottom:1px solid var(--ink);padding-bottom:1em}
.t-scholar .r-name{font-size:2.2em;font-weight:600}
.t-scholar .r-title{font-style:italic;font-weight:400;color:var(--muted)}
.t-scholar .r-ci svg{display:none}
.t-scholar .r-sec-h{font-variant:small-caps;text-transform:lowercase;letter-spacing:.06em;font-size:1.3em;font-weight:600;display:flex;align-items:center;gap:.6em}
.t-scholar .r-sec-h::after{content:"";flex:1;height:1px;background:var(--rule)}
.t-scholar .r-role{font-weight:600}
.t-scholar .r-org{font-style:italic}
.t-scholar .r-skills li{background:none;color:var(--ink);padding:0;font-weight:400}
.t-scholar .r-skills li:not(:last-child)::after{content:";"}

/* ============================ 21 STARTUP ============================ */
.t-startup{--f-body:"Manrope","Segoe UI",sans-serif;--f-head:var(--f-body);background:#f3f4f7;padding:2.2em}
.t-startup .r-head{background:#fff;border-radius:14px;padding:1.7em 2em;display:flex;align-items:center;gap:1.4em;border-top:5px solid var(--ac);margin-bottom:.9em}
.t-startup .r-photo{width:86px;height:86px;border-radius:16px}
.t-startup .r-name{font-size:2.2em;font-weight:800;letter-spacing:-.03em}
.t-startup .r-sec,.t-startup .r-body>.r-sec:first-child{background:#fff;border-radius:14px;padding:1.3em 1.7em 1.4em;margin-top:calc(.8em * var(--sp))}
.t-startup .r-body>.r-sec:first-child{margin-top:0}
.t-startup .r-sec-h{text-transform:none;letter-spacing:-.01em;font-size:1.12em;color:var(--ink);font-weight:800;display:flex;align-items:center;gap:.55em}
.t-startup .r-sec-h::before{content:"";width:.8em;height:.8em;border-radius:.25em;background:var(--ac)}
.t-startup .r-skills li{border-radius:99px;font-weight:600;padding:.2em .8em}
.t-startup .r-co{color:var(--ac);font-weight:700}

/* ============================ 22 RIBBON ============================ */
.t-ribbon{--f-body:"Poppins",Helvetica,sans-serif;--f-head:var(--f-body);--base:12.2px;padding:3em 3.3em 3em 0}
.t-ribbon .r-head,.t-ribbon .r-body{padding-left:3.3em}
.t-ribbon .r-name{font-size:2.6em;font-weight:700}
.t-ribbon .r-ci svg{color:var(--ac)}
.t-ribbon .r-sec-h{margin-left:-3.3em;letter-spacing:.1em;font-weight:600}
.t-ribbon .r-sec-h span{display:inline-block;background:var(--ac);color:var(--ac-ink);padding:.4em 1.4em .4em 3.3em;border-radius:0 99px 99px 0}
.t-ribbon .r-co{color:var(--ac);font-weight:500}

/* ============================ 23 MONOGRAM ============================ */
.t-monogram{--f-head:"Cormorant Garamond",Georgia,serif;--f-body:"Karla",Helvetica,sans-serif;padding:3em 3.9em}
.t-monogram .r-head{text-align:center;padding-bottom:1.4em;border-bottom:1px solid var(--rule)}
.t-monogram .r-mono{display:grid;place-items:center;width:4.4em;height:4.4em;margin:0 auto .9em;border:1.5px solid var(--ac);border-radius:50%;font-family:var(--f-head);font-size:1.25em;color:var(--ac);letter-spacing:.05em;font-weight:600}
.t-monogram .r-name{font-size:2.7em;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.t-monogram .r-title{color:var(--muted);letter-spacing:.32em;text-transform:uppercase;font-size:.78em;font-weight:600;margin-top:.8em}
.t-monogram .r-contact{justify-content:center}
.t-monogram .r-ci svg{color:var(--ac)}
.t-monogram .r-sec-h{text-align:center;font-family:var(--f-head);text-transform:none;letter-spacing:.02em;font-size:1.65em;font-weight:600;font-style:italic;color:var(--ink)}
.t-monogram .r-sec-h span::before,.t-monogram .r-sec-h span::after{content:"";display:inline-block;width:1.4em;height:1px;background:var(--ac);vertical-align:.3em;margin:0 .5em}
.t-monogram .r-skills{justify-content:center}
.t-monogram .r-sec--summary .r-text{text-align:center;max-width:48em;margin:0 auto}

/* ============================ 24 SWISS ============================ */
.t-swiss{--f-head:"Archivo",Helvetica,sans-serif;--f-body:"Archivo",Helvetica,sans-serif;padding:3em 3.4em}
.t-swiss .r-head{margin-bottom:1.6em}
.t-swiss .r-name{font-size:3.9em;font-weight:800;letter-spacing:-.05em;line-height:.88}
.t-swiss .r-title{font-size:1.25em;font-weight:600;margin-top:.45em}
.t-swiss .r-contact{display:grid;grid-template-columns:repeat(2,max-content);gap:.15em 2em}
.t-swiss .r-ci svg{display:none}
.t-swiss .r-sec,.t-swiss .r-body>.r-sec:first-child{display:grid;grid-template-columns:10.5em 1fr;gap:1.5em;border-top:3px solid var(--ink);padding-top:.75em;margin-top:calc(1.2em * var(--sp))}
.t-swiss .r-sec-h{font-size:1em;letter-spacing:0;text-transform:none;color:var(--ink);font-weight:800}
.t-swiss .r-sec-h span::after{content:" /";color:var(--ac)}
.t-swiss .r-skills li{background:none;color:var(--ink);padding:0;font-weight:600;font-size:1em}
.t-swiss .r-skills{gap:.2em 1.2em}

/* ============================ 25 FRESHER ============================ */
.t-fresher{--f-body:"Poppins",Helvetica,sans-serif;--f-head:var(--f-body);--base:12.2px;padding:0}
.t-fresher .r-head{background:linear-gradient(90deg,var(--ac-soft),#fff 85%);border-bottom:1px solid var(--rule);padding:2.4em 3.2em 1.9em;display:flex;align-items:center;gap:1.5em;margin:0}
.t-fresher .r-photo{width:96px;height:96px;box-shadow:0 0 0 4px #fff}
.t-fresher .r-name{font-size:2.3em;font-weight:700;color:var(--ac-deep)}
.t-fresher .r-body{padding:1.8em 3.2em 3em}
.t-fresher .r-sec-h{display:flex;align-items:center;gap:.65em;color:var(--ac-deep);text-transform:none;letter-spacing:0;font-size:1.15em;font-weight:600}
.t-fresher .r-sec-h::before{content:"";width:.55em;height:.55em;background:var(--ac);transform:rotate(45deg)}
.t-fresher .r-skills li{border-radius:99px}

/* ============================ 26 CORPORATE ============================ */
.t-corporate{--f-head:"Work Sans",Helvetica,sans-serif;--sw:215px;padding:0}
.t-corporate .r-head{border-top:10px solid var(--ac-deep);padding:2.3em 3em 1.2em;margin:0}
.t-corporate .r-name{font-size:2.3em;font-weight:700;color:var(--ac-deep);letter-spacing:-.02em}
.t-corporate .r-title{color:var(--ink);font-weight:500}
.t-corporate .r-ci svg{color:var(--ac)}
.t-corporate .r-cols{padding:1em 3em 3em}
.t-corporate .r-col-side{background:#f2f4f7;padding:1.3em 1.3em 1.5em;border-radius:4px;align-self:start}
.t-corporate .r-sec-h{color:var(--ac-deep);border-bottom:1px solid var(--rule);padding-bottom:.35em}
.t-corporate .r-col-side .r-skills li{background:#fff;color:var(--ink)}

/* ====================== print ====================== */
#print-root{display:none}
@media print{
  html.printing,html.printing body{background:#fff!important;margin:0!important;padding:0!important}
  html.printing body>*:not(#print-root){display:none!important}
  html.printing #print-root{display:block!important}
  #print-root .page{box-shadow:none!important;border-radius:0!important;min-height:var(--ph-print);margin:0!important}
}
