:root{
  --ink:#1A1A1C;
  --ink-2:#26262A;
  --seal:#C0392B;
  --seal-l:#E2705C;
  --paper:#F5F2ED;
  --paper-2:#FBF9F6;
  --clay:#8A7F76;
  --line:#DFD9D1;
  --line-d:#3A3A3E;
}

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;}
}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Public Sans',system-ui,-apple-system,sans-serif;
  font-size:16px;
  line-height:1.62;
  -webkit-font-smoothing:antialiased;
}

.wrap{max-width:1020px;margin:0 auto;padding:0 24px;}
.narrow{max-width:640px;}

/* ---------- type ---------- */
.display{
  font-family:'Bricolage Grotesque','Public Sans',sans-serif;
  font-weight:800;
  letter-spacing:-.028em;
  line-height:1.03;
  margin:0;
}
h1.display{font-size:clamp(38px,7vw,68px);max-width:14ch;}
h2.display{font-size:clamp(26px,3.6vw,38px);max-width:20ch;margin:0 0 14px;}
h3{
  font-family:'Bricolage Grotesque','Public Sans',sans-serif;
  font-weight:700;font-size:17px;line-height:1.3;margin:0 0 6px;letter-spacing:-.01em;
}
p{margin:0 0 14px;}
.lede{font-size:19px;line-height:1.55;color:var(--clay);max-width:46ch;margin:20px 0 0;}
.mono{
  font-family:'IBM Plex Mono',ui-monospace,monospace;
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;
}
.eyebrow{ color:var(--clay); margin:0 0 12px; }
a{color:var(--seal);text-underline-offset:3px;}
a:focus-visible,button:focus-visible,input:focus-visible{
  outline:2px solid var(--seal);outline-offset:3px;
}

/* ---------- header ---------- */
.site-head{
  display:flex;align-items:center;justify-content:space-between;
  gap:20px;padding:20px 0;
}
.site-head img{height:26px;width:auto;display:block;}
.nav{display:flex;gap:22px;align-items:center;}
.nav a{
  font-family:'IBM Plex Mono',ui-monospace,monospace;
  font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--clay);text-decoration:none;
}
.nav a:hover{color:var(--ink);}
@media(max-width:560px){ .nav a:not(.nav-cta){display:none;} }

/* ---------- hero ---------- */
.hero{padding:44px 0 8px;}
.hero-grid{display:grid;gap:44px;align-items:start;}
@media(min-width:900px){
  .hero-grid{grid-template-columns:1.05fr .95fr;gap:56px;}
}

/* ---------- the record (signature) ---------- */
.record{
  background:var(--paper-2);
  border:1px solid var(--line);
  position:relative;
  box-shadow:0 1px 0 var(--line), 0 18px 40px -28px rgba(26,26,28,.4);
}
.record-head{
  display:flex;justify-content:space-between;align-items:flex-start;
  gap:16px;padding:18px 20px 14px;border-bottom:1px solid var(--line);
}
.record-no{font-family:'IBM Plex Mono',monospace;font-size:14px;letter-spacing:.06em;margin:4px 0 0;}
.seal{
  width:60px;height:60px;flex:none;
  transform-origin:center;
  animation:press .5s cubic-bezier(.2,.9,.25,1.1) .35s both;
}
@keyframes press{
  0%{transform:scale(1.5) rotate(-11deg);opacity:0;}
  60%{transform:scale(.94) rotate(2deg);opacity:1;}
  100%{transform:scale(1) rotate(0);opacity:1;}
}
.checks{list-style:none;margin:0;padding:4px 20px;}
.checks li{
  display:flex;justify-content:space-between;align-items:baseline;gap:14px;
  padding:13px 0;border-bottom:1px solid var(--line);font-size:15px;
}
.checks li:last-child{border-bottom:0;}
.checks .date{
  font-family:'IBM Plex Mono',monospace;font-size:11.5px;
  color:var(--clay);white-space:nowrap;
}
.record-foot{
  padding:12px 20px;border-top:1px solid var(--line);background:var(--paper);
  color:var(--clay);
}

