/* The Department of Unfinished Business — house style.
   Two typefaces only: EB Garamond (engraved institutional) and Courier Prime
   (typed case-file data). Aged cream ground, hairline rules, no exclamation
   points anywhere near this stylesheet. */

:root {
  --parchment: #f4eedf;
  --panel: #fbf7ec;
  --ink: #23201b;
  --ink-faded: #5c554a;
  --rule: #c9bfa9;
  --rule-dark: #8f8468;
  --oxblood: #6e1e1e;
  --archival: #1e3a5f;
  --gold: #a8863a;
  --gold-text: #7a5f22; /* AA-contrast gold for text; #a8863a stays for borders/seal */
  --stamp-red: #8c2b2b;
  --serif: "EB Garamond", "Iowan Old Style", Georgia, serif;
  --mono: "Courier Prime", "Courier New", monospace;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; }

body {
  background: var(--parchment);
  background-image: repeating-linear-gradient(
      0deg, rgba(140, 120, 80, 0.025) 0px, transparent 1px, transparent 3px),
    radial-gradient(ellipse at 50% -20%, rgba(255, 252, 240, 0.9), transparent 60%),
    radial-gradient(ellipse at 50% 120%, rgba(120, 100, 60, 0.14), transparent 55%);
  color: var(--ink);
  font-family: var(--serif);
  font-size: 19px;
  line-height: 1.55;
  position: relative;
}

/* paper grain */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  opacity: 0.5;
  mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='p'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.55 0 0 0 0 0.50 0 0 0 0 0.40 0 0 0 0.05 0'/></filter><rect width='240' height='240' filter='url(%23p)'/></svg>");
}
body > * { position: relative; z-index: 2; }

/* the not-a-government banner */
.gov-banner {
  background: var(--archival);
  color: #e9e2cf;
  font-family: var(--mono);
  font-size: 11.5px;
  letter-spacing: 0.04em;
  text-align: center;
  padding: 7px 14px;
}
.gov-banner .flag {
  display: inline-block; width: 14px; height: 10px; margin-right: 7px; vertical-align: -1px;
  background: linear-gradient(180deg, #6e1e1e 0 34%, #e9e2cf 34% 67%, #6e1e1e 67% 100%);
  outline: 1px solid rgba(233, 226, 207, 0.4);
}

/* ghost intake stamp */
.ghost-stamp {
  position: absolute;
  top: 30px; right: -10px;
  transform: rotate(-14deg);
  font-family: var(--mono);
  font-weight: 700;
  font-size: 15px;
  line-height: 1.5;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--oxblood);
  border: 3px double var(--oxblood);
  padding: 8px 16px;
  opacity: 0.14;
  pointer-events: none;
  text-align: center;
}

/* routing marginalia */
.margin-note {
  float: right;
  transform: rotate(1.2deg);
  font-family: var(--mono);
  font-size: 10.5px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--rule-dark);
  border: 1px solid var(--rule);
  padding: 3px 8px;
  margin: -6px 0 10px 16px;
  user-select: none;
}

/* redaction bar */
.redact {
  background: var(--ink);
  color: var(--ink);
  padding: 0 6px;
  border-radius: 1px;
  user-select: none;
}

a { color: var(--oxblood); text-decoration-thickness: 1px; text-underline-offset: 2px; }
a:hover { color: var(--ink); }

.wrap { max-width: 880px; margin: 0 auto; padding: 0 20px; }

/* ---- top strip ---- */
.formline {
  display: flex; justify-content: space-between; gap: 12px;
  font-family: var(--mono); font-size: 11px; letter-spacing: 0.08em;
  color: var(--ink-faded); text-transform: uppercase;
  padding: 10px 0; border-bottom: 1px solid var(--rule);
}

