/* MIDNYTE offer template — page styles. Fixed 1440x810 pages, scaled to fit. */
:root{
  --mo-ink:#1A1C1B; --mo-cream:#FAF9F5; --mo-green:#1F5546; --mo-green-lt:#A8C8B4;
  --mo-green-bg:#F2F7F3; --mo-body:#41463F; --mo-mu:#6B706D; --mo-mu2:#8B908C;
  --mo-rule:#DCDED9; --mo-rule-lt:#E0E2DC;
  --mo-serif:'Newsreader',Georgia,serif;
  --mo-sans:'IBM Plex Sans',-apple-system,BlinkMacSystemFont,sans-serif;
  --mo-mono:'IBM Plex Mono',ui-monospace,Menlo,monospace;
}

.mo-stage{ display:flex; flex-direction:column; align-items:center; gap:24px; }
.mo-page{
  width:1440px; height:810px; flex:0 0 auto; position:relative; overflow:hidden;
  color:var(--mo-body); font-family:var(--mo-sans);
  box-shadow:0 1px 3px rgba(0,0,0,.08),0 12px 40px rgba(0,0,0,.10);
  transform-origin:top center;
}
.mo-pad{ position:absolute; inset:0; padding:90px 100px; display:flex; flex-direction:column; }

/* ---- type primitives ---- */
.mo-eyebrow{ font-family:var(--mo-mono); font-size:16px; letter-spacing:.18em; color:var(--mo-mu2); }
.mo-eyebrow-gr{ color:var(--mo-green); }
.mo-eyebrow-lt{ color:var(--mo-green-lt); }
.mo-eyebrow-mu{ color:var(--mo-mu2); }
.mo-h1{ font-family:var(--mo-serif); font-weight:400; font-size:62px; line-height:1.05; color:var(--mo-ink); margin:26px 0 44px; letter-spacing:-.01em; }
.mo-h1-sm{ font-size:48px; margin-bottom:40px; }
.mo-h2{ font-family:var(--mo-serif); font-weight:400; font-size:54px; line-height:1.08; color:var(--mo-ink); margin:22px 0 26px; letter-spacing:-.01em; }
.mo-lead,.mo-prose p,.mo-prose-p{ font-size:21px; line-height:1.55; color:var(--mo-body); margin:0 0 22px; }
.mo-mu{ color:var(--mo-mu2); }
.mo-accent{ color:var(--mo-green); }
.mo-foot{ margin-top:auto; padding-top:34px; }
.mo-hr{ height:1px; background:var(--mo-rule); margin:28px 0 20px; }
.mo-hr-tight{ margin:14px 0 22px; }
.mo-note{ font-size:19px; color:var(--mo-body); margin:0; }

/* ---- layout ---- */
.mo-split{ display:grid; grid-template-columns:1fr 1fr; gap:80px; flex:1; }
.mo-split-mid{ align-items:center; }
.mo-split-top{ align-items:start; margin-top:60px; gap:70px; }
.mo-col-r{ display:flex; flex-direction:column; justify-content:center; }
.mo-intro .mo-col-r{ justify-content:flex-start; padding-top:4px; }