/* ---------- form ---------- */
.start{margin:34px 0 0;max-width:430px;}
.field{display:flex;border:1px solid var(--ink);background:#fff;}
.field span{
  padding:14px 12px;border-right:1px solid var(--line);
  color:var(--clay);font-family:'IBM Plex Mono',monospace;font-size:14px;
}
.field input{
  flex:1;border:0;padding:14px 12px;font-size:16px;
  font-family:'Public Sans',sans-serif;background:transparent;color:var(--ink);
}
.field input:focus{outline:none;}
.field:focus-within{outline:2px solid var(--seal);outline-offset:2px;}
.btn{
  display:block;width:100%;margin:10px 0 0;padding:15px 20px;
  background:var(--seal);color:var(--paper);border:0;cursor:pointer;
  font-family:'Public Sans',sans-serif;font-size:16px;font-weight:600;
  text-align:center;text-decoration:none;
  transition:background .15s ease;
}
.btn:hover{background:#A82F22;}
.fineprint{font-size:13px;color:var(--clay);margin:10px 0 0;}

/* ---------- ink band ---------- */
.band{background:var(--ink);color:var(--paper);margin:76px 0 0;padding:64px 0 68px;}
.band .eyebrow{color:var(--seal-l);}
.band h2{color:var(--paper);}
.band .lede{color:rgba(245,242,237,.72);}
.band-grid{display:grid;gap:1px;background:var(--line-d);border:1px solid var(--line-d);margin:38px 0 0;}
@media(min-width:760px){.band-grid{grid-template-columns:1fr 1fr;}}
.band-cell{background:var(--ink);padding:24px 22px;}
.band-cell h3{color:var(--paper);}
.band-cell p{color:rgba(245,242,237,.68);font-size:14.5px;margin:0;}
.band-cell .n{
  font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--seal-l);
  letter-spacing:.14em;display:block;margin:0 0 10px;
}

/* ---------- sections ---------- */
.section{padding:72px 0 0;}
.rule{border:0;border-top:1px solid var(--line);margin:0;}

.price{
  display:grid;gap:1px;background:var(--line);border:1px solid var(--line);margin:32px 0 0;
}
@media(min-width:700px){.price{grid-template-columns:1fr 1fr;}}
.price-cell{background:var(--paper-2);padding:26px 24px;}
.price-cell .amt{
  font-family:'Bricolage Grotesque',sans-serif;font-weight:800;
  font-size:34px;letter-spacing:-.02em;line-height:1;margin:0 0 4px;
}
.price-cell p{margin:6px 0 0;color:var(--clay);font-size:14.5px;}
.price-note{
  border-left:2px solid var(--seal);background:var(--paper-2);
  padding:18px 20px;margin:20px 0 0;font-size:15px;
}

.faq{margin:30px 0 0;border-top:1px solid var(--line);}
.faq details{border-bottom:1px solid var(--line);}
.faq summary{
  cursor:pointer;padding:17px 0;list-style:none;
  font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:16.5px;
  display:flex;justify-content:space-between;gap:16px;align-items:center;
}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";color:var(--seal);font-weight:700;font-size:20px;line-height:1;}
.faq details[open] summary::after{content:"–";}
.faq details p{margin:0 0 18px;color:var(--clay);font-size:15px;max-width:60ch;}

/* ---------- footer ---------- */
.site-foot{
  border-top:1px solid var(--line);margin:80px 0 0;padding:34px 0 56px;
  font-size:13px;color:var(--clay);
}
.foot-grid{display:flex;flex-wrap:wrap;gap:28px;justify-content:space-between;}
.site-foot a{color:var(--clay);text-decoration:none;display:block;margin:0 0 6px;}
.site-foot a:hover{color:var(--ink);}
.site-foot p{margin:0 0 5px;}

/* ═══════════════════════════════════════════════════════════
   DOCUMENT PAGES
   pricing · placement-terms · refunds · terms · privacy
   Add class="doc" to <body> and link this file instead of cw.css.
   Scoped under body.doc so nothing collides with the homepage.
   ═══════════════════════════════════════════════════════════ */

body.doc .wrap{max-width:760px;}
body.doc .narrow{max-width:640px;}

body.doc header.site{
  border-bottom:1px solid var(--line);
  padding:20px 0;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
}
body.doc header.site img{height:24px;width:auto;display:block;}
body.doc .brand{
  font-family:'IBM Plex Mono',ui-monospace,monospace;
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--clay);text-decoration:none;
}
body.doc .brand:hover{color:var(--ink);}

