/* ============================================================
   danpartain.com — Interior Pages
   Shared patterns: masthead, beat, two-column, section rule, CTA.
   Used by About, Consulting, Wine Guide, Work, Art, Contact.
   ============================================================ */

main {
  max-width: var(--stage);
  margin: 0 auto;
  padding: 0 var(--gutter);
}

.page-masthead {
  max-width: 900px;
  padding-top: clamp(40px, 7vh, 96px);
}

.page-head {
  font-family: var(--font);
  font-weight: var(--w-light);
  font-size: var(--size-pagehead);
  line-height: 1.0;
  letter-spacing: -0.015em;
  margin: 0;
  color: var(--ink);
}

.page-deck {
  font-family: var(--font);
  font-weight: var(--w-reg);
  font-size: var(--size-deck);
  line-height: 1.5;
  color: var(--deck);
  max-width: 560px;
  margin: 26px 0 0;
}

/* ---- Beat / body copy pattern ---- */
.beat {
  font-family: var(--font);
  font-weight: var(--w-reg);
  font-size: 16px;
  line-height: 1.62;
  color: var(--body);
  margin: 0 0 20px;
  max-width: 600px;
}

.beat-lead {
  font-weight: var(--w-med);
  color: var(--ink);
}

.beat em {
  font-style: italic;
}

/* ---- Two-column grid ---- */
.two-col {
  display: grid;
  grid-template-columns: minmax(140px, 220px) 1fr;
  gap: clamp(28px, 5vw, 80px);
  margin-top: var(--rhythm);
  align-items: start;
}


/* ---- Section dividers ---- */
.section-rule {
  border-top: 1px solid var(--rule-strong);
  padding-top: 36px;
  margin-top: var(--rhythm);
}

/* ---- Page closers ---- */
.page-cta {
  margin-top: clamp(48px, 7vh, 88px);
}

/* ---- Figure / caption ---- */
figure {
  margin: 0;
  padding: 0;
}

.figure-block {
  margin: var(--rhythm) 0 0;
}

.figure-wide {
  width: 100%;
  height: clamp(280px, 46vh, 540px);
}

.cns-quote { font-family: var(--font); font-weight: 300; font-size: clamp(30px, 4.6vw, 64px); line-height: 1.08; letter-spacing: -.02em; color: var(--ink); margin: 0; }
.cns-quote-attr { margin-top: 20px; }


@media (max-width: 760px) {
  .two-col {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
}