/* ---- masthead ---- */
.masthead { text-align: center; padding: 44px 0 10px; }
.masthead .seal { width: 92px; height: 92px; margin: 0 auto 18px; display: block; }
.masthead h1 {
  font-size: clamp(26px, 5vw, 40px);
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-variant: small-caps;
}
.masthead .office {
  font-family: var(--mono); font-size: 12px; letter-spacing: 0.28em;
  text-transform: uppercase; color: var(--ink-faded); margin-top: 6px;
}
.masthead .tagline {
  font-style: italic; font-size: 21px; color: var(--ink-faded); margin-top: 14px;
}
.rule-orn {
  display: flex; align-items: center; gap: 14px; margin: 22px auto; max-width: 420px;
  color: var(--rule-dark);
}
.rule-orn::before, .rule-orn::after { content: ""; flex: 1; border-top: 1px solid var(--rule-dark); }

/* ---- hero ---- */
.hero { text-align: center; padding: 26px 0 8px; position: relative; }
.hero h2 { font-size: clamp(30px, 6vw, 52px); font-weight: 500; line-height: 1.12; }
.hero p { max-width: 640px; margin: 22px auto 0; font-size: 20px; color: var(--ink-faded); }
.cta-row { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; margin: 34px 0 10px; }

.btn {
  display: inline-block; font-family: var(--mono); font-size: 14px;
  letter-spacing: 0.06em; text-transform: uppercase; text-decoration: none;
  padding: 13px 22px; border: 1.5px solid var(--ink); color: var(--ink);
  background: var(--panel); cursor: pointer; transition: all 0.12s ease;
  box-shadow: 2.5px 2.5px 0 rgba(35, 32, 27, 0.35);
}
.btn:hover { background: var(--ink); color: var(--parchment); }
.btn:active { transform: translate(2px, 2px); box-shadow: none; }
.btn-primary { background: var(--oxblood); border-color: var(--oxblood); color: #f6efe2; }
.btn-primary:hover { background: #571717; border-color: #571717; color: #f6efe2; }
.btn:disabled { opacity: 0.5; cursor: not-allowed; }

/* ---- official notice ---- */
.notice {
  border: 1.5px solid var(--rule-dark); background: var(--panel);
  padding: 14px 18px; margin: 26px auto; max-width: 640px;
  font-family: var(--mono); font-size: 13px; line-height: 1.6; color: var(--ink-faded);
}
.notice strong { color: var(--oxblood); letter-spacing: 0.1em; }

/* ---- sections ---- */
section { padding: 44px 0 10px; }
.sec-head {
  text-align: center; font-variant: small-caps; letter-spacing: 0.18em;
  text-transform: uppercase; font-size: 21px; font-weight: 500; margin-bottom: 8px;
}
.sec-sub {
  text-align: center; font-family: var(--mono); font-size: 12px;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-faded); margin-bottom: 30px;
}

/* ---- how it works ---- */
.steps { max-width: 640px; margin: 0 auto; counter-reset: step; }
.steps li { list-style: none; display: flex; gap: 18px; padding: 14px 0; border-top: 1px dotted var(--rule); }
.steps li:first-child { border-top: 0; }
.steps li::before {
  counter-increment: step; content: "§" counter(step) ".";
  font-family: var(--mono); color: var(--oxblood); min-width: 44px;
  font-size: 15px; padding-top: 3px;
}

/* ---- the form ---- */
.formbox {
  border: 2px solid var(--ink); background: var(--panel);
  max-width: 680px; margin: 0 auto; padding: 0;
  /* a pad of forms: white copy, pink copy, goldenrod copy */
  box-shadow:
    5px 5px 0 rgba(140, 43, 43, 0.14),
    10px 10px 0 rgba(168, 134, 58, 0.12),
    14px 16px 22px rgba(35, 32, 27, 0.12);
}
.formbox .form-title {
  border-bottom: 2px solid var(--ink); padding: 12px 20px;
  display: flex; justify-content: space-between; flex-wrap: wrap; gap: 6px;
  font-family: var(--mono); font-size: 13px; letter-spacing: 0.1em; text-transform: uppercase;
}
.formbox .form-body { padding: 24px 24px 28px; }
.field { margin-bottom: 20px; }
.field > label, .field > .label {
  display: block; font-variant: small-caps; letter-spacing: 0.1em;
  font-size: 16px; margin-bottom: 6px;
}
.field .hint { font-size: 15px; color: var(--ink-faded); font-style: italic; margin-top: 4px; }
input[type="text"], input[type="email"], select, textarea {
  width: 100%; font-family: var(--mono); font-size: 16px;
  padding: 10px 12px; border: 1px solid var(--rule-dark);
  background: #fffdf6; color: var(--ink); border-radius: 0;
}
input:focus, select:focus, textarea:focus { outline: 2px solid var(--archival); outline-offset: 1px; }
.field-row { display: flex; gap: 12px; }
.field-row > * { flex: 1; }

.radio-card { display: flex; gap: 12px; align-items: flex-start; border: 1px solid var(--rule-dark); padding: 12px 14px; margin-bottom: 10px; cursor: pointer; background: #fffdf6; }
.radio-card:has(input:checked) { border-color: var(--oxblood); outline: 1.5px solid var(--oxblood); }
.radio-card input { margin-top: 6px; accent-color: var(--oxblood); }
.radio-card .rc-title { font-variant: small-caps; letter-spacing: 0.06em; font-size: 17px; }
.radio-card .rc-desc { font-size: 15px; color: var(--ink-faded); }
.radio-card .rc-price { font-family: var(--mono); color: var(--oxblood); font-size: 14px; margin-left: 6px; }

.form-error {
  display: none; border: 1.5px solid var(--stamp-red); color: var(--stamp-red);
  font-family: var(--mono); font-size: 13px; padding: 10px 14px; margin-bottom: 16px;
}
.form-error.show { display: block; }

/* ---- pricing ---- */
.tiers { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; max-width: 820px; margin: 0 auto; }
.tier { border: 1.5px solid var(--ink); background: var(--panel); padding: 20px; position: relative; }
.tier .t-name { font-variant: small-caps; letter-spacing: 0.08em; font-size: 19px; }
.tier .t-price { font-family: var(--mono); font-size: 26px; color: var(--oxblood); margin: 8px 0 10px; }
.tier .t-line { font-size: 16px; color: var(--ink-faded); }
.tier .t-note { font-family: var(--mono); font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-faded); margin-top: 12px; }
.tier.gold { border-color: var(--gold); box-shadow: 4px 4px 0 rgba(168, 134, 58, 0.25); }
.tier.gold .t-price { color: var(--gold); }

/* ---- registry table ---- */
.reg-stats { text-align: center; font-family: var(--mono); font-size: 13px; color: var(--ink-faded); letter-spacing: 0.06em; margin-bottom: 20px; }
.reg-table-wrap { overflow-x: auto; border: 1.5px solid var(--ink); background: var(--panel); }
table.reg { width: 100%; border-collapse: collapse; font-size: 16px; min-width: 640px; }
table.reg th {
  font-family: var(--mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase;
  text-align: left; padding: 10px 14px; border-bottom: 2px solid var(--ink); color: var(--ink-faded);
  background: rgba(35,32,27,0.03);
}
table.reg td { padding: 11px 14px; border-bottom: 1px dotted var(--rule); vertical-align: top; overflow-wrap: anywhere; }
table.reg tbody tr:nth-child(even) { background: rgba(35, 32, 27, 0.028); }
table.reg tbody tr:hover { background: rgba(168, 134, 58, 0.09); }
table.reg tr:last-child td { border-bottom: 0; }
table.reg td.no { font-family: var(--mono); font-size: 13px; white-space: nowrap; }
table.reg td.no a { text-decoration: none; color: var(--oxblood); }
table.reg td.no a:hover { text-decoration: underline; }
table.reg td.guilt { font-family: var(--mono); font-size: 13px; white-space: nowrap; text-align: right; }
.badge {
  display: inline-block; font-family: var(--mono); font-size: 10px; letter-spacing: 0.1em;
  padding: 2px 7px; border: 1px solid currentColor; text-transform: uppercase; white-space: nowrap;
}
.badge.discharged { color: var(--ink-faded); }
.badge.contested { color: var(--stamp-red); }
.badge.miracle { color: var(--archival); }
.badge.house { color: var(--gold-text); }
.badge.honors { color: var(--gold-text); }
.withheld { color: var(--ink-faded); font-style: italic; letter-spacing: 0.06em; }

/* ---- FAQ ---- */
.faq { max-width: 680px; margin: 0 auto; }
.faq details { border-top: 1px dotted var(--rule); padding: 4px 0; }
.faq details:last-child { border-bottom: 1px dotted var(--rule); }
.faq summary {
  cursor: pointer; padding: 12px 4px; font-size: 19px; font-weight: 500;
  list-style: none; display: flex; gap: 12px; align-items: baseline;
}
.faq summary::before { content: "¶"; font-family: var(--mono); color: var(--oxblood); font-size: 14px; }
.faq details[open] summary::before { content: "§"; }
.faq .a { padding: 0 4px 16px 30px; color: var(--ink-faded); }

/* ---- footer ---- */
footer {
  margin-top: 60px;
  border-top: 2px dashed var(--rule-dark);
  padding: 30px 0 50px;
  position: relative;
}
footer::before {
  content: "✂";
  position: absolute;
  top: -13px; left: 26px;
  color: var(--rule-dark);
  background: var(--parchment);
  padding: 0 6px;
  font-size: 15px;
}
.disclaimer {
  font-size: 14.5px; color: var(--ink-faded); max-width: 760px; margin: 0 auto;
  line-height: 1.65;
}
.disclaimer .d-head {
  font-family: var(--mono); font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase;
  margin-bottom: 10px; color: var(--ink);
}
.foot-meta {
  margin-top: 22px; text-align: center; font-family: var(--mono); font-size: 11.5px;
  color: var(--ink-faded); letter-spacing: 0.06em; line-height: 2;
}
.foot-meta a { color: var(--ink-faded); }

/* ---- certificate ---- */
.cert-stage { padding: 30px 0 10px; }
.certificate {
  position: relative; background: #faf5e8;
  background-image: radial-gradient(ellipse at 50% 30%, rgba(255,253,246,0.85), transparent 70%);
  border: 1px solid var(--rule-dark);
  outline: 4px double var(--ink); outline-offset: -14px;
  box-shadow: 0 3px 24px rgba(35, 32, 27, 0.18);
  max-width: 760px; margin: 0 auto; padding: 58px 54px 46px;
  overflow: hidden;
}
.certificate .corner {
  position: absolute; width: 34px; height: 34px; color: var(--rule-dark);
}
.certificate .corner svg { width: 100%; height: 100%; }
.corner.tl { top: 20px; left: 20px; }
.corner.tr { top: 20px; right: 20px; transform: rotate(90deg); }
.corner.br { bottom: 20px; right: 20px; transform: rotate(180deg); }
.corner.bl { bottom: 20px; left: 20px; transform: rotate(270deg); }

.certificate .c-dept {
  text-align: center; font-variant: small-caps; letter-spacing: 0.26em;
  font-size: 15px; color: var(--ink);
}
.certificate .c-title {
  text-align: center; font-variant: small-caps; letter-spacing: 0.12em;
  font-size: 26px; margin-top: 10px; font-weight: 500;
}
.certificate .c-regno {
  text-align: center; font-family: var(--mono); font-size: 13px; letter-spacing: 0.14em;
  color: var(--oxblood); margin-top: 10px;
}
.certificate .c-knowall {
  text-align: center; font-size: 16px; margin-top: 30px; color: var(--ink-faded);
  font-variant: small-caps; letter-spacing: 0.1em;
}
.certificate .c-project {
  text-align: center; font-size: clamp(26px, 5vw, 40px); line-height: 1.15;
  margin: 18px auto 0; max-width: 560px; font-weight: 500;
  overflow-wrap: anywhere;
}
.certificate .c-recital {
  text-align: center; font-size: 16.5px; color: var(--ink-faded); font-style: italic;
  max-width: 540px; margin: 18px auto 0;
  overflow-wrap: anywhere;
}
.certificate .c-declared {
  text-align: center; font-variant: small-caps; font-size: clamp(21px, 3.6vw, 30px);
  letter-spacing: 0.18em; margin-top: 26px; color: var(--oxblood); font-weight: 500;
}
.certificate .c-effective {
  text-align: center; font-size: 15.5px; font-style: italic; color: var(--ink-faded); margin-top: 8px;
}
.certificate .c-stats {
  font-family: var(--mono); font-size: 13.5px; line-height: 2.05;
  border-top: 1px solid var(--rule-dark); border-bottom: 1px solid var(--rule-dark);
  max-width: 520px; margin: 30px auto; padding: 14px 6px; position: relative;
  overflow-wrap: anywhere;
}
.certificate .c-stats .k { display: inline-block; min-width: 250px; color: var(--ink-faded); letter-spacing: 0.04em; }
.certificate .c-conditions { max-width: 560px; margin: 0 auto; font-size: 15.5px; }
.certificate .c-conditions .ch {
  text-align: center; font-variant: small-caps; letter-spacing: 0.16em; font-size: 14.5px;
  color: var(--ink); margin-bottom: 10px;
}
.certificate .c-conditions p { margin-bottom: 7px; color: var(--ink-faded); }
.certificate .c-conditions p b { color: var(--ink); font-weight: 500; font-variant: small-caps; letter-spacing: 0.04em; }
.certificate .c-closing {
  text-align: center; font-size: 15.5px; color: var(--ink-faded); max-width: 540px;
  margin: 26px auto 0; font-style: italic;
}
.certificate .c-sig-row {
  display: flex; justify-content: space-between; align-items: flex-end; gap: 30px;
  margin-top: 44px; flex-wrap: wrap;
}
.certificate .c-seal { width: 128px; height: 128px; flex-shrink: 0; }
.certificate .c-sig { text-align: center; min-width: 250px; flex: 1; }
.certificate .c-sig .sig-script {
  font-style: italic; font-size: 26px; transform: rotate(-2deg); color: var(--archival);
  margin-bottom: 2px;
}
.certificate .c-sig .sig-line { border-top: 1px solid var(--ink); padding-top: 6px; font-size: 14px; }
.certificate .c-sig .sig-note { font-size: 12.5px; font-style: italic; color: var(--ink-faded); }
.certificate .c-fine {
  text-align: center; font-size: 9.5px; letter-spacing: 0.08em; color: var(--ink-faded);
  margin-top: 30px; text-transform: uppercase; font-family: var(--mono);
}

/* stamps */
.stamp {
  position: absolute; font-family: var(--mono); font-weight: 700;
  border: 3px solid currentColor; padding: 6px 14px; letter-spacing: 0.14em;
  text-transform: uppercase; opacity: 0.82; pointer-events: none;
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='60'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.55' numOctaves='2'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.72 0'/></filter><rect width='120' height='60' fill='white'/><rect width='120' height='60' filter='url(%23n)'/></svg>");
  mask-size: 120px 60px;
}
.stamp.contested { color: var(--stamp-red); transform: rotate(-9deg); font-size: 30px; right: 8%; top: -18px; }
.stamp.miracle { color: var(--archival); transform: rotate(-6deg); font-size: 17px; right: 4%; top: -14px; max-width: 300px; text-align: center; }
.stamp.awaiting { color: var(--ink-faded); transform: rotate(-11deg); font-size: 22px; left: 6%; top: -16px; }

/* honors */
.certificate.honors { outline-color: var(--gold); }
.certificate.honors .c-declared { color: var(--gold); }

/* objections block */
.objections { max-width: 680px; margin: 26px auto 0; border: 1.5px solid var(--stamp-red); background: var(--panel); padding: 18px 22px; }
.objections .o-head { font-family: var(--mono); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--stamp-red); margin-bottom: 10px; }
.objections .o-item { font-size: 16.5px; padding: 8px 0; border-top: 1px dotted var(--rule); }
.objections .o-item:first-of-type { border-top: 0; }
.objections .o-by { font-family: var(--mono); font-size: 12px; color: var(--ink-faded); }

/* cert action bar */
.cert-actions { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin: 28px 0 10px; }
.pay-banner {
  max-width: 680px; margin: 24px auto; border: 2px solid var(--oxblood); background: var(--panel);
  padding: 18px 22px; text-align: center;
}
.pay-banner .pb-head { font-variant: small-caps; letter-spacing: 0.1em; font-size: 20px; color: var(--oxblood); }
.pay-banner p { font-size: 16px; color: var(--ink-faded); margin: 8px 0 14px; }

/* badge kit */
.badge-kit {
  max-width: 680px; margin: 20px auto 0; border: 1px solid var(--rule-dark);
  background: var(--panel); padding: 16px 20px; text-align: center;
}
.badge-kit .bk-head { font-variant: small-caps; letter-spacing: 0.1em; font-size: 17px; }
.badge-kit .bk-sub { font-size: 14px; font-style: italic; color: var(--ink-faded); margin: 2px 0 12px; }
.badge-kit img { margin-bottom: 12px; }
.badge-kit .bk-row { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; }
.badge-kit input {
  flex: 1; min-width: 220px; font-family: var(--mono); font-size: 12px;
  padding: 9px 10px; border: 1px solid var(--rule-dark); background: #fffdf6; color: var(--ink-faded);
}

/* modal */
.modal-back {
  display: none; position: fixed; inset: 0; background: rgba(35, 32, 27, 0.55); z-index: 40;
  align-items: center; justify-content: center; padding: 20px;
  overflow-y: auto;
}
.modal-back.show { display: flex; }
.modal { background: var(--panel); border: 2px solid var(--ink); max-width: 480px; width: 100%; padding: 24px; margin: auto; }
.modal h3 { font-variant: small-caps; letter-spacing: 0.1em; font-weight: 500; margin-bottom: 6px; }
.modal .m-sub { font-size: 15px; color: var(--ink-faded); font-style: italic; margin-bottom: 16px; }

/* search */
.reg-search { max-width: 420px; margin: 0 auto 24px; }

.small-print { font-size: 13px; color: var(--ink-faded); text-align: center; font-family: var(--mono); margin-top: 14px; letter-spacing: 0.04em; }

/* toast */
#toast {
  position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%);
  background: var(--ink); color: var(--parchment); font-family: var(--mono); font-size: 13px;
  padding: 10px 18px; display: none; z-index: 60; max-width: 90vw;
}

