/* A paper-first view of the same résumé content, loaded only for printing. */
@page {
  size: A4;
  margin: 16mm 17mm 18mm;
  @bottom-left {
    content: "Peter Takáč · Rhoper";
    font: 8pt Inter, "Segoe UI", Arial, sans-serif;
    color: #526049;
  }
  @bottom-right {
    content: counter(page) " / " counter(pages);
    font: 8pt Inter, "Segoe UI", Arial, sans-serif;
    color: #526049;
  }
}

:root {
  color-scheme: light;
  --bg: #fff;
  --ink: #1c231b;
  --muted: #41483e;
  --dim: #526049;
  --accent: #3e582a;
  --line: #ccd2c7;
}
html { scroll-behavior: auto; }
body { background: #fff; color: var(--ink); font: 10pt/1.42 var(--sans); }
*, *::before, *::after { animation: none !important; transition: none !important; box-shadow: none !important; text-shadow: none !important; }
a, a:hover { color: inherit; text-decoration: none; }
p, li { orphans: 3; widows: 3; }
h2, h3, h4 { break-after: avoid; letter-spacing: 0; }
summary { list-style: none; }
summary::marker, summary::-webkit-details-marker { display: none; }
.print-only { display: block; }
.screen-only, .header, .hero, .logo-ticker, #contact, .skip, .noscript,
.explorer-controls, .results-bar, .filter-note, .project-cover, .imagery-note,
.project-navigation, .career-heading-actions, .research-toolbar, .expand-icon,
.company-logo, .ph, .section-heading .eyebrow, .capability-summary,
.collection-details > summary, .project-card > details > summary,
.role-duration, .employer-count, .related-projects, .role-main > .tags,
.employer-group > .company-heading, .employer-period,
.project-bottom, .about-grid > div:first-child {
  display: none !important;
}

/* Identity and useful contact details, before the career history. */
.resume-header { padding-bottom: 13pt; margin-bottom: 15pt; border-bottom: 2pt solid var(--accent); break-inside: avoid; }
.resume-name { font-size: 29pt; font-weight: 650; line-height: 1.1; letter-spacing: -.8pt; }
.resume-title { margin-top: 7pt; color: var(--accent); font-size: 11pt; font-weight: 550; }
.resume-location { margin-top: 7pt; font-size: 9pt; color: var(--muted); }
.resume-contact { display: flex; flex-wrap: wrap; gap: 2pt 12pt; margin-top: 3pt; font-size: 9pt; }
.resume-contact a { white-space: nowrap; }
.resume-summary { margin-top: 11pt; }

/* Normal block flow lets long employer groups span pages naturally. */
.wrap, .section { width: 100%; max-width: none; margin: 0; padding: 0; }
.section { margin-top: 17pt; background: #fff; border: 0; border-radius: 0; }
#experience { margin-top: 0; }
.section-heading { display: block; margin: 0 0 10pt; padding-bottom: 5pt; border-bottom: .6pt solid var(--line); break-after: avoid; }
h2 { font-size: 15pt; font-weight: 650; line-height: 1.2; color: var(--accent); }
.career-layout, .timeline, .employer-roles, .company-heading, .role-main, .role-details > summary { display: block; margin: 0; padding: 0; border: 0; min-height: 0; }
.timeline { --company-indent: 0; }
.role, .employer-group, .employer-roles .role, .client-entries .role { padding: 8pt 0; border-bottom: .5pt solid var(--line); }
.role, .role-details { break-inside: avoid; }
.employer-group { break-inside: auto; padding: 0; border: 0; }
.role:first-child, .employer-group:first-child { padding-top: 0; }
.employer-roles .role:first-child { padding-top: 8pt; }
.company-heading { break-after: avoid; }
.company-name { font-size: 12pt; font-weight: 650; line-height: 1.3; letter-spacing: 0; }
.role-title { font-size: 10.5pt; font-weight: 600; line-height: 1.35; letter-spacing: 0; }
.role-main, .role--grouped .role-main { margin: 0; padding: 3pt 0 0; }
.role-date, .employer-period { display: block; margin: 3pt 0; font: 9pt/1.4 var(--sans); color: var(--muted); }
.employer-period { break-after: avoid; }
.role-category { background: none; color: var(--muted); font: inherit; padding: 0; border: 0; border-radius: 0; }
.role-category::before { content: " · "; white-space: pre; }
.role-content p { max-width: none; margin: 4pt 0; font: inherit; color: var(--ink); }
.role-content .role-note { font-size: 9pt; color: var(--muted); font-weight: 500; }
.role-location { font-size: 9pt; color: var(--muted); }
.role-expanded { padding: 3pt 0 0; }
.contributions { margin: 0; padding-left: 13pt; font: inherit; color: var(--ink); }
.contributions li + li { margin-top: 2pt; }
.contributions li { break-inside: avoid; }
.contributions li::marker { color: var(--accent); }
.role-main > .tags { margin-top: 5pt; }
.client-work { margin: 11pt 0 0; padding: 0 0 0 11pt; border-left: .7pt solid var(--line); }
.client-work-summary, .client-work-heading { display: block; min-height: 0; break-after: avoid; }
.client-work-heading strong { color: var(--accent); font-size: 10pt; font-weight: 600; }
.client-work-heading span { display: inline; margin-left: 7pt; font-size: 9pt; color: var(--muted); }
.client-entries .role { padding: 8pt 0; }
.client-entries .role:first-child { padding-top: 7pt; }
.role--client .company-name { font-size: 10.5pt; }

/* Project detail keeps scope, ownership, dates, and delivery qualifications. */
.project-grid { display: block; overflow: visible; margin: 0; padding: 0; }
.project-grid .project-card { display: block; width: 100%; margin: 0 0 12pt; padding: 0 0 10pt; background: #fff; border: 0; border-bottom: .5pt solid var(--line); border-radius: 0; overflow: visible; break-inside: avoid; transform: none; }
.project-body, .project-grid .project-card.compact .project-body { display: block; background: none; margin: 0; padding: 0; }
.project-grid .project-card.compact .project-body h3 { font-size: 12pt; line-height: 1.3; font-weight: 650; min-height: 0; margin: 0 0 3pt; letter-spacing: 0; }
.project-context { display: inline; color: var(--muted); font: 9pt/1.4 var(--sans); margin: 0; }
.project-stage { display: inline; color: var(--accent); border: 0; padding: 0; margin: 0; font-size: 9pt; font-weight: 550; }
.project-stage::before { content: " · "; }
.project-grid .project-card.compact .project-body > p { max-width: none; margin-top: 5pt; min-height: 0; color: var(--ink); font: inherit; }
.project-grid .project-bottom { display: block; margin: 5pt 0 0; padding: 0; }
.project-card details { border: 0; }
.project-expanded { padding: 0; font: inherit; }
.project-period { font: 9pt/1.4 var(--sans); color: var(--muted); margin: 5pt 0; }
.project-expanded h4 { font-size: 9pt; letter-spacing: 0; text-transform: none; font-weight: 650; margin: 6pt 0 3pt; }
.project-expanded p { font: inherit; color: var(--ink); }

/* Plain inline skills replace the website's interactive pills. */
.tags, .skill-groups .tags { display: block; }
.tag, .skill-groups .tag, button.tag:hover { display: inline; min-height: 0; padding: 0; margin: 0; border: 0; border-radius: 0; background: none; color: var(--muted); font: 8.5pt/1.5 var(--sans); }
.tag:not(:last-child)::after { content: " · "; white-space: pre-wrap; }
.collection-details { margin: 0; border: 0; }
.skill-groups { display: block; }
.skill-groups > div { padding: 0; margin-bottom: 8pt; border: 0; break-inside: avoid; }
.skill-groups h3 { font-size: 10pt; font-weight: 600; margin: 0 0 3pt; }
.skill-groups .tag { font-size: 9pt; }

/* Credentials and citations use the same compact, legible hierarchy. */
.about-grid { display: block; }
.credentials-content > h2 { border-bottom: .6pt solid var(--line); padding-bottom: 5pt; margin-bottom: 10pt; }
.minor-heading, .minor-heading:not(:first-child) { font-size: 10pt; letter-spacing: 0; text-transform: none; margin: 11pt 0 4pt; color: var(--ink); }
.education { display: grid; grid-template-columns: 65pt 1fr; gap: 0 10pt; padding: 5pt 0; border: 0; break-inside: avoid; }
.education > span { font: 9pt/1.4 var(--sans); color: var(--muted); }
.education h4 { margin: 0; font-size: 10pt; line-height: 1.4; font-weight: 550; }
.education p { grid-column: 2; margin-top: 1pt; font-size: 9pt; color: var(--muted); }
#languages, #certifications { break-inside: avoid; }
.language { display: block; padding: 2pt 0; border: 0; font-size: 9pt; break-inside: avoid; }
.language span { color: var(--muted); margin-left: 7pt; }
.certifications { display: block; }
.certifications > div { display: block; font-size: 9pt; padding: 3pt 0; break-inside: avoid; }
.certifications span { color: var(--muted); margin-left: 7pt; }
.credential-note { font-size: 9pt; break-inside: avoid; }
.research-section { break-inside: avoid; }
.publication { display: block; position: relative; padding: 7pt 0 7pt 35pt; border-color: var(--line); break-inside: avoid; }
#publications > .publication:first-child { border-top: 0; }
.publication > div { display: contents; }
.publication h3 { font-size: 10pt; line-height: 1.4; font-weight: 550; }
.publication p { display: inline; font-size: 9pt; line-height: 1.4; margin: 0; color: var(--muted); }
.pub-year { position: absolute; left: 0; top: 7pt; padding: 0; font: 9pt/1.4 var(--sans); color: var(--muted); }
.pub-type { margin: 0; padding: 0; border: 0; border-radius: 0; font-size: 9pt; color: var(--muted); }
.pub-type::before { content: " · "; }
