:root {
  --ink:#202322;
  --muted:#555c59;
  --accent:#92362c;
  --line:#bdc1bf}

* {
  box-sizing:border-box}
body {
  margin:0;
  color:var(--ink);
  background:#edf0ee;
  font-family:Arial,Helvetica,sans-serif}
a {
  color:inherit;
  text-underline-offset:4px}
button {
  background:var(--ink);
  color:white;
  font:inherit;
  border:1px solid var(--ink);
  padding:11px 18px;
  cursor:pointer}
:focus-visible {
  outline:3px solid var(--accent);
  outline-offset:4px}
.screen-tools {
  max-width:8.5in;
  margin:24px auto;
  padding:0 20px;
  font-size:16px;
  line-height:1.6;
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  align-items:center}
.screen-tools a {
  flex-basis:100%}
.screen-tools p {
  flex:1;
  margin:0}
.page {
  width:8.5in;
  height:11in;
  margin:20px auto;
  background:white;
  padding:.22in .26in;
  box-shadow:0 0 0 1px #c5cec8}
.card {
  height:5.21in;
  padding:.26in .32in;
  position:relative;
  border:1px solid var(--line);
  break-inside:avoid}
.cut {
  height:.14in;
  position:relative;
  border-top:1px dashed #b7bcb9;
  top:.07in}
.front {
  display:grid;
  grid-template-columns:1.12fr 1fr;
  gap:.3in}
.card-brand {
  font-size:.14in;
  line-height:1.25;
  margin:0 0 .23in;
  font-weight:700}
.card-brand span {
  font-weight:400;
  font-size:.12in}
.title {
  font-family:Georgia,'Times New Roman',serif;
  font-weight:400;
  font-size:.68in;
  line-height:.98;
  letter-spacing:-.035em;
  margin:0 0 .23in}
.reading {
  font-size:.13in;
  color:var(--muted);
  line-height:1.6;
  margin:0}
.front-right {
  border-left:1px solid var(--line);
  padding-left:.3in;
  padding-top:.08in}
.invitation {
  font-family:Georgia,'Times New Roman',serif;
  color:var(--accent);
  font-size:.28in;
  line-height:1.2;
  margin:0 0 .2in}
.intro {
  font-size:.14in;
  line-height:1.55;
  margin:0 0 .15in}
.qr-space {
  border:1px dashed var(--line);
  width:1.35in;
  height:1.35in;
  margin:.18in 0;
  display:flex;
  align-items:center;
  padding:.13in;
  color:var(--muted);
  font-size:.105in;
  line-height:1.4}
.return {
  font-size:.13in;
  line-height:1.5;
  margin:.1in 0 0}
.draft {
  position:absolute;
  bottom:.2in;
  left:.32in;
  right:.32in;
  border-top:1px solid var(--line);
  padding-top:.11in;
  color:var(--accent);
  font-size:.1in;
  line-height:1.35}
.back-header {
  display:flex;
  gap:.2in;
  justify-content:space-between;
  align-items:baseline;
  padding-bottom:.1in;
  border-bottom:1px solid var(--ink);
  margin-bottom:.12in}
.back-header h2 {
  font-family:Georgia,'Times New Roman',serif;
  font-size:.28in;
  font-weight:400;
  margin:0;
  letter-spacing:-.015em}
.back-header span {
  color:var(--accent);
  font-size:.1in}
.instructions {
  font-size:.115in;
  color:var(--muted);
  margin:0 0 .12in;
  line-height:1.4}
.question {
  display:grid;
  grid-template-columns:.17in minmax(0,1fr);
  gap:.09in;
  margin-bottom:.13in}
.number {
  font-size:.115in;
  color:var(--accent);
  line-height:1.35;
  padding-top:.01in}
.question-text {
  font-size:.128in;
  line-height:1.25;
  margin:0}
.writing-lines {
  height:.39in;
  border-bottom:1px solid #cbd0cc;
  margin-top:.03in;
  position:relative}
.writing-lines:before {
  content:'';
  position:absolute;
  left:0;
  right:0;
  top:.16in;
  border-bottom:1px solid #cbd0cc}
.back[data-count="3"] .writing-lines {
  height:.67in}
.back[data-count="3"] .writing-lines:before {
  top:.32in}
.back[data-count="2"] .writing-lines {
  height:1.13in}
.back[data-count="2"] .writing-lines:before {
  top:.54in}
.back .draft {
  display:flex;
  justify-content:space-between;
  gap:.2in}
.back .draft span:last-child {
  text-align:right;
  color:var(--muted)}

@page {
  size:letter;
  margin:0}
@media print {
  body {
  background:white}
.screen-tools {
  display:none}
.page {
  margin:0;
  box-shadow:none;
  break-after:page}
.page:last-child {
  break-after:auto}
* {
  -webkit-print-color-adjust:exact;
  print-color-adjust:exact}
}


.qr-code {width:1.35in;height:1.35in;display:block;margin:.15in 0}
.fallback-url {font-size:.11in;overflow-wrap:anywhere;line-height:1.4}
@media screen and (max-width:850px) {.page {width:100%;height:auto;padding:12px}.card {height:auto;min-height:500px}.front {grid-template-columns:1fr}.front-right {border-left:0;padding-left:0}.draft {position:static;margin-top:18px}.cut {margin:12px 0}}