@media (max-width: 620px) {
  body { font-size: 17px; }
  .ghost-stamp { display: none; }
  .margin-note { display: none; }
  .certificate { padding: 44px 22px 36px; }
  .certificate .c-stats .k { min-width: 0; display: block; }
  .certificate .c-sig-row { justify-content: center; }
  .field-row { flex-direction: column; }
  .stamp.miracle { font-size: 14px; max-width: 78%; right: 2%; top: -10px; }
  .stamp.contested { font-size: 24px; }
  .stamp.awaiting { font-size: 18px; }
}

/* print: the certificate is the page */
@media print {
  body { background: #fff; }
  body::before { display: none; }
  .gov-banner, .ghost-stamp, .margin-note { display: none; }
  body.printing-cert > *:not(.wrap) { display: none; }
  body.printing-cert .wrap > *:not(.cert-stage) { display: none; }
  .cert-stage { padding: 0; }
  .cert-actions, .pay-banner, .objections, #toast, .small-print { display: none; }
  .certificate {
    box-shadow: none; max-width: 100%; margin: 0;
    padding: 34px 40px 28px;
    page-break-inside: avoid;
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
  }
  .certificate .c-project { font-size: 30px; }
  .certificate .c-declared { font-size: 23px; margin-top: 18px; }
  .certificate .c-knowall { margin-top: 18px; }
  .certificate .c-recital { margin-top: 12px; }
  .certificate .c-stats { line-height: 1.6; margin: 18px auto; padding: 10px 6px; }
  .certificate .c-closing { margin-top: 16px; }
  .certificate .c-sig-row { margin-top: 22px; }
  .certificate .c-seal { width: 92px; height: 92px; }
  .certificate .c-fine { margin-top: 16px; }
  @page { margin: 12mm; }
}
