/* Shared studio family: header + aside + main, content-sized, paginates with existing overflow. */
.cv-template-studio {
    display: grid;
    grid-template-columns: minmax(0, var(--studio-aside, 36%)) minmax(0, 1fr);
    align-content: start;
    align-items: start;
    column-gap: 0;
    padding: 0;
    overflow: hidden;
    color: var(--studio-text, #222);
    background: var(--studio-page, #fff);
    font-family: Arial, Helvetica, sans-serif;
}
.cv-template-studio > header,
.cv-template-studio > .studio-mast,
.cv-template-studio > footer,
.cv-template-studio > .studio-contacts,
.cv-template-studio > .lime-edu-wrap,
.cv-template-studio > .lime-top,
.cv-template-studio > .lime-refs-box,
.cv-template-studio > .lime-socials-end,
.cv-template-studio > .rose-top,
.cv-template-studio > .rose-band,
.cv-template-studio > .rose-socials-end,
.cv-template-studio > .slate-intro,
.cv-template-studio > .slate-summary,
.cv-template-studio > .ice-summary,
.cv-template-studio > .ink-summary,
.cv-template-studio > .fresh-footer,
.cv-template-studio > .neo-footer,
.cv-template-studio > .gold-footer,
.cv-template-studio > .navy-footer,
.cv-template-studio > .arcade-footer,
.cv-template-studio > .pro-footer {
    grid-column: 1 / -1;
}
.cv-template-studio > aside,
.cv-template-studio > main {
    min-width: 0;
    padding: 5mm 7mm 8mm;
}
.cv-template-studio h1,
.cv-template-studio h2,
.cv-template-studio h3 { margin: 0; font-weight: 800; }
.cv-template-studio h2 {
    margin: 0 0 3mm;
    color: var(--studio-accent, #1d4ed8);
    font-size: 10pt;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.cv-template-studio .studio-block { margin: 0 0 5mm; }
.cv-template-studio .studio-block:last-child { margin-bottom: 0; }
.cv-template-studio .studio-job,
.cv-template-studio .studio-edu,
.cv-template-studio .studio-award,
.cv-template-studio .studio-cert,
.cv-template-studio .studio-ref { margin: 0 0 4mm; }
.cv-template-studio .studio-job:last-child,
.cv-template-studio .studio-edu:last-child { margin-bottom: 0; }
.cv-template-studio time { display: block; color: var(--studio-accent, #1d4ed8); font-weight: 700; font-size: 8.5pt; }
.cv-template-studio h3 { font-size: 9.5pt; }
.cv-template-studio span,
.cv-template-studio em { color: #555; font-size: 8pt; }
.cv-template-studio .cv-rich-text,
.cv-template-studio p { font-size: 8.5pt; line-height: 1.4; }
.cv-template-studio .studio-photo .cv-photo,
.cv-template-studio .studio-photo .cv-initials {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center center;
}
.cv-template-studio .studio-contacts {
    display: flex;
    flex-wrap: wrap;
    gap: 2mm 5mm;
}
.cv-template-studio .studio-contacts span { display: flex; gap: 2mm; align-items: center; }
.cv-template-studio .studio-bar { display: grid; gap: 1mm; margin: 0 0 3mm; }
.cv-template-studio .studio-bar-track {
    display: block;
    height: 2.2mm;
    overflow: hidden;
    background: var(--studio-track, #d9dee8);
    border-radius: 99px;
}
.cv-template-studio .studio-bar-track > span {
    display: block;
    height: 100%;
    background: var(--studio-accent, #1d4ed8);
    border-radius: 99px;
}
.cv-template-studio .studio-bar.pct { grid-template-columns: 1fr auto; align-items: center; }
.cv-template-studio .studio-bar.pct .studio-bar-track { grid-column: 1 / -1; }
.cv-template-studio .studio-dots,
.cv-template-studio .studio-segs { display: grid; grid-template-columns: 1fr auto; gap: 1.5mm; align-items: center; margin: 0 0 2.5mm; }
.cv-template-studio .studio-dots b,
.cv-template-studio .studio-segs b { display: flex; gap: 1mm; }
.cv-template-studio .studio-dot,
.cv-template-studio .studio-seg {
    display: inline-block;
    width: 2.4mm;
    height: 2.4mm;
    border: 1px solid var(--studio-accent, #1d4ed8);
    border-radius: 50%;
    background: transparent;
}
.cv-template-studio .studio-seg { width: 1.6mm; height: 3.2mm; border-radius: 1px; }
.cv-template-studio .studio-dot.is-on,
.cv-template-studio .studio-seg.is-on { background: var(--studio-accent, #1d4ed8); }
.cv-template-studio .studio-rings { display: grid; grid-template-columns: repeat(auto-fill, minmax(28mm, 1fr)); gap: 4mm; }
.cv-template-studio .studio-ring {
    --p: 70;
    display: grid;
    place-items: center;
    width: 28mm;
    height: 28mm;
    margin: 0 auto;
    background: radial-gradient(var(--studio-page, #fff) 54%, transparent 55%),
        conic-gradient(var(--studio-accent, #1d4ed8) calc(var(--p) * 1%), var(--studio-track, #d9dee8) 0);
    border-radius: 50%;
    text-align: center;
}
.cv-template-studio .studio-ring > div { font-size: 8pt; font-weight: 800; }
.cv-template-studio .studio-hobbies { display: flex; flex-wrap: wrap; gap: 4mm; }
.cv-template-studio .studio-hobby { display: grid; justify-items: center; gap: 1.5mm; width: 18mm; text-align: center; }
.cv-template-studio .studio-hobby b {
    display: grid;
    width: 11mm;
    height: 11mm;
    place-items: center;
    color: #fff;
    background: var(--studio-accent, #1d4ed8);
    border-radius: 50%;
}
.cv-template-studio .studio-refs { display: grid; grid-template-columns: repeat(auto-fit, minmax(42mm, 1fr)); gap: 4mm; }
.cv-template-studio .studio-socials { display: flex; flex-wrap: wrap; gap: 3mm 6mm; }
.cv-template-studio .studio-socials span { display: flex; gap: 2mm; align-items: center; }

.cv-page-continued.cv-template-studio > header,
.cv-page-continued.cv-template-studio .studio-mast,
.cv-page-continued.cv-template-studio .studio-hello,
.cv-page-continued.cv-template-studio .studio-photo,
.cv-page-continued.cv-template-studio .slate-intro,
.cv-page-continued.cv-template-studio .slate-photo-slot,
.cv-page-continued.cv-template-mustardhello .mustard-intro { display: none !important; }
.cv-page-continued.cv-template-limenight > .lime-top { display: none !important; }
.cv-page-continued.cv-template-dustyrose > .rose-top { display: none !important; }
.cv-page-continued.cv-template-studio:not(.cv-template-royalblue) > footer { display: none !important; }

.cv-template-coralframe,
.cv-template-terraframe {
    grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr);
}
.cv-template-coralframe > main,
.cv-template-terraframe > main { grid-column: 1; }
.cv-template-coralframe > aside,
.cv-template-terraframe > aside { grid-column: 2; }
.cv-continued-columns.cv-template-coralframe > main,
.cv-continued-columns.cv-template-terraframe > main { grid-column: 1 !important; }
.cv-continued-columns.cv-template-coralframe > aside,
.cv-continued-columns.cv-template-terraframe > aside { grid-column: 2 !important; }

/* 1. Royal Blue Designer */
.cv-template-royalblue {
    --studio-accent: #1f5ad9;
    --studio-aside: 34%;
    --studio-page: #e8eef6;
    --studio-track: #d5deea;
    --studio-text: #243041;
    min-height: 297mm;
    grid-template-columns: minmax(0, 34%) minmax(0, 1fr);
    grid-template-rows: auto minmax(0, 1fr) auto;
    align-content: stretch;
    align-items: stretch;
    background: #e8eef6;
}
.cv-template-royalblue > header {
    grid-column: 1 / -1;
    grid-row: 1;
}
.cv-template-royalblue > aside,
.cv-template-royalblue > main {
    grid-row: 2;
    align-self: stretch;
    min-width: 0;
    min-height: 0;
    padding: 5.5mm 6.5mm 5mm;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}
.cv-template-royalblue > aside { background: #e8eef6; }
.cv-template-royalblue > main { background: #fff; }
.cv-template-royalblue .studio-block { margin: 0 0 4.2mm; }
.cv-template-royalblue h2 {
    margin: 0 0 2.6mm;
    padding-bottom: 1.4mm;
    color: #1f5ad9;
    font-size: 9.2pt;
    letter-spacing: .12em;
    border-bottom: 1.5px solid #1f5ad9;
}
.cv-template-royalblue .studio-edu { margin: 0 0 3.2mm; }
.cv-template-royalblue .studio-edu time {
    margin-bottom: .6mm;
    color: #1f5ad9;
    font-size: 8pt;
}
.cv-template-royalblue .studio-edu h3 {
    color: #1c2430;
    font-size: 9pt;
}
.cv-template-royalblue .studio-edu span {
    display: block;
    margin-top: .4mm;
    color: #5b6573;
}
.cv-template-royalblue .studio-bar { gap: .8mm; margin: 0 0 2.6mm; }
.cv-template-royalblue .studio-bar span {
    color: #1c2430;
    font-size: 8pt;
    font-weight: 700;
}
.cv-template-royalblue .studio-bar-track {
    height: 2.6mm;
    border-radius: 99px;
    background: #d7e0ec;
}
.cv-template-royalblue .studio-bar-track > span {
    background: #1f5ad9;
}
.cv-template-royalblue .studio-award,
.cv-template-royalblue .studio-cert { margin: 0 0 3mm; }
.cv-template-royalblue .studio-job {
    margin: 0 0 3.2mm;
    padding: 0 0 3.2mm;
    border-bottom: 1px solid #e3e8ef;
}
.cv-template-royalblue .studio-job:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: 0; }
.cv-template-royalblue .royal-mast { display: block; background: #fff; }
.cv-template-royalblue .royal-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(48mm, 32%);
    align-items: stretch;
    background: #1f5ad9;
}
.cv-template-royalblue .royal-id {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0;
    padding: 6mm 8mm 5.5mm;
    color: #fff;
    text-align: center;
}
.cv-template-royalblue .royal-id h1 {
    font-size: 22pt;
    letter-spacing: .06em;
    line-height: 1.08;
}
.cv-template-royalblue .royal-id > p {
    margin: 1.6mm 0 0;
    color: #fff;
    font-size: 9.5pt;
    font-weight: 700;
    letter-spacing: .16em;
}
.cv-template-royalblue .royal-summary {
    margin: 3.2mm auto 0;
    max-width: 118mm;
}
.cv-template-royalblue .royal-summary,
.cv-template-royalblue .royal-summary p,
.cv-template-royalblue .royal-summary .cv-rich-text {
    color: #fff;
    font-size: 8pt;
    font-weight: 400;
    line-height: 1.45;
    text-align: center;
}
.cv-template-royalblue .royal-photo-col {
    position: relative;
    min-height: 0;
    padding: 0;
    overflow: hidden;
    background: #dbe6f5;
}
.cv-template-royalblue .royal-photo {
    position: absolute;
    inset: 0;
    width: auto;
    height: auto;
    overflow: hidden;
    background: #9bb6e8;
    border-radius: 0;
}
.cv-template-royalblue .royal-photo .cv-photo,
.cv-template-royalblue .royal-photo .cv-initials {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    border: 0;
    border-radius: 0;
}
.cv-template-royalblue .royal-contacts {
    display: flex;
    justify-content: space-between;
    gap: 4mm;
    padding: 3mm 8mm;
    color: #333;
    background: #fff;
    border-bottom: 1px solid #e4eaf1;
}
.cv-template-royalblue .royal-contacts .cv-design-icon { color: #1f5ad9; }
.cv-template-royalblue .royal-langs {
    grid-template-columns: repeat(auto-fill, minmax(24mm, 1fr));
    justify-items: center;
    gap: 3.5mm 2mm;
}
.cv-template-royalblue .royal-langs .studio-ring {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 24mm;
    height: auto;
    background: none;
    border-radius: 0;
}
.cv-template-royalblue .royal-langs .studio-ring > div {
    display: grid;
    place-items: center;
    width: 22mm;
    height: 22mm;
    color: #1f5ad9;
    background:
        radial-gradient(#e8eef6 56%, transparent 57%),
        conic-gradient(#1f5ad9 calc(var(--p) * 1%), #d5deea 0);
    border-radius: 50%;
    font-size: 8pt;
}
.cv-template-royalblue .royal-langs figcaption {
    margin-top: 1.4mm;
    color: #1f5ad9;
    text-align: center;
    font-weight: 700;
}
.cv-template-royalblue .royal-langs small { display: none; }
.cv-template-royalblue .royal-hobbies .studio-hobby b {
    color: #1f5ad9;
    background: #fff;
    border: 1px solid #1f5ad9;
}
.cv-template-royalblue > footer {
    grid-column: 1 / -1;
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 3mm 8mm;
    min-height: 11mm;
    margin: 0;
    padding: 3.5mm 8mm;
    color: #fff;
    background: #1f5ad9;
}
.cv-template-royalblue.cv-royal-end {
    position: relative;
    padding-bottom: 12mm;
}
.cv-template-royalblue.cv-royal-end > footer {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
}
.cv-page-continued.cv-template-royalblue > aside,
.cv-page-continued.cv-template-royalblue > main {
    padding-top: var(--cv-continued-page-padding-top);
}
.cv-template-royalblue > footer span {
    display: flex;
    gap: 2.5mm;
    align-items: center;
}
.cv-template-royalblue > footer b {
    display: grid;
    width: 6.5mm;
    height: 6.5mm;
    place-items: center;
    color: #1f5ad9;
    background: #fff;
    border-radius: 50%;
}
.cv-page-continued.cv-template-royalblue {
    grid-template-rows: minmax(0, 1fr) auto;
    align-content: stretch;
    align-items: stretch;
}
.cv-page-continued.cv-template-royalblue > aside,
.cv-page-continued.cv-template-royalblue > main {
    grid-row: 1;
}
.cv-page-continued.cv-template-royalblue > footer {
    grid-row: 2;
}

/* 2. Mustard Hello */
.cv-template-mustardhello {
    --studio-accent: #16375f;
    --studio-aside: 34%;
    --studio-page: #f6f3ea;
    --studio-track: #1a1a1a;
    position: relative;
    min-height: 297mm;
    grid-template-columns: minmax(0, 34%) minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
    align-content: stretch;
    align-items: stretch;
    background: #f6f3ea;
}
.cv-template-mustardhello::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    width: 26mm;
    height: 26mm;
    background: #16375f;
    border-radius: 0 0 0 100%;
    pointer-events: none;
}
.cv-page-continued.cv-template-mustardhello::after {
    top: auto;
    bottom: 0;
    border-radius: 100% 0 0 0;
}
.cv-template-mustardhello > aside,
.cv-template-mustardhello > main {
    align-self: stretch;
    min-width: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}
.cv-template-mustardhello > aside {
    position: relative;
    z-index: 1;
    overflow: visible;
    padding: 8mm 6.5mm 14mm 7mm;
    color: #111;
    background: #e8b423;
    font-size: 9.5pt;
}
.cv-template-mustardhello > aside h2 { font-size: 10.5pt; }
.cv-template-mustardhello > aside h3 { font-size: 9.5pt; }
.cv-template-mustardhello > aside time,
.cv-template-mustardhello > aside span,
.cv-template-mustardhello > aside em,
.cv-template-mustardhello > aside p,
.cv-template-mustardhello > aside .cv-rich-text { font-size: 8.5pt; }
.cv-template-mustardhello > aside::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 16mm;
    height: 8mm;
    background: #16375f;
    border-radius: 16mm 16mm 0 0;
    transform: translateX(-50%);
}
.cv-page-continued.cv-template-mustardhello > aside::after { display: none; }
.cv-template-mustardhello > main {
    padding: 10mm 10mm 10mm 14mm;
    background: #f6f3ea;
}
.cv-template-mustardhello > aside > *,
.cv-template-mustardhello > main > * {
    flex: 0 0 auto;
    width: 100%;
}
.cv-template-mustardhello h2 {
    color: #111;
    letter-spacing: .14em;
}
.cv-template-mustardhello > main h2 { text-align: right; }
.cv-template-mustardhello .mustard-intro {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    min-height: 42mm;
    margin: 0 0 4mm;
}
.cv-template-mustardhello .studio-hello {
    margin: 2mm 0 0;
    color: #111;
    font-size: 20pt;
    font-weight: 900;
    letter-spacing: .12em;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
}
.cv-template-mustardhello .mustard-photo {
    width: 42mm;
    height: 42mm;
    margin: 2mm -18mm 0 auto;
    overflow: hidden;
    border: 2.2px solid #16375f;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0 0 2.5mm #fff;
}
.cv-template-mustardhello .mustard-contacts {
    display: grid;
    gap: 2.5mm;
    margin: 0 0 6mm;
}
.cv-template-mustardhello .mustard-contacts span {
    display: flex;
    align-items: center;
    gap: 2.5mm;
    color: #111;
    font-size: 8.5pt;
}
.cv-template-mustardhello .mustard-contacts .cv-design-icon,
.cv-template-mustardhello .mustard-contacts i {
    display: grid;
    width: 6.5mm;
    height: 6.5mm;
    flex: 0 0 6.5mm;
    place-items: center;
    color: #fff;
    background: #16375f;
    border-radius: 50%;
    font-size: 7pt;
}
.cv-template-mustardhello .mustard-mast {
    margin: 2mm 0 5mm;
    padding-right: 18mm;
}
.cv-template-mustardhello .mustard-mast h1 {
    margin: 0;
    font-size: 20pt;
    letter-spacing: .05em;
    line-height: 1.15;
    white-space: nowrap;
}
.cv-template-mustardhello .mustard-mast strong {
    display: inline;
    padding: 0 2.2mm .8mm;
    background: linear-gradient(#e8b423, #e8b423) 0 72% / 100% 36% no-repeat;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}
.cv-template-mustardhello .mustard-mast p {
    margin: 2.5mm 0 0;
    color: #222;
    font-size: 8.5pt;
    font-weight: 800;
    letter-spacing: .16em;
}
.cv-template-mustardhello .mustard-summary { margin: 0 0 6mm; }
.cv-template-mustardhello .mustard-jobs .studio-job,
.cv-template-mustardhello .mustard-awards .studio-award {
    display: grid;
    grid-template-columns: 28mm minmax(0, 1fr);
    align-items: start;
    gap: 0 4mm;
    margin: 0 0 4mm;
    padding: 0;
    border: 0;
}
.cv-template-mustardhello .mustard-jobs .studio-job time,
.cv-template-mustardhello .mustard-awards .studio-award time {
    color: #16375f;
    font-size: 8pt;
}
.cv-template-mustardhello .mustard-awards .studio-award time { grid-row: 1 / span 3; }
.cv-template-mustardhello .mustard-awards .studio-award > :not(time),
.cv-template-mustardhello .mustard-jobs .studio-job > :not(time) { grid-column: 2; min-width: 0; }
.cv-page-continued.cv-template-mustardhello .cv-continued-section > h2,
.cv-page-continued.cv-template-mustardhello .studio-job.cv-continued-entry h3 {
    display: none;
}
.cv-template-mustardhello .mustard-jobs .studio-job-body,
.cv-template-mustardhello .mustard-awards h3 {
    min-width: 0;
    padding-left: 4mm;
    border-left: 1.6px solid #16375f;
}
.cv-template-mustardhello .mustard-jobs .studio-job-body h3 {
    font-size: 10pt;
    line-height: 1.25;
    overflow-wrap: break-word;
}
.cv-template-mustardhello .mustard-jobs .studio-job-body ul,
.cv-template-mustardhello .mustard-jobs .studio-job-body ol,
.cv-template-mustardhello .mustard-jobs .studio-job-body .cv-rich-text ul,
.cv-template-mustardhello .mustard-jobs .studio-job-body .cv-rich-text ol {
    margin: 0;
    padding-left: 5mm;
}
.cv-template-mustardhello .mustard-jobs .studio-job-body li {
    display: list-item;
    list-style-position: inside;
    font-size: 8.5pt;
    line-height: 1.45;
}
.cv-template-mustardhello .mustard-jobs .studio-job-body .cv-rich-text,
.cv-template-mustardhello .mustard-jobs .studio-job-body p {
    font-size: 8.5pt;
    line-height: 1.45;
}
.cv-template-mustardhello .studio-dot {
    width: 4.2mm;
    height: 1.5mm;
    border: 0;
    border-radius: 1px;
    background: #111;
}
.cv-template-mustardhello .studio-dot.is-on { background: #16375f; }
.cv-template-mustardhello .mustard-langs {
    display: grid;
    grid-template-columns: 1fr;
    gap: 3.2mm;
}
.cv-template-mustardhello .mustard-langs .studio-ring {
    display: grid;
    grid-template-columns: 16mm minmax(0, 1fr);
    align-items: center;
    gap: 3mm;
    width: auto;
    height: auto;
    margin: 0;
    color: #111;
    background: none;
    border-radius: 0;
    text-align: left;
}
.cv-template-mustardhello .mustard-langs .studio-ring > div {
    display: grid;
    place-items: center;
    width: 16mm;
    height: 16mm;
    color: #fff;
    background: #16375f;
    border-radius: 50%;
    font-size: 8pt;
    font-weight: 800;
}
.cv-template-mustardhello .mustard-langs figcaption {
    display: flex;
    flex-direction: column;
    gap: .5mm;
    min-width: 0;
    color: #111;
}
.cv-template-mustardhello .mustard-langs figcaption strong {
    font-size: 9pt;
    font-weight: 800;
}
.cv-template-mustardhello .mustard-langs figcaption small {
    display: block;
    color: #16375f;
    font-size: 8pt;
    font-weight: 700;
}
.cv-template-mustardhello .mustard-refs { display: grid; grid-template-columns: 1fr; }
.cv-template-mustardhello .mustard-socials span b {
    display: grid;
    width: 6.5mm;
    height: 6.5mm;
    place-items: center;
    color: #fff;
    background: #16375f;
    border-radius: 50%;
}
.cv-template-mustardhello .mustard-hobbies {
    display: flex;
    justify-content: space-around;
    gap: 2mm;
    margin-top: 4mm;
    padding: 3.5mm 4mm;
    background: #e8b423;
}
.cv-template-mustardhello .mustard-hobbies .studio-hobby { width: auto; }
.cv-template-mustardhello .mustard-hobbies .studio-hobby b {
    color: #111;
    background: transparent;
}
.cv-template-mustardhello .mustard-hobbies .studio-hobby small { display: none; }

.cv-template-studio > .slate-intro,
.cv-template-studio > .slate-photo-slot {
    grid-column: 1 / -1;
}

/* 3. Charcoal Spotlight */
.cv-template-slateorange {
    --studio-accent: #f07a2a;
    --studio-aside: 34%;
    --studio-page: #f7f5f1;
    --studio-track: #2c2c2c;
    --studio-text: #222;
    color: #222;
    background: #f7f5f1;
    font-family: Arial, Helvetica, sans-serif;
}
.cv-template-slateorange > header.slate-mast,
.cv-template-slateorange > .slate-photo-slot,
.cv-template-slateorange > .slate-intro {
    grid-column: 1 / -1;
}
.cv-page-continued.cv-template-slateorange > .slate-intro { display: none !important; }
.cv-template-slateorange h2 {
    margin: 0 0 2.4mm;
    color: #111;
    font-size: 10pt;
    letter-spacing: .16em;
}
.cv-template-slateorange .studio-block { margin: 0 0 4mm; }
.cv-template-slateorange .slate-mast {
    position: relative;
    z-index: 1;
    padding: 10mm 10mm 24mm;
    color: #fff;
    text-align: center;
    background: #1d1d1d;
    border-top: 2.4px solid #f07a2a;
}
.cv-template-slateorange .slate-mast h1 {
    margin: 0;
    font-size: 26pt;
    font-weight: 800;
    letter-spacing: .18em;
    line-height: 1.05;
}
.cv-template-slateorange .slate-mast p {
    margin: 2.5mm 0 0;
    padding-bottom: 2mm;
    color: #fff;
    font-size: 8.5pt;
    font-weight: 700;
    letter-spacing: .38em;
}
.cv-template-slateorange .slate-photo-slot {
    position: relative;
    z-index: 3;
    height: 0;
    overflow: visible;
}
.cv-template-slateorange .slate-photo {
    position: relative;
    top: -16mm;
    box-sizing: border-box;
    width: 46mm;
    height: 46mm;
    margin: 0 auto;
    padding: 1.3mm;
    overflow: hidden;
    border: 2.5mm solid #f07a2a;
    border-radius: 50%;
    background: #fff;
}
.cv-template-slateorange .slate-photo .cv-photo,
.cv-template-slateorange .slate-photo .cv-photo,
.cv-template-slateorange .slate-photo .cv-initials,
.cv-template-slateorange .slate-photo .cv-initials {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
    background: #ddd;
}
.cv-template-slateorange .slate-intro {
    padding: 32mm 12mm 4mm;
    text-align: center;
}
.cv-template-slateorange .slate-summary {
    max-width: 168mm;
    margin: 0 auto 4mm;
    padding: 0;
    color: #444;
    font-size: 8.4pt;
    line-height: 1.45;
    text-align: center;
}
.cv-template-slateorange .slate-contacts {
    justify-content: center;
    gap: 2mm 7mm;
    padding: 3.5mm 0 0;
    border-top: 1px solid #1d1d1d;
}
.cv-template-slateorange .slate-contacts span {
    color: #222;
    font-size: 7.6pt;
}
.cv-template-slateorange .slate-contacts .cv-design-icon,
.cv-template-slateorange .slate-contacts i { color: #f07a2a; }
.cv-template-slateorange > aside { padding: 2mm 8mm 8mm 10mm; }
.cv-template-slateorange > main { padding: 2mm 10mm 8mm 6mm; }
.cv-template-slateorange .slate-bar .studio-bar-track {
    height: 2.3mm;
    border-radius: 0;
    background: #2c2c2c;
}
.cv-template-slateorange .slate-bar .studio-bar-track > span {
    background: #f07a2a;
    border-radius: 0;
}
.cv-template-slateorange .slate-bar span {
    color: #111;
    font-size: 8pt;
    font-weight: 700;
    text-transform: lowercase;
}
.cv-template-slateorange .slate-edu .studio-edu { margin: 0 0 3mm; }
.cv-template-slateorange .slate-edu time {
    color: #111;
    font-size: 8.2pt;
}
.cv-template-slateorange .slate-edu h3 {
    margin: .6mm 0 0;
    font-size: 8.6pt;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.cv-template-slateorange .slate-edu span,
.cv-template-slateorange .slate-edu .cv-rich-text,
.cv-template-slateorange .slate-edu p {
    color: #666;
    font-size: 7.7pt;
    line-height: 1.35;
}
.cv-template-slateorange .slate-timeline {
    position: relative;
    padding-left: 5mm;
}
.cv-template-slateorange .slate-timeline::before {
    content: "";
    position: absolute;
    top: 1mm;
    bottom: 0;
    left: 1.1mm;
    border-left: 1.4px dotted #1d1d1d;
}
.cv-template-slateorange .slate-timeline .studio-job {
    position: relative;
    margin: 0 0 3.2mm;
    padding: 0 0 0 3mm;
    border: 0;
}
.cv-template-slateorange .slate-timeline .studio-job::before {
    content: "";
    position: absolute;
    top: 1.2mm;
    left: -5mm;
    width: 2.6mm;
    height: 2.6mm;
    background: #1d1d1d;
    border-radius: 50%;
}
.cv-template-slateorange .slate-timeline time {
    color: #111;
    font-size: 8.2pt;
    letter-spacing: 0;
}
.cv-template-slateorange .slate-timeline h3 {
    margin: .4mm 0 0;
    font-size: 9pt;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.cv-template-slateorange .slate-timeline .studio-job-body span { color: #555; }
.cv-template-slateorange .slate-timeline .cv-rich-text,
.cv-template-slateorange .slate-timeline p,
.cv-template-slateorange .slate-timeline li {
    margin: 0 0 1mm;
    color: #444;
    font-size: 8pt;
    line-height: 1.35;
    text-align: justify;
}
.cv-template-slateorange .slate-expertise .studio-segs {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 2mm 3.5mm;
    align-items: center;
    margin: 0 0 2.6mm;
}
.cv-template-slateorange .slate-expertise .studio-segs span {
    min-width: 0;
    color: #333;
    font-size: 8pt;
    font-weight: 600;
    line-height: 1.2;
}
.cv-template-slateorange .slate-expertise .studio-segs b {
    display: grid;
    grid-template-columns: repeat(10, 2.1mm);
    gap: 1mm;
}
.cv-template-slateorange .slate-expertise .studio-segs .studio-seg,
.cv-template-slateorange .studio-seg {
    width: 2.1mm;
    height: 4.4mm;
    border: 0;
    border-radius: .3mm;
    background: #2a2a2a;
}
.cv-template-slateorange .slate-expertise .studio-segs .studio-seg.is-on,
.cv-template-slateorange .studio-seg.is-on { background: #f07a2a; }
.cv-template-slateorange .studio-segs em { display: none; }
.cv-template-slateorange .slate-langs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5mm 4mm;
    justify-items: start;
}
.cv-template-slateorange .slate-lang {
    display: grid;
    justify-items: center;
    gap: 1.8mm;
    width: 28mm;
    margin: 0;
}
.cv-template-slateorange .slate-lang-ring {
    display: grid;
    place-items: center;
    width: 26mm;
    height: 26mm;
    color: #111;
    background: radial-gradient(#f7f5f1 57%, transparent 58%),
        conic-gradient(from -90deg, #f07a2a calc(var(--p) * 1%), #d5d1cb 0);
    border-radius: 50%;
}
.cv-template-slateorange .slate-lang-ring b {
    font-size: 8pt;
    font-weight: 800;
}
.cv-template-slateorange .slate-lang figcaption {
    color: #111;
    font-size: 7.4pt;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.cv-template-slateorange .slate-qr {
    display: block;
    width: 22mm;
    height: 22mm;
    margin: 0 0 3mm;
    background: #fff;
}
.cv-template-slateorange .slate-socials {
    display: grid;
    gap: 2mm;
    color: #222;
    font-size: 7.6pt;
}
.cv-template-slateorange .slate-socials i { color: #f07a2a; }
.cv-template-slateorange .slate-hobbies {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4mm 3mm;
    justify-items: center;
}
.cv-template-slateorange .slate-hobbies .studio-hobby b {
    width: 13mm;
    height: 13mm;
    color: #f07a2a;
    background: #1d1d1d;
}
.cv-template-slateorange .slate-hobbies .studio-hobby small {
    color: #333;
    font-size: 6.8pt;
    text-transform: uppercase;
}
.cv-template-slateorange .slate-refs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4mm 5mm;
}
.cv-template-slateorange .slate-refs .studio-ref { margin: 0; }
.cv-template-slateorange .slate-refs h3 {
    font-size: 8pt;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.cv-template-slateorange .slate-refs em,
.cv-template-slateorange .slate-refs p {
    color: #555;
    font-size: 7.4pt;
}

/* 4. Ice Blue Sidebar */
.cv-template-icesidebar {
    --studio-accent: #111;
    --studio-aside: 34%;
    --studio-page: #f5f4f1;
    --studio-track: #cfd8e0;
    min-height: 297mm;
    grid-template-rows: auto minmax(0, 1fr);
    align-content: stretch;
    align-items: stretch;
}
.cv-template-icesidebar > header {
    grid-row: 1;
}
.cv-template-icesidebar > aside,
.cv-template-icesidebar > main {
    grid-row: 2;
    align-self: stretch;
    min-width: 0;
    min-height: 0;
}
.cv-page-continued.cv-template-icesidebar {
    grid-template-rows: minmax(0, 1fr);
}
.cv-page-continued.cv-template-icesidebar > aside,
.cv-page-continued.cv-template-icesidebar > main {
    grid-row: 1;
    padding-top: var(--cv-continued-page-padding-top);
}
.cv-template-icesidebar > aside {
    background: #d7e3ec;
    border-top-right-radius: 18px;
}
.cv-template-icesidebar .ice-langs {
    display: grid;
    gap: 3.2mm;
}
.cv-template-icesidebar .ice-meter-meta {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 2mm;
    margin: 0 0 1.4mm;
}
.cv-template-icesidebar .ice-meter-meta span {
    color: #1a2a38;
    font-size: 8.4pt;
    font-weight: 700;
}
.cv-template-icesidebar .ice-meter-meta em {
    color: #4a5d6b;
    font-size: 7.4pt;
    font-style: normal;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.cv-template-icesidebar .ice-meter-track {
    display: block;
    box-sizing: border-box;
    width: 100%;
    height: 1.6mm;
    max-height: 1.6mm;
    overflow: hidden;
    font-size: 0;
    line-height: 0;
    border-radius: 1px;
    background: #c5d0d8;
}
.cv-template-icesidebar .ice-meter-track > span {
    display: block;
    width: 0;
    height: 1.6mm;
    max-height: 1.6mm;
    font-size: 0;
    line-height: 0;
    background: #1a2a38;
}
.cv-template-icesidebar .ice-mast {
    display: grid;
    grid-template-columns: 34mm 1fr;
    gap: 5mm;
    padding: 8mm 8mm 4mm;
}
.cv-template-icesidebar .ice-photo {
    width: 34mm;
    height: 34mm;
    overflow: hidden;
    border: 3px solid #9fb8c9;
    border-radius: 50%;
}
.cv-template-icesidebar .ice-summary {
    grid-column: 1 / -1;
    padding: 4mm 6mm;
    background: #ececec;
    border-radius: 20px;
}
.cv-template-icesidebar .ice-edu article { padding-left: 4mm; border-left: 2px solid #9fb8c9; }

/* 5–6. Coral / Terracotta frames */
.cv-template-coralframe { --studio-accent: #ff6b54; }
.cv-template-terraframe { --studio-accent: #c46a3a; }
.cv-template-framed {
    --studio-track: #e6e2dc;
    --studio-page: #f7f5f1;
    --studio-text: #222;
    --studio-aside: 35%;
    position: relative;
    min-height: 297mm;
    padding: 9mm 11mm 10mm;
    color: #222;
    background: #f7f5f1;
    box-shadow: inset 0 0 0 .45pt #6f6f6f;
    grid-template-columns: minmax(0, 1.9fr) minmax(0, 1fr);
    grid-template-rows: auto minmax(0, 1fr);
    align-content: stretch;
    align-items: stretch;
    column-gap: 0;
}
.cv-template-framed > header {
    grid-row: 1;
    position: static;
}
.cv-template-framed > aside,
.cv-template-framed > main {
    grid-row: 2;
    align-self: stretch;
    min-height: 0;
    padding: 2mm 0 0;
}
.cv-template-framed > main { padding-right: 7mm; }
.cv-template-framed > aside {
    padding-left: 6.5mm;
    border-left: .45pt solid #c9c5bd;
}
.cv-page-continued.cv-template-framed {
    grid-template-rows: minmax(0, 1fr);
}
.cv-page-continued.cv-template-framed > aside,
.cv-page-continued.cv-template-framed > main {
    grid-row: 1;
    padding-top: var(--cv-continued-page-padding-top);
}
.cv-template-framed .coral-tab {
    position: absolute;
    top: 26mm;
    z-index: 3;
    width: 5.2mm;
    height: 20mm;
    background: var(--studio-accent);
    pointer-events: none;
}
.cv-template-framed .coral-tab-left { left: 0; }
.cv-template-framed .coral-tab-right { right: 0; }
.cv-template-framed .coral-mast {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    grid-template-rows: auto auto;
    column-gap: 8mm;
    row-gap: 1.5mm;
    align-items: start;
    padding: 4mm 4mm 7mm;
}
.cv-template-framed .coral-about-title {
    grid-column: 1;
    grid-row: 1;
    margin: 0;
    padding: 0;
    color: #111;
    font-size: 9.6pt;
    letter-spacing: .14em;
    border: 0;
}
.cv-template-framed .coral-about-body {
    grid-column: 1;
    grid-row: 2;
    min-width: 0;
}
.cv-template-framed .coral-about-body .cv-rich-text,
.cv-template-framed .coral-about-body p {
    color: #5b5b5b;
    font-size: 8.3pt;
    line-height: 1.45;
}
.cv-template-framed .coral-id {
    grid-column: 2;
    grid-row: 2;
    align-self: center;
    padding-top: 0;
}
.cv-template-framed h2 {
    margin: 0 0 2.8mm;
    padding-bottom: 1.6mm;
    color: #111;
    font-size: 9.6pt;
    letter-spacing: .14em;
    border-bottom: .45pt solid #c9c5bd;
}
.cv-template-framed .coral-about-title {
    margin: 0;
    padding: 0;
    border: 0;
}
.cv-template-framed .coral-id small {
    display: block;
    color: #9a9a9a;
    font-size: 8.5pt;
    font-weight: 500;
}
.cv-template-framed .coral-id h1 {
    margin: 1.5mm 0 2mm;
    color: var(--studio-accent);
    font-size: 28pt;
    font-weight: 800;
    line-height: .95;
    letter-spacing: -.02em;
}
.cv-template-framed .coral-id p {
    margin: 0;
    color: #111;
    font-size: 10pt;
    font-weight: 800;
}
.cv-template-framed .coral-jobs .studio-job {
    position: relative;
    margin: 0 0 5mm;
    padding-right: 0;
}
.cv-template-framed .coral-jobs .studio-job time {
    position: absolute;
    top: 0;
    right: 0;
    color: #8a8a8a;
    font-size: 8pt;
    font-weight: 700;
    white-space: nowrap;
}
.cv-template-framed .coral-jobs h3 {
    margin: 0 28mm 0 0;
    color: #111;
    font-size: 9pt;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.cv-template-framed .coral-jobs span {
    display: block;
    margin: .4mm 0 1.6mm;
    color: #8a8a8a;
    font-size: 8pt;
    font-style: italic;
}
.cv-template-framed .coral-jobs .cv-rich-text,
.cv-template-framed .coral-jobs p,
.cv-template-framed .coral-jobs li {
    color: #5b5b5b;
    font-size: 8.2pt;
    line-height: 1.42;
}
.cv-template-framed .coral-skill {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 22mm;
    align-items: center;
    gap: 2mm 3mm;
    margin: 0 0 2.6mm;
}
.cv-template-framed .coral-skill > span {
    color: #444;
    font-size: 8pt;
}
.cv-template-framed .coral-skill-track {
    display: block;
    box-sizing: border-box;
    width: 100%;
    height: 1.5mm;
    overflow: hidden;
    font-size: 0;
    line-height: 0;
    border-radius: 99px;
    background: #e6e2dc;
}
.cv-template-framed .coral-skill-track > span {
    display: block;
    width: 0;
    height: 1.5mm;
    font-size: 0;
    line-height: 0;
    background: var(--studio-accent);
}
.cv-template-framed .coral-edu article {
    display: grid;
    grid-template-columns: 3.2mm minmax(0, 1fr);
    column-gap: 2.4mm;
    margin: 0 0 3.4mm;
    padding-left: 0;
    border: 0;
}
.cv-template-framed .coral-edu article::before {
    content: "";
    grid-column: 1;
    grid-row: 1 / span 4;
    width: 2.1mm;
    height: 2.1mm;
    margin-top: 1.1mm;
    border-radius: 50%;
    background: var(--studio-accent);
}
.cv-template-framed .coral-edu time,
.cv-template-framed .coral-edu h3,
.cv-template-framed .coral-edu span,
.cv-template-framed .coral-edu .cv-rich-text {
    grid-column: 2;
}
.cv-template-framed .coral-edu time {
    color: #8a8a8a;
    font-size: 7.6pt;
    font-weight: 600;
}
.cv-template-framed .coral-edu h3 {
    color: #111;
    font-size: 8.4pt;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.cv-template-framed .coral-dots {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1.5mm 3mm;
    align-items: center;
    margin: 0 0 2.4mm;
}
.cv-template-framed .coral-dots span { font-size: 8pt; color: #444; }
.cv-template-framed .coral-dots b {
    display: flex;
    gap: 1.2mm;
    align-items: center;
    font-weight: 400;
}
.cv-template-framed .coral-dot {
    display: block;
    box-sizing: border-box;
    width: 2.5mm;
    height: 2.5mm;
    flex: 0 0 2.5mm;
    font-size: 0;
    line-height: 0;
    border-radius: 50%;
    background: #e4e0da;
}
.cv-template-framed .coral-dot.is-on { background: var(--studio-accent); }
.cv-template-framed .coral-langs {
    display: grid;
    gap: 4mm;
}
.cv-template-framed .coral-lang {
    display: grid;
    grid-template-columns: 18mm minmax(0, 1fr);
    gap: 3.2mm;
    align-items: center;
    margin: 0;
}
.cv-template-framed .coral-lang-ring {
    position: relative;
    width: 18mm;
    height: 18mm;
}
.cv-template-framed .coral-lang-ring-img,
.cv-template-framed .coral-lang-track {
    display: block;
    box-sizing: border-box;
    width: 18mm;
    height: 18mm;
    border-radius: 50%;
}
.cv-template-framed .coral-lang-track {
    border: 2.4mm solid #e4e0da;
}
.cv-template-framed .coral-lang-ring b {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: grid;
    place-items: center;
    font-size: 7.2pt;
    font-weight: 800;
}
.cv-template-framed .coral-lang figcaption {
    display: grid;
    gap: .4mm;
}
.cv-template-framed .coral-lang strong {
    color: #111;
    font-size: 8.4pt;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.cv-template-framed .coral-lang small {
    color: #8a8a8a;
    font-size: 7.4pt;
}
.cv-template-framed .coral-refs { grid-template-columns: 1fr; }
.cv-template-framed .coral-ref h3 {
    color: #111;
    font-size: 8.3pt;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.cv-template-framed .coral-ref em {
    display: block;
    margin: .4mm 0 1.2mm;
    color: #8a8a8a;
    font-size: 8pt;
    font-style: normal;
}
.cv-template-framed .coral-ref p {
    display: flex;
    gap: 1.8mm;
    align-items: center;
    margin: 0 0 .8mm;
    color: #555;
    font-size: 7.6pt;
}
.cv-template-framed .coral-ref .cv-design-icon { color: var(--studio-accent); }
.cv-template-framed .coral-cert-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4mm;
}
.cv-template-framed .coral-hobbies .studio-hobby b { background: var(--studio-accent); }

/* 7. Lime Night */
.cv-template-limenight {
    --studio-accent: #b1d82e;
    --studio-page: #1a1a1a;
    --studio-text: #fff;
    --studio-track: #2c2c2c;
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 38%) minmax(0, 1fr);
    grid-template-rows: auto auto auto auto;
    grid-template-areas: "top top" "side main" "refs refs" "foot foot";
    align-items: start;
    align-content: start;
    min-height: 297mm;
    padding-bottom: 14mm;
    color: #fff;
    background: #1a1a1a;
    overflow: hidden;
    font-family: "Segoe UI", Arial, Helvetica, sans-serif;
}
.cv-template-limenight > .lime-top { grid-area: top; }
.cv-template-limenight > aside.lime-side { grid-area: side; }
.cv-template-limenight > main.lime-main { grid-area: main; }
.cv-template-limenight > .lime-refs-box { grid-area: refs; }
.cv-template-limenight > .lime-socials-end { grid-area: auto; }
.cv-page-continued.cv-template-limenight > .lime-socials-end { grid-area: social; }
.cv-template-limenight > footer { grid-area: foot; }
.cv-template-limenight h2 {
    color: #fff !important;
    letter-spacing: .14em;
    font-size: 11pt;
    text-transform: uppercase;
}
.cv-template-limenight h3 { color: #fff; font-weight: 800; }
.cv-template-limenight span,
.cv-template-limenight em { color: #eee; }
.cv-template-limenight p,
.cv-template-limenight .cv-rich-text { color: #f2f2f2; }
.cv-template-limenight time {
    display: inline-block;
    margin: 0 0 1.6mm;
    padding: .45mm 2.8mm;
    color: #111;
    background: #b1d82e;
    border-radius: 99px;
    font-size: 7pt;
    font-weight: 800;
    letter-spacing: .02em;
}
.cv-template-limenight .lime-mast {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 58mm;
    gap: 4mm;
    align-items: start;
    padding: 11mm 11mm 4mm;
}
.cv-template-limenight .lime-id p {
    margin: 0 0 2.2mm;
    color: #fff !important;
    font-size: 9pt;
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.cv-template-limenight .lime-mast h1 {
    margin: 0 0 4mm;
    color: #b1d82e;
    font-size: 32pt;
    line-height: .92;
    letter-spacing: .03em;
    font-weight: 800;
}
.cv-page.cv-template-limenight .lime-summary,
.cv-page.cv-template-limenight .lime-summary p,
.cv-page.cv-template-limenight .lime-summary span,
.cv-page.cv-template-limenight .lime-summary .cv-rich-text,
.cv-page.cv-template-limenight .lime-summary .ql-align-justify,
.cv-page.cv-template-limenight .lime-summary .ql-align-left {
    max-width: 122mm;
    color: #fff !important;
    text-align: left !important;
    text-align-last: left !important;
    text-justify: auto;
    word-spacing: normal !important;
    letter-spacing: normal;
    line-height: 1.45;
}
.cv-template-limenight .lime-photo-col {
    position: relative;
    width: 52mm;
    height: 52mm;
    justify-self: end;
    margin-top: 1mm;
}
.cv-template-limenight .lime-photo-arc {
    position: absolute;
    left: -7mm;
    top: -5mm;
    width: 58mm;
    height: 58mm;
    pointer-events: none;
    z-index: 0;
}
.cv-template-limenight .lime-photo {
    position: relative;
    z-index: 1;
    width: 42mm;
    height: 42mm;
    margin: 6mm 0 0 8mm;
    overflow: hidden;
    border-radius: 50%;
    background: #2a2a2a;
}
.cv-template-limenight .lime-photo .cv-photo,
.cv-template-limenight .lime-photo .cv-initials { filter: grayscale(1); }
.cv-template-limenight .lime-x {
    position: absolute;
    z-index: 2;
    color: #fff;
    font-size: 8pt;
    font-weight: 700;
    line-height: 1;
    pointer-events: none;
}
.cv-template-limenight .lime-x-1 { top: 10mm; right: 58mm; }
.cv-template-limenight .lime-x-2 { top: 10mm; right: 53mm; }
.cv-template-limenight .lime-x-3 { top: 14.5mm; right: 55.5mm; }
.cv-template-limenight .lime-dotgrid {
    position: absolute;
    top: 7mm;
    right: 8mm;
    width: 15mm;
    height: 15mm;
    background-image: radial-gradient(#d0d0d0 0.5mm, transparent 0.6mm);
    background-size: 2.8mm 2.8mm;
    opacity: .8;
    pointer-events: none;
}
.cv-template-limenight .lime-chevron {
    position: absolute;
    width: 22mm;
    height: 15mm;
    opacity: .55;
    pointer-events: none;
    z-index: 0;
}
.cv-template-limenight .lime-chevron-tl { top: 8mm; left: 8mm; }
.cv-template-limenight .lime-chevron-photo { top: 38mm; left: -4mm; transform: rotate(90deg); }
.cv-template-limenight .lime-chevron-tr { top: 8mm; right: 8mm; left: auto; }
.cv-template-limenight .lime-chevron-bl { bottom: 28mm; left: 8mm; transform: rotate(180deg); }
.cv-template-limenight .lime-edu-wrap { padding: 0; }
.cv-template-limenight .lime-edu-stack,
.cv-template-limenight .lime-edu-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 4mm;
}
.cv-template-limenight .lime-edu-item { margin: 0; }
.cv-template-limenight .lime-edu-item h3 {
    margin: 0 0 1mm;
    color: #fff;
    font-size: 9.2pt;
    text-transform: none;
}
.cv-template-limenight .lime-edu-item > span {
    display: block;
    margin: 0 0 1.6mm;
    color: #b1d82e;
    font-size: 7.6pt;
}
.cv-template-limenight .studio-block { margin: 0 0 4mm; }
.cv-template-limenight .studio-block:last-child { margin-bottom: 0; }
.cv-template-limenight > aside.lime-side,
.cv-template-limenight > main.lime-main {
    align-self: start;
    min-width: 0;
    min-height: 0;
}
.cv-template-limenight > aside.lime-side { padding: 1mm 6mm 8mm 11mm; }
.cv-template-limenight > main.lime-main { padding: 1mm 11mm 8mm 5mm; }
.cv-template-limenight .lime-skill {
    display: block;
    margin: 0 0 2.6mm;
}
.cv-template-limenight .lime-skill > span {
    display: block;
    margin: 0 0 1.5mm;
    color: #fff;
    font-size: 8.4pt;
    font-weight: 600;
}
.cv-template-limenight .lime-skill-track {
    box-sizing: border-box;
    display: block;
    height: 2.5mm;
    min-height: 2.5mm;
    max-height: 2.5mm;
    overflow: hidden;
    font-size: 0;
    line-height: 0;
    border-radius: 99px;
    background: #3a3a3a;
}
.cv-template-limenight .lime-skill-fill {
    display: block;
    box-sizing: border-box;
    height: 2.5mm;
    min-height: 2.5mm;
    max-height: 2.5mm;
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 0;
    line-height: 0;
    background: #b1d82e;
    border-radius: 99px;
}
.cv-template-limenight .lime-jobs .studio-job,
.cv-template-limenight .lime-job {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0 3.2mm;
    align-items: start;
    margin: 0 0 3mm;
}
.cv-template-limenight .lime-jobs .studio-job:last-child,
.cv-template-limenight .lime-job:last-child { margin-bottom: 0; }
.cv-template-limenight .lime-jobs ul,
.cv-template-limenight .lime-jobs ol { margin: 1mm 0 0; padding-left: 4mm; }
.cv-template-limenight .lime-jobs li { margin: 0 0 .6mm; }
.cv-template-limenight .lime-jobs time { grid-column: 1; margin-top: .3mm; }
.cv-template-limenight .lime-jobs .studio-job-body { grid-column: 2; min-width: 0; }
.cv-template-limenight .lime-jobs h3 { color: #fff; font-size: 10pt; }
.cv-template-limenight .lime-jobs .studio-job-body > span { color: #b1d82e; }
.cv-template-limenight .lime-exp {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 3mm;
    margin: 0 0 3.4mm;
}
.cv-template-limenight .lime-exp > span {
    color: #fff;
    font-size: 8.2pt;
    font-weight: 600;
    min-width: 0;
}
.cv-template-limenight .lime-exp-dots {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    gap: 1.15mm;
}
.cv-template-limenight .lime-dot {
    box-sizing: border-box;
    display: block;
    width: 2.3mm;
    height: 2.3mm;
    flex: 0 0 2.3mm;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #4a4a4a;
    font-size: 0;
    line-height: 0;
    font-style: normal;
}
.cv-template-limenight .lime-dot.is-on {
    background: #fff;
}
.cv-template-limenight .lime-hobbies {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 2.8mm;
}
.cv-template-limenight .lime-hobbies > h2 {
    width: 100%;
    flex: 0 0 auto;
}
.cv-template-limenight .lime-hobbies > .studio-hobby {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 2.2mm;
    width: 100%;
    text-align: left;
}
.cv-template-limenight .lime-hobbies .studio-hobby small {
    color: #fff;
    font-size: 8.2pt;
}
.cv-template-limenight .lime-hobbies .studio-hobby b {
    width: 9mm;
    height: 9mm;
    color: #fff;
    background: #b1d82e;
    flex: 0 0 9mm;
}
.cv-template-limenight .lime-langs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5mm 4mm;
}
.cv-template-limenight .lime-lang { margin: 0; text-align: center; }
.cv-template-limenight .lime-lang-ring {
    position: relative;
    width: 28mm;
    height: 28mm;
    margin: 0 auto;
}
.cv-template-limenight .lime-lang-ring-img,
.cv-template-limenight .lime-lang-track {
    display: block;
    width: 28mm;
    height: 28mm;
}
.cv-template-limenight .lime-lang-meta {
    position: absolute;
    inset: 0;
    display: grid;
    place-content: center;
    color: #fff;
    text-align: center;
}
.cv-template-limenight .lime-lang-meta b { font-size: 8pt; color: #fff; }
.cv-template-limenight .lime-lang-meta span,
.cv-template-limenight .lime-lang-meta small {
    display: block;
    color: #fff;
    font-size: 6.2pt;
    font-weight: 700;
}
.cv-template-limenight .lime-cert-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4mm;
}
.cv-template-limenight .lime-refs-box {
    position: relative;
    margin: 2mm 11mm 4mm;
    padding: 5mm 7mm 4mm;
    border: .4mm solid #fff;
    border-radius: 3.5mm;
    background: transparent;
}
.cv-template-limenight .lime-refs-box h2 {
    color: #fff !important;
    margin: 0 0 4mm;
}
.cv-template-limenight .lime-refs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 5mm;
}
.cv-template-limenight .lime-ref h3 { color: #fff; }
.cv-template-limenight .lime-ref em {
    display: block;
    margin: 0 0 1.2mm;
    color: #b0b0b0;
    font-size: 7.6pt;
    font-style: normal;
}
.cv-template-limenight .lime-ref p {
    display: block;
    margin: 0 0 .5mm;
    color: #fff;
    font-size: 7.6pt;
}
.cv-template-limenight .lime-ref b { color: #fff; font-weight: 700; }
.cv-template-limenight .lime-x-stack {
    position: absolute;
    top: 7mm;
    right: 4mm;
    text-align: center;
    line-height: 1.15;
}
.cv-template-limenight .lime-bar {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    padding: 0;
    background: #2d2d2d;
}
.cv-template-limenight .lime-contacts {
    display: flex;
    flex-wrap: wrap;
    gap: 3mm 7mm;
    align-items: center;
    width: 100%;
    padding: 3.2mm 11mm;
    background: #2d2d2d;
    color: #fff;
}
.cv-template-limenight .lime-contacts span { display: flex; align-items: center; gap: 2.2mm; }
.cv-template-limenight .lime-contacts .cv-design-icon {
    display: grid;
    width: 6.4mm;
    height: 6.4mm;
    place-items: center;
    color: #111 !important;
    background: #b1d82e;
    border-radius: 50%;
    font-size: 6.5pt;
}
.cv-template-limenight .lime-contacts em { color: #fff; font-style: normal; }
.cv-template-limenight > .lime-socials-end {
    display: flex;
    flex-wrap: wrap;
    gap: 3mm 8mm;
    align-items: center;
    padding: 2mm 11mm 8mm;
    color: #d0d0d0;
    background: transparent;
}
.cv-template-limenight > .lime-socials-end:empty {
    display: none !important;
}
.cv-template-limenight:has(+ .cv-page-continued) > .lime-socials-end {
    display: none;
}
.cv-page-continued.cv-template-limenight > footer.lime-bar {
    display: none !important;
}
.cv-template-limenight .lime-socials-end span {
    color: #d0d0d0;
    font-size: 8pt;
}
.cv-template-limenight .lime-socials-end b {
    display: grid;
    width: 6mm;
    height: 6mm;
    place-items: center;
    background: transparent;
}
.cv-template-limenight .lime-socials-end .cv-design-icon { color: #fff; }
.cv-template-limenight .lime-jobs[hidden],
.cv-template-limenight .lime-projects[hidden] { display: none !important; }
.cv-page-continued.cv-template-limenight {
    grid-template-areas: "side main" "refs refs" "social social";
    grid-template-rows: auto auto auto;
    align-content: start;
    padding-top: max(10mm, var(--cv-continued-page-padding-top, 10mm));
    padding-bottom: 10mm;
}
/* 8. Ink & Salmon */
.cv-template-inksalmon {
    --studio-accent: #222;
    --studio-aside: 34%;
    --studio-page: #f6f3ee;
    outline: 7px solid #ebc4b5;
    outline-offset: -7px;
}
.cv-template-inksalmon .ink-mast {
    display: grid;
    grid-template-columns: 32mm 1fr;
    gap: 5mm;
    padding: 8mm;
    color: #fff;
    background: #1b1b1b;
}
.cv-template-inksalmon .ink-photo { width: 32mm; height: 32mm; overflow: hidden; border-radius: 50%; }
.cv-template-inksalmon .ink-summary { padding: 5mm 8mm; }
.cv-template-inksalmon .ink-hobbies .studio-hobby b { color: #1b1b1b; background: #ebc4b5; }
.cv-template-inksalmon .ink-langs .ink-lang {
    margin: 0 0 2.6mm;
}
.cv-template-inksalmon .ink-langs .ink-lang:last-child { margin-bottom: 0; }
.cv-template-inksalmon .ink-lang-meta {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 2mm;
    margin: 0 0 1.2mm;
}
.cv-template-inksalmon .ink-lang-meta span {
    color: #1b1b1b;
    font-size: 8.4pt;
    font-weight: 700;
}
.cv-template-inksalmon .ink-lang-meta em {
    color: #6a625c;
    font-size: 7.2pt;
    font-style: normal;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.cv-template-inksalmon .ink-lang-track {
    display: block;
    box-sizing: border-box;
    width: 100%;
    height: 2.2mm;
    min-height: 2.2mm;
    max-height: 2.2mm;
    overflow: hidden;
    font-size: 0;
    line-height: 0;
    border-radius: 99px;
    background: #e4ddd6;
}
.cv-template-inksalmon .ink-lang-track > span {
    display: block;
    height: 2.2mm;
    min-height: 2.2mm;
    max-height: 2.2mm;
    font-size: 0;
    line-height: 0;
    border-radius: 99px;
    background: #1b1b1b;
}

/* 9. Dusty Rose Band */
.cv-template-dustyrose {
    --studio-accent: #c45b7a;
    --studio-aside: 36%;
    --studio-page: #f7f4f1;
    --studio-text: #1a1a1a;
    --studio-track: #1a1a1a;
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 36%) minmax(0, 1fr);
    grid-template-rows: auto auto auto;
    align-items: start;
    align-content: start;
    min-height: 297mm;
    color: #1a1a1a;
    background: #f7f4f1;
    overflow: hidden;
}
.cv-template-dustyrose > .rose-top { grid-column: 1 / span 2; grid-row: 1; }
.cv-template-dustyrose > .rose-edu { grid-column: 1 / span 2; grid-row: 2; }
.cv-template-dustyrose > aside.rose-side { grid-column: 1; grid-row: 3; }
.cv-template-dustyrose > main.rose-main { grid-column: 2; grid-row: 3; }
.cv-template-dustyrose > .rose-refs-box { grid-column: 1 / span 2; }
.cv-template-dustyrose > .rose-socials-end { grid-column: 1 / span 2; }
.cv-template-dustyrose > aside.rose-side,
.cv-template-dustyrose > main.rose-main {
    align-self: start;
    min-width: 0;
    padding: 5mm 8mm 8mm;
}
.cv-template-dustyrose > aside.rose-side { padding-right: 5mm; }
.cv-template-dustyrose > main.rose-main { padding-left: 5mm; }
.cv-template-dustyrose h2 {
    display: flex;
    align-items: center;
    gap: 3mm;
    margin: 0 0 3.2mm;
    color: #111 !important;
    font-size: 10.5pt;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.cv-template-dustyrose h2::after {
    content: "";
    flex: 1 1 auto;
    height: 0.35mm;
    background: currentColor;
}
.cv-template-dustyrose .rose-mast {
    padding: 10mm 10mm 4mm;
    text-align: center;
}
.cv-template-dustyrose .rose-name-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4mm;
}
.cv-template-dustyrose .rose-bloom {
    width: 9mm;
    height: 9mm;
    flex: 0 0 9mm;
}
.cv-template-dustyrose .rose-mast h1 {
    margin: 0;
    color: #c45b7a;
    font-size: 26pt;
    letter-spacing: .06em;
    line-height: 1;
}
.cv-template-dustyrose .rose-mast > p {
    margin: 3mm 0 2.5mm;
    color: #111;
    font-size: 9.5pt;
    font-weight: 700;
    letter-spacing: .28em;
}
.cv-template-dustyrose .rose-rule-center {
    display: block;
    width: 42mm;
    height: 2.2mm;
    margin: 0 auto 6mm;
    background:
        radial-gradient(circle at left center, #111 0.65mm, transparent 0.7mm),
        radial-gradient(circle at right center, #111 0.65mm, transparent 0.7mm),
        linear-gradient(#111, #111) center / calc(100% - 2.4mm) 0.35mm no-repeat;
}
.cv-template-dustyrose .rose-intro {
    display: grid;
    grid-template-columns: 42mm minmax(0, 1fr);
    gap: 7mm;
    text-align: left;
    align-items: start;
}
.cv-template-dustyrose .rose-photo {
    width: 42mm;
    height: 54mm;
    overflow: hidden;
    border-radius: 21mm 21mm 3mm 3mm;
    background: #d8d4d0;
}
.cv-template-dustyrose .rose-photo .cv-photo,
.cv-template-dustyrose .rose-photo .cv-initials {
    width: 100% !important;
    height: 100% !important;
    border: 0;
    border-radius: 0;
    object-fit: cover;
    object-position: center top;
    filter: grayscale(1);
}
.cv-page.cv-template-dustyrose .rose-summary,
.cv-page.cv-template-dustyrose .rose-summary p,
.cv-page.cv-template-dustyrose .rose-summary .cv-rich-text {
    color: #222 !important;
    text-align: left !important;
    text-align-last: left !important;
    word-spacing: normal !important;
    line-height: 1.45;
    font-size: 8.6pt;
}
.cv-template-dustyrose .rose-contacts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.4mm 6mm;
    margin-top: 4mm;
}
.cv-template-dustyrose .rose-contacts span { align-items: center; }
.cv-template-dustyrose .rose-contacts .cv-design-icon {
    display: grid;
    width: 6.2mm;
    height: 6.2mm;
    place-items: center;
    color: #fff !important;
    background: #111;
    border-radius: 50%;
    font-size: 6.2pt;
}
.cv-template-dustyrose .rose-contacts em { color: #222; font-style: normal; font-size: 7.8pt; }
.cv-template-dustyrose .rose-band {
    margin: 0;
    padding: 5mm 10mm 6mm;
    color: #fff;
    background: #c45b7a;
}
.cv-template-dustyrose .rose-band h2 {
    color: #fff !important;
}
.cv-template-dustyrose .rose-band h2::after {
    background: #fff;
}
.cv-template-dustyrose .rose-edu-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 4mm 6mm;
}
.cv-template-dustyrose .rose-edu .studio-edu { margin: 0; }
.cv-template-dustyrose .rose-edu time,
.cv-template-dustyrose .rose-edu h3,
.cv-template-dustyrose .rose-edu span,
.cv-template-dustyrose .rose-edu p,
.cv-template-dustyrose .rose-edu .cv-rich-text { color: #fff !important; }
.cv-template-dustyrose .rose-edu time {
    display: block;
    margin: 0 0 1.2mm;
    font-size: 8pt;
    font-weight: 700;
}
.cv-template-dustyrose .rose-edu h3 { font-size: 9.5pt; }
.cv-template-dustyrose .rose-bar {
    display: block;
    margin: 0 0 3mm;
}
.cv-template-dustyrose .rose-bar > span {
    display: block;
    margin: 0 0 1.3mm;
    color: #111;
    font-size: 8.2pt;
    font-weight: 700;
}
.cv-template-dustyrose .rose-bar-track {
    display: block;
    box-sizing: border-box;
    height: 2.2mm;
    min-height: 2.2mm;
    max-height: 2.2mm;
    overflow: hidden;
    font-size: 0;
    line-height: 0;
    border-radius: 99px;
    background: #1a1a1a;
}
.cv-template-dustyrose .rose-bar-track > span {
    display: block;
    height: 2.2mm;
    min-height: 2.2mm;
    max-height: 2.2mm;
    background: #c45b7a;
    border-radius: 99px;
}
.cv-template-dustyrose .rose-job {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0 4mm;
    align-items: start;
    margin: 0 0 4mm;
}
.cv-template-dustyrose .rose-job time {
    grid-column: 2;
    grid-row: 1;
    margin: 0;
    color: #c45b7a;
    font-size: 8.4pt;
    font-weight: 700;
    white-space: nowrap;
}
.cv-template-dustyrose .rose-job .studio-job-body { grid-column: 1; min-width: 0; }
.cv-template-dustyrose .rose-job h3 { color: #111; font-size: 10pt; }
.cv-template-dustyrose .rose-job .studio-job-body > span { color: #555; }
.cv-template-dustyrose .rose-jobs ul,
.cv-template-dustyrose .rose-jobs ol { margin: 1.2mm 0 0; padding-left: 4mm; }
.cv-template-dustyrose .rose-projects { margin-top: 4mm; }
.cv-template-dustyrose .rose-awards .studio-award time { color: #555; }
.cv-template-dustyrose .rose-awards .studio-award h3 { color: #c45b7a; }
.cv-template-dustyrose .rose-langs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4mm;
}
.cv-template-dustyrose .rose-langs > h2 { grid-column: 1 / -1; }
.cv-template-dustyrose .rose-lang { margin: 0; text-align: center; }
.cv-template-dustyrose .rose-lang-ring {
    position: relative;
    width: 28mm;
    height: 28mm;
    margin: 0 auto;
}
.cv-template-dustyrose .rose-lang-ring-img,
.cv-template-dustyrose .rose-lang-track {
    display: block;
    width: 28mm;
    height: 28mm;
}
.cv-template-dustyrose .rose-lang-meta {
    position: absolute;
    inset: 0;
    display: grid;
    place-content: center;
    text-align: center;
}
.cv-template-dustyrose .rose-lang-meta b { font-size: 8pt; color: #111; }
.cv-template-dustyrose .rose-lang-meta span {
    display: block;
    color: #111;
    font-size: 6.4pt;
    font-weight: 700;
}
.cv-template-dustyrose .rose-hobbies {
    display: flex;
    flex-wrap: wrap;
    gap: 2.4mm 3mm;
}
.cv-template-dustyrose .rose-hobbies > h2 { width: 100%; flex: 0 0 100%; }
.cv-template-dustyrose .rose-hobbies > .studio-hobby {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1.8mm;
    width: auto;
    padding: 1.4mm 3mm;
    border: .35mm solid #111;
    border-radius: 99px;
    text-align: left;
}
.cv-template-dustyrose .rose-hobbies .studio-hobby b {
    width: 6.5mm;
    height: 6.5mm;
    color: #111;
    background: transparent;
    flex: 0 0 6.5mm;
}
.cv-template-dustyrose .rose-hobbies .studio-hobby small {
    color: #111;
    font-size: 7.6pt;
    font-weight: 700;
}
.cv-template-dustyrose .rose-refs-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 5mm;
}
.cv-template-dustyrose .rose-ref h3,
.cv-template-dustyrose .rose-ref em,
.cv-template-dustyrose .rose-ref p { color: #fff; }
.cv-template-dustyrose .rose-ref em { display: block; margin: 0 0 1mm; font-style: normal; font-size: 7.6pt; opacity: .92; }
.cv-template-dustyrose .rose-ref p { margin: 0 0 .4mm; font-size: 7.6pt; }
.cv-template-dustyrose > .rose-socials-end {
    display: flex;
    flex-wrap: wrap;
    gap: 3mm 8mm;
    align-items: center;
    padding: 3mm 10mm 6mm;
    color: #111;
    background: #fff;
}
.cv-template-dustyrose > .rose-socials-end:empty { display: none !important; }
.cv-template-dustyrose .rose-socials-end .cv-design-icon { color: #111; }
.cv-template-dustyrose.rose-end-page:not(.cv-page-continued) {
    grid-template-rows: auto auto minmax(0, 1fr) auto auto;
    align-content: stretch;
}
.cv-template-dustyrose.rose-end-page:not(.cv-page-continued) > .rose-refs-box { grid-row: 4; }
.cv-template-dustyrose.rose-end-page:not(.cv-page-continued) > .rose-socials-end { grid-row: 5; }
.cv-page-continued.cv-template-dustyrose {
    grid-template-rows: auto auto;
    align-content: start;
    padding-top: max(10mm, var(--cv-continued-page-padding-top, 10mm));
}
.cv-page-continued.cv-template-dustyrose > .rose-edu { grid-row: 1; }
.cv-page-continued.cv-template-dustyrose > aside.rose-side,
.cv-page-continued.cv-template-dustyrose > main.rose-main { grid-row: 2; }
.cv-page-continued.cv-template-dustyrose.rose-end-page {
    grid-template-rows: auto minmax(0, 1fr) auto auto;
    align-content: stretch;
}
.cv-page-continued.cv-template-dustyrose.rose-end-page > .rose-refs-box { grid-row: 3; }
.cv-page-continued.cv-template-dustyrose.rose-end-page > .rose-socials-end { grid-row: 4; }
.cv-page-continued.cv-template-dustyrose > .rose-edu:empty,
.cv-page-continued.cv-template-dustyrose > .rose-refs-box:empty {
    display: none;
}

/* 10. Sunny Editorial */
.cv-template-sunnyedit {
    --studio-accent: #111;
    --studio-aside: 34%;
    --studio-page: #fff;
    --studio-track: #e6e6e6;
    background: #fff;
}
.cv-template-sunnyedit > aside {
    background: #f0c44a;
    color: #111;
}
.cv-template-sunnyedit > main {
    position: relative;
    z-index: 1;
    background: #fff;
    color: #111;
}
.cv-template-sunnyedit .sun-mast {
    display: flex;
    flex-direction: column;
    gap: 3.5mm;
    padding: 7mm 8mm 4mm;
    background: #fff;
}
.cv-template-sunnyedit .sun-mast-top {
    display: grid;
    grid-template-columns: 16mm minmax(0, 1fr) 36mm;
    gap: 3mm 5mm;
    align-items: start;
}
.cv-template-sunnyedit .sun-badge {
    display: grid;
    place-items: center;
    width: 16mm;
    height: 16mm;
    background: #f0c44a;
    color: #111;
    font-size: 9pt;
    font-weight: 800;
    letter-spacing: 0.04em;
    line-height: 1;
}
.cv-template-sunnyedit .sun-id .sun-role {
    margin: 0 0 1mm;
    font-size: 8pt;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #222;
}
.cv-template-sunnyedit .sun-mast h1 {
    margin: 0 0 2.5mm;
    font-size: 22pt;
    line-height: 1.05;
    letter-spacing: 0.02em;
}
.cv-template-sunnyedit .sun-contacts .studio-contacts {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 1.4mm;
    font-size: 7.5pt;
}
.cv-template-sunnyedit .sun-summary {
    margin: 0;
    min-width: 0;
}
.cv-template-sunnyedit .sun-summary p { margin: 0; }
.cv-template-sunnyedit .sun-photo {
    width: 36mm;
    height: 42mm;
    margin: 0;
    overflow: hidden;
    background: transparent;
    border-radius: 2mm;
}
.cv-template-sunnyedit .sun-photo .cv-photo,
.cv-template-sunnyedit .sun-photo .cv-initials {
    width: 100%;
    height: 100%;
    border-radius: 2mm;
    border: 0;
    object-fit: cover;
    object-position: center top;
}
.cv-template-sunnyedit .sun-timeline .studio-job {
    display: grid;
    grid-template-columns: 18mm minmax(0, 1fr);
    gap: 3mm;
    align-items: start;
}
.cv-template-sunnyedit .sun-timeline time {
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    color: #111;
}

/* 11. Lime Fresh */
.cv-template-limefresh {
    --studio-accent: #111;
    --studio-aside: 38%;
    --studio-page: #f7f6f1;
    --studio-text: #2a2a2a;
    --fresh: #8fd400;
    position: relative;
    padding: 9mm 9mm 0;
    color: #2a2a2a;
    background: #f7f6f1;
    grid-template-columns: minmax(0, 38%) minmax(0, 62%);
}
.cv-template-limefresh::before,
.cv-template-limefresh::after {
    content: "";
    position: absolute;
    left: 4mm;
    right: 4mm;
    z-index: 3;
    height: 3.2mm;
    pointer-events: none;
    background-image: radial-gradient(#8fd400 1.15mm, transparent 1.25mm);
    background-size: 4.2mm 3.2mm;
    background-repeat: repeat-x;
    background-position: center;
}
.cv-template-limefresh::before { top: 2.4mm; }
.cv-template-limefresh::after { bottom: 2.4mm; }
.cv-template-limefresh > aside {
    padding: 2mm 5mm 8mm 1mm;
}
.cv-template-limefresh > main {
    padding: 2mm 1mm 8mm 6mm;
}
.cv-template-limefresh h2 {
    margin: 0 0 3.2mm;
    color: #111;
    font-size: 11pt;
    letter-spacing: .1em;
}
.cv-template-limefresh .fresh-mast {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44mm;
    gap: 3mm 6mm;
    align-items: start;
    margin: 0 0 2.5mm;
    padding: 2mm 0 0;
    background: transparent;
}
.cv-template-limefresh .fresh-edge {
    position: absolute;
    top: 14mm;
    z-index: 2;
    width: 7mm;
    height: 14mm;
    background: var(--fresh);
    pointer-events: none;
}
.cv-template-limefresh .fresh-edge-left {
    left: -9mm;
    border-radius: 0 7mm 7mm 0;
}
.cv-template-limefresh .fresh-edge-right {
    right: -9mm;
    border-radius: 7mm 0 0 7mm;
}
.cv-template-limefresh .fresh-id {
    position: relative;
    z-index: 1;
    align-self: start;
    min-width: 0;
    padding: 5.5mm 7.5mm 4.5mm;
    color: #fff;
    background: var(--fresh);
    border-radius: 2.5mm 2.5mm 11mm 2.5mm;
}
.cv-template-limefresh .fresh-id h1 {
    margin: 0;
    font-size: 21pt;
    line-height: 1.05;
    letter-spacing: .04em;
}
.cv-template-limefresh .fresh-role {
    margin: 2.2mm 0 0;
    padding: 2.2mm 0 0;
    border-top: 1px solid rgba(255, 255, 255, .85);
    font-size: 9.5pt;
    font-weight: 600;
    letter-spacing: .14em;
}
.cv-template-limefresh .fresh-summary {
    margin: 2.4mm 0 0;
    max-width: none;
}
.cv-template-limefresh .fresh-summary,
.cv-template-limefresh .fresh-summary p {
    margin: 0;
    color: #fff;
    font-size: 8.3pt;
    line-height: 1.45;
}
.cv-template-limefresh .fresh-photo-wrap {
    position: relative;
    z-index: 1;
    display: grid;
    align-self: center;
    place-items: center;
    width: 100%;
    padding-top: 1mm;
}
.cv-template-limefresh .fresh-photo {
    width: 40mm;
    height: 40mm;
    overflow: hidden;
    border: 1.6mm solid #fff;
    border-radius: 50%;
    background: #d0d0d0;
    box-shadow: 0 0 0 1.3mm var(--fresh);
}
.cv-template-limefresh .fresh-photo .cv-photo,
.cv-template-limefresh .fresh-photo .cv-initials {
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: 50%;
    object-fit: cover;
    object-position: center 18%;
    filter: grayscale(1);
}
.cv-template-limefresh .fresh-contacts {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2mm 4mm;
    margin: 0 0 0.5mm;
}
.cv-template-limefresh .fresh-contacts span {
    display: flex;
    gap: 2mm;
    align-items: center;
    min-width: 0;
    color: #444;
    font-size: 7.5pt;
}
.cv-template-limefresh .fresh-contacts em {
    min-width: 0;
    overflow: hidden;
    color: #444;
    font-style: normal;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.cv-template-limefresh .fresh-contacts b {
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    width: 6.2mm;
    height: 6.2mm;
    color: #fff;
    background: var(--fresh);
    border-radius: 50%;
}
.cv-template-limefresh .fresh-contacts .cv-design-icon {
    color: #fff;
    font-size: 7.5pt;
}
.cv-template-limefresh .fresh-edu time,
.cv-template-limefresh .fresh-job-head time {
    color: #111;
    font-size: 9pt;
    font-weight: 800;
}
.cv-template-limefresh .fresh-edu h3,
.cv-template-limefresh .fresh-job-head h3 {
    margin: 0.6mm 0 0;
    font-size: 9.5pt;
}
.cv-template-limefresh .fresh-job-head {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5mm 3mm;
    align-items: baseline;
}
.cv-template-limefresh .fresh-jobs .cv-bullets,
.cv-template-limefresh .fresh-jobs .cv-rich-text ul,
.cv-template-limefresh .fresh-projects .cv-bullets,
.cv-template-limefresh .fresh-projects .cv-rich-text ul {
    padding-left: 4mm;
}
.cv-template-limefresh .fresh-jobs .cv-bullets li::marker,
.cv-template-limefresh .fresh-jobs .cv-rich-text li::marker,
.cv-template-limefresh .fresh-projects .cv-bullets li::marker,
.cv-template-limefresh .fresh-projects .cv-rich-text li::marker {
    color: var(--fresh);
}
.cv-template-limefresh .fresh-meter {
    display: grid;
    grid-template-columns: minmax(18mm, 28%) minmax(0, 1fr) auto;
    gap: 2mm;
    align-items: center;
    margin: 0 0 3.2mm;
}
.cv-template-limefresh .fresh-meter span {
    color: #222;
    font-size: 8pt;
    font-weight: 600;
}
.cv-template-limefresh .fresh-meter-track {
    position: relative;
    height: 0;
    border-top: 1.1px solid #111;
}
.cv-template-limefresh .fresh-meter-track b {
    position: absolute;
    top: 50%;
    width: 2.6mm;
    height: 2.6mm;
    background: var(--fresh);
    border-radius: 50%;
    transform: translate(-50%, -50%);
}
.cv-template-limefresh .fresh-meter em {
    color: #333;
    font-size: 7.5pt;
    font-style: normal;
    font-weight: 700;
}
.cv-template-limefresh .fresh-langs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 3mm;
    justify-items: center;
}
.cv-template-limefresh .fresh-lang {
    margin: 0;
    text-align: center;
}
.cv-template-limefresh .fresh-lang-ring {
    position: relative;
    display: grid;
    place-items: center;
    width: 22mm;
    height: 22mm;
}
.cv-template-limefresh .fresh-lang-ring::before {
    content: "";
    position: absolute;
    inset: 17%;
    z-index: 0;
    background: #111;
    border-radius: 50%;
}
.cv-template-limefresh .fresh-lang-ring-img,
.cv-template-limefresh .fresh-lang-fallback {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
}
.cv-template-limefresh .fresh-lang-fallback {
    background: #111;
}
.cv-template-limefresh .fresh-lang-ring b {
    position: relative;
    z-index: 1;
    color: #fff;
    font-size: 8pt;
    font-weight: 800;
    line-height: 1;
}
.cv-template-limefresh .fresh-lang figcaption {
    margin-top: 1.8mm;
    color: #222;
    font-size: 8pt;
    font-weight: 700;
}
.cv-template-limefresh .fresh-hobby-row {
    display: flex;
    flex-wrap: wrap;
    gap: 3mm;
}
.cv-template-limefresh .fresh-hobby b {
    display: grid;
    place-items: center;
    width: 10mm;
    height: 10mm;
    color: #111;
    background: var(--fresh);
    border-radius: 50%;
}
.cv-template-limefresh .fresh-hobby .cv-design-icon { color: #111; font-size: 9pt; }
.cv-template-limefresh .fresh-refs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4mm;
}
.cv-template-limefresh .fresh-ref h3 { font-size: 9.5pt; }
.cv-template-limefresh .fresh-ref em,
.cv-template-limefresh .fresh-ref p {
    display: block;
    margin: 0.8mm 0 0;
    color: #555;
    font-size: 8pt;
    font-style: normal;
}
.cv-template-limefresh > .fresh-footer {
    display: flex;
    flex-wrap: wrap;
    gap: 3mm 7mm;
    align-items: center;
    margin: 2mm -9mm 7mm;
    padding: 4mm 9mm;
    color: #fff;
    background: var(--fresh);
}
.cv-template-limefresh > .fresh-footer:empty { display: none; }
.cv-template-limefresh:has(+ .cv-page-continued) > .fresh-footer { display: none; }
.cv-template-limefresh .fresh-footer span {
    display: flex;
    gap: 2mm;
    align-items: center;
    color: #fff;
    font-size: 8pt;
}
.cv-template-limefresh .fresh-footer b {
    display: grid;
    place-items: center;
    width: 5.5mm;
    height: 5.5mm;
    color: var(--fresh);
    background: #fff;
    border-radius: 50%;
}
.cv-template-limefresh .fresh-footer .cv-design-icon { color: var(--fresh); font-size: 8pt; }
.cv-page-continued.cv-template-limefresh > .fresh-mast { display: none !important; }

/* 12. Neon Wave */
.cv-template-neonwave {
    --studio-accent: #00e7ff;
    --studio-aside: 34%;
    --studio-page: #0b1020;
    --studio-text: #f4f7ff;
    --studio-track: #2a3350;
    --neo-pink: #ff2bd6;
    color: #f4f7ff;
    background: #0b1020;
}
.cv-template-neonwave > aside {
    position: relative;
    color: #dce4ff;
    background: #121a2e;
    border-right: 1px solid rgba(0, 231, 255, 0.18);
}
.cv-template-neonwave > aside::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 2.8mm;
    background: var(--neo-pink);
}
.cv-template-neonwave > main {
    color: #eef2ff;
    background: #0b1020;
}
.cv-template-neonwave h1,
.cv-template-neonwave h3 { color: #fff; }
.cv-template-neonwave h2 {
    position: relative;
    margin-bottom: 3.5mm;
    padding-bottom: 1.8mm;
    color: #00e7ff;
    border-bottom: 1px solid rgba(0, 231, 255, 0.22);
}
.cv-template-neonwave h2::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 10mm;
    height: 2px;
    background: var(--neo-pink);
}
.cv-template-neonwave span,
.cv-template-neonwave em { color: #b8c4e0; }
.cv-template-neonwave time { color: #00e7ff; }
.cv-template-neonwave .neo-mast {
    position: relative;
    display: grid;
    grid-template-columns: 38mm minmax(0, 1fr);
    gap: 5mm 6mm;
    align-items: center;
    padding: 7mm 8mm 6mm;
    background: #0d1428;
    border-bottom: 1px solid rgba(0, 231, 255, 0.28);
}
.cv-template-neonwave .neo-accent {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 1.2mm;
    background: linear-gradient(90deg, var(--neo-pink), #00e7ff);
}
.cv-template-neonwave .neo-photo-wrap {
    grid-row: 1 / span 2;
    display: grid;
    place-items: center;
    align-self: center;
}
.cv-template-neonwave .neo-photo {
    width: 36mm;
    height: 36mm;
    overflow: hidden;
    border: 2px solid #0b1020;
    border-radius: 50%;
    background: #1a2238;
    box-shadow: 0 0 0 1.4mm #00e7ff, 0 0 0 2.6mm var(--neo-pink);
}
.cv-template-neonwave .neo-photo .cv-photo,
.cv-template-neonwave .neo-photo .cv-initials {
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: 50%;
    object-fit: cover;
    object-position: center 18%;
}
.cv-template-neonwave .neo-id { min-width: 0; }
.cv-template-neonwave .neo-role {
    margin: 0 0 1.5mm;
    color: #00e7ff;
    font-size: 8pt;
    font-weight: 700;
    letter-spacing: 0.14em;
}
.cv-template-neonwave .neo-mast h1 {
    margin: 0;
    font-size: 21pt;
    line-height: 1.05;
    letter-spacing: 0.04em;
}
.cv-template-neonwave .neo-summary {
    margin-top: 2.5mm;
    color: #c8d4ef;
    font-size: 8.3pt;
    line-height: 1.45;
}
.cv-template-neonwave .neo-contacts {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2mm 5mm;
    margin-top: 1mm;
}
.cv-template-neonwave .neo-contacts span {
    display: flex;
    gap: 2mm;
    align-items: center;
    min-width: 0;
    color: #dce4ff;
    font-size: 7.6pt;
}
.cv-template-neonwave .neo-contacts em {
    min-width: 0;
    overflow: hidden;
    color: #dce4ff;
    font-style: normal;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.cv-template-neonwave .neo-contacts b {
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    width: 6mm;
    height: 6mm;
    color: #0b1020;
    background: #00e7ff;
    border-radius: 50%;
}
.cv-template-neonwave .neo-contacts .cv-design-icon {
    color: #0b1020;
    font-size: 7.2pt;
}
.cv-template-neonwave .neo-meter {
    display: grid;
    grid-template-columns: minmax(16mm, 30%) minmax(0, 1fr) auto;
    gap: 2mm;
    align-items: center;
    margin: 0 0 3mm;
}
.cv-template-neonwave .neo-meter > span {
    color: #eef2ff;
    font-size: 8pt;
    font-weight: 600;
}
.cv-template-neonwave .neo-meter-track {
    position: relative;
    height: 2.4mm;
    overflow: hidden;
    background: #2a3350;
    border-radius: 99px;
}
.cv-template-neonwave .neo-meter-track > span {
    display: block;
    height: 100%;
    background: #00e7ff;
    border-radius: 99px;
}
.cv-template-neonwave .neo-meter em {
    color: #00e7ff;
    font-size: 7.5pt;
    font-style: normal;
    font-weight: 700;
}
.cv-template-neonwave .neo-langs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 3mm 2mm;
}
.cv-template-neonwave .neo-lang {
    margin: 0;
    text-align: center;
}
.cv-template-neonwave .neo-lang-ring {
    position: relative;
    display: grid;
    place-items: center;
    width: 22mm;
    height: 22mm;
    margin: 0 auto;
}
.cv-template-neonwave .neo-lang-ring::before {
    content: "";
    position: absolute;
    inset: 17%;
    z-index: 0;
    background: #0b1020;
    border-radius: 50%;
}
.cv-template-neonwave .neo-lang-ring-img,
.cv-template-neonwave .neo-lang-fallback {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
}
.cv-template-neonwave .neo-lang-fallback { background: #2a3350; }
.cv-template-neonwave .neo-lang-ring b {
    position: relative;
    z-index: 1;
    color: #fff;
    font-size: 8pt;
    font-weight: 800;
    line-height: 1;
}
.cv-template-neonwave .neo-lang figcaption {
    margin-top: 1.6mm;
    color: #eef2ff;
    font-size: 8pt;
    font-weight: 700;
}
.cv-template-neonwave .neo-hobbies {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 3mm;
}
.cv-template-neonwave .neo-hobby {
    display: grid;
    justify-items: center;
    gap: 1.2mm;
    text-align: center;
}
.cv-template-neonwave .neo-hobby b {
    display: grid;
    place-items: center;
    width: 10mm;
    height: 10mm;
    color: #0b1020;
    background: #00e7ff;
    border-radius: 50%;
}
.cv-template-neonwave .neo-hobby .cv-design-icon {
    color: #0b1020;
    font-size: 9pt;
}
.cv-template-neonwave .neo-hobby small {
    color: #b8c4e0;
    font-size: 7pt;
    line-height: 1.25;
}
.cv-template-neonwave .neo-refs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4mm;
}
.cv-template-neonwave .neo-refs .studio-ref em,
.cv-template-neonwave .neo-refs .studio-ref p {
    color: #b8c4e0;
}
.cv-template-neonwave > .neo-footer {
    display: flex;
    flex-wrap: wrap;
    gap: 3mm 7mm;
    align-items: center;
    margin: 0;
    padding: 4mm 8mm 7mm;
    color: #eef2ff;
    background: #121a2e;
    border-top: 1px solid rgba(0, 231, 255, 0.25);
}
.cv-template-neonwave > .neo-footer:empty { display: none; }
.cv-template-neonwave:has(+ .cv-page-continued) > .neo-footer { display: none; }
.cv-template-neonwave .neo-footer span {
    display: flex;
    gap: 2mm;
    align-items: center;
    color: #dce4ff;
    font-size: 7.8pt;
}
.cv-template-neonwave .neo-footer b {
    display: grid;
    place-items: center;
    width: 6mm;
    height: 6mm;
    color: #0b1020;
    background: var(--neo-pink);
    border-radius: 50%;
}
.cv-template-neonwave .neo-footer .cv-design-icon {
    color: #0b1020;
    font-size: 7.5pt;
}
.cv-page-continued.cv-template-neonwave > .neo-mast { display: none !important; }

/* 13. Gold Rail */
.cv-template-goldrail {
    --studio-accent: #c4a35a;
    --studio-aside: 34%;
    --studio-page: #f6f2e9;
    --studio-track: #e8e0d4;
    --gold: #c4a35a;
    --gold-dark: #9a7b3c;
    color: #2a2418;
    background: #f6f2e9;
}
.cv-template-goldrail > aside {
    position: relative;
    background: #f0ebe3;
    border-right: 1px solid rgba(196, 163, 90, 0.35);
}
.cv-template-goldrail > aside::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 2.4mm;
    background: var(--gold);
}
.cv-template-goldrail > main {
    background: #f6f2e9;
}
.cv-template-goldrail h2 {
    margin-bottom: 3.2mm;
    padding-bottom: 1.6mm;
    color: var(--gold-dark);
    font-size: 9.5pt;
    letter-spacing: 0.12em;
    border-bottom: 1.5px solid var(--gold);
}
.cv-template-goldrail time { color: var(--gold-dark); }
.cv-template-goldrail .gold-mast {
    position: relative;
    display: grid;
    grid-template-columns: 40mm minmax(0, 1fr);
    gap: 4mm 6mm;
    align-items: center;
    padding: 0 8mm 6mm;
    background: #fff;
    border-bottom: 2px solid var(--gold);
}
.cv-template-goldrail .gold-rule {
    grid-column: 1 / -1;
    height: 2.2mm;
    margin: 0 -8mm 5mm;
    background: var(--gold);
}
.cv-template-goldrail .gold-photo-wrap {
    grid-row: 2;
    display: grid;
    place-items: center;
    align-self: center;
}
.cv-template-goldrail .gold-photo {
    width: 38mm;
    height: 38mm;
    overflow: hidden;
    border: 2px solid #fff;
    border-radius: 50%;
    background: #ddd;
    box-shadow: 0 0 0 1.3mm var(--gold), 0 0 0 2.4mm #f0ebe3;
}
.cv-template-goldrail .gold-photo .cv-photo,
.cv-template-goldrail .gold-photo .cv-initials {
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: 50%;
    object-fit: cover;
    object-position: center 18%;
}
.cv-template-goldrail .gold-id {
    grid-row: 2;
    min-width: 0;
    align-self: center;
}
.cv-template-goldrail .gold-role {
    margin: 0 0 1.5mm;
    color: var(--gold-dark);
    font-size: 8pt;
    font-weight: 700;
    letter-spacing: 0.14em;
}
.cv-template-goldrail .gold-mast h1 {
    margin: 0;
    color: #2a2418;
    font-size: 21pt;
    line-height: 1.05;
    letter-spacing: 0.04em;
}
.cv-template-goldrail .gold-summary {
    margin-top: 3mm;
    padding: 3.5mm 4mm;
    color: #4a4030;
    background: #faf6ef;
    border-left: 2.5px solid var(--gold);
    border-radius: 0 2mm 2mm 0;
    font-size: 8.3pt;
    line-height: 1.45;
}
.cv-template-goldrail .gold-summary p { margin: 0; }
.cv-template-goldrail .gold-contacts {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2mm 5mm;
    margin-top: 1mm;
}
.cv-template-goldrail .gold-contacts span {
    display: flex;
    gap: 2mm;
    align-items: center;
    min-width: 0;
    color: #3a3228;
    font-size: 7.6pt;
}
.cv-template-goldrail .gold-contacts em {
    min-width: 0;
    overflow: hidden;
    color: #3a3228;
    font-style: normal;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.cv-template-goldrail .gold-contacts b {
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    width: 6mm;
    height: 6mm;
    color: #fff;
    background: var(--gold);
    border-radius: 50%;
}
.cv-template-goldrail .gold-contacts .cv-design-icon {
    color: #fff;
    font-size: 7.2pt;
}
.cv-template-goldrail .gold-meter {
    display: grid;
    grid-template-columns: minmax(16mm, 34%) minmax(0, 1fr) auto;
    gap: 2mm;
    align-items: center;
    margin: 0 0 3mm;
}
.cv-template-goldrail .gold-meter > span {
    color: #2a2418;
    font-size: 8pt;
    font-weight: 600;
}
.cv-template-goldrail .gold-meter-track {
    position: relative;
    height: 2.4mm;
    overflow: hidden;
    background: #e8e0d4;
    border-radius: 99px;
}
.cv-template-goldrail .gold-meter-track > span {
    display: block;
    height: 100%;
    background: var(--gold);
    border-radius: 99px;
}
.cv-template-goldrail .gold-meter em {
    color: var(--gold-dark);
    font-size: 7.5pt;
    font-style: normal;
    font-weight: 700;
}
.cv-template-goldrail .gold-langs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 3mm 2mm;
}
.cv-template-goldrail .gold-lang {
    margin: 0;
    text-align: center;
}
.cv-template-goldrail .gold-lang-ring {
    position: relative;
    display: grid;
    place-items: center;
    width: 20mm;
    height: 20mm;
    margin: 0 auto;
}
.cv-template-goldrail .gold-lang-ring::before {
    content: "";
    position: absolute;
    inset: 17%;
    z-index: 0;
    background: #fff;
    border-radius: 50%;
}
.cv-template-goldrail .gold-lang-ring-img,
.cv-template-goldrail .gold-lang-fallback {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
}
.cv-template-goldrail .gold-lang-fallback { background: #e8e0d4; }
.cv-template-goldrail .gold-lang-ring b {
    position: relative;
    z-index: 1;
    color: #2a2418;
    font-size: 7.5pt;
    font-weight: 800;
    line-height: 1;
}
.cv-template-goldrail .gold-lang figcaption {
    margin-top: 1.4mm;
    color: #2a2418;
    font-size: 7.8pt;
    font-weight: 700;
}
.cv-template-goldrail .gold-refs .studio-ref {
    margin: 0 0 3.5mm;
    padding: 0 0 3mm;
    border-bottom: 1px solid rgba(196, 163, 90, 0.25);
}
.cv-template-goldrail .gold-refs .studio-ref:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: 0;
}
.cv-template-goldrail .gold-ref h3 { font-size: 9pt; }
.cv-template-goldrail .gold-ref em,
.cv-template-goldrail .gold-ref p {
    display: block;
    margin: 0.8mm 0 0;
    color: #5a5040;
    font-size: 7.8pt;
    font-style: normal;
}
.cv-template-goldrail .gold-hobbies .studio-hobby b {
    color: #fff;
    background: var(--gold);
}
.cv-template-goldrail > .gold-footer {
    display: flex;
    flex-wrap: wrap;
    gap: 3mm 7mm;
    align-items: center;
    margin: 0;
    padding: 4mm 8mm;
    color: #2a2418;
    background: var(--gold);
}
.cv-template-goldrail > .gold-footer:empty { display: none; }
.cv-template-goldrail:has(+ .cv-page-continued) > .gold-footer { display: none; }
.cv-template-goldrail .gold-footer span {
    display: flex;
    gap: 2mm;
    align-items: center;
    color: #2a2418;
    font-size: 7.8pt;
}
.cv-template-goldrail .gold-footer b {
    display: grid;
    place-items: center;
    width: 6mm;
    height: 6mm;
    color: var(--gold);
    background: #fff;
    border-radius: 50%;
}
.cv-template-goldrail .gold-footer .cv-design-icon {
    color: var(--gold);
    font-size: 7.5pt;
}
.cv-template-goldrail.cv-gold-end {
    position: relative;
    min-height: 297mm;
    padding-bottom: 13mm;
    box-sizing: border-box;
}
.cv-template-goldrail.cv-gold-end > .gold-footer {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 3;
    margin: 0;
}
.cv-page-continued.cv-template-goldrail.cv-gold-end {
    height: 297mm;
    min-height: 297mm;
    max-height: 297mm;
}
.cv-page-continued.cv-template-goldrail > .gold-mast { display: none !important; }

/* 14. Tan Portrait */
.cv-template-tanportrait {
    --studio-accent: #c4a06a;
    --studio-aside: 34%;
    --studio-page: #f7f4ee;
    --studio-track: #e8ddd0;
    --tan: #c4a06a;
    --tan-dark: #9a7348;
    color: #2f281e;
    background: #f7f4ee;
}
.cv-template-tanportrait > aside {
    position: relative;
    background: #f1ebe3;
    border-right: 1px solid rgba(196, 160, 106, 0.35);
}
.cv-template-tanportrait > aside::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 2.4mm;
    background: var(--tan);
}
.cv-template-tanportrait > main {
    background: #f7f4ee;
}
.cv-template-tanportrait h2 {
    margin-bottom: 3.2mm;
    padding-bottom: 1.6mm;
    color: var(--tan-dark);
    font-size: 9.5pt;
    letter-spacing: 0.12em;
    border-bottom: 1.5px solid var(--tan);
}
.cv-template-tanportrait time { color: var(--tan-dark); }
.cv-template-tanportrait .tan-mast {
    position: relative;
    display: grid;
    grid-template-columns: 42mm minmax(0, 1fr);
    gap: 4mm 6mm;
    align-items: center;
    padding: 0 8mm 6mm;
    background: #fff;
    border-bottom: 2px solid var(--tan);
}
.cv-template-tanportrait .tan-accent {
    grid-column: 1 / -1;
    height: 2.2mm;
    margin: 0 -8mm 5mm;
    background: var(--tan);
}
.cv-template-tanportrait .tan-photo-wrap {
    grid-row: 2;
    display: grid;
    place-items: center;
    align-self: center;
}
.cv-template-tanportrait .tan-photo {
    width: 40mm;
    height: 48mm;
    overflow: hidden;
    border: 2px solid #fff;
    border-radius: 3mm;
    background: #ddd;
    box-shadow: 0 0 0 1.3mm var(--tan), 0 0 0 2.4mm #f1ebe3;
}
.cv-template-tanportrait .tan-photo .cv-photo,
.cv-template-tanportrait .tan-photo .cv-initials {
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: 2mm;
    object-fit: cover;
    object-position: center 15%;
}
.cv-template-tanportrait .tan-id {
    grid-row: 2;
    min-width: 0;
    align-self: center;
}
.cv-template-tanportrait .tan-hello {
    display: inline-block;
    margin: 0 0 2mm;
    padding: 1.2mm 3mm;
    color: #fff;
    background: var(--tan);
    border-radius: 1.5mm;
    font-size: 7.5pt;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.cv-template-tanportrait .tan-mast h1 {
    margin: 0;
    color: #2f281e;
    font-size: 21pt;
    line-height: 1.05;
    letter-spacing: 0.04em;
}
.cv-template-tanportrait .tan-role {
    margin: 1.5mm 0 0;
    color: var(--tan-dark);
    font-size: 8pt;
    font-weight: 700;
    letter-spacing: 0.14em;
}
.cv-template-tanportrait .tan-summary {
    margin-top: 3mm;
    padding: 3.5mm 4mm;
    color: #4a4030;
    background: #faf6ef;
    border-left: 2.5px solid var(--tan);
    border-radius: 0 2mm 2mm 0;
    font-size: 8.3pt;
    line-height: 1.45;
}
.cv-template-tanportrait .tan-summary p { margin: 0; }
.cv-template-tanportrait .tan-contacts {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2mm 5mm;
    margin-top: 1mm;
}
.cv-template-tanportrait .tan-contacts span {
    display: flex;
    gap: 2mm;
    align-items: center;
    min-width: 0;
    color: #3a3228;
    font-size: 7.6pt;
}
.cv-template-tanportrait .tan-contacts em {
    min-width: 0;
    overflow: hidden;
    color: #3a3228;
    font-style: normal;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.cv-template-tanportrait .tan-contacts b {
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    width: 6mm;
    height: 6mm;
    color: #fff;
    background: var(--tan);
    border-radius: 50%;
}
.cv-template-tanportrait .tan-contacts .cv-design-icon {
    color: #fff;
    font-size: 7.2pt;
}
.cv-template-tanportrait .tan-meter {
    display: grid;
    grid-template-columns: minmax(16mm, 34%) minmax(0, 1fr) auto;
    gap: 2mm;
    align-items: center;
    margin: 0 0 3mm;
}
.cv-template-tanportrait .tan-meter > span {
    color: #2f281e;
    font-size: 8pt;
    font-weight: 600;
}
.cv-template-tanportrait .tan-meter-track {
    position: relative;
    height: 2.4mm;
    overflow: hidden;
    background: #e8ddd0;
    border-radius: 99px;
}
.cv-template-tanportrait .tan-meter-track > span {
    display: block;
    height: 100%;
    background: var(--tan);
    border-radius: 99px;
}
.cv-template-tanportrait .tan-meter em {
    color: var(--tan-dark);
    font-size: 7.5pt;
    font-style: normal;
    font-weight: 700;
}
.cv-template-tanportrait .tan-langs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 3mm 2mm;
}
.cv-template-tanportrait .tan-lang {
    margin: 0;
    text-align: center;
}
.cv-template-tanportrait .tan-lang-ring {
    position: relative;
    display: grid;
    place-items: center;
    width: 20mm;
    height: 20mm;
    margin: 0 auto;
}
.cv-template-tanportrait .tan-lang-ring::before {
    content: "";
    position: absolute;
    inset: 17%;
    z-index: 0;
    background: #fff;
    border-radius: 50%;
}
.cv-template-tanportrait .tan-lang-ring-img,
.cv-template-tanportrait .tan-lang-fallback {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
}
.cv-template-tanportrait .tan-lang-fallback { background: #e8ddd0; }
.cv-template-tanportrait .tan-lang-ring b {
    position: relative;
    z-index: 1;
    color: #2f281e;
    font-size: 7.5pt;
    font-weight: 800;
    line-height: 1;
}
.cv-template-tanportrait .tan-lang figcaption {
    margin-top: 1.4mm;
    color: #2f281e;
    font-size: 7.8pt;
    font-weight: 700;
}
.cv-template-tanportrait .tan-refs .studio-ref {
    margin: 0 0 3.5mm;
    padding: 0 0 3mm;
    border-bottom: 1px solid rgba(196, 160, 106, 0.25);
}
.cv-template-tanportrait .tan-refs .studio-ref:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: 0;
}
.cv-template-tanportrait .tan-ref h3 { font-size: 9pt; }
.cv-template-tanportrait .tan-ref em,
.cv-template-tanportrait .tan-ref p {
    display: block;
    margin: 0.8mm 0 0;
    color: #5a5040;
    font-size: 7.8pt;
    font-style: normal;
}
.cv-template-tanportrait .tan-timeline .tan-entry {
    display: grid;
    grid-template-columns: 24mm minmax(0, 1fr);
    gap: 3mm;
    align-items: start;
    margin: 0 0 4mm;
}
.cv-template-tanportrait .tan-timeline .tan-date {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 10mm;
    padding: 1.5mm 2mm;
    color: #fff;
    background: var(--tan);
    border-radius: 2mm;
    font-size: 7.2pt;
    font-weight: 800;
    line-height: 1.25;
    text-align: center;
    writing-mode: horizontal-tb;
    transform: none;
}
.cv-template-tanportrait .tan-timeline .tan-date-empty {
    visibility: hidden;
    background: transparent;
}
.cv-template-tanportrait .tan-timeline .tan-entry-body h3 {
    margin: 0 0 0.8mm;
    font-size: 9.5pt;
}
.cv-template-tanportrait .tan-hobbies .studio-hobby b {
    color: #fff;
    background: var(--tan);
}
.cv-page-continued.cv-template-tanportrait > .tan-mast { display: none !important; }

/* 15. Navy Orange */
.cv-template-navyorange {
    --studio-accent: #16325c;
    --studio-aside: 34%;
    --studio-page: #f7f4ee;
    --studio-track: #d9d2c6;
    --navy: #16325c;
    --navy-orange: #ef7a2a;
    color: #243041;
    background: #f7f4ee;
}
.cv-template-navyorange > aside {
    position: relative;
    background: #ece7dc;
    border-right: 1px solid rgba(22, 50, 92, 0.18);
}
.cv-template-navyorange > aside::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 2.4mm;
    background: var(--navy-orange);
}
.cv-template-navyorange > main { background: #f7f4ee; }
.cv-template-navyorange h2 {
    margin-bottom: 3.2mm;
    padding-bottom: 1.6mm;
    color: var(--navy);
    font-size: 9.5pt;
    letter-spacing: 0.12em;
    border-bottom: 1.5px solid var(--navy-orange);
}
.cv-template-navyorange time { color: var(--navy-orange); }
.cv-template-navyorange .navy-mast {
    position: relative;
    display: grid;
    grid-template-columns: 40mm minmax(0, 1fr);
    gap: 4mm 6mm;
    align-items: center;
    padding: 0 8mm 6mm;
    background: #fff;
    border-bottom: 2px solid var(--navy);
}
.cv-template-navyorange .navy-accent {
    grid-column: 1 / -1;
    height: 2.2mm;
    margin: 0 -8mm 5mm;
    background: var(--navy-orange);
}
.cv-template-navyorange .navy-photo-wrap {
    grid-row: 2;
    display: grid;
    place-items: center;
    align-self: center;
}
.cv-template-navyorange .navy-photo {
    width: 36mm;
    height: 36mm;
    overflow: hidden;
    border: 2px solid #fff;
    border-radius: 50%;
    background: #ddd;
    box-shadow: 0 0 0 1.4mm var(--navy-orange), 0 0 0 2.6mm #ece7dc;
}
.cv-template-navyorange .navy-photo .cv-photo,
.cv-template-navyorange .navy-photo .cv-initials {
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: 50%;
    object-fit: cover;
    object-position: center 18%;
}
.cv-template-navyorange .navy-id {
    grid-row: 2;
    min-width: 0;
    align-self: center;
}
.cv-template-navyorange .navy-role {
    margin: 0 0 1.5mm;
    color: var(--navy-orange);
    font-size: 8pt;
    font-weight: 700;
    letter-spacing: 0.14em;
}
.cv-template-navyorange .navy-mast h1 {
    margin: 0;
    color: var(--navy);
    font-size: 21pt;
    line-height: 1.05;
    letter-spacing: 0.04em;
}
.cv-template-navyorange .navy-summary {
    margin-top: 3mm;
    padding: 3.5mm 4mm;
    color: #fff;
    background: var(--navy-orange);
    border-radius: 2.5mm;
    font-size: 8.3pt;
    line-height: 1.45;
}
.cv-template-navyorange .navy-summary p { margin: 0; color: #fff; }
.cv-template-navyorange .navy-contacts {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2mm 5mm;
    margin-top: 1mm;
}
.cv-template-navyorange .navy-contacts span {
    display: flex;
    gap: 2mm;
    align-items: center;
    min-width: 0;
    color: #243041;
    font-size: 7.6pt;
}
.cv-template-navyorange .navy-contacts em {
    min-width: 0;
    overflow: hidden;
    color: #243041;
    font-style: normal;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.cv-template-navyorange .navy-contacts b {
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    width: 6mm;
    height: 6mm;
    color: #fff;
    background: var(--navy);
    border-radius: 50%;
}
.cv-template-navyorange .navy-contacts .cv-design-icon {
    color: #fff;
    font-size: 7.2pt;
}
.cv-template-navyorange .navy-meter {
    display: grid;
    grid-template-columns: minmax(16mm, 34%) minmax(0, 1fr) auto;
    gap: 2mm;
    align-items: center;
    margin: 0 0 3mm;
}
.cv-template-navyorange .navy-meter > span {
    color: #243041;
    font-size: 8pt;
    font-weight: 600;
}
.cv-template-navyorange .navy-meter-track {
    height: 2.4mm;
    overflow: hidden;
    background: #d9d2c6;
    border-radius: 99px;
}
.cv-template-navyorange .navy-meter-track > span {
    display: block;
    height: 100%;
    background: var(--navy-orange);
    border-radius: 99px;
}
.cv-template-navyorange .navy-meter em {
    color: var(--navy);
    font-size: 7.5pt;
    font-style: normal;
    font-weight: 700;
}
.cv-template-navyorange .navy-langs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 3mm 2mm;
}
.cv-template-navyorange .navy-lang {
    margin: 0;
    text-align: center;
}
.cv-template-navyorange .navy-lang-ring {
    position: relative;
    display: grid;
    place-items: center;
    width: 20mm;
    height: 20mm;
    margin: 0 auto;
}
.cv-template-navyorange .navy-lang-ring::before {
    content: "";
    position: absolute;
    inset: 17%;
    z-index: 0;
    background: #fff;
    border-radius: 50%;
}
.cv-template-navyorange .navy-lang-ring-img,
.cv-template-navyorange .navy-lang-fallback {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
}
.cv-template-navyorange .navy-lang-fallback { background: #d9d2c6; }
.cv-template-navyorange .navy-lang-ring b {
    position: relative;
    z-index: 1;
    color: #243041;
    font-size: 7.5pt;
    font-weight: 800;
    line-height: 1;
}
.cv-template-navyorange .navy-lang figcaption {
    margin-top: 1.4mm;
    color: #243041;
    font-size: 7.8pt;
    font-weight: 700;
}
.cv-template-navyorange .navy-refs .studio-ref {
    margin: 0 0 3.5mm;
    padding: 0 0 3mm;
    border-bottom: 1px solid rgba(22, 50, 92, 0.15);
}
.cv-template-navyorange .navy-refs .studio-ref:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: 0;
}
.cv-template-navyorange .navy-ref h3 { font-size: 9pt; color: var(--navy); }
.cv-template-navyorange .navy-ref em,
.cv-template-navyorange .navy-ref p {
    display: block;
    margin: 0.8mm 0 0;
    color: #5a5040;
    font-size: 7.8pt;
    font-style: normal;
}
.cv-template-navyorange .navy-hobbies .studio-hobby b {
    color: #fff;
    background: var(--navy);
}
.cv-template-navyorange > .navy-footer {
    display: flex;
    flex-wrap: wrap;
    gap: 3mm 7mm;
    align-items: center;
    margin: 0;
    padding: 4mm 8mm;
    color: #fff;
    background: var(--navy);
}
.cv-template-navyorange > .navy-footer:empty { display: none; }
.cv-template-navyorange:has(+ .cv-page-continued) > .navy-footer { display: none; }
.cv-template-navyorange .navy-footer span {
    display: flex;
    gap: 2mm;
    align-items: center;
    color: #fff;
    font-size: 7.8pt;
}
.cv-template-navyorange .navy-footer b {
    display: grid;
    place-items: center;
    width: 6mm;
    height: 6mm;
    color: var(--navy);
    background: var(--navy-orange);
    border-radius: 50%;
}
.cv-template-navyorange .navy-footer .cv-design-icon {
    color: var(--navy);
    font-size: 7.5pt;
}
.cv-page-continued.cv-template-navyorange > .navy-mast { display: none !important; }

/* 16. Neon Arcade */
.cv-template-neonarcade {
    --studio-accent: #ff4fd8;
    --studio-aside: 34%;
    --studio-page: #2a1638;
    --studio-text: #fff;
    --studio-track: #4a3160;
    --arcade-pink: #ff4fd8;
    --arcade-cyan: #47c5ff;
    --arcade-yellow: #ffe08a;
    color: #fff;
    background: #2a1638;
}
.cv-template-neonarcade > aside {
    position: relative;
    background: #22122e;
    border-right: 1px solid rgba(71, 197, 255, 0.22);
}
.cv-template-neonarcade > aside::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 2.4mm;
    background: var(--arcade-pink);
}
.cv-template-neonarcade > main { background: #2a1638; }
.cv-template-neonarcade h1,
.cv-template-neonarcade h3 { color: #fff; }
.cv-template-neonarcade h2 {
    margin-bottom: 3.2mm;
    padding-bottom: 1.6mm;
    color: var(--arcade-yellow);
    font-size: 9.5pt;
    letter-spacing: 0.12em;
    border-bottom: 2px solid var(--arcade-cyan);
}
.cv-template-neonarcade span,
.cv-template-neonarcade em { color: #d9c7ef; }
.cv-template-neonarcade time {
    display: inline-block;
    padding: 0.8mm 3mm;
    color: #2a1638;
    background: var(--arcade-yellow);
    border-radius: 99px;
    font-weight: 800;
}
.cv-template-neonarcade .arcade-mast {
    position: relative;
    display: grid;
    grid-template-columns: 40mm minmax(0, 1fr);
    gap: 4mm 6mm;
    align-items: center;
    padding: 0 8mm 6mm;
    background: #1d0f28;
    border-bottom: 2px solid var(--arcade-cyan);
}
.cv-template-neonarcade .arcade-accent {
    grid-column: 1 / -1;
    height: 2.2mm;
    margin: 0 -8mm 5mm;
    background: var(--arcade-pink);
}
.cv-template-neonarcade .arcade-photo-wrap {
    grid-row: 2;
    display: grid;
    place-items: center;
    align-self: center;
}
.cv-template-neonarcade .arcade-photo {
    width: 36mm;
    height: 36mm;
    overflow: hidden;
    border: 2px solid #1d0f28;
    border-radius: 50%;
    background: #111;
    box-shadow: 0 0 0 1.4mm var(--arcade-pink), 0 0 0 2.6mm var(--arcade-cyan);
}
.cv-template-neonarcade .arcade-photo .cv-photo,
.cv-template-neonarcade .arcade-photo .cv-initials {
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: 50%;
    object-fit: cover;
    object-position: center 18%;
}
.cv-template-neonarcade .arcade-id {
    grid-row: 2;
    min-width: 0;
    align-self: center;
}
.cv-template-neonarcade .arcade-role {
    margin: 0 0 1.5mm;
    color: var(--arcade-cyan);
    font-size: 8pt;
    font-weight: 700;
    letter-spacing: 0.14em;
}
.cv-template-neonarcade .arcade-mast h1 {
    margin: 0;
    font-size: 21pt;
    line-height: 1.05;
    letter-spacing: 0.04em;
}
.cv-template-neonarcade .arcade-summary {
    margin-top: 3mm;
    padding: 3.5mm 4mm;
    color: #fff;
    background: rgba(255, 79, 216, 0.18);
    border-left: 2.5px solid var(--arcade-pink);
    border-radius: 0 2mm 2mm 0;
    font-size: 8.3pt;
    line-height: 1.45;
}
.cv-template-neonarcade .arcade-summary p { margin: 0; color: #f3e9ff; }
.cv-template-neonarcade .arcade-contacts {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2mm 5mm;
    margin-top: 1mm;
}
.cv-template-neonarcade .arcade-contacts span {
    display: flex;
    gap: 2mm;
    align-items: center;
    min-width: 0;
    color: #f3e9ff;
    font-size: 7.6pt;
}
.cv-template-neonarcade .arcade-contacts em {
    min-width: 0;
    overflow: hidden;
    color: #f3e9ff;
    font-style: normal;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.cv-template-neonarcade .arcade-contacts b {
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    width: 6mm;
    height: 6mm;
    color: #2a1638;
    background: var(--arcade-pink);
    border-radius: 50%;
}
.cv-template-neonarcade .arcade-contacts .cv-design-icon {
    color: #2a1638;
    font-size: 7.2pt;
}
.cv-template-neonarcade .arcade-meter {
    display: grid;
    grid-template-columns: minmax(16mm, 34%) minmax(0, 1fr) auto;
    gap: 2mm;
    align-items: center;
    margin: 0 0 3mm;
}
.cv-template-neonarcade .arcade-meter > span {
    color: #fff;
    font-size: 8pt;
    font-weight: 600;
}
.cv-template-neonarcade .arcade-meter-track {
    height: 2.4mm;
    overflow: hidden;
    background: #4a3160;
    border-radius: 99px;
}
.cv-template-neonarcade .arcade-meter-track > span {
    display: block;
    height: 100%;
    background: var(--arcade-cyan);
    border-radius: 99px;
}
.cv-template-neonarcade .arcade-meter em {
    color: var(--arcade-yellow);
    font-size: 7.5pt;
    font-style: normal;
    font-weight: 700;
}
.cv-template-neonarcade .arcade-langs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 3mm 2mm;
}
.cv-template-neonarcade .arcade-lang {
    margin: 0;
    text-align: center;
}
.cv-template-neonarcade .arcade-lang-ring {
    position: relative;
    display: grid;
    place-items: center;
    width: 20mm;
    height: 20mm;
    margin: 0 auto;
}
.cv-template-neonarcade .arcade-lang-ring::before {
    content: "";
    position: absolute;
    inset: 17%;
    z-index: 0;
    background: #2a1638;
    border-radius: 50%;
}
.cv-template-neonarcade .arcade-lang-ring-img,
.cv-template-neonarcade .arcade-lang-fallback {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
}
.cv-template-neonarcade .arcade-lang-fallback { background: #4a3160; }
.cv-template-neonarcade .arcade-lang-ring b {
    position: relative;
    z-index: 1;
    color: #fff;
    font-size: 7.5pt;
    font-weight: 800;
    line-height: 1;
}
.cv-template-neonarcade .arcade-lang figcaption {
    margin-top: 1.4mm;
    color: #fff;
    font-size: 7.8pt;
    font-weight: 700;
}
.cv-template-neonarcade .arcade-refs .studio-ref {
    margin: 0 0 3.5mm;
    padding: 0 0 3mm;
    border-bottom: 1px solid rgba(71, 197, 255, 0.2);
}
.cv-template-neonarcade .arcade-refs .studio-ref:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: 0;
}
.cv-template-neonarcade .arcade-ref h3 { font-size: 9pt; color: var(--arcade-yellow); }
.cv-template-neonarcade .arcade-ref em,
.cv-template-neonarcade .arcade-ref p {
    display: block;
    margin: 0.8mm 0 0;
    color: #d9c7ef;
    font-size: 7.8pt;
    font-style: normal;
}
.cv-template-neonarcade .arcade-hobbies .studio-hobby b {
    color: #2a1638;
    background: var(--arcade-yellow);
}
.cv-template-neonarcade > .arcade-footer {
    display: flex;
    flex-wrap: wrap;
    gap: 3mm 7mm;
    align-items: center;
    margin: 0;
    padding: 4mm 8mm;
    color: #fff;
    background: var(--arcade-pink);
}
.cv-template-neonarcade > .arcade-footer:empty { display: none; }
.cv-template-neonarcade:has(+ .cv-page-continued) > .arcade-footer { display: none; }
.cv-template-neonarcade .arcade-footer span {
    display: flex;
    gap: 2mm;
    align-items: center;
    color: #fff;
    font-size: 7.8pt;
}
.cv-template-neonarcade .arcade-footer b {
    display: grid;
    place-items: center;
    width: 6mm;
    height: 6mm;
    color: var(--arcade-pink);
    background: #fff;
    border-radius: 50%;
}
.cv-template-neonarcade .arcade-footer .cv-design-icon {
    color: var(--arcade-pink);
    font-size: 7.5pt;
}
.cv-page-continued.cv-template-neonarcade > .arcade-mast { display: none !important; }

/* Studio Pro family: 25 structural design systems × unique flavor fingerprints */
.cv-template-studio-pro {
    --studio-accent: var(--pro-accent, #1d4ed8);
    --studio-aside: var(--pro-aside-pct, 34%);
    --studio-page: var(--pro-page, #fff);
    --studio-text: var(--pro-text, #222);
    --studio-track: var(--pro-track, #d9dee8);
    color: var(--pro-text, #222);
    background: var(--pro-page, #fff);
}
.cv-template-studio-pro.cv-cols-left {
    grid-template-columns: minmax(0, var(--pro-aside-pct, 34%)) minmax(0, 1fr);
}
.cv-template-studio-pro.cv-cols-right {
    grid-template-columns: minmax(0, 1fr) minmax(0, var(--pro-aside-pct, 34%));
}
.cv-template-studio-pro.cv-cols-single {
    grid-template-columns: minmax(0, 1fr);
}
/* Two-column: stretch sidebar rail to the full page body (preview + print). */
.cv-template-studio-pro:not(.cv-cols-single) {
    align-content: stretch;
    align-items: stretch;
    grid-template-rows: auto minmax(0, 1fr) auto;
}
.cv-template-studio-pro:not(.cv-cols-single).cv-pro-end {
    grid-template-rows: auto minmax(0, 1fr);
}
.cv-page-continued.cv-template-studio-pro:not(.cv-cols-single) {
    grid-template-rows: minmax(0, 1fr) auto;
}
.cv-page-continued.cv-template-studio-pro:not(.cv-cols-single).cv-pro-end {
    grid-template-rows: minmax(0, 1fr);
}
.cv-template-studio-pro:not(.cv-cols-single) > aside,
.cv-template-studio-pro:not(.cv-cols-single) > main {
    align-self: stretch;
    min-height: 0;
    height: auto;
}
.cv-template-studio-pro > aside {
    position: relative;
    background: var(--pro-aside, #f3f4f6);
}
.cv-template-studio-pro > aside::before,
.cv-template-studio-pro > aside::after {
    pointer-events: none;
}
.cv-template-studio-pro.cv-cols-left > aside {
    border-right: 1px solid var(--pro-track, #d9dee8);
}
.cv-template-studio-pro.cv-cols-right > aside {
    border-left: 1px solid var(--pro-track, #d9dee8);
}
/* Page-2 continued pages force aside→col1/main→col2; reverse that for right-rail only. */
.cv-continued-columns.cv-template-studio-pro.cv-cols-right > main {
    grid-column: 1 !important;
}
.cv-continued-columns.cv-template-studio-pro.cv-cols-right > aside {
    grid-column: 2 !important;
}
/* Single-column templates: keep sections stacked; put section ITEMS in 2 columns. */
.cv-template-studio-pro.cv-cols-single > main.pro-single .pro-edu,
.cv-template-studio-pro.cv-cols-single > main.pro-single .pro-skills,
.cv-template-studio-pro.cv-cols-single > main.pro-single .pro-certs,
.cv-template-studio-pro.cv-cols-single > main.pro-single .pro-awards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 7mm;
    row-gap: 2.5mm;
    align-items: start;
}
.cv-template-studio-pro.cv-cols-single > main.pro-single .pro-edu > h2,
.cv-template-studio-pro.cv-cols-single > main.pro-single .pro-skills > h2,
.cv-template-studio-pro.cv-cols-single > main.pro-single .pro-certs > h2,
.cv-template-studio-pro.cv-cols-single > main.pro-single .pro-awards > h2 {
    grid-column: 1 / -1;
    margin-bottom: 2mm;
}
.cv-template-studio-pro.cv-cols-single > main.pro-single .pro-lang-lines {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 7mm;
    row-gap: 2mm;
}
.cv-template-studio-pro.cv-cols-single > main.pro-single .pro-skills .pro-tags {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2mm 4mm;
}
.cv-template-studio-pro.cv-cols-single > main.pro-single .pro-skills .pro-skill-list {
    grid-column: 1 / -1;
    columns: 2;
    column-gap: 7mm;
    padding-left: 4mm;
    margin: 0;
}
.cv-template-studio-pro.cv-cols-single > main.pro-single .pro-skills .pro-meter {
    margin-bottom: 0;
}
.cv-template-studio-pro.cv-cols-single > main.pro-single .pro-edu .studio-edu,
.cv-template-studio-pro.cv-cols-single > main.pro-single .pro-certs .studio-cert,
.cv-template-studio-pro.cv-cols-single > main.pro-single .pro-awards .studio-award {
    margin: 0;
    min-width: 0;
}
.cv-template-studio-pro.cv-cols-single > main.pro-single .pro-refs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 7mm;
    row-gap: 2mm;
}
.cv-template-studio-pro > main,
.cv-template-studio-pro > main.pro-single {
    background: var(--pro-page, #fff);
}
.cv-template-studio-pro h1,
.cv-template-studio-pro h3 { color: var(--pro-text); }
.cv-template-studio-pro h2 {
    margin-bottom: 3.2mm;
    padding-bottom: 1.6mm;
    color: var(--pro-accent2);
    font-size: 9.5pt;
    letter-spacing: 0.12em;
    border-bottom: 1.5px solid var(--pro-accent);
}
.cv-template-studio-pro time { color: var(--pro-accent); }
.cv-template-studio-pro span,
.cv-template-studio-pro em { color: #555; }
.cv-template-studio-pro.cv-layout-asymmetric > aside,
.cv-template-studio-pro.cv-layout-asymmetric > aside * {
    color: #fff !important;
}
.cv-template-studio-pro.cv-layout-asymmetric > aside .pro-meter-track,
.cv-template-studio-pro.cv-layout-asymmetric > aside .studio-dot:not(.is-on) {
    color: transparent !important;
}

/* Shared mast / skills / contacts primitives */
.cv-template-studio-pro .pro-mast {
    position: relative;
    display: grid;
    gap: 4mm 6mm;
    align-items: center;
    padding: 5mm 8mm 6mm;
    color: var(--pro-mast-text);
    background: var(--pro-mast);
    border-bottom: 2px solid var(--pro-accent);
}
.cv-template-studio-pro .pro-mast.is-split-left {
    grid-template-columns: 40mm minmax(0, 1fr);
}
.cv-template-studio-pro .pro-mast.is-split-right {
    grid-template-columns: minmax(0, 1fr) 40mm;
}
.cv-template-studio-pro .pro-mast.is-no-photo.is-split-left,
.cv-template-studio-pro .pro-mast.is-no-photo.is-split-right,
.cv-template-studio-pro .pro-mast.is-no-photo.is-mast-summary,
.cv-template-studio-pro .pro-mast.is-no-photo.is-band {
    grid-template-columns: minmax(0, 1fr);
}
.cv-template-studio-pro .pro-mast.is-split-left .pro-contacts,
.cv-template-studio-pro .pro-mast.is-split-right .pro-contacts,
.cv-template-studio-pro .pro-mast.is-split-left .pro-summary,
.cv-template-studio-pro .pro-mast.is-split-right .pro-summary {
    grid-column: 1 / -1;
}
.cv-template-studio-pro .pro-mast.is-centered {
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
    text-align: center;
}
.cv-template-studio-pro .pro-mast.is-centered .pro-id,
.cv-template-studio-pro .pro-mast.is-centered .pro-summary,
.cv-template-studio-pro .pro-mast.is-centered .pro-contacts {
    justify-self: stretch;
    width: 100%;
    max-width: none;
}
.cv-template-studio-pro .pro-mast.is-centered .pro-summary {
    text-align: left;
}
.cv-template-studio-pro .pro-mast.is-centered .pro-contacts {
    justify-content: center;
}
.cv-template-studio-pro .pro-mast.is-band {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    color: var(--pro-mast-text);
    background: var(--pro-mast);
    border-bottom: 2.5px solid var(--pro-accent);
}
.cv-template-studio-pro .pro-mast.is-band.is-no-photo {
    grid-template-columns: minmax(0, 1fr);
}
.cv-template-studio-pro .pro-mast.is-band .pro-id {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 28mm;
    padding-bottom: 1mm;
    border-bottom: 1px solid var(--pro-track);
}
.cv-template-studio-pro .pro-mast.is-band .pro-summary,
.cv-template-studio-pro .pro-mast.is-band .pro-contacts {
    grid-column: 1 / -1;
}
.cv-template-studio-pro .pro-mast.is-band .pro-summary {
    color: var(--pro-mast-text, var(--pro-text));
    background: transparent;
    border: 0;
}
.cv-template-studio-pro .pro-mast.is-band .pro-summary p { color: inherit; }
.cv-template-studio-pro .pro-mast.is-band .pro-contacts b {
    color: var(--pro-on-accent);
    background: var(--pro-accent);
}
.cv-template-studio-pro .pro-mast.is-band .pro-contacts .cv-design-icon { color: var(--pro-on-accent); }
.cv-template-studio-pro .pro-mast.is-topbar {
    grid-template-columns: minmax(0, 1fr);
    gap: 3.5mm;
}
.cv-template-studio-pro .pro-mast.is-topbar .pro-contacts {
    order: 0;
    padding-top: 2.5mm;
    border-top: 1px solid var(--pro-track);
}
.cv-template-studio-pro .pro-mast.is-topbar .pro-id-row {
    display: grid;
    grid-template-columns: 36mm minmax(0, 1fr);
    gap: 5mm;
    align-items: center;
}
.cv-template-studio-pro .pro-mast.is-topbar.is-no-photo .pro-id-row {
    grid-template-columns: minmax(0, 1fr);
}
.cv-template-studio-pro .pro-mast.is-mast-summary {
    grid-template-columns: 38mm minmax(0, 1fr);
    gap: 4mm 6mm;
    align-items: center;
    padding: 6mm 8mm 5mm;
}
.cv-template-studio-pro .pro-mast.is-mast-summary .pro-id {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 1mm;
}
.cv-template-studio-pro .pro-mast.is-mast-summary .pro-mast-copy {
    grid-column: 1 / -1;
    display: grid;
    gap: 3mm;
    padding-top: 1mm;
    border-top: 1px solid var(--pro-track);
}
.cv-template-studio-pro .pro-mast.is-mast-summary .pro-summary {
    margin-top: 0;
    background: transparent;
    border-left: 0;
    border-radius: 0;
    padding: 0;
    color: var(--pro-mast-text, var(--pro-text));
}
.cv-template-studio-pro .pro-mast.is-mast-summary .pro-contacts {
    display: flex;
    flex-wrap: nowrap;
}
.cv-template-studio-pro .pro-mast.is-no-photo.is-mast-summary {
    grid-template-columns: minmax(0, 1fr);
}
.cv-template-studio-pro .pro-photo-wrap {
    display: grid;
    place-items: center;
}
.cv-template-studio-pro .pro-photo {
    width: 36mm;
    height: 36mm;
    overflow: hidden;
    border: 2px solid var(--pro-mast);
    border-radius: 50%;
    background: #ddd;
    box-shadow: 0 0 0 1.2mm var(--pro-accent);
}
.cv-template-studio-pro .pro-photo.is-rect {
    width: 34mm;
    height: 42mm;
    border-radius: 2.5mm;
}
.cv-template-studio-pro .pro-photo .cv-photo,
.cv-template-studio-pro .pro-photo .cv-initials {
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: inherit;
    object-fit: contain;
    object-position: center center;
}
.cv-template-studio-pro .pro-id { min-width: 0; }
.cv-template-studio-pro .pro-role {
    margin: 0 0 1.5mm;
    color: var(--pro-accent);
    font-size: 8pt;
    font-weight: 700;
    letter-spacing: 0.14em;
}
.cv-template-studio-pro .pro-mast h1 {
    margin: 0;
    color: inherit;
    font-size: 21pt;
    line-height: 1.05;
    letter-spacing: 0.04em;
}
.cv-template-studio-pro .pro-summary {
    margin-top: 3mm;
    padding: 3.2mm 4mm;
    color: var(--pro-text);
    background: var(--pro-aside);
    border-left: 2.5px solid var(--pro-accent);
    border-radius: 0 2mm 2mm 0;
    font-size: 8.3pt;
    line-height: 1.45;
}
.cv-template-studio-pro .pro-summary p { margin: 0; color: inherit; }
/* Summary sits on the mast: use mast text on a transparent panel, never white-on-light. */
.cv-template-studio-pro .pro-mast .pro-summary {
    margin-top: 1mm;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    color: var(--pro-mast-text, var(--pro-text));
    font-size: 8.6pt;
    line-height: 1.5;
    opacity: 1;
}
.cv-template-studio-pro .pro-mast .pro-summary p {
    color: inherit;
}
.cv-template-studio-pro .pro-mast.is-mast-summary .pro-summary,
.cv-layout-minimaltype .pro-mast .pro-summary {
    color: var(--pro-mast-text, var(--pro-text));
    opacity: 0.95;
}
.cv-template-studio-pro .pro-mast.is-topbar .pro-summary,
.cv-layout-banded .pro-mast .pro-summary {
    max-width: none;
    color: var(--pro-mast-text, var(--pro-text));
    background: transparent;
    border: 0;
}
.cv-template-studio-pro .pro-contacts {
    display: flex;
    flex-wrap: nowrap;
    gap: 2mm 5mm;
    align-items: center;
    width: 100%;
}
.cv-template-studio-pro .pro-mast.is-centered .pro-contacts {
    justify-content: center;
    width: 100%;
}
.cv-template-studio-pro .pro-contacts span {
    display: flex;
    flex: 1 1 0;
    gap: 2mm;
    align-items: center;
    min-width: 0;
    color: inherit;
    font-size: 7.6pt;
}
.cv-template-studio-pro .pro-contacts em {
    min-width: 0;
    overflow: hidden;
    color: inherit;
    font-style: normal;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.cv-template-studio-pro .pro-contacts b {
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    width: 6mm;
    height: 6mm;
    color: var(--pro-on-accent);
    background: var(--pro-accent);
    border-radius: 50%;
}
.cv-template-studio-pro .pro-contacts .cv-design-icon {
    color: var(--pro-on-accent);
    font-size: 7.2pt;
}
.cv-template-studio-pro .pro-meter {
    display: grid;
    grid-template-columns: minmax(16mm, 34%) minmax(0, 1fr) auto;
    gap: 2mm;
    align-items: center;
    margin: 0 0 3mm;
}
.cv-template-studio-pro .pro-meter > span {
    color: var(--pro-text);
    font-size: 8pt;
    font-weight: 600;
}
.cv-template-studio-pro .pro-meter-track {
    height: 2.4mm;
    overflow: hidden;
    background: var(--pro-track);
    border-radius: 99px;
}
.cv-template-studio-pro .pro-meter-track > span {
    display: block;
    height: 100%;
    background: var(--pro-accent);
    border-radius: 99px;
}
.cv-template-studio-pro .pro-meter em {
    color: var(--pro-accent2);
    font-size: 7.5pt;
    font-style: normal;
    font-weight: 700;
}
/* Circular proficiency dots (Sandstone Pro style) — no percentage */
.cv-template-studio-pro .studio-dots {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1.5mm 4mm;
    align-items: center;
    margin: 0 0 3.2mm;
}
.cv-template-studio-pro .studio-dots > span {
    color: var(--pro-text);
    font-size: 8pt;
    font-weight: 600;
}
.cv-template-studio-pro .studio-dots b {
    display: flex;
    flex: 0 0 auto;
    gap: 1.8mm;
    align-items: center;
}
.cv-template-studio-pro .studio-dot {
    display: inline-block;
    width: 3.4mm;
    height: 3.4mm;
    box-sizing: border-box;
    border: 1.5px solid var(--pro-accent);
    border-radius: 50%;
    background: transparent;
}
.cv-template-studio-pro .studio-dot.is-on {
    background: var(--pro-accent);
    border-color: var(--pro-accent);
}
.cv-template-studio-pro .pro-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 2mm;
}
.cv-template-studio-pro .pro-tag {
    padding: 1.2mm 2.8mm;
    color: var(--pro-text);
    background: var(--pro-page);
    border: 1px solid var(--pro-track);
    border-radius: 1.5mm;
    font-size: 7.6pt;
    font-weight: 600;
}
.cv-template-studio-pro .pro-skill-list {
    margin: 0;
    padding: 0 0 0 4mm;
}
.cv-template-studio-pro .pro-skill-list li {
    margin: 0 0 1.6mm;
    color: var(--pro-text);
    font-size: 8pt;
}
.cv-template-studio-pro .pro-langs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 3mm 2mm;
}
.cv-template-studio-pro .pro-lang { margin: 0; text-align: center; }
.cv-template-studio-pro .pro-lang-ring {
    position: relative;
    display: grid;
    place-items: center;
    width: 20mm;
    height: 20mm;
    margin: 0 auto;
}
.cv-template-studio-pro .pro-lang-ring::before {
    content: "";
    position: absolute;
    inset: 17%;
    z-index: 0;
    background: var(--pro-page);
    border-radius: 50%;
}
.cv-template-studio-pro .pro-lang-ring-img,
.cv-template-studio-pro .pro-lang-fallback {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
}
.cv-template-studio-pro .pro-lang-fallback { background: var(--pro-track); }
.cv-template-studio-pro .pro-lang-ring b {
    position: relative;
    z-index: 1;
    color: var(--pro-text);
    font-size: 7.5pt;
    font-weight: 800;
}
.cv-template-studio-pro .pro-lang figcaption {
    margin-top: 1.4mm;
    color: var(--pro-text);
    font-size: 7.8pt;
    font-weight: 700;
}
.cv-template-studio-pro .pro-lang-line {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1.2mm 3mm;
    margin: 0 0 3mm;
}
.cv-template-studio-pro .pro-lang-line span {
    color: var(--pro-text);
    font-size: 8pt;
    font-weight: 600;
}
.cv-template-studio-pro .pro-lang-line em {
    color: var(--pro-accent2);
    font-size: 7.4pt;
    font-style: normal;
}
.cv-template-studio-pro .pro-lang-line .pro-meter-track {
    grid-column: 1 / -1;
}
.cv-template-studio-pro .pro-refs .studio-ref {
    margin: 0 0 3.5mm;
    padding: 0 0 3mm;
    border-bottom: 1px solid var(--pro-track);
}
.cv-template-studio-pro .pro-refs .studio-ref:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: 0;
}
.cv-template-studio-pro .pro-ref h3 { font-size: 9pt; }
.cv-template-studio-pro .pro-ref em,
.cv-template-studio-pro .pro-ref p {
    display: block;
    margin: 0.8mm 0 0;
    font-size: 7.8pt;
    font-style: normal;
}
.cv-template-studio-pro .pro-hobbies .studio-hobby b {
    color: var(--pro-on-accent);
    background: var(--pro-accent);
}
.cv-template-studio-pro .pro-job { margin: 0 0 4.5mm; }
.cv-template-studio-pro .pro-job.is-timeline {
    display: grid;
    grid-template-columns: 28mm minmax(0, 1fr);
    gap: 3mm;
}
.cv-template-studio-pro .pro-job-rail {
    position: relative;
    padding-right: 3mm;
    border-right: 1.5px solid var(--pro-track);
}
.cv-template-studio-pro .pro-job-rail time {
    display: block;
    font-size: 7.4pt;
    font-weight: 700;
    line-height: 1.25;
}
.cv-template-studio-pro .pro-job-dot {
    display: inline-block;
    width: 3mm;
    height: 3mm;
    margin-top: 1.5mm;
    background: var(--pro-accent);
    border-radius: 50%;
}
.cv-template-studio-pro .pro-job.is-card {
    padding: 3.5mm 4mm;
    background: var(--pro-aside);
    border: 1px solid var(--pro-track);
    border-radius: 2.5mm;
}
.cv-template-studio-pro .pro-job-head {
    display: flex;
    flex-wrap: wrap;
    gap: 2mm 4mm;
    align-items: baseline;
    justify-content: space-between;
}
.cv-template-studio-pro .pro-job.is-compact h3 {
    font-size: 9.5pt;
}
.cv-template-studio-pro .pro-job.is-compact h3 em {
    font-weight: 500;
    font-style: normal;
}
.cv-template-studio-pro > .pro-footer {
    display: flex;
    flex-wrap: wrap;
    gap: 3mm 7mm;
    align-items: center;
    margin: 0;
    padding: 4mm 8mm;
    color: var(--pro-on-accent);
    background: var(--pro-accent2);
}
.cv-template-studio-pro > .pro-footer:empty { display: none; }
.cv-template-studio-pro:has(+ .cv-page-continued) > .pro-footer { display: none; }
.cv-template-studio-pro.cv-pro-end {
    position: relative;
    padding-bottom: 14mm !important;
    box-sizing: border-box;
}
.cv-template-studio-pro.cv-pro-end > .pro-footer:not(:empty) {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 5;
    margin: 0;
}
.cv-template-studio-pro .pro-footer span {
    display: flex;
    gap: 2mm;
    align-items: center;
    color: var(--pro-on-accent);
    font-size: 7.8pt;
}
.cv-template-studio-pro .pro-footer b {
    display: grid;
    place-items: center;
    width: 6mm;
    height: 6mm;
    color: var(--pro-accent2);
    background: #fff;
    border-radius: 50%;
}
.cv-template-studio-pro .pro-footer .cv-design-icon {
    color: var(--pro-accent2);
    font-size: 7.5pt;
}
.cv-page-continued.cv-template-studio-pro > .pro-mast { display: none !important; }

/* Single-column continued pages: match page-1 horizontal inset (avoid cv-continued-flow 16mm). */
.cv-page-continued.cv-continued-flow.cv-template-studio-pro {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-content: start;
    padding: 0 !important;
    padding-top: max(7mm, var(--cv-continued-page-padding-top, 7mm)) !important;
}
.cv-page-continued.cv-continued-flow.cv-template-studio-pro > main,
.cv-page-continued.cv-continued-flow.cv-template-studio-pro > main.pro-single {
    display: block !important;
    width: auto !important;
    padding: 5mm 7mm 8mm !important;
}
.cv-page-continued.cv-continued-flow.cv-layout-singleclean > main.pro-single {
    max-width: none;
    margin: 0;
    padding-left: 7mm !important;
    padding-right: 7mm !important;
}
.cv-page-continued.cv-continued-flow.cv-layout-minimaltype > main.pro-single {
    padding-left: 14mm !important;
    padding-right: 14mm !important;
}
.cv-page-continued.cv-continued-flow.cv-layout-traditional > main.pro-single {
    padding-left: 16mm !important;
    padding-right: 16mm !important;
}
.cv-page-continued.cv-continued-flow.cv-layout-consulting > main.pro-single {
    padding-left: 12mm !important;
    padding-right: 12mm !important;
}
.cv-page-continued.cv-continued-flow.cv-layout-elegant > main.pro-single {
    padding-left: 18mm !important;
    padding-right: 18mm !important;
}
.cv-page-continued.cv-continued-flow.cv-layout-banded > main.pro-single {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* ---- Per-system visual identity ---- */
.cv-layout-leftrail > aside::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 2.4mm;
    background: var(--pro-accent);
}

.cv-layout-rightrail > aside::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: 2.4mm;
    background: var(--pro-accent);
}
.cv-layout-rightrail h2 {
    border-bottom-style: dashed;
}

.cv-layout-singleclean .pro-mast {
    padding-bottom: 5mm;
    padding-left: 7mm;
    padding-right: 7mm;
}
.cv-layout-singleclean > main.pro-single {
    max-width: none;
    margin: 0;
    padding-left: 7mm;
    padding-right: 7mm;
}
.cv-layout-singleclean h2 {
    letter-spacing: 0.18em;
    border-bottom-width: 1px;
}

.cv-layout-timeline .pro-job.is-timeline .pro-job-rail {
    border-right-color: var(--pro-accent);
}
.cv-layout-timeline .pro-job.is-timeline .pro-job-rail::after {
    content: "";
    position: absolute;
    top: 1.5mm;
    right: -2.1mm;
    width: 3mm;
    height: 3mm;
    background: var(--pro-accent);
    border-radius: 50%;
}

.cv-layout-executive .pro-mast {
    padding-top: 7mm;
    padding-bottom: 7mm;
}
.cv-layout-executive h2 {
    display: inline-block;
    padding: 1.2mm 3mm;
    color: var(--pro-on-accent);
    background: var(--pro-accent2);
    border-bottom: 0;
    letter-spacing: 0.1em;
}

.cv-layout-minimaltype .pro-mast {
    border-bottom-width: 1px;
}
.cv-layout-minimaltype .pro-mast h1 {
    font-size: 26pt;
    letter-spacing: 0.08em;
    font-weight: 300;
}
.cv-layout-minimaltype .pro-role {
    letter-spacing: 0.28em;
    font-weight: 500;
}
.cv-layout-minimaltype .pro-summary {
    background: transparent;
    border-left: 0;
    padding-left: 0;
    color: var(--pro-mast-text, var(--pro-text));
}
.cv-layout-minimaltype h2 {
    border-bottom: 0;
    border-top: 1px solid var(--pro-track);
    padding-top: 2.5mm;
    letter-spacing: 0.22em;
    font-weight: 500;
}
.cv-layout-minimaltype > main.pro-single {
    padding-left: 14mm;
    padding-right: 14mm;
}

.cv-layout-editorial .pro-mast h1 {
    font-size: 24pt;
    line-height: 1;
}
.cv-layout-editorial .pro-summary {
    border-left-width: 4px;
    border-radius: 0;
    font-size: 9pt;
    line-height: 1.55;
}
.cv-layout-editorial > aside {
    background: var(--pro-page);
    border-right: 0;
}
.cv-layout-editorial > main {
    border-left: 1px solid var(--pro-track);
}

.cv-layout-compactpro > aside,
.cv-layout-compactpro > main {
    padding-top: 3.5mm;
    padding-bottom: 4mm;
}
.cv-layout-compactpro .pro-job { margin-bottom: 3mm; }
.cv-layout-compactpro h2 {
    margin-bottom: 2mm;
    font-size: 8.5pt;
}
.cv-layout-compactpro .pro-mast h1 { font-size: 18pt; }

.cv-layout-skillfocus > aside {
    background: var(--pro-aside);
}
.cv-layout-skillfocus > aside h2:first-of-type {
    color: var(--pro-on-accent);
    background: var(--pro-accent);
    border-bottom: 0;
    padding: 1.5mm 2.5mm;
    display: inline-block;
}
.cv-layout-skillfocus .pro-meter {
    grid-template-columns: minmax(0, 1fr);
}
.cv-layout-skillfocus .pro-meter em { justify-self: end; }

.cv-layout-headerfocus .pro-mast {
    min-height: 48mm;
    align-content: center;
}
.cv-layout-headerfocus .pro-mast h1 { font-size: 24pt; }
.cv-layout-headerfocus .pro-summary {
    font-size: 9pt;
}

.cv-layout-cardstack .pro-job.is-card {
    box-shadow: none;
    border-left: 3px solid var(--pro-accent);
}
.cv-layout-cardstack h2 {
    border-bottom: 0;
    letter-spacing: 0.08em;
}

.cv-layout-asymmetric.cv-cols-left {
    grid-template-columns: minmax(0, 28%) minmax(0, 1fr);
}
.cv-layout-asymmetric.cv-cols-right {
    grid-template-columns: minmax(0, 1fr) minmax(0, 28%);
}
.cv-layout-asymmetric > aside {
    background: var(--pro-accent2) !important;
    color: #fff !important;
    border-right: 0;
    border-left: 0;
}
.cv-layout-asymmetric > aside h2,
.cv-layout-asymmetric > aside h3,
.cv-layout-asymmetric > aside span,
.cv-layout-asymmetric > aside em,
.cv-layout-asymmetric > aside p,
.cv-layout-asymmetric > aside li,
.cv-layout-asymmetric > aside time,
.cv-layout-asymmetric > aside strong,
.cv-layout-asymmetric > aside b,
.cv-layout-asymmetric > aside figcaption,
.cv-layout-asymmetric > aside .studio-edu,
.cv-layout-asymmetric > aside .studio-award,
.cv-layout-asymmetric > aside .studio-cert,
.cv-layout-asymmetric > aside .pro-ref,
.cv-layout-asymmetric > aside .pro-meter > span,
.cv-layout-asymmetric > aside .pro-meter em,
.cv-layout-asymmetric > aside .studio-dots > span,
.cv-layout-asymmetric > aside .pro-lang-line span,
.cv-layout-asymmetric > aside .pro-lang-line em {
    color: #fff !important;
}
.cv-layout-asymmetric > aside h2 {
    border-bottom-color: rgba(255, 255, 255, 0.35);
}
.cv-layout-asymmetric .pro-meter-track { background: rgba(255, 255, 255, 0.25); }
.cv-layout-asymmetric .pro-meter-track > span { background: #fff; }
.cv-layout-asymmetric .studio-dot {
    border-color: rgba(255, 255, 255, 0.85);
    background: transparent;
}
.cv-layout-asymmetric .studio-dot.is-on {
    background: #fff;
    border-color: #fff;
}
.cv-layout-asymmetric .pro-tag {
    color: #fff !important;
    background: transparent;
    border-color: rgba(255, 255, 255, 0.4);
}

.cv-layout-traditional .pro-mast {
    border-bottom: 3px double var(--pro-accent2);
    text-align: left;
    justify-items: start;
}
.cv-layout-traditional .pro-mast h1 {
    font-size: 22pt;
    letter-spacing: 0.12em;
    text-align: left;
}
.cv-layout-traditional > main.pro-single {
    padding-left: 16mm;
    padding-right: 16mm;
}
.cv-layout-traditional h2 {
    text-align: left;
    border-bottom: 1px solid var(--pro-track);
}

.cv-layout-creativepro .pro-mast {
    border-bottom: 0;
    box-shadow: inset 0 -3.5mm 0 var(--pro-accent);
}
.cv-layout-creativepro > aside {
    border-right: 0;
    background: linear-gradient(180deg, var(--pro-aside) 0%, var(--pro-page) 100%);
}
.cv-layout-creativepro h2 {
    border-bottom: 0;
    padding-left: 2.5mm;
    border-left: 3px solid var(--pro-accent);
}

.cv-layout-techstack .pro-tag {
    border-radius: 99px;
    background: var(--pro-aside);
    border-color: transparent;
}
.cv-layout-techstack h2 {
    font-family: Consolas, "Courier New", monospace;
    letter-spacing: 0.06em;
    text-transform: none;
    border-bottom-style: dotted;
}
.cv-layout-techstack .pro-projects .pro-job {
    padding-bottom: 3mm;
    border-bottom: 1px dashed var(--pro-track);
}

.cv-layout-academic .pro-mast {
    border-bottom: 1px solid var(--pro-track);
}
.cv-layout-academic h2 {
    font-size: 9pt;
    letter-spacing: 0.16em;
    border-bottom-width: 1px;
}
.cv-layout-academic > aside .studio-edu {
    padding-bottom: 2.5mm;
    border-bottom: 1px solid var(--pro-track);
}

.cv-layout-finance .pro-job time {
    float: right;
    color: var(--pro-accent2);
    font-weight: 700;
}
.cv-layout-finance h2 {
    color: var(--pro-text);
    border-bottom: 2px solid var(--pro-text);
}
.cv-layout-finance .pro-mast {
    border-bottom: 2px solid var(--pro-text);
}

.cv-layout-consulting .pro-mast h1 {
    font-size: 28pt;
    letter-spacing: -0.01em;
}
.cv-layout-consulting .pro-role {
    color: var(--pro-accent2);
    letter-spacing: 0.2em;
}
.cv-layout-consulting > main.pro-single {
    padding-left: 12mm;
    padding-right: 12mm;
}
.cv-layout-consulting .pro-job h3 {
    font-size: 11pt;
}
.cv-layout-consulting h2 {
    border-bottom: 2px solid var(--pro-accent);
}

.cv-layout-portfolio .pro-photo.is-rect,
.cv-layout-portfolio .pro-photo {
    width: 38mm;
    height: 48mm;
    border-radius: 2mm;
}
.cv-layout-portfolio .pro-projects .pro-job {
    padding: 3mm;
    background: var(--pro-aside);
    border-radius: 2mm;
}

.cv-layout-gridboard > aside,
.cv-layout-gridboard > main {
    display: block;
}
.cv-layout-gridboard .studio-block {
    padding: 3mm;
    margin-bottom: 3mm;
    background: var(--pro-aside);
    border: 1px solid var(--pro-track);
    border-radius: 2mm;
}
.cv-layout-gridboard > main .studio-block {
    background: #fff;
}
.cv-layout-gridboard h2 {
    border-bottom: 0;
    margin-bottom: 2.5mm;
}

.cv-layout-elegant .pro-mast {
    border-bottom: 0;
    padding-bottom: 8mm;
}
.cv-layout-elegant .pro-mast h1 {
    font-size: 23pt;
    font-weight: 400;
    letter-spacing: 0.16em;
}
.cv-layout-elegant .pro-summary {
    background: transparent;
    border-left: 0;
    border-top: 1px solid var(--pro-track);
    border-radius: 0;
    padding-left: 0;
}
.cv-layout-elegant h2 {
    font-weight: 500;
    letter-spacing: 0.24em;
    border-bottom: 0;
    color: var(--pro-text);
}
.cv-layout-elegant > main.pro-single {
    padding-left: 18mm;
    padding-right: 18mm;
}

.cv-layout-densepro > aside,
.cv-layout-densepro > main {
    padding-top: 3mm;
    font-size: 8.2pt;
}
.cv-layout-densepro .pro-job { margin-bottom: 2.8mm; }
.cv-layout-densepro .pro-mast h1 { font-size: 17pt; }
.cv-layout-densepro h2 {
    margin-bottom: 1.8mm;
    font-size: 8pt;
}

.cv-layout-geometric .pro-mast {
    clip-path: none;
    padding-bottom: 6mm;
    background: var(--pro-mast);
    border-bottom: 2px solid var(--pro-accent);
}
.cv-layout-geometric > aside::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 3mm;
    background: var(--pro-accent);
}
.cv-layout-geometric h2 {
    border-bottom: 0;
    position: relative;
}
.cv-layout-geometric h2::after {
    content: "";
    display: block;
    width: 12mm;
    height: 2px;
    margin-top: 1.5mm;
    background: var(--pro-accent);
}

.cv-layout-visualtimeline .pro-job.is-timeline {
    grid-template-columns: 24mm minmax(0, 1fr);
}
.cv-layout-visualtimeline .pro-job-rail {
    border-right: 2.5px solid var(--pro-accent);
}
.cv-layout-visualtimeline .pro-job-body {
    padding: 2.5mm 3.5mm;
    background: var(--pro-aside);
    border-radius: 0 2mm 2mm 0;
}

.cv-layout-banded > main.pro-single {
    padding-left: 0;
    padding-right: 0;
}
.cv-layout-banded > main.pro-single > .studio-block {
    padding: 4mm 12mm;
    border-bottom: 1px solid var(--pro-track);
}
.cv-layout-banded > main.pro-single > .studio-block:nth-child(even) {
    background: var(--pro-aside);
}
.cv-layout-banded h2 {
    border-bottom: 0;
    color: var(--pro-accent2);
    background: transparent;
}
.cv-layout-banded .pro-mast {
    border-bottom: 2px solid var(--pro-accent);
    background: var(--pro-mast);
    color: var(--pro-mast-text);
}
.cv-layout-banded .pro-mast h1,
.cv-layout-banded .pro-role {
    color: inherit;
}
.cv-layout-banded .pro-contacts span,
.cv-layout-banded .pro-contacts em { color: inherit; }
.cv-layout-banded .pro-contacts b {
    color: var(--pro-on-accent);
    background: var(--pro-accent);
}
.cv-layout-banded .pro-contacts .cv-design-icon { color: var(--pro-on-accent); }
.cv-layout-banded .pro-mast .pro-summary,
.cv-layout-banded .pro-summary {
    color: var(--pro-mast-text, var(--pro-text));
    background: transparent;
    border: 0;
}
.cv-layout-banded .pro-summary p { color: inherit; }

.cv-template-quartzink .pro-mast .pro-summary {
    margin-top: 2mm;
    padding-top: 2.5mm;
    border-top: 1px solid rgba(255, 255, 255, 0.22);
    color: #f9fafb;
    font-size: 9pt;
    line-height: 1.55;
}

.cv-page img.cv-photo {
    object-fit: contain !important;
    object-position: center center !important;
}