body.doc h1{
  font-family:'Bricolage Grotesque','Public Sans',sans-serif;
  font-weight:800;letter-spacing:-.026em;line-height:1.05;
  font-size:clamp(32px,5.5vw,46px);
  margin:56px 0 14px;max-width:17ch;
}
body.doc h2{
  font-family:'Bricolage Grotesque','Public Sans',sans-serif;
  font-weight:800;letter-spacing:-.02em;line-height:1.15;
  font-size:25px;margin:52px 0 12px;
}
body.doc h3{
  font-family:'Bricolage Grotesque','Public Sans',sans-serif;
  font-weight:700;font-size:17px;line-height:1.3;margin:0 0 6px;
}
body.doc .lede{
  font-size:19px;line-height:1.55;color:var(--clay);
  margin:0 0 44px;max-width:52ch;
}
body.doc .label{
  font-family:'IBM Plex Mono',ui-monospace,monospace;
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--clay);margin:0 0 10px;
}
body.doc .rule{border:0;border-top:1px solid var(--line);margin:52px 0;}

body.doc .grid3,
body.doc .grid2{
  display:grid;gap:1px;background:var(--line);border:1px solid var(--line);
}
@media(min-width:700px){
  body.doc .grid3{grid-template-columns:repeat(3,1fr);}
  body.doc .grid2{grid-template-columns:1fr 1fr;}
}
body.doc .cell{background:var(--paper-2);padding:24px 22px;}
body.doc .cell p{margin:0;color:var(--clay);font-size:15px;}
body.doc .cell svg{display:block;margin:0 0 14px;}

body.doc .more{
  display:inline-block;
  font-family:'IBM Plex Mono',ui-monospace,monospace;
  font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  text-decoration:none;color:var(--seal);
  border-bottom:1px solid var(--seal);padding-bottom:3px;
}

body.doc footer.site{
  border-top:1px solid var(--line);margin-top:76px;padding:30px 0 56px;
  font-size:13px;color:var(--clay);
}
body.doc footer.site p{margin:0 0 6px;}
body.doc footer.site p:last-child{margin:0;}
body.doc footer.site a{color:var(--clay);}
body.doc footer.site a:hover{color:var(--ink);}

/* tables in legal / pricing pages */
body.doc table{width:100%;border-collapse:collapse;margin:22px 0;font-size:15px;}
body.doc th{
  text-align:left;font-family:'IBM Plex Mono',ui-monospace,monospace;
  font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--clay);font-weight:400;
  padding:0 16px 9px 0;border-bottom:1px solid var(--ink);
}
body.doc td{padding:12px 16px 12px 0;border-bottom:1px solid var(--line);vertical-align:top;}

body.doc ol,body.doc ul{padding-left:20px;margin:0 0 16px;}
body.doc li{margin:0 0 8px;}

/* ---------- role cards ---------- */
.roles{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);margin:34px 0 0;}
@media(min-width:720px){.roles{grid-template-columns:1fr 1fr;}}
.role{background:var(--paper-2);margin:0;}
.role img{
  display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;
  background:var(--line);
}
.role-body{padding:22px 22px 26px;}
.role-body h3{margin:0 0 6px;}
.role-body p{margin:0;color:var(--clay);font-size:14.5px;}
