/* A4 page: 210mm × 297mm — preview matches PDF output */
.cv-page {
    --cv-continued-page-padding-top: 7mm; /* ~26px at 96dpi; page 2+ top inset only */
    width: 210mm;
    min-height: 297mm;
    background: #fff;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.15);
    box-sizing: border-box;
    font-size: 10pt;
    line-height: 1.45;
    color: #1e293b;
    overflow: hidden;
    page-break-after: always;
}

.cv-page:last-child {
    page-break-after: auto;
}

.cv-page.cv-flow-measure,
.cv-page.cv-flow-measure > aside,
.cv-page.cv-flow-measure > main,
.cv-page.cv-flow-measure > .cv-sidebar,
.cv-page.cv-flow-measure > .cv-main,
.cv-page.cv-flow-measure .joshua-card,
.cv-page.cv-flow-measure .joshua-card > aside,
.cv-page.cv-flow-measure .joshua-card > main {
    overflow: visible !important;
}

.cv-page.cv-flow-measure section,
.cv-page.cv-flow-measure article,
.cv-page.cv-flow-measure .cv-entry,
.cv-page.cv-flow-measure .cv-main-block,
.cv-page.cv-flow-measure .cv-min-block {
    flex-shrink: 0 !important;
}

.cv-page-continued {
    box-sizing: border-box;
    height: 297mm;
    min-height: 297mm;
    max-height: 297mm;
    padding-top: 0;
    align-content: stretch;
    align-items: stretch;
}

.cv-page-continued .cv-main-block,
.cv-page-continued .cv-continued-section,
.cv-page-continued section {
    margin-top: 0;
}

.cv-page-continued footer {
    margin-top: 0;
}

/* Keep sidebar/main chrome full-bleed on overflow pages. Pad content, not the page. */
.cv-continued-columns {
    padding-top: 0;
    grid-template-rows: minmax(0, 1fr);
}
.cv-continued-columns > .cv-sidebar,
.cv-continued-columns > aside {
    grid-row: 1 / -1 !important;
    grid-column: 1 !important;
    align-self: stretch !important;
    height: auto !important;
    min-height: 100% !important;
    max-height: none !important;
}

.cv-continued-columns > .cv-main,
.cv-continued-columns > main {
    grid-row: 1 / -1 !important;
    grid-column: 2 !important;
    align-self: stretch !important;
    height: auto !important;
    min-height: 100% !important;
    max-height: none !important;
}

.cv-page-continued.cv-template-joshua .joshua-card {
    height: 269mm;
    min-height: 269mm;
}

.cv-page-continued header,
.cv-page-continued h1,
.cv-page-continued .cv-photo-wrap,
.cv-page-continued .cv-photo,
.cv-page-continued .cv-initials,
.cv-page-continued .cv-name,
.cv-page-continued .cv-title,
.cv-page-continued .valeria-photo,
.cv-page-continued .valeria-title,
.cv-page-continued .valeria-contact,
.cv-page-continued .ankita-photo,
.cv-page-continued .charcoal-photo,
.cv-page-continued .charles-photo,
.cv-page-continued .aletha-photo,
.cv-page-continued .teal-photo,
.cv-page-continued .henrietta-photo,
.cv-page-continued .graphic-photo,
.cv-page-continued .estelle-photo,
.cv-page-continued .daryl-photo,
.cv-page-continued .rosien-id,
.cv-page-continued .rosien-dots,
.cv-page-continued .rosien-photo,
.cv-page-continued .rosien-banner {
    display: none !important;
}

.cv-muted {
    color: #64748b;
    font-size: 0.92em;
}

.cv-bullets {
    margin: 0.35rem 0 0.5rem 1.1rem;
    padding: 0;
}

.cv-bullets li {
    margin-bottom: 0.2rem;
}

/* Quill / rich experience text inside all CV templates */
.cv-page .cv-rich-text {
    margin-top: 1.5mm;
}
.cv-page .cv-rich-text p {
    margin: 0 0 1.5mm;
}
.cv-page .cv-rich-text p:last-child {
    margin-bottom: 0;
}
.cv-page .cv-rich-text ul,
.cv-page .cv-rich-text ol {
    margin: 1mm 0 1.5mm;
    padding-left: 4.5mm;
}
.cv-page .cv-rich-text li {
    margin: 0 0 1.2mm;
}
.cv-page .cv-rich-text strong,
.cv-page .cv-rich-text b {
    font-weight: 700;
}
.cv-page .cv-rich-text em,
.cv-page .cv-rich-text i {
    font-style: italic;
}
.cv-page .cv-rich-text u {
    text-decoration: underline;
}
.cv-page .cv-rich-text s,
.cv-page .cv-rich-text strike {
    text-decoration: line-through;
}
.cv-page .cv-rich-text a {
    color: inherit;
    text-decoration: underline;
}
.cv-page .cv-rich-text .ql-align-center { text-align: center; }
.cv-page .cv-rich-text .ql-align-right { text-align: right; }
.cv-page .cv-rich-text .ql-align-justify { text-align: justify; }
.cv-page .cv-rich-text .ql-indent-1 { padding-left: 3mm; }
.cv-page .cv-rich-text .ql-indent-2 { padding-left: 6mm; }
.cv-page .cv-rich-text .ql-indent-3 { padding-left: 9mm; }
.cv-page .cv-rich-text .ql-size-small { font-size: 8.5pt; }
.cv-page .cv-rich-text .ql-size-large { font-size: 12pt; }
.cv-page .cv-rich-text .ql-size-huge { font-size: 14pt; }
.cv-page .cv-rich-text blockquote {
    margin: 1.5mm 0;
    padding-left: 3mm;
    border-left: 1mm solid #94a3b8;
}
.cv-page .cv-rich-text img,
.cv-page .cv-rich-text video,
.cv-page .cv-rich-text iframe {
    max-width: 100%;
    max-height: 40mm;
}

/* Modern Professional */
.cv-template-modern {
    display: grid;
    grid-template-columns: 32% 68%;
    min-height: 297mm;
}

.cv-template-modern .cv-sidebar {
    background: #1e40af;
    color: #fff;
    padding: 1.25rem 1rem;
}

.cv-template-modern .cv-sidebar h3 {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    border-bottom: 1px solid rgba(255, 255, 255, 0.35);
    padding-bottom: 0.35rem;
    margin: 1rem 0 0.5rem;
}

.cv-template-modern .cv-sidebar h3:first-of-type {
    margin-top: 0.5rem;
}

.cv-template-modern .cv-name {
    font-size: 1.35rem;
    font-weight: 700;
    margin: 0.75rem 0 0.25rem;
    line-height: 1.2;
}

.cv-template-modern .cv-title {
    font-size: 0.85rem;
    opacity: 0.9;
    margin-bottom: 0.5rem;
}

.cv-template-modern .cv-sidebar-block div {
    font-size: 0.78rem;
    margin-bottom: 0.35rem;
    word-break: break-word;
}

.cv-template-modern .cv-main {
    padding: 1.25rem 1.35rem;
}

.cv-template-modern .cv-main h2 {
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #1e40af;
    border-bottom: 2px solid #1e40af;
    padding-bottom: 0.25rem;
    margin: 0 0 0.65rem;
}

.cv-template-modern .cv-main-block {
    margin-bottom: 1rem;
}

.cv-photo-wrap {
    display: flex;
    justify-content: center;
}

.cv-photo {
    width: 90px;
    height: 90px;
    border-radius: 50%;
    object-fit: contain;
    object-position: center center;
    border: 3px solid rgba(255, 255, 255, 0.5);
}

.cv-initials {
    width: 90px;
    height: 90px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.75rem;
    font-weight: 700;
}

.cv-photo-sm .cv-photo,
.cv-photo-sm .cv-initials {
    width: 64px;
    height: 64px;
    font-size: 1.25rem;
}

.cv-skill-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.cv-template-modern .cv-skill-tag {
    background: rgba(255, 255, 255, 0.15);
    border-radius: 4px;
    padding: 0.15rem 0.45rem;
    font-size: 0.75rem;
}

.cv-template-minimal .cv-skill-tag {
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    border-radius: 4px;
    padding: 0.15rem 0.45rem;
    font-size: 0.78rem;
}

.cv-lang-row {
    display: flex;
    justify-content: space-between;
    font-size: 0.78rem;
    margin-bottom: 0.25rem;
}

.cv-entry {
    margin-bottom: 0.75rem;
}

.cv-entry-head {
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
    align-items: flex-start;
}

.cv-date {
    white-space: nowrap;
    font-size: 0.85em;
    color: #64748b;
}

.cv-entry-sub {
    margin-bottom: 0.25rem;
}

.cv-cert {
    margin-bottom: 0.5rem;
    font-size: 0.78rem;
}

.cv-links span {
    display: block;
    font-size: 0.78rem;
    color: #64748b;
}

/* Minimal Executive */
.cv-template-minimal {
    padding: 1.35rem 1.5rem;
}

.cv-min-header {
    border-bottom: 2px solid #0f172a;
    padding-bottom: 0.75rem;
    margin-bottom: 1rem;
}

.cv-min-header-row {
    display: flex;
    gap: 1rem;
    align-items: center;
}

.cv-template-minimal .cv-name {
    font-size: 1.6rem;
    font-weight: 700;
    margin: 0;
    color: #0f172a;
}

.cv-template-minimal .cv-title {
    font-size: 0.95rem;
    color: #475569;
    margin: 0.15rem 0 0;
}

.cv-min-contact {
    font-size: 0.78rem;
    color: #64748b;
    margin: 0.5rem 0 0;
    word-break: break-word;
}

.cv-template-minimal h2 {
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #0f172a;
    border-bottom: 1px solid #cbd5e1;
    padding-bottom: 0.2rem;
    margin: 0 0 0.5rem;
}

.cv-min-block {
    margin-bottom: 1rem;
}

.cv-page-break {
    page-break-before: always;
}

