:root{
  --paper: #E9E1CC;
  --paper-dark: #DED2B3;
  --ink: #221D15;
  --ink-soft: #4A4234;
  --stamp-red: #9C2B1F;
  --folder-green: #3F4A38;
  --gold: #A9832F;
  --grey-doc: #6F695C;
  --line: rgba(34,29,21,0.18);
}

*{ box-sizing:border-box; }

body{
  margin:0;
  background:
    radial-gradient(ellipse at top left, rgba(0,0,0,0.03), transparent 60%),
    var(--paper);
  color:var(--ink);
  font-family:'Source Serif 4', serif;
  -webkit-font-smoothing:antialiased;
}

a{ color:inherit; }

.stamp-label{
  font-family:'Special Elite', monospace;
  letter-spacing:0.12em;
  text-transform:uppercase;
}

header.bar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:22px 6vw;
  border-bottom:1px solid var(--line);
  position:sticky;
  top:0;
  background:var(--paper);
  z-index:100;
}
header.bar .back{
  font-family:'Special Elite', monospace;
  font-size:12px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  text-decoration:none;
  color:var(--ink-soft);
  border-bottom:1px solid transparent;
  transition:border-color .2s, color .2s;
}
header.bar .back:hover{ color:var(--ink); border-color:var(--stamp-red); }

main{
  max-width:720px;
  margin:0 auto;
  padding:60px 6vw 90px;
}

.eyebrow{
  font-family:'Special Elite', monospace;
  font-size:12px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--stamp-red);
  margin-bottom:10px;
}

h1{
  font-family:'Fraunces', serif;
  font-weight:600;
  font-size:clamp(1.9rem, 5vw, 2.6rem);
  line-height:1.1;
  margin:0 0 22px;
}
h2{
  font-family:'Fraunces', serif;
  font-weight:600;
  font-size:1.35rem;
  margin:40px 0 14px;
}
h3{
  font-family:'Fraunces', serif;
  font-weight:600;
  font-size:1.05rem;
  margin:0 0 6px;
}

main p, main li{
  font-size:1.02rem;
  line-height:1.7;
  color:var(--ink-soft);
}
main ul{ padding-left:1.2em; margin:0 0 18px; }
main li{ margin-bottom:8px; }
main a{ color:var(--stamp-red); text-decoration:underline; }

.step{
  display:flex;
  gap:18px;
  margin-bottom:22px;
  align-items:flex-start;
}
.step .num{
  font-family:'Special Elite', monospace;
  font-size:13px;
  color:var(--paper);
  background:var(--folder-green);
  width:28px; height:28px;
  min-width:28px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
}
.step .txt h3{ margin:2px 0 6px; }
.step .txt p{ margin:0; }

.faq-item{
  border-top:1px dashed var(--line);
  padding:22px 0;
}
.faq-item:first-of-type{ border-top:none; padding-top:0; }
.faq-item h3{ margin:0 0 8px; }
.faq-item p{ margin:0; }

.card{
  background:var(--paper-dark);
  border:1px solid var(--line);
  padding:22px 24px;
  margin:26px 0;
}

.btn{
  display:inline-block;
  font-family:'Special Elite', monospace;
  font-size:12.5px;
  letter-spacing:0.06em;
  text-transform:uppercase;
  text-decoration:none;
  padding:12px 20px;
  border:1.5px solid var(--ink);
  color:var(--ink);
  transition:background .2s, color .2s;
  margin-top:10px;
}
.btn:hover{ background:var(--ink); color:var(--paper); }
.btn.primary{
  background:var(--stamp-red);
  border-color:var(--stamp-red);
  color:var(--paper);
}
.btn.primary:hover{ background:#7a2117; border-color:#7a2117; }

.note{
  margin-top:44px;
  padding-top:20px;
  border-top:1px solid var(--line);
  font-size:0.9rem;
  color:var(--grey-doc);
}
.note a{ color:var(--grey-doc); text-decoration:underline; }

footer.simple{
  text-align:center;
  padding:30px 6vw 40px;
  font-family:'Special Elite', monospace;
  font-size:11.5px;
  letter-spacing:0.04em;
  color:var(--grey-doc);
}
