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

* {
    box-shadow: none !important;
    text-shadow: none !important;
    background: #fff !important;
    color: #000 !important;
    border-color: #000 !important;
}

html, body {
    background: #fff !important;
}

body {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 10.5pt;
    line-height: 1.35;
}

.site-header,
.site-footer,
.theme-toggle,
.chat-widget,
.no-print,
.back-link,
.case-study__image,
.case-study__gallery-section,
.reveal {
    display: none !important;
}

.reveal {
    opacity: 1 !important;
    transform: none !important;
}

main,
.cv {
    max-width: none;
    padding: 0;
    margin: 0;
}

h1, h2, h3, h4 {
    font-family: Georgia, "Times New Roman", serif;
    letter-spacing: normal;
}

h1 { font-size: 20pt; margin-bottom: 0.3em; }
h2 { font-size: 14pt; margin-top: 0.6em; margin-bottom: 0.3em; }
h3 { font-size: 12pt; margin-bottom: 0.2em; }

/* The screen layout's generous section/paragraph spacing (--space-*) is
   tuned for a scrolling marketing page, not a printed A4 sheet — tighten it
   here so the CV fits on one to two pages instead of spilling further. */
.cv section {
    margin-top: 0.7em;
}

.cv p,
.cv ul {
    margin-bottom: 0.4em;
}

a {
    text-decoration: none;
}

a[href^="http"]::after,
a[href^="mailto:"]::after {
    content: " (" attr(href) ")";
    font-size: 0.8em;
}

.cv__header {
    border-bottom: 1px solid #000;
    padding-bottom: 0.3em;
    margin-bottom: 0.6em;
}

.skill-groups {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.2em 2em;
}

.tag,
.tag--challenge {
    border: 1px solid #000 !important;
}
