@font-face {
  font-family: 'OPTIAmericanGothic-Bold';
  src: url('OPTIAmericanGothic-Bold.otf') format('opentype');
}
/* ------------------ BASE ------------------ */
html, body {
  margin: 0;
  min-height: 100vh;
  background: white;
  color: black;
  font-family: "OPTIAmericanGothic-Bold", sans-serif;
  font-size: 10px;
  line-height: 1.2;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  overflow-x: visible; /* 🔥 IMPORTANTISSIMO */
}
* {
  box-sizing: border-box;
}
.container {
  max-width: 900px;
  margin: 0;
  padding: 36px 24px 24px 36px;
}
/* ------------------ TYPOGRAPHY ------------------ */
.name {
  font-size: 9.9px;
  letter-spacing: 3px;
  margin-bottom: 1.6em;
}
.details {
  font-size: 10px;
  letter-spacing: 3px;
  margin-bottom: 1.6em;
}
.cv {
  font-size: 10px;
  letter-spacing: 3px;
  line-height: 1.4;
  text-align: justify;
  max-width: 780px;
}
/* first sentence — default behavior */
.cv-first {
  display: inline;
}
/* hide by default (desktop) */
.mobile-break {
  display: none;
}
/* ------------------ MOBILE PORTRAIT ------------------ */
@media (hover: none) and (pointer: coarse) and (max-width: 767px) and (orientation: portrait) {
  .container {
    max-width: 100%;
    margin: 0 auto;
    padding: 16px 16px 0 16px;
  }
  .name {
    font-size: 6.9px;
    letter-spacing: 0.277em !important;
  }
  .details {
    font-size: 7px;
    letter-spacing: 0.277em !important;
  }
  .cv {
    font-size: 7px;
    letter-spacing: 0.277em !important;
    line-height: 1.4;
    text-align: justify;
    width: 100%;
    max-width: none;
  }
  .no-stretch {
    display: inline-block;
  }
  /* force justified first line block */
  .cv-first {
    display: block;
    text-align: justify;
    text-align-last: justify;
  }
  .mobile-break {
  display: inline;
}
}
/* ------------------ MOBILE LANDSCAPE ------------------ */
@media (hover: none) and (pointer: coarse) and (orientation: landscape) {
  .container {
    max-width: 100%;
    margin: 0 auto;
    padding: 44px 16px 0 24px !important;
  }
  .name {
    font-size: 9.9px;
    letter-spacing: 3px !important;
  }
  .details {
    font-size: 10px;
    letter-spacing: 3px !important;
  }
  .cv {
    font-size: 10px;
    line-height: 1.4;
    text-align: justify;
    letter-spacing: 3px !important;
    max-width: 580px;
    margin: 0;
  }
  .new-line {
    display: block;
 /* hide by default (desktop) */
.mobile-break {
  display: none;
}
}
/* ------------------ DEBUG BACKGROUNDS ------------------ */
@media (hover: none) and (pointer: coarse) and (max-width: 767px) and (orientation: portrait) {
  body {
    background: white !important;
  }
}
@media (hover: none) and (pointer: coarse) and (orientation: landscape) {
  body {
    background: white !important;
  }
}
