/* P6 set your masthead: the live proof and the form. Proof sits above the form so the keyboard never hides it. */
.paper { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; }
.paper > * { min-width: 0; }
.pp-text p:not(.kicker) { margin-top: 18px; max-width: 52ch; }
.pp-text h2 { max-width: 16ch; }
.proof { padding: 24px 12px 16px; border: 1px solid var(--ink); background: rgb(255 255 255 / 0.28); scroll-margin-top: 64px; }
.proof-mast {
  margin: 0 0 8px; text-align: center; white-space: nowrap; line-height: 1.1; overflow: hidden; padding-bottom: 0.06em;
  font-family: var(--black); font-weight: 400; font-size: clamp(2rem, 10.5vw, 5.5rem); position: relative;
}
.proof-mast.alt .slot-txt { font-family: var(--serif); font-weight: 800; font-size: 0.82em; }
.slot { position: relative; display: inline-block; text-align: center; }
.slot[data-empty] { min-width: 3.1em; }
.slot-txt { display: inline-block; }
.blank { position: absolute; left: 0; right: 0; bottom: 0.2em; border-bottom: 1px solid var(--ink); transform-origin: left center; transition: transform 200ms var(--ease-out); }
.slot[data-set] .blank { transform: scaleX(0); }
.proof-mast::after { content: ""; position: absolute; inset: 0; background: var(--newsprint); opacity: 0; pointer-events: none; }
.proof-strip {
  margin: 10px 0 0; padding-top: 10px; font-weight: 600; font-size: 0.75rem; letter-spacing: 0.1em; line-height: 1.9;
  text-align: center; transform-origin: left center;
}
.blank-s { display: inline-block; width: 3em; border-bottom: 1px solid var(--ink); vertical-align: -1px; }
.proof .caption { margin-top: 16px; text-align: center; }
.mform { padding-top: 4px; }
.mform label { display: block; font-weight: 600; font-size: var(--fs-label); letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 8px; }
.mf-row { display: flex; gap: 10px; flex-wrap: wrap; }
.mform input {
  flex: 1 1 120px; min-height: 48px; padding: 8px 14px; border: 1px solid var(--ink-soft); border-bottom: 2px solid var(--ink); border-radius: 0;
  background: var(--newsprint); font-size: 1.125rem; font-weight: 500; min-width: 0;
}
.mform input:focus-visible { outline-offset: 2px; }
.mform .note { margin-top: 10px; }
@media (min-width: 768px) { .proof-strip { font-size: var(--fs-label); } }
@media (min-width: 1024px) {
  .paper { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); row-gap: 28px; align-items: start; }
  .paper .folio { grid-column: 1 / -1; }
  .pp-text { grid-column: 1 / 5; grid-row: 2; }
  .proof { grid-column: 5 / 13; grid-row: 2 / 4; padding: 48px 32px 28px; }
  .mform { grid-column: 1 / 5; grid-row: 3; }
  .proof-mast { font-size: clamp(3rem, 6.5vw, 5.75rem); }
  .pp-text h2 { font-size: clamp(2.25rem, 3.4vw, 3.25rem); max-width: 14ch; }
  .slot[data-empty] { min-width: 4.4em; }
}
