/* Self-contained document: translate .im-pages vertically inside .im-scroll. */
.im-document {
  --im-green: #263f35;
  --im-muted: #72766d;
  width: 100%;
  height: 100%;
  color: #24332b;
  background: #fff;
  font-family: Arial, Helvetica, sans-serif;
}
.im-document * { box-sizing: border-box; }
.im-document .im-scroll { width: 100%; height: 100%; overflow: hidden; }
.im-document .im-pages { width: 100%; height: 100%; will-change: transform; }
.im-document .im-page { position: relative; width: 100%; height: 100%; min-height: 0; overflow: hidden; background: #fff; }
.im-document .im-cover { display: flex; }
.im-document .im-cover-copy { width: 59%; padding: 22px 25px 17px; display: flex; flex-direction: column; }
.im-document .im-brand { display: flex; align-items: center; gap: 7px; color: var(--im-green); font-size: 9px; letter-spacing: .12em; white-space: nowrap; }
.im-document .im-brand b { font-weight: 400; }
.im-document .im-monogram { display: block; width: 24px; height: 24px; flex: none; }
.im-document .im-cover-heading { margin: auto 0; }
.im-document .im-eyebrow { color: #6c7b70; font-size: 8px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.im-document .im-eyebrow span { display: inline-block; width: 14px; height: 1px; margin: 0 4px 3px; background: #a5aea5; }
.im-document h1, .im-document h2 { margin: 0; font-family: Georgia, 'Times New Roman', serif; font-weight: 400; }
.im-document h1 { margin-top: 12px; color: #263c32; font-size: clamp(25px, 3vw, 37px); line-height: 1.02; letter-spacing: -.035em; }
.im-document .im-cover-heading p { margin: 11px 0 0; color: #737970; font-size: 10px; }
.im-document .im-cover-footer { display: flex; justify-content: space-between; color: #8b9088; font-size: 8px; }
.im-document .im-cover-image { width: 41%; height: 100%; background: #d5ddd4 url('im-cover-photo.png') center center / cover no-repeat; }
.im-document .im-summary { padding: 17px 24px 14px; display: flex; flex-direction: column; }
.im-document .im-page-header { display: flex; align-items: center; justify-content: space-between; padding-bottom: 10px; border-bottom: 1px solid #d7dcd4; color: #8a9188; font-size: 7px; letter-spacing: .1em; }
.im-document .im-brand-small { gap: 5px; font-size: 7px; }
.im-document .im-brand-small .im-monogram { width: 19px; height: 19px; }
.im-document .im-summary-content { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); gap: 26px; flex: 1; padding-top: 18px; }
.im-document h2 { margin: 7px 0 10px; font-size: 25px; line-height: 1; letter-spacing: -.025em; }
.im-document .im-narrative p { margin: 0 0 8px; color: #4e5951; font-size: 10px; line-height: 1.45; }
.im-document .im-review { margin-top: 11px; color: #879086; font-size: 8px; }
.im-document .im-review span { padding: 0 3px; }
.im-document .im-terms { padding: 13px 14px 10px; background: #f4f6f3; align-self: start; }
.im-document .im-terms h3 { margin: 0 0 8px; color: #33493b; font-family: Georgia, 'Times New Roman', serif; font-size: 14px; font-weight: 400; }
.im-document .im-terms dl { margin: 0; }
.im-document .im-terms dl div { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; padding: 6px 0; border-top: 1px solid #d3d9cf; }
.im-document .im-terms dt { color: #737c72; font-size: 8px; }
.im-document .im-terms dd { margin: 0; color: #283d31; font-size: 10px; font-weight: 700; white-space: nowrap; }
.im-document .im-page-footer { display: flex; justify-content: space-between; padding-top: 8px; border-top: 1px solid #d7dcd4; color: #969c94; font-size: 7px; }
