@media print {
    #mainNav,
    .masthead {
        display: none !important;
    }

    .print-header {
        display: block !important;
        text-align: center;
        padding: 1.5rem 0 1rem;
        border-bottom: 2px solid rgba(1, 152, 251, 0.25);
        margin-bottom: 1.5rem;
    }
    .print-header h1 {
        font-size: 2rem;
        margin: 0.5rem 0 0.25rem;
        color: #000 !important;
        letter-spacing: 0.1rem;
    }
    .print-jobtitle {
        font-size: 1rem;
        color: #555 !important;
        margin: 0 0 0.4rem;
        text-transform: uppercase;
        letter-spacing: 0.15rem;
    }
    .print-meta {
        font-size: 0.85rem;
        color: #555 !important;
        margin: 0;
    }
    .print-meta span {
        margin: 0 0.75rem;
    }
    .print-profile-photo {
        width: 100px;
        height: 100px;
        object-fit: cover;
        border-radius: 50%;
        border: 2px solid #0198fb;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    body {
        background: #fff !important;
        color: #000 !important;
        font-size: 11pt;
    }
    * {
        min-height: 0 !important;
    }

    .bg-black,
    .about-section,
    .experience-section,
    .skills-section,
    .contact-section {
        background: #fff !important;
        padding: 1rem 0 !important;
    }

    .about-section {
        text-align: left !important;
        border-top: none !important;
    }
    .about-section h2 {
        text-align: center !important;
    }
    .about-section hr {
        display: block !important;
        width: 4rem !important;
        margin: 0 auto 1rem !important;
    }
    .about-section .col-lg-8 {
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }
    .about-section ul {
        display: block !important;
        width: 100% !important;
    }
    .about-meta {
        display: none !important;
    }

    .text-white,
    .text-white-50,
    h2, h3, h4, h5, p, li {
        color: #000 !important;
    }
    .text-primary {
        color: #0198fb !important;
    }
    hr {
        border-color: #0198fb !important;
    }
    a {
        color: #000 !important;
        text-decoration: none !important;
    }

    /* Experience: collapse columns, one-line role header */
    .role-row > div[class*="col-"] {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
    .role-row {
        page-break-inside: avoid;
    }
    .role-header {
        border: none !important;
        padding: 0.25rem 0 0 !important;
        text-align: left !important;
        height: auto !important;
    }
    .role-header .role-dates,
    .role-header h4,
    .role-header .role-company,
    .role-header .role-location {
        display: inline !important;
        margin: 0 !important;
        padding: 0 !important;
        background: none !important;
        color: #000 !important;
        font-size: 14pt !important;
        letter-spacing: normal !important;
        text-transform: none !important;
        border-radius: 0 !important;
    }
    .role-header .role-dates::after,
    .role-header h4::after,
    .role-header .role-company::after {
        content: " · ";
        color: #999;
        font-weight: normal;
    }
    .role-body {
        padding: 0.25rem 0 0.75rem !important;
    }

    .skill-card,
    .education-card {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    /* Skills: convert cards to compact table rows */
    #skills .col-6 {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        margin-bottom: 0 !important;
    }
    .skill-card {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        background: #fff !important;
        border: none !important;
        border-bottom: 1px solid #ddd !important;
        padding: 0.3rem 0.5rem !important;
        text-align: left !important;
        height: auto !important;
    }
    .skill-card h5 {
        flex: 1 !important;
        margin: 0 !important;
        font-size: 10pt !important;
        color: #000 !important;
        text-transform: none !important;
        letter-spacing: normal !important;
    }
    .skill-card .since-badge {
        background: none !important;
        color: #555 !important;
        font-size: 9pt !important;
        padding: 0 !important;
        border-radius: 0 !important;
        letter-spacing: normal !important;
    }
    .education-card {
        background: #fff !important;
        border-left: none !important;
    }

    /* Education cards side by side */
    #skills .row {
        display: flex !important;
        flex-wrap: wrap !important;
    }
    #skills .col-md-5 {
        flex: 0 0 50% !important;
        max-width: 50% !important;
    }

    .badge-primary {
        background-color: #0198fb !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .contact-email-card,
    .contact-section .social,
    footer {
        display: none !important;
    }
    .contact-section .card {
        border: 1px solid #ccc !important;
    }
}
