/* =============================================================
   Arthur Abeilice — "pretty" two-column CV (HTML -> PDF)
   Reproduces the designed résumé (Inkscape/PDF reference).
   This is the direct-to-recruiter design; use cv/main_example.tex
   for ATS / portal submissions.
   ============================================================= */

@font-face {
  font-family: "Archivo Black";
  src: url("assets/fonts/ArchivoBlack-Regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: block;
}

@font-face {
  font-family: "Montserrat";
  src: url("assets/fonts/Montserrat-Regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: block;
}

@font-face {
  font-family: "Montserrat";
  src: url("assets/fonts/Montserrat-SemiBold.ttf") format("truetype");
  font-style: normal;
  font-weight: 600;
  font-display: block;
}

@font-face {
  font-family: "Montserrat";
  src: url("assets/fonts/Montserrat-Bold.ttf") format("truetype");
  font-style: normal;
  font-weight: 700;
  font-display: block;
}

@font-face {
  font-family: "Montserrat";
  src: url("assets/fonts/Montserrat-ExtraBold.ttf") format("truetype");
  font-style: normal;
  font-weight: 800;
  font-display: block;
}

@font-face {
  font-family: "Montserrat";
  src: url("assets/fonts/Montserrat-Italic.ttf") format("truetype");
  font-style: italic;
  font-weight: 400;
  font-display: block;
}

@font-face {
  font-family: "Montserrat";
  src: url("assets/fonts/Montserrat-SemiBoldItalic.ttf") format("truetype");
  font-style: italic;
  font-weight: 600;
  font-display: block;
}

@font-face {
  font-family: "Montserrat";
  src: url("assets/fonts/Montserrat-BoldItalic.ttf") format("truetype");
  font-style: italic;
  font-weight: 700;
  font-display: block;
}

:root {
  --navy:       #322647;   /* name + section headings + bullets */
  --navy-soft:  #322647;   /* bold inline keywords */
  --ink:        #322647;   /* body text */
  --muted:      #322647;   /* meta / italic lines */
  --rule:       #322647;
  --sidebar-w:  34%;
  --gap:        7mm;
}

* { box-sizing: border-box; }

@page {
  size: A4;
  margin: 0;
}

html, body {
  margin: 0;
  padding: 0;
  background: #ffffff;
  color: var(--ink);
  font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
  font-weight: 400;
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
  font-size: 8pt;
  line-height: 1.25;
}

/* Inline emphasis in both columns is Montserrat SemiBold, never Archivo. */
b, strong {
  font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
  font-weight: 600;
}

/* ---------- page shell ---------- */
.page {
  width: 210mm;
  min-height: 285mm;   /* floor for short edits; content grows within one A4 sheet */
  margin: 0 auto;
  padding: 8mm 7.2mm 6mm 7.2mm;
  display: grid;
  grid-template-columns: var(--sidebar-w) 1fr;
  column-gap: var(--gap);
  background: #ffffff;
}

/* ---------- section headings ---------- */
h2.section {
  color: var(--navy);
  font-family: "Archivo Black", "Arial Black", sans-serif;
  font-weight: 400;
  font-size: 11pt;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin: 0 0 3pt 0;
}

.sidebar h2.section { margin-top: 11pt; }

/* ============ LEFT SIDEBAR ============ */
.sidebar { padding-right: 1.5mm; }

.photo-wrap {
  position: relative;
  isolation: isolate;
  width: 62.9mm;
  height: 62mm;
  margin: -3.6mm 0 0 0;
}
.photo-disc {
  position: absolute;
  border-radius: 50%;
  overflow: hidden;
  background: #dcdce4;
}
.photo-back {
  z-index: 1;
  top: 0;
  left: 1.9mm;
  width: 62mm;
  height: 62mm;
}
.photo-front {
  z-index: 2;
  top: 1mm;
  left: 0;
  width: 60.9mm;
  height: 60.9mm;
}
.photo-disc img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.photo-front img {
  position: relative;
  top: -26%;
  left: -30%;
  width: 140%;
  height: 140%;
  max-width: none;
}

.sidebar p { margin: 0 0 4pt 0; }
.sidebar .block { margin-bottom: 2pt; }

.sidebar p.info-line { margin: 0; }
.info-line .k { color: var(--ink); }
.info-line a,
.sidebar a { color: var(--ink); text-decoration: underline; }

/* list-style sub-items (languages) */
ul.dot {
  list-style: disc;
  margin: 0 0 0 0;
  padding-left: 3.6mm;
}
ul.dot li { margin: 0; }

.lang-label {
  color: var(--ink);
  font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
  font-weight: 600;
}

.events { margin: 0; text-align: left; }
.events b {
  color: var(--navy-soft);
  font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
  font-weight: 600;
}

.paper {
  list-style: disc;
  padding-left: 3.6mm;
  margin: 0;
}
.paper li { margin: 0 0 5pt 0; }
.paper b {
  color: var(--navy-soft);
  font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
  font-weight: 600;
}

/* ============ RIGHT MAIN COLUMN ============ */
.main { padding-left: 1mm; }

.name {
  color: var(--navy);
  font-family: "Archivo Black", "Arial Black", sans-serif;
  font-weight: 400;
  font-size: 34pt;
  line-height: 0.94;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin: -3pt 0 0 0;
}
.subtitle {
  color: var(--navy);
  font-weight: 400;
  font-size: 14pt;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  margin: 2pt 0 0 0;
}
h2.section.experience-head {
  font-size: 12pt;
  margin: 4pt 0 3pt 0;
}

/* role blocks */
.role { margin: 0 0 4pt 0; }
.role-title {
  color: var(--navy);
  font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
  font-weight: 600;
  font-size: 9pt;
  margin: 0;
}
.role-meta {
  font-style: italic;
  color: var(--muted);
  margin: 0 0 1pt 0;
}
.role-desc { margin: 0; }
.role-desc b,
.role-desc strong {
  color: var(--navy-soft);
  font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
  font-weight: 600;
}

.ach-label { margin: 2pt 0 0 0; color: var(--ink); }

ul.ach, ul.free {
  list-style: disc;
  padding-left: 4.4mm;
  margin: 1pt 0 0 0;
}
ul.ach li, ul.free li { margin: 0 0 1pt 0; }
ul.ach b,
ul.free b {
  color: var(--navy-soft);
  font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
  font-weight: 600;
}

ul.ach li::marker, ul.free li::marker,
ul.dot li::marker, .paper li::marker,
ul.about li::marker { color: var(--navy); }

/* about me */
h2.section.about-head { font-size: 11pt; margin: 4pt 0 3pt 0; }
ul.about {
  list-style: disc;
  padding-left: 4.4mm;
  margin: 0;
}
ul.about li { margin: 0 0 1pt 0; }
ul.about b {
  color: var(--navy-soft);
  font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
  font-weight: 600;
}

.dots-sep {
  text-align: center;
  color: var(--navy);
  letter-spacing: 0.3em;
  margin: 0;
  font-size: 11pt;
}

/* closing quote */
.quote {
  text-align: right;
  margin: 5pt 0 0 0;
  color: var(--ink);
}
.quote .q { font-style: italic; }
.quote .author {
  font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
  font-weight: 600;
  display: block;
  margin-top: 1pt;
}

/* ---------- print ---------- */
@media print {
  html, body {
    width: 210mm;
    height: 297mm;
    overflow: hidden;
  }
  .page {
    height: 297mm;
    min-height: 0;
    margin: 0;
    overflow: hidden;
  }
  a { color: var(--ink); }
}
