/* Appeal Packets: site styles.
   The design family is the packet's: warm ivory paper, deep ink,
   one flat brass accent, serif display type, hairline rules, ledger
   tables. No gradients, no shadows, no card grids, no centered hero.
   Type is set from the visitor's own serif stack so the pages need
   no web fonts and the content policy stays tight. */

:root{
  --ink:#1e2a24;
  --ink-soft:#4d564f;
  --ink-faint:#79816f;
  --brass:#a5802e;
  --brass-wash:#eee2c2;
  --hair:#d3c8ab;
  --paper:#f6f1e5;
  --paper-deep:#efe7d3;
}
*{ box-sizing:border-box; }
html{ font-size:17px; }
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:Georgia,"Times New Roman",serif;
  line-height:1.55;
}
.wrap{
  max-width:1060px;
  margin:0 auto;
  padding:0 28px 64px;
}
a{ color:var(--ink); text-decoration-color:var(--brass); text-underline-offset:3px; }
a:hover{ color:var(--brass); }

/* ---------- masthead ---------- */
.masthead{ border-bottom:2.4px solid var(--ink); padding-top:18px; }
.dateline{
  display:flex; justify-content:space-between; gap:16px;
  font-size:11px; letter-spacing:0.22em; text-transform:uppercase; color:var(--ink-faint);
  border-bottom:0.6px solid var(--hair); padding-bottom:8px;
}
.masthead .name{
  font-size:42px; line-height:1.05; margin:16px 0 2px; font-weight:normal; letter-spacing:0.01em;
}
.masthead .name a{ text-decoration:none; }
.masthead .name a:hover{ color:var(--ink); }
.tagline-row{
  display:flex; justify-content:space-between; align-items:baseline; gap:16px; flex-wrap:wrap;
}
.tagline{ font-style:italic; color:var(--ink-soft); margin:0; font-size:17px; }
.est{
  font-size:11px; letter-spacing:0.18em; text-transform:uppercase; color:var(--ink-faint); margin:0;
}
.notice-line{
  font-size:13.5px; color:var(--ink-soft);
  border-top:0.6px solid var(--hair); border-bottom:0.6px solid var(--hair);
  padding:7px 0; margin:14px 0 0;
}
.navrow{ border-bottom:0.6px solid var(--hair); }
.navrow ul{
  list-style:none; display:flex; gap:26px; flex-wrap:wrap;
  margin:0; padding:10px 0;
}
.navrow a{
  text-decoration:none; font-size:12.5px; letter-spacing:0.16em; text-transform:uppercase;
}
.navrow a[aria-current="page"]{ color:var(--brass); }

/* ---------- page head ---------- */
.page-head{ padding:34px 0 6px; max-width:46em; }
.kicker{
  font-size:12px; letter-spacing:0.22em; text-transform:uppercase; color:var(--brass); margin:0 0 10px;
}
h1{ font-size:37px; line-height:1.16; font-weight:normal; margin:0 0 14px; }
.lede{ font-size:19px; color:var(--ink-soft); margin:0; line-height:1.5; }
.lede b, .lede strong{ color:var(--ink); }

/* ---------- sections ---------- */
.sec{ border-top:0.6px solid var(--hair); padding:26px 0 8px; margin-top:26px; max-width:46em; }
.sec.wide{ max-width:none; }
.sec-head{ display:flex; gap:18px; align-items:baseline; margin-bottom:12px; }
.sec-no{
  font-size:22px; color:var(--brass); line-height:1; min-width:38px;
}
h2{ font-size:24px; font-weight:normal; margin:0; line-height:1.25; }
h3{ font-size:18px; font-weight:normal; margin:20px 0 6px; }
p{ margin:0 0 12px; }
ul{ margin:0 0 12px; padding-left:22px; }
li{ margin-bottom:6px; }
.small{ font-size:14px; color:var(--ink-soft); }
strong.brass{ color:var(--brass); }

/* steps, numbered like the packet */
.steps{ margin-top:6px; }
.step{ display:flex; gap:18px; margin-bottom:16px; }
.step .n{ font-size:26px; color:var(--brass); line-height:1.15; min-width:34px; }
.step .t{ max-width:40em; }
.step .t .h{ font-variant:small-caps; letter-spacing:0.03em; font-size:18.5px; }

