@font-face { font-family: 'Forme Office'; src: url('/assets/fonts/Forme-Office-Regular.woff') format('woff'); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: 'Forme Office'; src: url('/assets/fonts/Forme-Office-Bold.woff') format('woff'); font-style: normal; font-weight: 700; font-display: swap; }
@font-face { font-family: 'Forme Office'; src: url('/assets/fonts/Forme-Office-Italic.woff') format('woff'); font-style: italic; font-weight: 400; font-display: swap; }
@font-face { font-family: 'Forme Office'; src: url('/assets/fonts/Forme-Office-BoldItalic.woff') format('woff'); font-style: italic; font-weight: 700; font-display: swap; }
@font-face { font-family: 'Forme Traditional'; src: url('/assets/fonts/Forme-Traditional-Regular.woff2') format('woff2'); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: 'Forme Traditional'; src: url('/assets/fonts/Forme-Traditional-Bold.woff2') format('woff2'); font-style: normal; font-weight: 700; font-display: swap; }
@font-face { font-family: 'Forme Traditional'; src: url('/assets/fonts/Forme-Traditional-Italic.woff2') format('woff2'); font-style: italic; font-weight: 400; font-display: swap; }
@font-face { font-family: 'Forme Traditional'; src: url('/assets/fonts/Forme-Traditional-BoldItalic.woff2') format('woff2'); font-style: italic; font-weight: 700; font-display: swap; }

