@page {
    size: A4;
    margin: 14mm 14mm 14mm 14mm;
}

/* Print color handling */
html,
body {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
}

/* Hide by default (website) */
.pdf-only {
    display: none;
}

/* Show only in print/PDF */
@media print {
    .pdf-only {
        display: block !important;
    }

    /* Make it visually “CV robust” */
    #motivation h2 {
        margin: 0 0 6px 0;
        font-size: 12.5pt;
        letter-spacing: 0.02em;
        text-transform: uppercase;
    }

    #motivation p {
        margin: 0 0 6px 0;
        font-size: 10.5pt;
        line-height: 1.35;
        color: #333;
    }

    /* Keep it on page 1 under hero as much as possible */
    #motivation {
        break-inside: avoid;
        page-break-inside: avoid;
        margin-top: 8mm;
    }

    /* ---- kill all the web-landing effects ---- */
    * {
        box-shadow: none !important;
        text-shadow: none !important;
        filter: none !important;
        backdrop-filter: none !important;
        animation: none !important;
        transition: none !important;
    }

    /* remove decorative backgrounds / parallax */
    body:before,
    section:before,
    .parallax,
    .layer,
    .stars,
    .glow,
    .grid {
        display: none !important;
    }

    /* ---- page baseline ---- */
    :root {
        --ink: #111;
        --muted: #444;
        --hair: #d6d6d6;
        --accent: #0a66c2;
        /* subtle, professional blue (change if you want) */
    }

    body {
        margin: 0 !important;
        background: #fff !important;
        color: var(--ink) !important;
        font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial !important;
        font-size: 10.5pt;
        line-height: 1.35;
        overflow: visible !important;
    }

    a {
        color: var(--ink) !important;
        text-decoration: none !important;
    }

    /* Hide navigation & buttons in PDF */
    .nav,
    .cta,
    #downloadBtn,
    #themeToggle,
    #roleToggle,
    #langToggle,
    .hero-actions,
    footer .small:last-child {
        display: none !important;
    }

    /* Make sure reveal items are visible */
    .reveal {
        opacity: 1 !important;
        transform: none !important;
    }

    /* ---- layout: more “CV-like”, less “landing page” ---- */
    section {
        padding: 0 !important;
        position: static !important;
        page-break-inside: avoid;
        break-inside: avoid;
    }

    /* tighten vertical rhythm */
    #top {
        margin-bottom: 10mm;
    }

    #experience {
        margin-bottom: 6mm;
    }

    #capabilities {
        margin-bottom: 6mm;
    }

    #skills {
        margin-bottom: 6mm;
    }

    #contact {
        margin-bottom: 0;
    }

    .wrap {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
    }

    /* ---- HERO -> turns into CV header ---- */
    .hero {
        min-height: auto !important;
        padding-top: 0 !important;
        display: block !important;
    }

    .kicker {
        font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important;
        color: var(--muted) !important;
        font-size: 9pt !important;
        letter-spacing: .06em !important;
        text-transform: uppercase !important;
        margin: 0 0 3mm 0 !important;
    }

    h1,
    .hero h1 {
        color: var(--ink) !important;
        background: none !important;
        -webkit-background-clip: initial !important;
        font-size: 22pt !important;
        line-height: 1.1 !important;
        margin: 0 0 2mm 0 !important;
        letter-spacing: -0.02em !important;
    }

    .hero h1:after {
        content: "";
        display: block;
        width: 34mm;
        height: 1.2mm;
        margin-top: 2.5mm;
        background: var(--accent);
        opacity: 0.9;
    }

    .lead {
        color: var(--muted) !important;
        font-size: 10.5pt !important;
        max-width: none !important;
        margin: 0 0 4mm 0 !important;
    }

    /* turn chips into a compact single-line style */
    .meta {
        margin-top: 3mm !important;
        gap: 6mm !important;
        color: var(--muted) !important;
        font-size: 9.5pt !important;
    }

    .chip {
        border: none !important;
        background: transparent !important;
        padding: 0 !important;
        border-radius: 0 !important;
    }

    .chip strong {
        color: var(--ink) !important;
        font-weight: 600;
    }

    /* Hide poem/tagline and hero cards in CV PDF (they’re “webby”) */
    .tagline,
    .hero .cards {
        display: none !important;
    }

    /* ---- Section headings ---- */
    .section-title {
        display: block !important;
        margin: 0 0 3mm 0 !important;
        border-bottom: 1px solid var(--hair);
        padding-bottom: 1.5mm;
    }

    .section-title h2,
    .section-title h2.grad {
        color: var(--ink) !important;
        background: none !important;
        font-size: 12.5pt !important;
        letter-spacing: 0.02em !important;
        text-transform: uppercase;
        margin: 0 !important;
    }

    .section-title .hint {
        color: var(--muted) !important;
        font-size: 9pt !important;
        margin-top: 1mm;
        font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important;
    }

    /* ---- Experience blocks ---- */
    .timeline {
        gap: 3mm !important;
    }

    .role,
    .card,
    .panel {
        border: 1px solid var(--hair) !important;
        background: #fff !important;
        border-radius: 6px !important;
        overflow: visible !important;
    }

    .role-header {
        background: #fff !important;
        border-bottom: 1px solid var(--hair) !important;
        padding: 3mm 3mm !important;
    }

    .role-title strong {
        font-size: 11pt !important;
        font-weight: 700 !important;
    }

    .role-title span,
    .role-meta {
        color: var(--muted) !important;
        font-size: 9pt !important;
        font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important;
    }

    .role-meta {
        min-width: 45mm !important;
    }

    .role-body {
        padding: 3mm 3mm 3mm 3mm !important;
    }

    .role-body p {
        color: var(--muted) !important;
        margin: 0 0 2mm 0 !important;
    }

    .cols {
        grid-template-columns: 1fr 1fr !important;
        gap: 3mm !important;
    }

    .panel {
        padding: 2.5mm 2.5mm !important;
        border-radius: 5px !important;
    }

    .panel h4 {
        color: var(--ink) !important;
        font-size: 9pt !important;
        margin: 0 0 1.8mm 0 !important;
        letter-spacing: 0.06em;
    }

    ul {
        margin: 0 !important;
        padding-left: 4.5mm !important;
    }

    li {
        color: var(--muted) !important;
        margin: 0.8mm 0 !important;
        line-height: 1.35 !important;
    }

    /* Avoid ugly page breaks inside roles */
    .role,
    .panel {
        break-inside: avoid;
        page-break-inside: avoid;
    }

    /* ---- Capabilities ---- */
    #capabilities .cards {
        margin-top: 2mm !important;
        gap: 3mm !important;
    }

    #capabilities .card {
        padding: 3mm !important;
    }

    #capabilities .card h3 {
        font-size: 10.5pt !important;
        margin: 0 0 1mm 0 !important;
    }

    #capabilities .card p {
        font-size: 9.8pt !important;
        margin: 0 !important;
        color: var(--muted) !important;
    }

    /* ---- Skills -> turn into simple list-like chips ---- */
    .skills-grid {
        display: grid !important;
        grid-template-columns: 1fr 1fr 1fr 1fr !important;
        gap: 2.5mm 3mm !important;
    }

    .skill-group {
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .skill-group-title {
        font-size: 7.5pt !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.05em !important;
        color: var(--muted) !important;
        margin: 0 0 1mm 0 !important;
    }

    .skills {
        gap: 1.2mm !important;
    }

    .skill {
        border: 1px solid var(--hair) !important;
        background: #fff !important;
        color: var(--ink) !important;
        padding: 0.8mm 2mm !important;
        border-radius: 999px !important;
        font-size: 8pt !important;
    }

    .skill:before {
        display: none !important;
    }

    /* ---- Education ---- */
    #education {
        margin-bottom: 6mm;
    }

    .edu-list {
        gap: 2mm !important;
    }

    .edu-item {
        border: 1px solid var(--hair) !important;
        background: #fff !important;
        border-radius: 6px !important;
        padding: 2.5mm 3mm !important;
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .edu-header {
        display: flex !important;
        justify-content: space-between !important;
        align-items: flex-start !important;
    }

    .edu-title > span:first-child {
        font-size: 10pt !important;
        color: var(--ink) !important;
    }

    .edu-org {
        font-size: 8.5pt !important;
        color: var(--muted) !important;
    }

    .edu-meta {
        font-size: 8.5pt !important;
        color: var(--muted) !important;
        font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important;
        min-width: 35mm !important;
    }

    .edu-desc {
        font-size: 9pt !important;
        color: var(--muted) !important;
        margin: 1.5mm 0 0 0 !important;
        line-height: 1.35 !important;
    }

    /* ---- Contact: make it a compact footer block ---- */
    #contact .card {
        border: 1px solid var(--hair) !important;
        padding: 3mm !important;
    }

    #contact a[href^="mailto:"] {
        color: var(--accent) !important;
        /* the *hint* of color */
        font-weight: 600;
    }

    /* show URLs after link text in print (optional but useful) */
    a[href^="http"]:after {
        content: " (" attr(href) ")";
        font-size: 8.5pt;
        color: var(--muted);
    }
}