/* Elegant Serif */
.cv-template-classic {
    padding: 1.5rem 1.7rem;
    color: #243447;
    font-family: Georgia, "Times New Roman", serif;
    background: #fffdf9;
}
.cv-template-classic .cv-min-header {
    text-align: center;
    border-bottom: 3px double #1e3a5f;
    padding-bottom: 0.9rem;
}
.cv-template-classic .cv-min-header-row { justify-content: center; }
.cv-template-classic .cv-name { color: #1e3a5f; font-size: 1.85rem; letter-spacing: .04em; }
.cv-template-classic h2 { color: #1e3a5f; border-bottom: 1px solid #7890a8; font-family: Arial, sans-serif; }
.cv-template-classic .cv-skill-tag { background: #f4efe5; border-color: #d9cfbd; }

/* Creative Accent */
.cv-template-creative { grid-template-columns: 35% 65%; color: #3d2f2b; }
.cv-template-creative .cv-sidebar { background: #e76f51; padding: 1.45rem 1.1rem; }
.cv-template-creative .cv-main { background: #fffaf7; }
.cv-template-creative .cv-main h2 { color: #c34f34; border-bottom-color: #f2b5a4; letter-spacing: .08em; }
.cv-template-creative .cv-photo,
.cv-template-creative .cv-initials { border-radius: 18px; }
.cv-template-creative .cv-skill-tag { border-radius: 999px; background: rgba(255,255,255,.22); }

/* Emerald Academic */
.cv-template-academic {
    padding: 1.45rem 1.65rem;
    color: #25352f;
    font-family: Georgia, "Times New Roman", serif;
}
.cv-template-academic .cv-min-header { border-bottom: 4px solid #28705a; }
.cv-template-academic .cv-name { color: #194f3f; }
.cv-template-academic h2 { color: #28705a; border-bottom: 2px solid #b9d7ca; }
.cv-template-academic .cv-entry { border-left: 2px solid #dbece4; padding-left: .65rem; }
.cv-template-academic .cv-skill-tag { background: #edf7f2; border-color: #c8e2d6; color: #194f3f; }

/* Midnight Executive */
.cv-template-executive { padding: 0 1.55rem 1.35rem; color: #283241; }
.cv-template-executive .cv-min-header {
    margin: 0 -1.55rem 1.15rem;
    padding: 1.25rem 1.55rem 1rem;
    color: #fff;
    background: #172033;
    border-bottom: 6px solid #c6a15b;
}
.cv-template-executive .cv-name,
.cv-template-executive .cv-title,
.cv-template-executive .cv-min-contact { color: #fff; }
.cv-template-executive h2 { color: #172033; border-bottom: 2px solid #c6a15b; }
.cv-template-executive .cv-skill-tag { background: #f5f0e6; border-color: #d9c79f; }

/* Tech Compact */
.cv-template-compact { grid-template-columns: 29% 71%; font-size: 9.3pt; line-height: 1.35; }
.cv-template-compact .cv-sidebar { background: #0f766e; padding: 1rem .85rem; }
.cv-template-compact .cv-main { padding: 1rem 1.15rem; background: #fbfdfd; }
.cv-template-compact .cv-main h2 { color: #0f766e; border-bottom-color: #5eead4; margin-bottom: .45rem; }
.cv-template-compact .cv-main-block { margin-bottom: .72rem; }
.cv-template-compact .cv-entry { margin-bottom: .5rem; }
.cv-template-compact .cv-photo,
.cv-template-compact .cv-initials { width: 72px; height: 72px; }
.cv-template-compact .cv-skill-tag { padding: .1rem .35rem; font-size: .7rem; }

/* Reference-inspired premium refinements */
.cv-template-classic {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    --cv-balance-cols: minmax(0, 2fr) minmax(0, 1fr);
    gap: 0 1.25rem;
    padding: 0 1.45rem 1.3rem;
    color: #303033;
    background: #fff;
    font-family: Arial, Helvetica, sans-serif;
}
.cv-template-classic .cv-min-header {
    grid-column: 1 / -1;
    margin: 0 -1.45rem 1.15rem;
    padding: 1.55rem 1.45rem 1.25rem;
    text-align: left;
    color: #fff;
    background: #242424;
    border: 0;
}
.cv-template-classic .cv-min-header-row { justify-content: space-between; }
.cv-template-classic .cv-name { color: #fff; font-family: Arial, sans-serif; font-size: 2rem; letter-spacing: .02em; }
.cv-template-classic .cv-title,
.cv-template-classic .cv-min-contact { color: #e8e8e8; }
.cv-template-classic .cv-min-block { padding: .15rem .2rem .75rem; border-bottom: 1px solid #c8c8c8; }
.cv-template-classic .cv-min-block:nth-of-type(1),
.cv-template-classic .cv-min-block:nth-of-type(2) { grid-column: 1 / -1; }
.cv-template-classic h2 { color: #282828; border: 0; font-size: 1rem; letter-spacing: 0; text-transform: none; }
.cv-template-classic h2::before { content: "›"; margin-right: .4rem; font-size: 1.35em; }
.cv-template-classic .cv-skill-tag { background: #ececec; border: 0; border-radius: 0; }

.cv-template-creative { grid-template-columns: 34% 66%; color: #333; background: #fff; }
.cv-template-creative .cv-sidebar { position: relative; padding: 1.4rem 1.05rem; background: #353538; }
.cv-template-creative .cv-sidebar::before { content: ""; position: absolute; inset: 0 0 auto; height: 8px; background: #efb0b7; }
.cv-template-creative .cv-photo,
.cv-template-creative .cv-initials { width: 104px; height: 118px; border-radius: 0; border: 5px solid #fff; }
.cv-template-creative .cv-name { margin-top: 1rem; font-size: 1.55rem; text-transform: uppercase; letter-spacing: .04em; }
.cv-template-creative .cv-main { padding: 1.35rem 1.25rem; background: #fff; }
.cv-template-creative .cv-main h2 {
    display: inline-block;
    min-width: 44%;
    padding: .3rem .55rem;
    color: #2f3033;
    background: #f4b6bd;
    border: 0;
    letter-spacing: .06em;
}
.cv-template-creative .cv-entry { padding-left: .7rem; border-left: 2px solid #efb0b7; }
.cv-template-creative .cv-skill-tag { background: transparent; border: 1px solid rgba(255,255,255,.45); border-radius: 0; }

.cv-template-academic {
    display: grid;
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.65fr);
    --cv-balance-cols: minmax(0, .85fr) minmax(0, 1.65fr);
    gap: 0 1.25rem;
    padding: 0 1.4rem 1.3rem;
    color: #303640;
    background: linear-gradient(90deg, #f1f1ef 34%, #fff 34%);
    font-family: Arial, Helvetica, sans-serif;
}
.cv-template-academic .cv-min-header {
    grid-column: 1 / -1;
    margin: 0 -1.4rem 1.1rem;
    padding: 1.4rem 1.4rem 1.15rem;
    color: #fff;
    background: #293a52;
    border-bottom: 6px solid #b69b62;
}
.cv-template-academic .cv-name { color: #fff; font-size: 1.75rem; letter-spacing: .12em; text-transform: uppercase; }
.cv-template-academic .cv-title,
.cv-template-academic .cv-min-contact { color: #e7e9ed; }
.cv-template-academic .cv-min-block { padding: 0 .25rem .7rem; }
.cv-template-academic .cv-min-block:nth-of-type(1) { grid-column: 2; }
.cv-template-academic h2 { color: #293a52; border: 0; font-size: .83rem; letter-spacing: .11em; }
.cv-template-academic h2::before,
.cv-template-academic h2::after { content: ""; display: inline-block; width: 18px; height: 1px; margin: 0 .45rem .25rem 0; background: #b69b62; }
.cv-template-academic .cv-entry { padding-left: .6rem; border-left: 2px solid #b69b62; }
.cv-template-academic .cv-skill-tag { background: #e8e5dc; border: 0; border-radius: 0; }

.cv-page-continued.cv-template-academic,
.cv-page-continued.cv-template-classic,
.cv-page-continued.cv-template-executive,
.cv-page-continued.cv-template-cobalt,
.cv-page-continued.cv-template-architect {
    align-content: start;
    align-items: start;
    grid-auto-rows: min-content;
}

.cv-template-classic.cv-balanced,
.cv-template-academic.cv-balanced,
.cv-template-executive.cv-balanced,
.cv-template-cobalt.cv-balanced,
.cv-template-architect.cv-balanced {
    align-content: start;
    align-items: start;
}

.cv-balance-span { grid-column: 1 / -1; min-width: 0; }
.cv-balance-row {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: var(--cv-balance-cols, minmax(0, 1fr) minmax(0, 1fr));
    gap: inherit;
    align-items: start;
    min-width: 0;
}
.cv-balance-col {
    display: flex;
    flex-direction: column;
    min-width: 0;
    align-items: stretch;
}
.cv-balance-col > .cv-min-block { grid-column: auto; }
.cv-balance-span:empty,
.cv-balance-col:empty { display: none; }
.cv-balance-row:has(> .cv-balance-col:empty) {
    grid-template-columns: minmax(0, 1fr);
}
.cv-template-academic .cv-balance-row > .cv-balance-col:first-child {
    padding-top: .4rem;
}
.cv-template-academic .cv-balance-col:empty {
    display: block;
}
.cv-template-academic .cv-balance-row:has(> .cv-balance-col:empty) {
    grid-template-columns: var(--cv-balance-cols);
}

.cv-page-continued.cv-template-academic .cv-min-block:nth-of-type(1),
.cv-page-continued.cv-template-classic .cv-min-block:nth-of-type(1),
.cv-page-continued.cv-template-classic .cv-min-block:nth-of-type(2),
.cv-page-continued.cv-template-executive .cv-min-block:first-of-type,
.cv-page-continued.cv-template-cobalt .cv-min-block:first-of-type,
.cv-page-continued.cv-template-architect .cv-min-block:first-of-type {
    grid-column: auto;
}

.cv-template-executive {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    --cv-balance-cols: minmax(0, 1fr) minmax(0, 1fr);
    gap: 0 1.5rem;
    padding: 1.2rem 1.5rem 1.4rem;
    color: #171717;
    background: #f8f8f7;
    font-family: Arial, Helvetica, sans-serif;
}
.cv-template-executive .cv-min-header {
    grid-column: 1 / -1;
    margin: 0 0 1.2rem;
    padding: .7rem 0 1rem;
    color: #111;
    background: transparent;
    border-bottom: 2px solid #111;
}
.cv-template-executive .cv-min-header-row { justify-content: space-between; }
.cv-template-executive .cv-name { color: #050505; font-size: 2.35rem; line-height: .92; text-transform: uppercase; letter-spacing: -.04em; }
.cv-template-executive .cv-title,
.cv-template-executive .cv-min-contact { color: #666; }
.cv-template-executive .cv-photo,
.cv-template-executive .cv-initials { width: 92px; height: 92px; border-radius: 0; border: 0; background: #ddd; color: #111; }
.cv-template-executive .cv-min-block { padding-top: .15rem; }
.cv-template-executive .cv-min-block:first-of-type { grid-column: 1 / -1; }
.cv-template-executive h2 { color: #111; border: 0; font-size: 1rem; text-transform: none; letter-spacing: 0; }
.cv-template-executive h2::after { content: " ——— •"; float: right; font-weight: 400; }
.cv-template-executive .cv-skill-tag { background: transparent; border: 1px solid #111; border-radius: 999px; }

.cv-template-compact { grid-template-columns: 31% 69%; font-size: 9.2pt; line-height: 1.34; color: #171717; background: #fff; }
.cv-template-compact .cv-sidebar { padding: 1.2rem .9rem; color: #111; background: #f1f1ef; border-top: 14px solid #111; }
.cv-template-compact .cv-main { padding: 1.2rem 1.15rem; background: #fff; border-top: 14px solid #111; }
.cv-template-compact .cv-name { color: #050505; font-size: 1.65rem; line-height: .95; text-transform: uppercase; }
.cv-template-compact .cv-title { color: #555; }
.cv-template-compact .cv-sidebar h3 { color: #111; border-bottom: 2px solid #111; }
.cv-template-compact .cv-main h2 { color: #111; border: 0; border-bottom: 2px solid #111; font-size: .82rem; }
.cv-template-compact .cv-photo,
.cv-template-compact .cv-initials { width: 92px; height: 92px; border-radius: 0; border: 0; background: #ddd; color: #111; }
.cv-template-compact .cv-skill-tag { color: #111; background: transparent; border: 1px solid #777; border-radius: 0; }

/* Cobalt Leadership */
.cv-template-cobalt { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); --cv-balance-cols: minmax(0, 1fr) minmax(0, 1fr); gap: 0 1.35rem; padding: 0 1.45rem 1.35rem; color: #1e293b; }
.cv-template-cobalt .cv-min-header { grid-column: 1 / -1; margin: 0 -1.45rem 1.15rem; padding: 1.45rem; color: #fff; background: linear-gradient(120deg, #123f7c, #1d64b7); border-bottom: 7px solid #60a5fa; }
.cv-template-cobalt .cv-name, .cv-template-cobalt .cv-title, .cv-template-cobalt .cv-min-contact { color: #fff; }
.cv-template-cobalt .cv-name { font-size: 2rem; text-transform: uppercase; letter-spacing: .04em; }
.cv-template-cobalt .cv-min-block:first-of-type { grid-column: 1 / -1; }
.cv-template-cobalt h2 { color: #164e9b; border-bottom: 2px solid #93c5fd; }
.cv-template-cobalt .cv-skill-tag { color: #164e9b; background: #eff6ff; border-color: #bfdbfe; }

/* Sage Professional */
.cv-template-sage { grid-template-columns: 34% 66%; color: #243b34; background: #fbfdfb; }
.cv-template-sage .cv-sidebar { color: #173c32; background: #cfdfd3; }
.cv-template-sage .cv-sidebar h3 { border-bottom-color: #7ea38e; }
.cv-template-sage .cv-main h2 { color: #2f6755; border-bottom-color: #8eb39f; }
.cv-template-sage .cv-name { color: #173c32; }
.cv-template-sage .cv-title, .cv-template-sage .cv-muted { color: #47675b; }
.cv-template-sage .cv-initials { color: #fff; background: #2f6755; }
.cv-template-sage .cv-skill-tag { color: #173c32; background: rgba(255,255,255,.62); border-radius: 999px; }

/* Aurora Creative */
.cv-template-aurora { grid-template-columns: 35% 65%; background: #fcfbff; }
.cv-template-aurora .cv-sidebar { background: linear-gradient(155deg, #202044 0%, #37306b 58%, #28576b 100%); }
.cv-template-aurora .cv-main { position: relative; background: linear-gradient(180deg, #f5f3ff, #fff 24%); }
.cv-template-aurora .cv-main::before { content: ""; position: absolute; top: 0; right: 0; width: 82px; height: 7px; background: #6f8fa5; }
.cv-template-aurora .cv-main h2 { color: #403b75; border-bottom: 2px solid #c4c1dc; }
.cv-template-aurora .cv-photo, .cv-template-aurora .cv-initials { border-radius: 24px 4px; }
.cv-template-aurora .cv-skill-tag { background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.28); border-radius: 999px; }

/* Burgundy Legal */
.cv-template-burgundy { padding: 1.45rem 1.7rem; color: #302329; font-family: Georgia, "Times New Roman", serif; }
.cv-template-burgundy .cv-min-header { text-align: center; border-block: 4px double #7f1d3a; padding: .9rem 0; }
.cv-template-burgundy .cv-min-header-row { justify-content: center; }
.cv-template-burgundy .cv-name { color: #65152e; font-size: 1.95rem; letter-spacing: .08em; text-transform: uppercase; }
.cv-template-burgundy .cv-photo-wrap { display: none; }
.cv-template-burgundy h2 { color: #7f1d3a; border-bottom: 1px solid #be8b9b; font-family: Arial, sans-serif; }
.cv-template-burgundy .cv-entry { padding-left: .7rem; border-left: 2px solid #d7adb9; }
.cv-template-burgundy .cv-skill-tag { color: #65152e; background: #fbf2f5; border-color: #e6c5cf; }

/* Graduate Starter */
.cv-template-graduate { padding: 1.25rem 1.5rem; border-left: 12px solid #2563eb; color: #253247; }
.cv-template-graduate .cv-min-header { padding: .85rem; background: #eff6ff; border: 0; }
.cv-template-graduate .cv-photo, .cv-template-graduate .cv-initials { width: 76px; height: 76px; border-radius: 8px; background: #2563eb; }
.cv-template-graduate .cv-name { color: #1d4ed8; font-size: 1.85rem; }
.cv-template-graduate h2 { color: #1d4ed8; border-bottom: 2px solid #bfdbfe; }
.cv-template-graduate .cv-skill-tag { color: #1d4ed8; background: #eff6ff; border-color: #bfdbfe; border-radius: 999px; }

/* Timeline Pro */
.cv-template-timeline { padding: 0 1.55rem 1.3rem; }
.cv-template-timeline .cv-min-header { margin: 0 -1.55rem 1.2rem; padding: 1.35rem 1.55rem; color: #fff; background: #172554; border-bottom: 7px solid #f59e0b; }
.cv-template-timeline .cv-name, .cv-template-timeline .cv-title, .cv-template-timeline .cv-min-contact { color: #fff; }
.cv-template-timeline h2 { color: #172554; border-bottom: 2px solid #fbbf24; }
.cv-template-timeline .cv-entry { position: relative; margin-left: .55rem; padding: 0 0 .75rem 1rem; border-left: 2px solid #f59e0b; }
.cv-template-timeline .cv-min-block,
.cv-template-timeline .cv-entry { break-inside: auto; page-break-inside: auto; }
.cv-template-timeline .cv-entry::before { content: ""; position: absolute; left: -5px; top: 3px; width: 8px; height: 8px; border-radius: 50%; background: #f59e0b; }
.cv-template-timeline .cv-skill-tag { background: #fff8e7; border-color: #fcd34d; }

/* Fintech Dark */
.cv-template-fintech { grid-template-columns: 30% 70%; color: #26383b; }
.cv-template-fintech .cv-sidebar { background: #132a2f; border-top: 12px solid #2dd4bf; }
.cv-template-fintech .cv-main { background: #f7faf9; border-top: 12px solid #2dd4bf; }
.cv-template-fintech .cv-main h2 { color: #0f766e; border-bottom-color: #5eead4; }
.cv-template-fintech .cv-photo, .cv-template-fintech .cv-initials { border-radius: 5px; border-color: #2dd4bf; }
.cv-template-fintech .cv-skill-tag { color: #ccfbf1; background: rgba(45,212,191,.12); border: 1px solid rgba(45,212,191,.4); }

/* Terracotta Studio */
.cv-template-terracotta { grid-template-columns: 36% 64%; color: #47362f; background: #fffaf3; }
.cv-template-terracotta .cv-sidebar { color: #352c28; background: #d2a28a; }
.cv-template-terracotta .cv-main { background: #fffaf3; }
.cv-template-terracotta .cv-main h2 { color: #934d38; border-bottom-color: #ddb09f; font-family: Georgia, serif; font-size: 1rem; text-transform: none; }
.cv-template-terracotta .cv-photo, .cv-template-terracotta .cv-initials { border-radius: 48% 48% 8px 8px; }
.cv-template-terracotta .cv-name { color: #402e27; font-family: Georgia, serif; }
.cv-template-terracotta .cv-skill-tag { color: #402e27; background: rgba(255,250,243,.45); border-radius: 0; }

/* Architect Grid */
.cv-template-architect { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); --cv-balance-cols: minmax(0, 1fr) minmax(0, 1fr); gap: 0 1.5rem; padding: 0 1.45rem 1.3rem; color: #171717; border-top: 15px solid #111; }
.cv-template-architect .cv-min-header { grid-column: 1 / -1; border-bottom: 4px solid #ef4444; padding: 1rem 0; }
.cv-template-architect .cv-min-header-row { justify-content: space-between; }
.cv-template-architect .cv-name { color: #111; font-size: 2.1rem; line-height: .95; text-transform: uppercase; letter-spacing: -.03em; }
.cv-template-architect .cv-photo, .cv-template-architect .cv-initials { border-radius: 0; color: #111; background: #ef4444; border: 0; }
.cv-template-architect .cv-min-block:first-of-type { grid-column: 1 / -1; }
.cv-template-architect h2 { color: #111; border-bottom: 3px solid #ef4444; }
.cv-template-architect .cv-skill-tag { color: #111; background: transparent; border: 1px solid #111; border-radius: 0; }

/* Data Specialist */
.cv-template-data { grid-template-columns: 31% 69%; font-size: 9.5pt; }
.cv-template-data .cv-sidebar { background: #312e81; }
.cv-template-data .cv-main { background: #fafaff; }
.cv-template-data .cv-main h2 { color: #4f46e5; border-bottom-color: #a5b4fc; }
.cv-template-data .cv-photo, .cv-template-data .cv-initials { border-radius: 10px; background: #6366f1; }
.cv-template-data .cv-skill-tag { background: rgba(165,180,252,.2); border: 1px solid rgba(199,210,254,.4); border-radius: 4px; }
.cv-template-data .cv-entry { padding: .55rem .65rem; background: #f0f0ff; border-left: 3px solid #6366f1; border-radius: 0 6px 6px 0; }
.cv-template-data .cv-main-block,
.cv-template-data .cv-entry { break-inside: auto; page-break-inside: auto; }

/* User reference 1: monochrome geometric resume */
.cv-template-charcoal { display: grid; grid-template: 66mm 34mm 197mm / 88mm 122mm; color: #777; background: #f4f5f5; font-family: Arial, Helvetica, sans-serif; font-size: 8.6pt; }
.cv-template-charcoal .charcoal-photo { display: grid; place-items: center; overflow: hidden; background: #303030; border-right: 2px solid #202020; }
.cv-template-charcoal .charcoal-photo .cv-photo, .cv-template-charcoal .charcoal-photo .cv-initials { width: 100%; height: 100%; border: 0; border-radius: 0; background: #303030; object-fit: cover; }
.cv-template-charcoal .charcoal-about { padding: 38mm 20mm 6mm 12mm; }
.cv-template-charcoal header { grid-column: 1 / -1; padding: 8mm 13mm; background: #fff; }
.cv-template-charcoal header h1 { margin: 0; color: #777; font-size: 25pt; font-weight: 300; letter-spacing: .08em; line-height: 1; text-transform: uppercase; }
.cv-template-charcoal header h1::first-letter { font-weight: 700; }
.cv-template-charcoal header p { margin: 2mm 0 0; font-size: 12pt; letter-spacing: .06em; }
.cv-template-charcoal aside { padding: 24mm 10mm 10mm 13mm; color: #eee; background: #272727; }
.cv-template-charcoal main { padding: 17mm 20mm 10mm 12mm; background: #f8f9f9; }
.cv-template-charcoal section { margin-bottom: 12mm; }
.cv-template-charcoal h2 { display: flex; align-items: center; gap: 4mm; margin: 0 0 4mm; color: inherit; font-size: 9pt; font-weight: 400; }
.cv-template-charcoal h2::after { content: ""; height: 1px; flex: 1; background: currentColor; opacity: .6; }
.cv-template-charcoal p { margin: 0; line-height: 1.4; }
.charcoal-contact { display: flex; gap: 4mm; align-items: center; margin: 0 0 4mm; }
.charcoal-contact b { width: 5mm; font-size: 12pt; text-align: center; }
.charcoal-skill { display: grid; grid-template-columns: 19mm 1fr; align-items: center; gap: 2mm; margin: 2.5mm 0; }
.charcoal-skill i { height: 1.1mm; background: linear-gradient(90deg, #eee var(--skill), #666 var(--skill)); }
.charcoal-references article, .charcoal-education article { display: flex; flex-direction: column; margin-bottom: 4mm; }
.charcoal-references span, .charcoal-education span { font-size: 8pt; }
.charcoal-row { display: grid; grid-template-columns: 36mm 1fr; margin-bottom: 5mm; }
.charcoal-row time { white-space: nowrap; }
.charcoal-row div, .charcoal-row div > span { display: flex; flex-direction: column; }
.charcoal-row p { margin-top: 1.5mm; font-size: 8pt; }
.charcoal-languages { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2mm 7mm; }

/* User reference 2: clean portrait sidebar */
.cv-template-valeria { display: grid; grid-template-columns: 55mm minmax(0, 128mm); padding: 12mm 14mm 12mm 13mm; color: #333; background: #fff; font-family: Arial, Helvetica, sans-serif; font-size: 8.5pt; }
.cv-template-valeria > aside { padding: 2mm 9mm 0 0; border-right: 1px solid #555; }
.cv-template-valeria > main { padding: 8mm 0 0 10mm; }
.valeria-photo { display: grid; place-items: center; margin-bottom: 5mm; }
.valeria-photo .cv-photo, .valeria-photo .cv-initials { width: 34mm; height: 34mm; border: 0; border-radius: 50%; background: #e7e7e7; color: #444; }
.cv-template-valeria h1 { margin: 0; font-size: 21pt; font-weight: 400; line-height: 1.08; overflow-wrap:anywhere; text-align: center; text-transform: uppercase; }
.valeria-title { margin: 3mm 0 6mm; font-size: 10pt; text-align: center; text-transform: uppercase; }
.valeria-contact { margin-bottom: 9mm; }
.valeria-contact div { display: flex; align-items: center; gap: 2.5mm; margin-bottom: 2.5mm; word-break: break-word; }
.valeria-contact b { display: grid; width: 6mm; height: 6mm; flex: 0 0 6mm; place-items: center; color: #fff; background: #595959; border-radius: 50%; font-size: 7pt; }
.cv-template-valeria section { margin-bottom: 10mm; }
.cv-template-valeria h2 { margin: 0 0 4mm; padding: 1.5mm 0; border-block: 1px solid #555; font-size: 12pt; font-weight: 500; letter-spacing: .04em; text-transform: uppercase; }
.cv-template-valeria article { margin-bottom: 5mm; }
.cv-template-valeria article strong, .cv-template-valeria aside article span { display: block; }
.cv-template-valeria main h3 { margin: 0 0 1mm; font-size: 9pt; font-weight: 600; text-transform: uppercase; }
.cv-template-valeria main p { margin: 3mm 0 0; line-height: 1.4; overflow-wrap:anywhere; }
.valeria-meta { font-size: 8pt; }
.valeria-skill { padding: 2.5mm 0; border-bottom: 1px solid #ddd; font-size: 8pt; text-transform: uppercase; }

/* User reference 3: navy and gold game designer resume */
.cv-template-game { color: #101820; background: #fff; font-family: Georgia, "Times New Roman", serif; font-size: 8.8pt; line-height: 1.38; }
.cv-template-game > header { display: grid; grid-template-columns: 1fr 38mm; gap: 8mm; min-height: 52mm; padding: 10mm 12mm 7mm; color: #fff; background: #1d384a; }
.cv-template-game header h1 { margin: 0; font-size: 22pt; font-weight: 400; overflow-wrap:anywhere; }
.cv-template-game header h2 { margin: 2mm 0 4mm; color: #f5b335; font-size: 11pt; font-weight: 400; }
.cv-template-game header p { max-width: 155mm; margin: 0; font-size: 8.3pt; }
.game-photo .cv-photo, .game-photo .cv-initials { width: 34mm; height: 34mm; border: 2.5mm solid #f5b335; background: #dce3e6; color: #1d384a; }
.game-contact { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3mm 10mm; padding: 4mm 12mm; color: #fff; background: #102934; }
.game-contact span { display: flex; min-width:0; align-items: center; gap: 3mm; overflow-wrap:anywhere; }
.game-contact b { color: #fff; font-family: Arial, sans-serif; }
.cv-template-game > main { display: grid; grid-template-columns: 51% 49%; padding: 7mm 12mm 12mm; }
.game-left { padding-right: 9mm; }
.game-right { padding-left: 5mm; }
.cv-template-game section { margin-bottom: 9mm; }
.cv-template-game section > h2 { width: max-content; margin: 0 0 4mm; padding-bottom: 1.2mm; color: #f5ae2e; border-bottom: 1.2mm solid #f5ae2e; font-size: 13pt; letter-spacing: .04em; text-transform: uppercase; }
.cv-template-game article { margin-bottom: 6mm; }
.cv-template-game article h3, .cv-template-game article h4 { margin: 0; }
.cv-template-game article h3 { font-size: 10.5pt; }
.cv-template-game article h4 { font-size: 9.5pt; font-weight: 400; }
.cv-template-game article p, .cv-template-game article ul { margin: 2mm 0 0; }
.cv-template-game article ul { padding-left: 4mm; }
.game-achievements { margin-top: 2mm; }
.game-achievements > em { display: block; margin-bottom: 1.5mm; color: #e9a62e; font-size: 8pt; font-style: italic; }
.game-achievements ul,
.game-achievements .cv-rich-text ul { margin: 0; padding-left: 0; list-style: none; }
.game-achievements li,
.game-achievements .cv-rich-text li { position: relative; padding-left: 4.5mm; margin-bottom: 2mm; }
.game-achievements li::before,
.game-achievements .cv-rich-text li::before { content: ""; position: absolute; left: 0; top: 1.6mm; width: 2mm; height: 2mm; border-radius: 50%; background: #f5ae2e; }
.game-achievements .cv-rich-text p { margin: 0 0 1.5mm; color: inherit; }
.game-achievements .cv-rich-text > em { display: none; }
.game-meta { display: flex; justify-content: space-between; margin-top: 1.5mm; color: #e9a62e; font-size: 8pt; font-style: italic; }
.cv-template-game em { color: #777; font-size: 8pt; }
.game-tags { display: flex; flex-wrap: wrap; gap: 3mm 2mm; }
.game-tags span { padding: 2mm 3mm; color: #fff; background: #1d384a; border-radius: 1mm; }
.game-languages { display: grid; grid-template-columns: repeat(3, 1fr); text-align: center; }
.game-languages span { display: flex; flex-direction: column; align-items: center; gap: 2mm; }
.game-languages b, .game-lang-meter { width: 9mm; height: 14mm; background: linear-gradient(#d9e0e3 0 28%, #1d384a 28% 100%); }
.game-lang-meter[data-level="1"] { background: linear-gradient(#d9e0e3 0 66%, #1d384a 66% 100%); }
.game-lang-meter[data-level="2"] { background: linear-gradient(#d9e0e3 0 40%, #1d384a 40% 100%); }
.game-lang-meter[data-level="3"] { background: linear-gradient(#d9e0e3 0 18%, #1d384a 18% 100%); }

/* User reference 4: golden graphic designer */
.cv-template-graphic { display:grid; grid-template:72mm 225mm / 78mm minmax(0,109mm); padding:0 8mm 0 15mm; color:#171717; background:#f2f2f2; font-family:Arial,sans-serif; font-size:8.5pt; }
.graphic-photo { display:grid; place-items:center; padding:0 8mm 0 9mm; }
.graphic-photo .cv-photo,.graphic-photo .cv-initials { width:62mm; height:72mm; border:0; border-radius:0; background:#ddd; color:#111; object-fit:cover; }
.cv-template-graphic>header { padding:13mm 0 0 3mm; }
.cv-template-graphic>header i { display:block; width:1mm; height:15mm; margin-bottom:5mm; background:#111; }
.cv-template-graphic>header h1 { margin:0; font-family:"Arial Narrow",Arial,sans-serif; font-size:29pt; font-stretch:condensed; line-height:.94; overflow-wrap:anywhere; text-transform:uppercase; }
.cv-template-graphic>header>div { margin-top:5mm; padding:3mm 5mm; overflow-wrap:anywhere; background:#e3b934; font-size:9pt; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.cv-template-graphic>aside { padding:8mm 8mm 8mm 9mm; }
.cv-template-graphic>main { padding:8mm 0 8mm 3mm; }
.cv-template-graphic section { margin-bottom:9mm; }
.cv-template-graphic h2 { margin:0 0 6mm; font-size:14pt; letter-spacing:.1em; text-transform:uppercase; }
.graphic-contact { margin-bottom:10mm; }
.graphic-contact p { display:flex; align-items:center; gap:3mm; margin:2mm 0; }
.graphic-contact b { display:grid; width:5mm; height:5mm; place-items:center; background:#e3b934; border-radius:50%; font-size:7pt; }
.cv-template-graphic aside h3 { margin:5mm 0 3mm; padding-left:6mm; border-left:1mm solid #e3b934; font-size:9pt; }
.cv-template-graphic ul { margin:0; padding-left:7mm; }
.cv-template-graphic li { margin-bottom:2.5mm; }
.graphic-tools { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:3mm; }
.graphic-tools span { display:flex; flex-direction:column; align-items:center; }
.graphic-tools b { display:grid; width:18mm; height:18mm; place-items:center; border:1px solid #111; font-size:16pt; }
.graphic-tools i { margin-top:-3mm; color:#d5a915; background:#f2f2f2; font-size:6pt; font-style:normal; letter-spacing:.3mm; }
.graphic-tools small { max-width:20mm; font-size:6.5pt; font-weight:700; text-align:center; }
.cv-template-graphic aside article { display:flex; flex-direction:column; margin-bottom:5mm; padding-left:6mm; border-left:1mm solid #e3b934; }
.cv-template-graphic main>section>p { margin:0 7mm 0 7mm; color:#777; line-height:1.5; }
.graphic-timeline article { display:grid; grid-template-columns:25mm minmax(0,1fr); gap:5mm; margin-bottom:7mm; }
.graphic-timeline time { position:relative; padding:0 0 0 5mm; font-size:13pt; font-weight:700; }
.graphic-timeline time::before { content:""; position:absolute; left:-3mm; top:2mm; width:7mm; height:16mm; border-block:1px solid #111; border-left:1px solid #111; }
.graphic-timeline time small { display:block; width:max-content; margin-top:1mm; padding:1mm 3mm; background:#e3b934; font-size:6pt; text-transform:uppercase; }
.graphic-timeline h3,.graphic-timeline strong { margin:0; font-size:9pt; }
.graphic-timeline p { margin:3mm 0 0; color:#888; }
.graphic-refs { display:grid; grid-template-columns:1fr 1fr; gap:6mm; }
.graphic-refs article { display:flex; flex-direction:column; padding-left:5mm; border-left:1mm solid #e3b934; }

/* User reference 5: grey editorial creator */
.cv-template-estelle { padding:18mm; color:#161914; background:#dfe1e2; font-family:Arial,sans-serif; font-size:10pt; line-height:1.4; }
.cv-template-estelle>header { display:grid; grid-template-columns:1fr 65mm; gap:14mm; margin-bottom:13mm; }
.cv-template-estelle header span { font-size:19pt; letter-spacing:.18em; text-transform:uppercase; }
.cv-template-estelle header h1 { margin:-2mm 0 7mm; font-size:42pt; line-height:1; overflow-wrap:anywhere; text-transform:uppercase; }
.cv-template-estelle header h2 { margin:0 0 5mm; font-size:14pt; letter-spacing:.22em; text-transform:uppercase; }
.cv-template-estelle header p { max-width:112mm; margin:0; }
.estelle-contact { padding-top:1mm; }
.estelle-contact p { display:grid; grid-template-columns:8mm 1fr; gap:3mm; margin:0 0 5mm; }
.estelle-contact b { color:#8d9192; }
.cv-template-estelle>main { display:grid; grid-template-columns:1.35fr .75fr; gap:18mm; }
.cv-template-estelle section { margin-bottom:12mm; }
.cv-template-estelle section h2 { display:flex; justify-content:space-between; margin:0 0 5mm; padding-bottom:2mm; border-bottom:1px solid #333; font-size:14pt; letter-spacing:.18em; text-transform:uppercase; }
.cv-template-estelle section h2 b { color:#8d9192; }
.cv-template-estelle article { margin-bottom:7mm; }
.cv-template-estelle article h3 { margin:0; font-size:10pt; }
.estelle-entry-head { display:flex; justify-content:space-between; }
.estelle-entry-head time { white-space:nowrap; }
.cv-template-estelle article p { margin:4mm 0 0; overflow-wrap:anywhere; }
.cv-template-estelle ul { margin:0; padding-left:7mm; }
.cv-template-estelle li { margin-bottom:2mm; }
.estelle-photo { margin:-5mm 0 9mm; }
.estelle-photo .cv-photo,.estelle-photo .cv-initials { width:58mm; height:62mm; border:0; border-radius:0; background:#eee; color:#333; filter:grayscale(1); object-fit:cover; }

/* User reference 6: cyan IT manager */
.cv-template-ankita { display:grid; grid-template-columns:75mm 135mm; color:#33434a; background:#fff; font-family:Arial,sans-serif; font-size:8.5pt; }
.cv-template-ankita>aside { padding:12mm 10mm; color:#d8e3e6; background:#183340; }
.ankita-photo { display:grid; place-items:center; margin-bottom:13mm; }
.ankita-photo .cv-photo,.ankita-photo .cv-initials { width:50mm; height:50mm; border:1mm solid #fff; background:#2baed1; }
.cv-template-ankita aside section { margin-bottom:13mm; }
.cv-template-ankita aside h2,.cv-template-ankita main>section>h2 { margin:0 0 5mm; padding:2mm; color:#fff; background:#25acd2; font-size:10pt; font-weight:400; letter-spacing:.08em; text-align:center; text-transform:uppercase; }
.cv-template-ankita aside p { display:flex; flex-direction:column; margin:0 0 4mm; }
.cv-template-ankita aside p b { margin-bottom:1mm; color:#fff; }
.cv-template-ankita aside ul { margin:0; padding-left:7mm; }
.cv-template-ankita aside li { margin-bottom:2mm; }
.cv-template-ankita aside li::marker { color:#25acd2; }
.cv-template-ankita>main { padding:14mm 13mm; }
.cv-template-ankita main>header { margin:0 -13mm 17mm; padding:0 13mm 10mm; background:#fafafa; text-align:center; }
.cv-template-ankita main>header h1 { margin:0; color:#2699b9; font-size:22pt; overflow-wrap:anywhere; text-transform:uppercase; }
.cv-template-ankita main>header h2 { margin:2mm 0 8mm; font-size:10pt; text-transform:uppercase; }
.cv-template-ankita main>header p { text-align:justify; line-height:1.45; }
.cv-template-ankita main>section { margin-bottom:18mm; }
.ankita-timeline { margin-left:3mm; border-left:1px solid #9bdbea; }
.ankita-timeline article { position:relative; margin:0 0 12mm; padding-left:12mm; }
.ankita-timeline article i { position:absolute; left:-2mm; top:1mm; width:4mm; height:4mm; border:1px solid #287a8e; border-radius:50%; background:#fff; }
.ankita-timeline h3 { margin:0 0 2mm; color:#287a8e; font-size:9pt; text-transform:uppercase; }
.ankita-timeline strong,.ankita-timeline time { display:block; margin-bottom:1mm; font-size:7.8pt; font-weight:400; }
.ankita-timeline p { margin:4mm 0 0; text-align:justify; }

/* Shared production safeguards for all six reference-matched layouts. */
.cv-template-charcoal *, .cv-template-valeria *, .cv-template-game *,
.cv-template-graphic *, .cv-template-estelle *, .cv-template-ankita * { box-sizing:border-box; }
.cv-template-charcoal article, .cv-template-valeria article, .cv-template-game article,
.cv-template-graphic article, .cv-template-estelle article, .cv-template-ankita article { break-inside:avoid; page-break-inside:avoid; }
.cv-template-charcoal aside, .cv-template-charcoal main,
.cv-template-valeria aside, .cv-template-valeria main,
.cv-template-game main>*, .cv-template-graphic aside, .cv-template-graphic main,
.cv-template-estelle main>*, .cv-template-ankita aside, .cv-template-ankita main { min-width:0; }
.cv-template-charcoal span, .cv-template-valeria span, .cv-template-game span,
.cv-template-graphic span, .cv-template-estelle span, .cv-template-ankita span { overflow-wrap:anywhere; }

/* Charles Edwards — charcoal/yellow geometric resume */
.cv-template-charles{display:grid;grid-template:62mm 98mm 137mm / 77mm 133mm;color:#666;background:#f1f1f1;font-family:Arial,sans-serif;font-size:8pt}
.charles-contact{padding:16mm 10mm 8mm 10mm}.charles-contact p{display:flex;gap:4mm;margin:0 0 4mm}.charles-contact b{color:#ffc20e;font-size:12pt}
.cv-template-charles>header{padding:12mm 0 0 19mm;color:#fff;background:#3d3d3d}.cv-template-charles>header h1{margin:0;font-size:22pt;font-weight:300;text-transform:uppercase}.cv-template-charles>header h1 strong{font-weight:700}.cv-template-charles>header p{margin:12mm 0 0;padding:3mm 5mm;background:#ffc20e;font-size:10pt;font-style:italic;text-transform:uppercase}
.charles-photo{grid-row:2;display:grid;place-items:center;overflow:hidden;background:#333}.charles-photo .cv-photo,.charles-photo .cv-initials{width:100%;height:100%;border:0;border-radius:0;object-fit:cover;background:#444}
.cv-template-charles>main{grid-column:2;grid-row:2/4;z-index:0;min-width:0;min-height:0;padding:10mm 10mm 56mm;overflow:hidden}.cv-template-charles h2{margin:0 0 6mm}.cv-template-charles h2 span{display:inline-block;padding:2mm 4mm;color:#fff;background:#3d3d3d;font-size:10pt;font-weight:400;text-transform:uppercase}
.charles-entries article{display:grid;grid-template-columns:27mm minmax(0,1fr);gap:5mm;margin-bottom:6mm}.charles-entries time{font-weight:700}.charles-entries strong{color:#555}.charles-entries p{margin:2mm 0 0;line-height:1.45}.charles-timeline article{position:relative}.charles-timeline article:before{content:"";position:absolute;left:28.5mm;top:2mm;width:2mm;height:2mm;background:#ffc20e;border-radius:50%}
.cv-template-charles>aside{grid-row:3;min-height:0;padding:10mm;overflow:hidden}.cv-template-charles>aside section{margin-bottom:7mm}.cv-template-charles>aside p{line-height:1.5}.charles-bars>div{display:grid;grid-template-columns:minmax(18mm,28mm) minmax(0,1fr);gap:3mm;align-items:center;margin:2.5mm 0}.charles-bars i{height:3mm;background:linear-gradient(90deg,#ffc20e var(--v),#bbb var(--v))}
.charles-software{grid-column:2;grid-row:3;z-index:1;align-self:end;padding:8mm 10mm 12mm;color:#fff;background:#3d3d3d}.charles-software>div{display:flex;justify-content:space-around}.charles-software>div>span{display:grid;width:29mm;height:29mm;place-items:center;border-radius:50%;background:conic-gradient(#ffc20e var(--p),#777 0);position:relative}.charles-software>div>span:after{content:"";position:absolute;inset:4mm;background:#3d3d3d;border-radius:50%}.charles-software b{z-index:1;color:#fff;text-transform:uppercase}

/* Joshua Freeman — circular consultant profile */
.cv-template-joshua{padding:14mm;background:#f4f4f4;color:#171717;font-family:Arial,sans-serif;font-size:9pt}.joshua-card{min-height:269mm;padding:0 11mm 8mm;background:#fff;border-radius:10mm;overflow:hidden}.cv-template-joshua header{position:relative;height:91mm}.joshua-identity{position:absolute;z-index:2;top:13mm;left:3mm;display:grid;width:76mm;height:76mm;padding:22mm 9mm 8mm;place-content:center;text-align:center;background:#fff;border-radius:50%;box-shadow:0 1mm 2mm #aaa}.joshua-identity h1{margin:0;font-size:23pt;line-height:1.08}.joshua-identity p{margin:4mm -3mm;padding:2mm;background:#ffc400;font-size:9pt;text-transform:uppercase}.joshua-identity strong{font-size:9pt;font-weight:500}.joshua-photo{position:absolute;top:5mm;left:78mm;display:grid;width:78mm;height:78mm;place-items:center;background:#ffc400;border-radius:50%;overflow:hidden}.joshua-photo .cv-photo,.joshua-photo .cv-initials{width:100%;height:100%;border:0;border-radius:0;background:#ffc400;object-fit:cover}
.cv-template-joshua main{display:grid;grid-template-columns:1fr 1fr;gap:8mm 10mm}.cv-template-joshua main section{min-height:65mm;padding-right:4mm}.cv-template-joshua main section:nth-child(odd){border-right:1px solid #aaa}.cv-template-joshua main h2{display:flex;gap:4mm;align-items:center;margin:0 0 5mm;font-size:14pt}.cv-template-joshua main h2 b{display:grid;width:15mm;height:15mm;flex:0 0 15mm;place-items:center;background:#ffc400;border-radius:50%}.cv-template-joshua main p,.cv-template-joshua main li{line-height:1.45}.cv-template-joshua main ol,.cv-template-joshua main ul{padding-left:6mm}.cv-template-joshua footer{display:grid;grid-template-columns:1fr 1fr;gap:3mm 12mm;padding-top:6mm;border-top:1px solid #aaa}.cv-template-joshua footer span{display:flex;gap:3mm;align-items:center}.cv-template-joshua footer b{display:grid;width:8mm;height:8mm;place-items:center;background:#ffc400;border-radius:50%}

/* Academic profile — dense grey rail and dated content grid */
.cv-template-scholar{display:grid;grid-template:37mm 260mm / 57mm 153mm;color:#333;background:#fff;font-family:Arial,sans-serif;font-size:7.7pt}.cv-template-scholar>header{grid-column:1/-1;padding:9mm;color:#fff;background:#3c3c3c;text-align:center}.cv-template-scholar>header h1{margin:0;font-size:23pt;font-weight:300}.cv-template-scholar>header p{margin:2mm 0 0;font-size:10pt}.cv-template-scholar>aside{padding:10mm 7mm;background:#e5e5e5;text-align:center}.scholar-photo{display:grid;place-items:center;margin-bottom:9mm}.scholar-photo .cv-photo,.scholar-photo .cv-initials{width:38mm;height:38mm;border:0;border-radius:50%;background:#bbb}.cv-template-scholar aside h2{display:inline-block;margin:8mm 0 3mm;padding:1.5mm 2mm;color:#fff;background:#29b8d4;font-size:8pt;font-weight:400}.cv-template-scholar aside p{margin:0;line-height:1.5}.scholar-social{display:flex;flex-direction:column;gap:3mm;margin-top:14mm;color:#168da5;text-align:left}.cv-template-scholar>main{padding:6mm 8mm}.cv-template-scholar main section{margin-bottom:7mm}.cv-template-scholar main h2{margin:0 0 3mm;padding-bottom:1mm;border-bottom:1px solid #333;font-size:13pt;font-weight:400;text-transform:uppercase}.scholar-entries article{display:grid;grid-template-columns:25mm minmax(0,1fr);gap:4mm;margin-bottom:4mm}.scholar-entries time{border-right:1px solid #444}.scholar-entries h3{margin:0;font-size:8.5pt}.scholar-entries strong{font-weight:400}.scholar-entries p{margin:1mm 0 0;line-height:1.35}.scholar-two{display:grid;grid-template-columns:1fr 1fr;gap:8mm}.scholar-skills div{display:grid;grid-template-columns:24mm 1fr;gap:3mm;align-items:center;margin:2mm 0}.scholar-skills b{padding:1mm;background:#aaa;text-align:right}.scholar-skills i{height:2.5mm;background:linear-gradient(90deg,#ed6437 var(--w),#ddd var(--w))}

/* Reference-detail completion */
.charles-timeline{position:relative}.charles-timeline:before{content:"";position:absolute;left:28.5mm;top:2mm;bottom:5mm;border-left:1px dashed #bbb}.charles-timeline article:before{left:27.7mm;z-index:1}
.cv-template-joshua{position:relative}.joshua-card{position:relative}.joshua-card:before{content:"";position:absolute;top:17mm;left:13mm;width:70mm;height:70mm;background:#fafafa;border-radius:50%}
.scholar-language{display:grid;grid-template-columns:1fr auto;gap:1mm 3mm}.scholar-language i{grid-column:2;color:#29b8d4;font-size:6pt;font-style:normal}.cv-template-scholar main>footer{display:flex;flex-wrap:wrap;gap:2mm 4mm;justify-content:center;margin-top:4mm;padding-top:3mm;color:#777;border-top:1px solid #ddd;font-size:7pt}

/* Alignment corrections for the previous two templates */
.cv-template-joshua .joshua-card{display:flex;height:269mm;min-height:0;flex-direction:column}.cv-template-joshua main{flex:1}.cv-template-joshua footer{margin-top:auto}.cv-template-scholar{height:297mm}.cv-template-scholar>aside,.cv-template-scholar>main{height:260mm;overflow:hidden}.cv-template-scholar>main{display:flex;min-width:0;flex-direction:column}.cv-template-scholar main>footer{margin-top:auto}

/* Daryl circular resume */
.cv-template-daryl{display:grid;grid-template:22mm 60mm 215mm/82mm 128mm;color:#333;background:#fff;font-family:Arial,sans-serif;font-size:8.3pt}.daryl-contact{grid-column:1/-1;display:flex;justify-content:space-between;padding:8mm 13mm;color:#555;background:linear-gradient(110deg,#3e4243 0 43%,#fff 43%);}.daryl-contact>span:first-of-type{margin-left:auto}.daryl-contact span{margin-left:10mm}.cv-template-daryl>header{grid-column:1/-1;padding:8mm 15mm;background:radial-gradient(circle at 28% -20%,#eee 0 53%,transparent 53%),linear-gradient(90deg,#eee 74%,#3e4243 74%)}.cv-template-daryl>header h1{margin:0;font-size:29pt;font-weight:300;letter-spacing:.08em;text-transform:uppercase}.cv-template-daryl>header p{margin:2mm 0;letter-spacing:.2em;text-transform:uppercase}.cv-template-daryl>aside{padding:0 10mm 10mm 15mm;border-right:1px solid #eee}.daryl-photo{width:52mm;height:52mm;margin:-28mm 0 8mm;overflow:hidden;border-radius:50%}.daryl-photo .cv-photo,.daryl-photo .cv-initials{width:100%;height:100%;border:0;border-radius:0;object-fit:cover}.cv-template-daryl section{margin-bottom:9mm}.cv-template-daryl h2{margin:0 0 4mm;font-size:11pt;letter-spacing:.1em;text-transform:uppercase}.cv-template-daryl h2:after{content:"";display:block;width:8mm;margin-top:2mm;border-bottom:1px solid}.cv-template-daryl aside article{display:flex;flex-direction:column;margin-bottom:4mm}.cv-template-daryl>main{padding:12mm 14mm}.daryl-timeline{border-left:1px solid #bbb}.daryl-timeline article{position:relative;padding:0 0 8mm 8mm}.daryl-timeline article>i{position:absolute;left:-1.5mm;top:1mm;width:3mm;height:3mm;background:#333;border-radius:50%}.daryl-timeline time{font-size:7pt}.daryl-timeline h3{margin:1mm 0;font-size:9pt}.daryl-timeline p{line-height:1.45}

/* Aletha yellow charcoal resume */
.cv-template-aletha{display:grid;grid-template:140mm 157mm/94mm 116mm;color:#eee;background:#3b3a3c;font-family:Arial,sans-serif;font-size:9pt}.cv-template-aletha>aside{padding:12mm;background:#ffd20a;color:#3b3a3c}.cv-template-aletha h2{margin:0 0 6mm;color:inherit;font-size:12pt;text-transform:uppercase}.cv-template-aletha h2:after{content:"";display:block;width:13mm;margin-top:2mm;border-bottom:1px solid}.cv-template-aletha aside section{margin-bottom:13mm}.cv-template-aletha aside p,.cv-template-aletha aside article{display:flex;flex-direction:column;margin-bottom:5mm}.cv-template-aletha>header{padding:23mm 10mm 8mm;text-align:right}.cv-template-aletha>header>p{color:#d8be42;letter-spacing:.22em;text-transform:uppercase}.cv-template-aletha>header h1{margin:4mm 0;font-size:28pt;line-height:1;text-transform:uppercase}.cv-template-aletha>header>div{padding-left:12mm;line-height:1.5;border-right:2mm solid #ffd20a}.cv-template-aletha header section{margin-top:12mm}.cv-template-aletha header section span{display:flex;justify-content:flex-end;gap:3mm;margin:2mm 0}.cv-template-aletha header section i{width:32mm;height:2.5mm;background:linear-gradient(90deg,#fff var(--w),#ffd20a var(--w))}.cv-template-aletha>main{padding:13mm 10mm}.cv-template-aletha main article{display:grid;grid-template-columns:13mm 1fr;gap:5mm;margin-bottom:10mm}.cv-template-aletha main article>i{font-size:20pt}.cv-template-aletha main h3{margin:0}.cv-template-aletha main b,.cv-template-aletha main time{display:block;font-weight:400}.cv-template-aletha main p{line-height:1.45}.aletha-photo{align-self:end;width:73mm;height:105mm;margin:0 auto 9mm;overflow:hidden;background:#eee}.aletha-photo .cv-photo,.aletha-photo .cv-initials{width:100%;height:100%;border:0;border-radius:0;filter:grayscale(1);object-fit:cover}

/* Teal gold profile */
.cv-template-tealcover{display:grid;grid-template-columns:87mm 123mm;padding:7mm;color:#fff;background:#075361;font-family:Arial,sans-serif;font-size:7.5pt}.cv-template-tealcover>aside{padding:8mm;background:#096779;border-radius:0 0 8mm 0}.teal-photo{height:92mm;margin-bottom:10mm;overflow:hidden;border:1px solid #e5bd55;border-radius:28mm 28mm 0 0}.teal-photo .cv-photo,.teal-photo .cv-initials{width:100%;height:100%;border:0;border-radius:0;object-fit:cover}.cv-template-tealcover aside h1{font-size:24pt;line-height:1.15}.cv-template-tealcover aside>div{line-height:1.5}.cv-template-tealcover aside>strong{display:block;width:max-content;margin:8mm 0;padding:2mm 5mm;background:#064b58;border-radius:999px}.teal-contact{display:grid;grid-template-columns:1fr 1fr;gap:4mm!important;color:#f3c65b}.cv-template-tealcover>main{padding:10mm 8mm;border-left:1px solid rgba(255,255,255,.18)}.cv-template-tealcover main section{margin-bottom:8mm}.cv-template-tealcover main h2{display:inline-block;margin:0 0 5mm;padding:2mm 5mm;color:#075361;background:#efc660;border-radius:999px;font-size:8pt;text-transform:uppercase}.teal-columns{display:grid;grid-template-columns:1fr 1fr;gap:8mm}.teal-letter article{margin-bottom:6mm}.teal-letter h3{font-size:8pt}.teal-letter p{line-height:1.5}

/* Vector icon system used by reference-matched templates and PDF export. */
.cv-design-icon{display:inline-grid;place-items:center;font-size:1em;line-height:1}.valeria-contact .cv-design-icon,.game-contact .cv-design-icon,.graphic-contact .cv-design-icon,.charles-contact .cv-design-icon{width:1em;height:1em}.cv-template-aletha aside section:first-child p:before,.cv-template-aletha aside section:nth-child(2) article:before{display:grid;float:left;width:10mm;height:10mm;margin-right:4mm;place-items:center;font-family:"Font Awesome 6 Free";font-size:15pt;font-weight:900}.cv-template-aletha aside section:first-child p:nth-of-type(1):before{content:"\f095"}.cv-template-aletha aside section:first-child p:nth-of-type(2):before{content:"\f0e0"}.cv-template-aletha aside section:first-child p:nth-of-type(3):before{content:"\f3c5"}.cv-template-aletha aside section:nth-child(2) article:before{content:"\f19d"}.cv-template-aletha aside section:first-child p,.cv-template-aletha aside section:nth-child(2) article{display:block;min-height:12mm}.cv-template-joshua main h2 .cv-design-icon{font-size:8mm}.scholar-social .cv-design-icon{width:6mm;color:#29b8d4}

/* Henrietta dark teal designer */
.cv-template-henrietta{display:grid;grid-template:82mm 195mm 20mm/92mm 118mm;padding:15mm;color:#f5f0e7;background:#0b3438;font-family:Arial,sans-serif;font-size:8pt}.cv-template-henrietta>header{grid-column:1/-1;display:grid;grid-template-columns:72mm 1fr;gap:10mm}.henrietta-photo{height:59mm;overflow:hidden;clip-path:polygon(0 0,78% 0,100% 24%,100% 100%,0 100%)}.henrietta-photo .cv-photo,.henrietta-photo .cv-initials{width:100%;height:100%;border:0;border-radius:0;object-fit:cover}.cv-template-henrietta header h1{margin:2mm 0 7mm;font-size:31pt;line-height:.9}.cv-template-henrietta header h2{font-size:10pt}.cv-template-henrietta header p{line-height:1.4}.cv-template-henrietta>aside{padding-right:10mm;border-right:1px solid #1d6868}.cv-template-henrietta section{margin-bottom:9mm}.cv-template-henrietta h2{font-size:11pt}.henrietta-about{padding:4mm 7mm;background:#147567;text-align:center;clip-path:polygon(0 0,100% 0,100% 36%,91% 50%,100% 64%,100% 100%,0 100%,0 64%,9% 50%,0 36%)}.cv-template-henrietta article{margin-bottom:7mm}.cv-template-henrietta>main{padding-left:10mm}.henrietta-work{display:grid;grid-template-columns:1fr 1fr;gap:7mm}.henrietta-skills{margin:8mm 0 0!important;padding:6mm;background:#11685f}.henrietta-skills div{display:grid;grid-template-columns:1fr auto;gap:1mm 4mm;margin:3mm 0}.henrietta-skills i{grid-column:1/-1;height:3mm;background:linear-gradient(90deg,#fff var(--skill),rgba(255,255,255,.25) var(--skill))}.cv-template-henrietta>footer{grid-column:1/-1;margin:0 -15mm -15mm;padding:6mm 15mm;background:#104b50}

/* Slate blue formal letter */
.cv-template-blueletter{color:#fff;background:#617f99;font-family:Georgia,serif;font-size:11pt}.cv-template-blueletter>header{padding:20mm 20mm 9mm;border-bottom:2mm double #fff;text-align:center}.cv-template-blueletter header h1{margin:0 0 10mm;font-family:Arial,sans-serif;font-size:27pt;letter-spacing:.08em}.cv-template-blueletter header>div{display:flex;justify-content:center;gap:10mm}.cv-template-blueletter header span{display:flex;gap:2mm;align-items:center}.cv-template-blueletter header .cv-design-icon{display:grid;width:8mm;height:8mm;place-items:center;color:#617f99;background:#ffe65b;border-radius:50%}.cv-template-blueletter>main{padding:16mm 20mm}.letter-meta{display:flex;justify-content:space-between}.cv-template-blueletter main h2{text-align:center;font-size:11pt}.cv-template-blueletter main>p{max-width:165mm;margin:5mm auto;line-height:1.6;text-align:center}.letter-signature{display:flex;flex-direction:column;gap:4mm;margin-top:10mm}

/* Split editorial marketing resume */
.cv-template-editorial{padding:13mm;font-family:Arial,sans-serif;font-size:8pt}.cv-template-editorial>header{display:grid;grid-template-columns:1fr 1fr;height:91mm}.cv-template-editorial header>div:first-child{padding:20mm 14mm}.cv-template-editorial header h1{margin:0;font-size:31pt;line-height:.98;text-transform:uppercase}.cv-template-editorial header p{margin-top:13mm;font-size:8pt;font-style:italic;letter-spacing:.15em;text-transform:uppercase}.editorial-photo{overflow:hidden}.editorial-photo .cv-photo,.editorial-photo .cv-initials{width:100%;height:100%;border:0;border-radius:0;object-fit:cover}.cv-template-editorial>main{display:grid;grid-template-columns:1.25fr .62fr .62fr;grid-template-areas:"about edu bio" "jobs jobs refs";min-height:180mm}.cv-template-editorial main section{padding:12mm}.cv-template-editorial main h2{margin:0 0 8mm;font-size:12pt;letter-spacing:.13em;text-transform:uppercase}.cv-template-editorial article{margin-bottom:8mm}.cv-template-editorial article b,.cv-template-editorial article em{display:block}.editorial-about{grid-area:about}.editorial-edu{grid-area:edu}.editorial-bio{grid-area:bio}.editorial-jobs{grid-area:jobs}.editorial-refs{grid-area:refs}.cv-template-editorial-light{color:#4a443e;background:#f5efdf}.cv-template-editorial-light .editorial-about,.cv-template-editorial-light .editorial-refs{color:#fff;background:#b06f43}.cv-template-editorial-light .editorial-bio{color:#fff;background:#89502e}.cv-template-editorial-dark{color:#eee;background:#353535}.cv-template-editorial-dark header>div:first-child,.cv-template-editorial-dark .editorial-bio,.cv-template-editorial-dark .editorial-refs{background:#444}.cv-template-editorial-dark .editorial-about{background:#646464}.cv-template-editorial-dark .editorial-edu,.cv-template-editorial-dark .editorial-jobs{color:#333;background:#eee}

/* Exact A4 alignment corrections after template padding. */
.cv-template-henrietta{grid-template-rows:72mm 175mm 20mm;grid-template-columns:78mm minmax(0,102mm);width:210mm;height:297mm;box-sizing:border-box}.cv-template-henrietta>header{grid-template-columns:68mm minmax(0,1fr);gap:8mm;min-width:0}.cv-template-henrietta>aside,.cv-template-henrietta>main{min-width:0;overflow:hidden}.henrietta-work{grid-template-columns:repeat(2,minmax(0,1fr));gap:5mm}.henrietta-work article,.henrietta-skills div{min-width:0}.henrietta-work p,.henrietta-work h3,.henrietta-skills span{overflow-wrap:anywhere}.henrietta-skills{width:100%;box-sizing:border-box}.henrietta-skills i{width:100%;max-width:100%}
.cv-template-tealcover{grid-template-columns:81mm minmax(0,115mm);width:210mm;height:297mm;box-sizing:border-box}.cv-template-tealcover>aside,.cv-template-tealcover>main{min-width:0;overflow:hidden}.teal-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:5mm}.teal-contact span,.teal-columns p{overflow-wrap:anywhere}
.cv-template-blueletter{width:210mm;height:297mm;box-sizing:border-box;overflow:hidden}.cv-template-blueletter header>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6mm}.cv-template-blueletter header span{min-width:0;justify-content:center;overflow-wrap:anywhere}.cv-template-blueletter>main{min-width:0;box-sizing:border-box}.letter-meta{gap:10mm}.letter-meta>*{min-width:0;overflow-wrap:anywhere}
.cv-template-editorial{width:210mm;height:297mm;box-sizing:border-box;overflow:hidden}.cv-template-editorial>header,.cv-template-editorial>main{min-width:0}.cv-template-editorial main section{min-width:0;overflow:hidden}.cv-template-editorial p,.cv-template-editorial b,.cv-template-editorial em{overflow-wrap:anywhere}

/* Continuation pages: keep chrome, give leftover copy a readable full-width column. */
.cv-page-continued.cv-continued-flow {
    display: block !important;
    grid-template: none !important;
    padding: max(14mm, var(--cv-continued-page-padding-top)) 16mm 14mm;
}
.cv-page-continued.cv-continued-flow > aside,
.cv-page-continued.cv-continued-flow > .cv-sidebar {
    display: none !important;
}
.cv-page-continued.cv-continued-flow > main,
.cv-page-continued.cv-continued-flow > .cv-main {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    grid-column: auto !important;
    grid-row: auto !important;
}

/* Estelle: keep the original grey two-column editorial layout on extra pages. */
.cv-page.cv-page-continued.cv-template-estelle {
    display: block !important;
    grid-template: none !important;
    padding: 18mm;
    padding-top: max(18mm, var(--cv-continued-page-padding-top));
    color: #161914;
    background: #dfe1e2;
}
.cv-page-continued.cv-template-estelle > main {
    display: grid !important;
    grid-template-columns: 1.35fr .75fr !important;
    gap: 18mm !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    grid-column: auto !important;
    grid-row: auto !important;
}
.cv-page-continued.cv-template-estelle .estelle-sidebar,
.cv-page-continued.cv-template-estelle > main > aside {
    display: block !important;
}

.cv-template-aletha {
    width: 210mm;
    height: 297mm;
    grid-template-rows: minmax(0, 138mm) minmax(0, 1fr);
    grid-template-columns: 88mm minmax(0, 1fr);
    overflow: hidden;
}
.cv-template-aletha > header,
.cv-template-aletha > main,
.cv-template-aletha > aside,
.cv-template-aletha > .aletha-photo {
    min-width: 0;
    min-height: 0;
    overflow: hidden;
}
.cv-template-aletha > header {
    display: flex;
    flex-direction: column;
}
.cv-template-aletha > header .cv-rich-text {
    min-height: 0;
    overflow: hidden;
}
.cv-template-aletha header section span {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 36mm;
    align-items: center;
    justify-content: stretch;
    gap: 4mm;
}
.cv-template-aletha header section span b {
    order: -1;
    min-width: 0;
    text-align: right;
}
.cv-template-aletha header section i {
    width: 100%;
    background: linear-gradient(90deg, #ffd20a var(--w, 70%), rgba(255, 255, 255, .2) var(--w, 70%));
}
.cv-template-aletha main article {
    grid-template-columns: 12mm minmax(0, 1fr);
}
.cv-template-aletha main h3,
.cv-template-aletha main p,
.cv-template-aletha main b {
    overflow-wrap: break-word;
    word-break: normal;
}
.cv-template-aletha > .aletha-photo {
    width: min(78mm, 100%);
    justify-self: center;
}

.cv-page-continued.cv-template-aletha {
    position: relative;
    padding: max(14mm, var(--cv-continued-page-padding-top)) 16mm 14mm 24mm !important;
    color: #eee;
    background: #3b3a3c;
}
.cv-page-continued.cv-template-aletha::before {
    content: "";
    position: absolute;
    top: 12mm;
    bottom: 12mm;
    left: 0;
    width: 10mm;
    background: #ffd20a;
}
.cv-page-continued.cv-template-aletha main article {
    grid-template-columns: 12mm minmax(0, 1fr);
}
.cv-page-continued.cv-template-aletha main h3,
.cv-page-continued.cv-template-aletha main p {
    overflow-wrap: break-word;
    word-break: normal;
    hyphens: auto;
}

/* Rosien pink / navy graphic designer — two A4 pages */
.cv-template-rosien {
    display: flex;
    flex-direction: column;
    width: 210mm;
    height: 297mm;
    padding: 11mm 12mm 10mm;
    box-sizing: border-box;
    overflow: hidden;
    color: #222;
    background: #f3f4f6;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 8.2pt;
}
.cv-template-rosien > header {
    display: grid;
    grid-template-columns: 1fr 42mm 48mm;
    gap: 6mm;
    align-items: start;
    min-height: 42mm;
}
.rosien-id h1 {
    margin: 0;
    font-size: 28pt;
    font-weight: 800;
    line-height: .95;
    letter-spacing: -.03em;
}
.rosien-id h1 b { color: #f43f6d; }
.rosien-id h1 span { color: #1b2a6b; }
.rosien-id strong {
    display: inline-block;
    margin-top: 5mm;
    padding: 2.2mm 6mm;
    color: #fff;
    background: #1b2a6b;
    border-radius: 8px;
    font-size: 8.5pt;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.rosien-dots {
    height: 34mm;
    margin-top: 4mm;
    background-image: radial-gradient(#d7dbe3 1.15px, transparent 1.2px);
    background-size: 5.2mm 5.2mm;
}
.rosien-photo {
    width: 48mm;
    height: 48mm;
    overflow: hidden;
    background: #ddd;
}
.rosien-photo .cv-photo,
.rosien-photo .cv-initials {
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: 0;
    object-fit: cover;
}
.rosien-banner {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    min-height: 48mm;
    margin: 6mm 0 7mm;
    overflow: hidden;
    border-radius: 18px 18px 18px 18px;
}
.rosien-about {
    padding: 7mm 8mm;
    color: #fff;
    background: #1b2a6b;
    border-radius: 22px 0 0 22px;
}
.rosien-contact {
    padding: 7mm 8mm;
    color: #fff;
    background: #f43f6d;
    border-radius: 0 22px 22px 0;
}
.rosien-about h2,
.rosien-contact h2 { margin: 0 0 3mm; font-size: 13pt; }
.rosien-about p,
.rosien-about .cv-rich-text { margin: 0; line-height: 1.45; color: #fff; }
.rosien-contact p {
    display: flex;
    gap: 3.5mm;
    align-items: center;
    margin: 0 0 3.2mm;
}
.rosien-contact p:last-child { margin: 0; }
.rosien-contact b {
    display: grid;
    width: 8mm;
    height: 8mm;
    flex: 0 0 8mm;
    place-items: center;
    color: #f43f6d;
    background: #fff;
    border-radius: 50%;
}
.cv-template-rosien h2 {
    margin: 0 0 5mm;
    color: #111;
    font-size: 16pt;
    font-weight: 800;
}
.rosien-edu { margin-bottom: 7mm; padding-bottom: 6mm; border-bottom: 1px solid #d9dde3; }
.rosien-edu > div {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6mm;
}
.rosien-edu time,
.rosien-edu h3 { display: block; margin: 0; font-size: 9.5pt; font-weight: 800; }
.rosien-edu span { display: block; margin: 1mm 0 2mm; color: #8b9098; font-size: 7.5pt; }
.rosien-split {
    display: grid;
    grid-template-columns: 1.45fr .9fr;
    gap: 8mm;
    min-height: 0;
    flex: 1;
}
.rosien-job-head {
    display: flex;
    gap: 4mm;
    align-items: flex-start;
    margin-bottom: 2mm;
}
.rosien-job-head time,
.rosien-awards time {
    display: inline-block;
    padding: 1.6mm 3.5mm;
    color: #fff;
    background: #1b2a6b;
    border-radius: 6px;
    font-size: 7.5pt;
    font-weight: 700;
    white-space: nowrap;
}
.rosien-job-head h3 { margin: 0; font-size: 10pt; }
.rosien-job-head span { color: #8b9098; font-size: 7.5pt; }
.cv-template-rosien article { margin-bottom: 6mm; min-width: 0; }
.cv-template-rosien article p,
.cv-template-rosien .cv-rich-text { color: #6b7280; overflow-wrap: anywhere; }
.rosien-bar { margin: 0 0 4mm; }
.rosien-bar span { display: block; font-weight: 700; }
.rosien-bar i {
    display: block;
    height: 3.4mm;
    margin-top: 1.6mm;
    overflow: hidden;
    background: linear-gradient(90deg, #f43f6d 78%, #1b2a6b 78%);
    border-radius: 99px;
}
.rosien-bar-pct { display: grid; grid-template-columns: 1fr auto; gap: 1mm 3mm; }
.rosien-bar-pct i { grid-column: 1 / -1; background: linear-gradient(90deg, #f43f6d var(--w), #1b2a6b var(--w)); }
.rosien-bar-pct em { font-size: 7.5pt; font-style: normal; font-weight: 700; }
.cv-template-rosien-page2 { padding-top: max(14mm, var(--cv-continued-page-padding-top)); }
.rosien-page2-top { align-items: start; }
.rosien-experience { min-width: 0; }
.rosien-experience[hidden] { display: none !important; }
.rosien-awards { margin-top: 2mm; }
.rosien-awards > div { display: grid; grid-template-columns: 1fr 1fr; gap: 6mm; }
.rosien-hobbies > div { display: flex; flex-wrap: wrap; gap: 5mm; }
.rosien-hobbies span { display: flex; flex-direction: column; align-items: center; width: 18mm; text-align: center; }
.rosien-hobbies b {
    display: grid;
    width: 14mm;
    height: 14mm;
    place-items: center;
    color: #f43f6d;
    border: 1.5px solid #f43f6d;
    border-radius: 50%;
    font-size: 12pt;
}
.rosien-hobbies small { margin-top: 1.5mm; font-size: 6.5pt; }
.rosien-langs {
    margin-top: 9mm;
    margin-bottom: 9mm;
}
.rosien-langs > div { display: grid; grid-template-columns: 1fr 1fr; gap: 6mm; }
.rosien-refs { margin-top: 2mm; }
.rosien-langs figure {
    --p: 70;
    display: grid;
    place-items: center;
    width: 34mm;
    height: 34mm;
    margin: 0 auto;
    color: #fff;
    background:
        radial-gradient(#f3f4f6 54%, transparent 55%),
        conic-gradient(#f43f6d calc(var(--p) * 1%), #eadfe4 0);
    border-radius: 50%;
    text-align: center;
}
.rosien-langs figure > div {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 22mm;
    height: 22mm;
    color: #fff;
    background: #1b2a6b;
    border-radius: 50%;
}
.rosien-langs figure b { font-size: 8pt; }
.rosien-langs figure span { font-size: 7pt; font-weight: 700; }
.rosien-langs figure small { font-size: 6pt; opacity: .85; }
.rosien-refs article { margin-bottom: 5mm; }
.rosien-refs h3 { margin: 0; font-size: 9.5pt; }
.rosien-refs em { color: #8b9098; font-size: 8pt; }
.rosien-refs p { margin: .6mm 0 0; font-size: 7.5pt; }
.cv-template-rosien > footer {
    display: flex;
    flex-wrap: wrap;
    gap: 4mm 8mm;
    margin: auto -12mm -10mm;
    padding: 6mm 12mm;
    color: #fff;
    background: #1b2a6b;
    border-radius: 18px 18px 0 0;
}
.cv-template-rosien > footer span { display: flex; gap: 3mm; align-items: center; min-width: 0; overflow-wrap: anywhere; }
.cv-template-rosien > footer b {
    display: grid;
    width: 7mm;
    height: 7mm;
    flex: 0 0 7mm;
    place-items: center;
    color: #1b2a6b;
    background: #fff;
    border-radius: 50%;
}
.cv-page + .cv-page { margin-top: 12px; }

.cv-page img.cv-photo {
    object-fit: contain !important;
    object-position: center center !important;
}

/* Pages 2+: keep chrome full-bleed. Inset only the copy, not the template background. */
.cv-page.cv-page-continued:not(.cv-continued-flow) {
    padding-top: 0;
}
.cv-page-continued:not(.cv-continued-flow) > .cv-sidebar,
.cv-page-continued:not(.cv-continued-flow) > aside,
.cv-page-continued:not(.cv-continued-flow) > .cv-main,
.cv-page-continued:not(.cv-continued-flow) > main,
.cv-page-continued:not(.cv-continued-flow) > .cv-balance-span,
.cv-page-continued:not(.cv-continued-flow) > .cv-balance-row > .cv-balance-col {
    padding-top: var(--cv-continued-page-padding-top);
}

