/* =========================================
   CV PAGE — DOCUMENT LAYOUT (SCREEN)
========================================= */

.cv-container {

  max-width: 900px;

  margin: 40px auto;

  box-shadow: none !important;
  filter: none !important;

  padding:0;
}

/* Print button */

.cv-actions {
  margin-bottom: 20px;
}

/* =========================================
   CV DOCUMENT SHEET
========================================= */

.cv-document {

  background: white !important;

  /* kill the card effect completely */
  box-shadow: none !important;
  filter: none !important;

  border: none !important;
  border-radius: 0 !important;

  padding: 20mm 18mm !important;

  max-width: none !important;

  overflow: visible !important;
  height: auto !important;

  font-size: 11pt;

  line-height: 1.45;
}

/* =========================================
   CV HEADER
========================================= */

.cv-header {

  display: flex;
  justify-content: space-between;
  align-items: flex-start;

  margin-bottom: 28px;
}

.cv-header-left h1 {

  font-size: 2rem;

  margin: 0 0 4px 0;
}

.cv-title {

  font-size: 1rem;
  color: #666;
}

.cv-contact {

  margin-top: 10px;

  font-size: 0.9rem;

  color: #555;
}

.cv-photo {

  width: 110px;

  border-radius: 6px;
}

/* =========================================
   CV TYPOGRAPHY
========================================= */

.cv-document h2 {

  margin-top: 28px;

  padding-top: 14px;

  border-top: 1px solid #ddd;
}

.cv-document h3 {

  margin-top: 16px;
}

.cv-document ul {

  margin-top: 6px;

  margin-bottom: 14px;
}

.cv-document li {

  margin-bottom: 4px;
}

/* =========================================
   PRINT MODE — DETACH CV FROM SITE
========================================= */

@media print {

  /* Hide website interface */

  .section-header {
    display: none !important;
  }

  .site-header,
  .site-footer,
  .cv-actions,
  nav {
    display: none !important;
  }

  /* Reset global layout */

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

  html,
  body {

    background: white !important;

    margin: 0 !important;
    padding: 0 !important;

    height: auto !important;
    overflow: visible !important;
  }

  /* Remove ALL site layout wrappers */

  .section-content,
  .project-page,
  .main-content,
  .page-content {

    display: block !important;

    margin: 0 !important;
    padding: 0 !important;

    max-width: none !important;

    box-shadow: none !important;
    border: none !important;

    background: none !important;

    overflow: visible !important;
    height: auto !important;
  }

  /* CV container */

  .cv-container {

    margin: 0 !important;
    padding: 0 !important;

    max-width: none !important;
  }

  /* Printable CV */

  .cv-document {

    background: white !important;

    box-shadow: none !important;

    border: none !important;
    border-radius: 0 !important;

    padding: 0mm 2mm 0mm 2mm !important;

    margin-top: 0 !important;

    width: auto !important;

    overflow: visible !important;
    height: auto !important;

    font-size: 11pt;

    line-height: 1.45;
  }

  /* Section separators */

  .cv-document h2 {

    border-top: 1px solid #000;
  }

  /* Prevent ugly page breaks */

  h2,
  h3 {

    page-break-after: avoid;
  }

  ul {

    page-break-inside: avoid;
  }

  .cv-container *,
  .cv-document * {

    box-shadow: none !important;
    filter: none !important;
  }

}

/* =========================================
   CV LINK — subtle external arrow
========================================= */

.apropos-text a::after {

  content: " ↗";

  font-size: 0.9em;
}

/* =========================================
   ABOUT PAGE — TYPOGRAPHY
========================================= */

.apropos-text {

  max-width: 680px;

  margin: 0 auto;

  font-size: 16px;

  line-height: 1.7;

  color: #333;
}

/* Paragraph spacing */

.apropos-text p {

  margin-bottom: 1.2rem;
}

/* Section titles */

.apropos-text h2 {

  font-size: 1.4rem;

  font-weight: 600;

  margin-top: 2.5rem;

  margin-bottom: 0.6rem;

  color: #222;
}

/* First paragraph slightly larger */

.apropos-text p:first-of-type {

  font-size: 17px;
}

/* CV link styling */

.apropos-text a {

  text-decoration: underline;

  text-decoration-thickness: 1px;
}

.apropos-text a:hover {

  text-decoration-thickness: 2px;
}

.page-title {
  font-size: 1.6rem;
  font-weight: 600;
  margin-bottom: 1.5rem;
}

/* =========================================
   ACTIVE NAV LINK
========================================= */

.main-nav a.active {

  border-bottom: 2px solid currentColor;
}

.main-nav a:hover {

  border-bottom: 2px solid currentColor;
}