/* ---- cover ---- */
.mo-cover .mo-pad{ padding:74px 100px 60px; }
.mo-logo{ font-family:var(--mo-sans); font-style:italic; font-weight:600; font-size:52px; letter-spacing:-.02em; color:#fff; }
.mo-logo sup{ font-size:.32em; vertical-align:super; font-style:normal; font-weight:400; }
.mo-cover-mid{ margin-top:auto; margin-bottom:auto; }
.mo-cover-title{ font-family:var(--mo-serif); font-weight:400; font-size:118px; line-height:.94; color:var(--mo-cream); margin:0 0 30px; max-width:9ch; letter-spacing:-.015em; }
.mo-cover-foot{ display:flex; justify-content:space-between; border-top:1px solid rgba(250,249,245,.18); padding-top:26px; font-family:var(--mo-mono); font-size:17px; color:var(--mo-mu2); }

/* ---- intro rail ---- */
.mo-rail{ border-left:1px solid var(--mo-rule); padding-left:44px; display:flex; flex-direction:column; gap:34px; }
.mo-stat-k{ font-family:var(--mo-mono); font-size:15px; letter-spacing:.16em; color:var(--mo-mu2); margin-bottom:6px; }
.mo-stat-v{ font-family:var(--mo-mono); font-size:44px; line-height:1.1; color:var(--mo-ink); }
.mo-stat-v.mo-accent{ color:var(--mo-green); }

/* ---- quote ---- */
.mo-quote-wrap{ margin:auto 0; padding-left:34px; }
.mo-quote{ font-family:var(--mo-serif); font-style:italic; font-weight:300; font-size:60px; line-height:1.18; color:var(--mo-cream); margin:0 0 34px; max-width:26ch; }

/* ---- workstream list ---- */
.mo-list{ }
.mo-li{ display:flex; justify-content:space-between; align-items:baseline; gap:28px; padding:17px 0; border-bottom:1px solid var(--mo-rule-lt); }
.mo-li-k{ font-size:21px; color:var(--mo-body); }
.mo-li-v{ font-family:var(--mo-mono); font-size:20px; color:var(--mo-mu2); white-space:nowrap; }
.mo-list-foot{ display:flex; justify-content:space-between; align-items:baseline; margin-top:26px; }
.mo-big{ font-family:var(--mo-mono); font-size:40px; color:var(--mo-ink); }

/* ---- tables ---- */
.mo-table{ width:100%; border-collapse:collapse; margin-top:40px; }
.mo-table th{ font-family:var(--mo-mono); font-weight:400; font-size:15px; letter-spacing:.16em; color:var(--mo-mu2);
  padding:0 0 14px; border-bottom:1px solid var(--mo-ink); }
.mo-table th.mo-accent{ border-bottom-color:var(--mo-green); }
.mo-table th.mo-accent,.mo-table td.mo-accent{ color:var(--mo-green); }
.mo-table td{ font-size:21px; color:var(--mo-ink); padding:19px 0; border-bottom:1px solid var(--mo-rule-lt); }
.mo-table td.mo-ta-r{ font-family:var(--mo-mono); font-size:20px; }
.mo-table td.mo-ta-l{ font-family:var(--mo-sans); }
.mo-ta-l{ text-align:left; }
.mo-ta-r{ text-align:right; padding-left:34px !important; }
.mo-total td{ font-weight:600; border-bottom:none; padding-top:24px; }
.mo-total .mo-ta-l{ font-size:23px; }
.mo-xl{ font-size:30px !important; }

/* ---- option cards ---- */
.mo-cards{ display:grid; grid-template-columns:1fr 1fr; gap:34px; }
.mo-card{ border:1px solid var(--mo-rule); padding:34px 36px 38px; position:relative; }
.mo-card-rec{ border-color:var(--mo-green); background:var(--mo-green-bg); }
.mo-badge{ position:absolute; top:30px; right:30px; background:var(--mo-green); color:#fff;
  font-family:var(--mo-mono); font-size:14px; letter-spacing:.14em; padding:7px 13px; }
.mo-card-name{ font-family:var(--mo-serif); font-size:40px; color:var(--mo-ink); margin:10px 0 18px; }
.mo-card-price{ font-family:var(--mo-mono); font-size:56px; line-height:1; color:var(--mo-ink); }
.mo-card-rec .mo-card-price{ color:var(--mo-green); }
.mo-plus{ font-size:28px; color:var(--mo-mu); }
.mo-card-sub{ font-family:var(--mo-mono); font-size:16px; color:var(--mo-mu2); margin-top:12px; }
.mo-card-body{ font-size:19px; line-height:1.5; margin:26px 0 0; color:var(--mo-body); }

/* ---- next steps ---- */
.mo-steps{ margin:auto 0; }
.mo-step{ display:flex; align-items:baseline; gap:52px; padding:30px 0; border-bottom:1px solid rgba(250,249,245,.16); }
.mo-step:last-child{ border-bottom:none; }
.mo-step-n{ font-family:var(--mo-mono); font-size:18px; color:var(--mo-green-lt); }
.mo-step-t{ font-family:var(--mo-serif); font-size:44px; color:var(--mo-cream); }
.mo-next .mo-foot,.mo-quote-wrap+.mo-foot{ color:var(--mo-green-lt); }

/* ---- print: one page per sheet, vector text ---- */
@media print{
  @page{ size:1440px 810px; margin:0; }
  html,body{ background:#fff !important; }
  .mo-stage{ gap:0; display:block; }
  .mo-page{ box-shadow:none; transform:none !important; page-break-after:always; break-after:page; }
  .mo-page:last-child{ page-break-after:auto; break-after:auto; }
  .mo-noprint{ display:none !important; }
  *{ -webkit-print-color-adjust:exact; print-color-adjust:exact; }
}
