/* =========================================================
   PAGE CONTAINER
========================================================= */

.site-main {

  width:
    min(1260px, calc(100% - 32px));

  margin-inline: auto;

  padding:
    30px 0 80px;

}



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

.display-title {

  margin: 0;

  color:
    var(--text);

  font-family:
    var(--font-display);

  font-size:
    clamp(2.7rem, 6vw, 5rem);

  line-height: 0.95;

  letter-spacing: -0.035em;

  font-weight: 600;

}


.display-title em {

  color:
    var(--accent);

  font-weight: 600;

}


.archive-label {

  display: block;

  margin-bottom: 8px;

  color:
    var(--accent-text);

  font-size: 11px;

  font-weight: 800;

  letter-spacing: 0.16em;

  text-transform: uppercase;

}


.page-title {

  margin: 0;

  font-family:
    var(--font-display);

  font-size:
    clamp(2.2rem, 4vw, 3.4rem);

  line-height: 1;

  letter-spacing: -0.025em;

}


.page-description {

  margin:
    10px 0 0;

  max-width: 680px;

  color:
    var(--text-muted);

}



/* =========================================================
   SURFACES
========================================================= */

.surface {

  background:
    var(--surface);

  border:
    1px solid
    var(--border);

  border-radius:
    var(--radius-md);

  box-shadow:
    var(--shadow-sm);

}


.surface-raised {

  background:
    var(--surface-raised);

  border:
    1px solid
    var(--border);

  border-radius:
    var(--radius-md);

  box-shadow:
    var(--shadow-md);

}



/* =========================================================
   ARCHIVAL PAPER
========================================================= */

.paper-panel {

  position: relative;

  isolation: isolate;

  overflow: hidden;

  background:
    var(--paper);

  border:
    1px solid
    var(--border);

  border-radius:
    var(--radius-md);

  box-shadow:
    var(--shadow-md);

}


.paper-panel::before {

  content: "";

  position: absolute;

  inset: 0;

  z-index: -1;

  opacity:
    var(--paper-texture-opacity);

  background-image:

    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 4px,
      var(--paper-line) 5px
    );

  pointer-events: none;

}


/* =========================================================
   SITE MAIN — MOBILE
========================================================= */

@media (max-width: 760px) {

  .site-main {

    width:
      min(100% - 20px, 1260px);

    padding-top: 20px;

  }

}