/* ledger tables */
.ledger-table{ border-collapse:collapse; width:100%; margin:10px 0 16px; font-variant-numeric:tabular-nums; }
.ledger-table th{
  text-align:left; font-weight:normal; font-size:11.5px; letter-spacing:0.16em;
  text-transform:uppercase; color:var(--ink-soft);
  border-top:2.2px solid var(--ink); border-bottom:0.6px solid var(--hair); padding:7px 10px 7px 0;
}
.ledger-table td{
  border-bottom:0.6px solid var(--hair); padding:8px 10px 8px 0; vertical-align:top;
}
.ledger-table td.lab{
  font-size:12px; letter-spacing:0.14em; text-transform:uppercase; color:var(--ink-soft);
  width:190px; padding-top:11px;
}
.ledger-table tr.last td{ border-bottom:2.2px solid var(--ink); }

/* deadline band, from the packet cover */
.deadline-band{
  background:var(--ink); color:var(--paper); padding:14px 20px; margin:22px 0;
}
.deadline-band .d1{
  font-size:14px; letter-spacing:0.2em; text-transform:uppercase; margin:0;
}
.deadline-band .d2{ font-size:14.5px; color:var(--brass-wash); margin:4px 0 0; }

/* order row and buttons: flat ink, never a gradient */
.order-row{ display:flex; gap:20px; align-items:center; flex-wrap:wrap; margin:18px 0 6px; }
.order-btn{
  display:inline-block; background:var(--ink); color:var(--paper);
  text-decoration:none; padding:13px 26px; font-size:16.5px; letter-spacing:0.02em;
  border:1.5px solid var(--ink);
}
.order-btn:hover{ background:var(--brass); border-color:var(--brass); color:var(--paper); }
.price-tag{ font-size:26px; }
.order-note{ font-size:14px; color:var(--ink-soft); max-width:26em; margin:0; }

/* note blocks */
.note-block{
  border-top:0.9px solid var(--ink); border-bottom:0.9px solid var(--ink);
  padding:12px 2px; margin:16px 0;
}
.note-lab{
  font-size:11.5px; letter-spacing:0.2em; text-transform:uppercase; color:var(--brass); margin:0 0 6px;
}
.note-block p:last-child{ margin-bottom:0; }

/* the form */
.field{ margin-bottom:18px; max-width:34em; }
.field label{ display:block; font-size:15.5px; margin-bottom:5px; }
.field .hint{ font-size:13.5px; color:var(--ink-soft); margin:0 0 6px; }
.field input[type="text"], .field input[type="email"], .field select, .field textarea{
  width:100%; padding:10px 12px; font:inherit; font-size:16px;
  background:#fffdf7; color:var(--ink);
  border:1px solid var(--ink-soft); border-radius:0;
}
.field input:focus, .field select:focus, .field textarea:focus{
  outline:2px solid var(--brass); outline-offset:1px;
}
.req{ color:var(--brass); }
.checkline{ display:flex; gap:10px; align-items:flex-start; max-width:38em; margin:18px 0; }
.checkline input{ margin-top:5px; width:17px; height:17px; flex:none; }
.form-error{
  border:1.5px solid var(--brass); background:var(--brass-wash);
  padding:12px 16px; margin:18px 0; max-width:38em;
}
.form-error p{ margin:0; }
#turnstile-slot{ margin:16px 0; }

/* footer */
.colophon{
  border-top:2.4px solid var(--ink); margin-top:44px; padding-top:16px;
  font-size:14px; color:var(--ink-soft);
}
.colophon .col-name{ font-size:19px; color:var(--ink); margin:0 0 6px; }
.colophon p{ margin:0 0 5px; }
.col-links a{ text-decoration:none; }
.col-links span{ margin:0 8px; color:var(--hair); }

@media (max-width:640px){
  html{ font-size:16px; }
  .masthead .name{ font-size:32px; }
  h1{ font-size:29px; }
  .dateline{ flex-direction:column; gap:2px; }
  .ledger-table td.lab{ width:120px; }
}