.resume-sheet.font-office, .font-choice-office { font-family: Calibri, 'Forme Office', Carlito, Arial, sans-serif; }
.resume-sheet.font-traditional, .font-choice-traditional { font-family: 'Times New Roman', 'Forme Traditional', Times, serif; }
.card-tag.new { background: #e7edf7; border-color: #c7d5ea; color: #244571; }
.r-skill-row { display: grid; grid-template-columns: minmax(115px, 28%) minmax(0, 1fr); column-gap: 9px; margin-bottom: 5px; line-height: var(--resume-line); }
.r-skill-label { color: var(--accent-ink, var(--accent)); font-weight: 700; }
.r-skill-value { color: #17271c; }
.r-skill-colon { display: inline-block; margin-right: 3px; }
.r-personal-row { display: grid; grid-template-columns: 38% minmax(0, 1fr); column-gap: 10px; margin-bottom: 10px; }
.r-personal-row strong { font-weight: 700; }
.r-signature { margin: 31px 0 0 auto; width: 185px; text-align: right; padding-top: 8px; border-top: 1px solid currentColor; font-size: 12px; font-weight: 700; text-transform: uppercase; }
.r-glyph { width: 14px; height: 14px; display: inline-block; flex: 0 0 auto; vertical-align: -.12em; margin-right: 7px; color: inherit; }
.resume-sheet.two-col .r-aside .r-skill-row, .resume-sheet.two-col .r-aside .r-personal-row { display: block; font-size: 11.5px; }
.resume-sheet.two-col .r-aside .r-skill-label, .resume-sheet.two-col .r-aside .r-personal-row > span { display: block; }
.resume-sheet.two-col .r-aside .r-skill-colon { display: none; }
.resume-sheet.style-slate .r-aside .r-skill-label, .resume-sheet.style-slate .r-aside .r-skill-value,
.resume-sheet.style-terra .r-aside .r-skill-label, .resume-sheet.style-terra .r-aside .r-skill-value { color: var(--accent-on, #fff); }

/* Navy Professional: centered office typography and precise blue section rules. */
.resume-sheet.style-navy-professional { padding: 33px 48px 43px; font-weight: 400; color: #111; }
.style-navy-professional .r-header { text-align: center; padding-bottom: 0; margin-bottom: 23px; border: 0; }
.style-navy-professional .r-name { color: var(--accent-ink, #1b3a6b); text-transform: uppercase; font-size: 29px; line-height: 1.15; letter-spacing: .1px; font-weight: 700; margin-bottom: 5px; }
.style-navy-professional .r-title { color: #222; font-size: 14px; font-weight: 400; margin-bottom: 3px; }
.style-navy-professional .r-contact { justify-content: center; margin-top: 5px; font-size: 12.5px; line-height: 1.6; gap: 0; color: #111; font-weight: 400; }
.style-navy-professional .r-contact > span + span:before { content: '|'; padding: 0 10px; color: #222; }
.style-navy-professional .r-contact a[href^='mailto:'] { color: #075db1; text-decoration: underline; text-underline-offset: 2px; }
.style-navy-professional .r-section-title { font-family: inherit; color: var(--accent-ink, #1b3a6b); font-weight: 700; font-size: 14px; line-height: 1.3; letter-spacing: 0; border-bottom: 1px solid color-mix(in srgb, var(--accent) 25%, #3b86c9); padding-bottom: 13px; margin-bottom: 10px; }
.style-navy-professional .r-section-start { margin-top: 23px; }
.style-navy-professional .r-text, .style-navy-professional .r-bullet { font-weight: 400; color: #111; }
.style-navy-professional .r-text { text-align: justify; }
.style-navy-professional .r-entry-title { color: var(--accent-ink, #1b3a6b); font-size: var(--resume-size); font-weight: 700; }
.style-navy-professional .r-entry-meta { color: #111; font-size: var(--resume-size); font-weight: 400; margin-top: 3px; }
.style-navy-professional .r-dates { color: #333; font-size: 12px; font-weight: 400; }
.style-navy-professional .r-bullet { padding-left: 18px; margin-bottom: 5px; }
.style-navy-professional .r-bullet:before { content: '•'; left: 2px; color: #111; font-size: 11px; }
.style-navy-professional .r-skill-row { grid-template-columns: 29% minmax(0, 1fr); margin-bottom: 3px; column-gap: 7px; }
.style-navy-professional .r-skill-label { color: var(--accent-ink, #1b3a6b); }
.style-navy-professional .r-skill-value { color: #111; }

/* Classic Serif: formal serif type, italic qualifications, and compact icon headings. */
.resume-sheet.style-heritage { padding: 42px 48px 40px; color: #111; font-weight: 400; }
.style-heritage .r-header { border: 0; text-align: center; padding: 0; margin-bottom: 21px; }
.style-heritage .r-name { font-weight: 700; font-size: 28px; line-height: 1.2; text-transform: uppercase; letter-spacing: 0; color: var(--accent-ink, #111); margin-bottom: 4px; }
.style-heritage .r-title { color: #111; font-style: italic; font-size: 17px; font-weight: 400; line-height: 1.4; }
.style-heritage .r-contact { justify-content: center; align-items: center; font-size: 12px; font-weight: 400; line-height: 1.6; color: #111; gap: 3px 14px; margin-top: 10px; }
.style-heritage .r-contact > span { display: inline-flex; align-items: center; gap: 5px; }
.style-heritage .r-contact .r-glyph { width: 11px; height: 11px; margin: 0; }
.style-heritage .r-section-title { display: flex; align-items: center; font-family: inherit; font-size: 13.5px; font-weight: 700; color: var(--accent-ink, #111); border-bottom: 1px solid var(--accent-ink, #111); padding-bottom: 4px; margin-bottom: 8px; letter-spacing: .1px; line-height: 1.2; }
.style-heritage .r-section-start { margin-top: 17px; }
.style-heritage .r-entry-title { color: #111; font-weight: 700; font-size: var(--resume-size); line-height: 1.3; }
.style-heritage .r-inline-qualification { font-style: italic; font-weight: 400; }
.style-heritage .r-entry-meta { color: #333; font-weight: 400; font-size: 12px; margin: 2px 0 4px; line-height: 1.3; }
.style-heritage .r-text, .style-heritage .r-bullet { color: #111; font-weight: 400; }
.style-heritage .r-text { margin-bottom: 5px; }
.style-heritage .r-bullet { padding-left: 12px; margin-bottom: 2px; }
.style-heritage .r-bullet:before { content: '-'; left: 1px; color: #111; font-weight: 400; }
.style-heritage .r-entry { margin-bottom: 7px; }
.style-heritage .r-entry:has(.r-bullet) { margin-bottom: 2px; }
.style-heritage .r-chip { border: 0; background: transparent; border-radius: 0; color: #111; font-family: inherit; font-size: var(--resume-size); padding: 0 7px 0 0; font-weight: 400; }
.style-heritage .r-personal-row { grid-template-columns: 38% minmax(0, 1fr); margin-bottom: 9px; line-height: 1.3; }
.style-heritage .r-signature { color: #111; font-size: 12px; margin-top: 36px; }

/* Navy Compact: an alternate composition using the same office font and navy palette. */
.resume-sheet.style-navy-compact { padding: 40px 48px 40px; color: #111; font-weight: 400; }
.style-navy-compact .r-header { border-bottom: 2px solid var(--accent); padding-bottom: 17px; margin-bottom: 19px; }
.style-navy-compact .r-name { color: var(--accent-ink, #1b3a6b); font-size: 33px; font-weight: 700; text-transform: uppercase; letter-spacing: .3px; margin-bottom: 3px; }
.style-navy-compact .r-title { font-size: 15px; color: #25384f; font-weight: 400; }
.style-navy-compact .r-contact { color: #222; font-size: 12px; font-weight: 400; margin-top: 9px; gap: 2px 16px; }
.style-navy-compact .r-section-title { display: flex; align-items: center; gap: 12px; border: 0; color: var(--accent-ink, #1b3a6b); font-family: inherit; font-size: 13.5px; font-weight: 700; letter-spacing: .25px; padding: 0; margin-bottom: 10px; }
.style-navy-compact .r-section-title:after { content: ''; flex: 1; height: 1px; background: color-mix(in srgb, var(--accent) 45%, white); }
.style-navy-compact .r-section-start { margin-top: 19px; }
.style-navy-compact .r-text, .style-navy-compact .r-bullet { color: #111; font-weight: 400; }
.style-navy-compact .r-entry-title { color: var(--accent-ink, #1b3a6b); font-size: 14px; font-weight: 700; }
.style-navy-compact .r-entry-meta { font-size: 12.5px; color: #333; font-weight: 400; }
.style-navy-compact .r-dates { color: #444; font-size: 12px; font-weight: 400; }
.style-navy-compact .r-skill-row { grid-template-columns: 25% minmax(0, 1fr); margin-bottom: 5px; }
.style-navy-compact .r-skill-value { color: #111; }
