/* ==========================================================================
   print.css — printing the page produces a plain, two-page résumé.
   Effects, navigation and interactive pieces are removed; content stays.
   ========================================================================== */

@page { size: A4; margin: 11mm 13mm; }

:root, :root[data-theme="dark"] {
  --bg: #fff; --bg-elev: #fff; --bg-sunk: #fff;
  --ink: #000; --ink-2: #222; --muted: #555;
  --line: #ccc; --line-strong: #999;
  --accent: #0b5cab; --flow: #0b7d6c;
  color-scheme: light;
}
html { font-size: 8.8pt; scroll-behavior: auto; }
body { background: #fff !important; color: #000; line-height: 1.36; }
body::before, body::after { display: none !important; }
*, *::before, *::after { animation: none !important; transition: none !important; box-shadow: none !important; }

/* Hide everything that only makes sense on screen. */
.site-header, .skip-link, .scroll-progress, .hero-visual, .hero-ctas, .hero-meta,
.status-chip, .constellation, .limits, .more-toggle, .copy-btn, dialog, .egg,
#case-studies, #contact, .approach-block, .skill-evidence, .section-title, .section-note, .role-node, .timeline-rail,
.role-award, .sprite, .skill-group h3 .icon, .awards .icon, .edu-row > .icon {
  display: none !important;
}

/* Every revealed/collapsed thing is fully shown. */
[data-reveal], .js [data-reveal] { opacity: 1 !important; translate: none !important; transform: none !important; }
.js [data-collapsible] .role-more { display: block !important; }
.js [data-collapsible] .role-more li { opacity: 1 !important; transform: none !important; }
.holo, [data-tilt] { transform: none !important; }
.foil, .shine, .holo::after, [data-spotlight]::before, [data-spotlight]::after { display: none !important; }

.container { max-width: none; padding: 0; }
.grid { display: block; }

/* Header block */
.hero { padding: 0 0 4mm; border-bottom: 1.5pt solid #000; }
.hero-name { margin: 0; font-size: 22pt; line-height: 1; letter-spacing: -0.03em; }
.hero-name-line { display: inline; }
.hero-name-italic { padding-left: 0.25em; }
.hero-role { margin-top: 1.5mm; font-size: 11pt; }
.hero-role .label { display: none; }
.hero-lede { display: none !important; }
.print-contact { display: block !important; margin-top: 1.5mm; font-family: var(--font-sans); font-size: 8.5pt; color: #000; }

/* Sections: the mono number line becomes the heading. */
.section { padding: 4mm 0 0; }
.section-head { margin: 0 0 2mm; padding: 0; border: 0; display: block; }
.section-head::before { display: none; }
.section-num { margin: 0; font-size: 8.5pt; font-weight: var(--fw-heavy); letter-spacing: 0.12em; text-transform: uppercase; color: #000; }
.section-num span { display: none; }
.prose p + p { margin-top: 1mm; }
.lead { font-size: 9.2pt; color: #222; }
.about-copy p:not(.lead) { display: none; }

/* Experience */
.timeline { display: block; padding: 0; }
.role { margin-bottom: 2.6mm; }
.role-head, .role-company, .role-title { break-after: avoid; page-break-after: avoid; }
.role-points li:first-child { break-before: avoid; }
.role-points li { break-inside: avoid; }
.card, .role-card { border: 0; padding: 0; background: none; border-radius: 0; }
.role-head { display: grid; grid-template-columns: 1fr auto; column-gap: 4mm; }
.role-dates { position: static; grid-column: 2; grid-row: 1; margin: 0; font-size: 8pt; color: #333; text-align: right; }
.role-company { grid-column: 1; grid-row: 1; font-family: var(--font-sans); font-size: 10pt; font-weight: var(--fw-heavy); }
.role-title { grid-column: 1 / -1; font-size: 9pt; }
.role-points { margin-top: 1mm; gap: 0.6mm; }
.role-points li { padding-left: 3.5mm; }
.role-points li::before { width: 2mm; height: 0; top: 0.7em; background: none; border-top: 0.6pt solid #000; }
.role-more > ul { padding-top: 0.6mm; }
.role-stack { display: none !important; }
.role-minor .role-company { font-size: 10pt; }

/* Skills: compact definition-style lines */
.skill-groups { display: block; }
.skill-group { display: flex; align-items: baseline; gap: 2mm; padding: 0; border: 0; margin-bottom: 0.8mm; break-inside: avoid; }
.skill-group h3 { margin: 0; font-size: 9pt; font-weight: var(--fw-heavy); white-space: nowrap; }
.skill-group h3 { display: inline; }
.skill-group h3::after { content: ":"; }
.skill-group .chips { display: inline; }
.skill-group .chips > * { display: inline; border: 0; padding: 0; font-family: var(--font-sans); font-size: 9pt; background: none; color: #222; white-space: normal; }
.skill-group .chips > *:not(:last-child)::after { content: ", "; }

/* Certifications: two-column plain list */
.certs { display: block; columns: 2; column-gap: 8mm; }
.cert { display: block; min-height: 0; padding: 0 0 0.6mm; border: 0; background: none; overflow: visible; break-inside: avoid; }
.cert-top, .cert-track { display: none; }
.cert-issuer, .cert-name { display: inline; padding: 0; margin: 0; font-family: var(--font-sans); font-size: 9pt; font-weight: var(--fw-book); letter-spacing: 0; color: #000; }
.cert-issuer::after { content: " "; }
.cert-feature .cert-name { font-size: 9pt; max-width: none; }
.cert-retired .cert-name::after { content: " (retired by Salesforce)"; color: #555; }
.awards { margin-top: 2mm; }
.awards h3 { font-size: 8.5pt; font-weight: var(--fw-heavy); letter-spacing: 0.12em; text-transform: uppercase; color: #000; margin-bottom: 1mm; }
.awards ul { border: 0; }
.awards li { padding: 0; border: 0; color: #222; }

/* Education */
.edu { border: 0; }
.edu-row { grid-template-columns: 1fr auto; padding: 0 0 1mm; border: 0; break-inside: avoid; }
.edu-row h3 { font-size: 9pt; font-weight: var(--fw-heavy); }
.edu-row p { font-size: 8.5pt; }

/* Footer */
.site-footer { display: none; }
.footer-inner { justify-content: flex-start; gap: 4mm; }

a { color: inherit; text-decoration: none; }
