:root{
  --paper:        #14110D;
  --paper-panel:  #1D1811;
  --paper-line:   #332B1E;
  --paper-line-2: #4A3E28;

  --ink:          #EDE4D3;
  --ink-dim:      #B5A98C;
  --ink-faint:    #7C7259;

  --credit:       #4FBE8C;
  --credit-dim:   #6FA88F;
  --debit:        #E37567;
  --debit-dim:    #C08983;

  --gold:         #C79A4B;
  --gold-dim:     rgba(199,154,75,.3);

  --font-display: 'Fraunces', Georgia, serif;
  --font-body:    'Inter', system-ui, sans-serif;
  --font-mono:    'JetBrains Mono', 'Courier New', monospace;

  --radius-sm: 4px;
  --radius-md: 8px;
  --wrap: 1120px;
}

*, *::before, *::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--paper);
  background-image:
    radial-gradient(rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 3px 3px;
  color:var(--ink);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; margin:0; padding:0; }
h1,h2,h3,p{ margin:0; }
button{ font:inherit; background:none; border:none; color:inherit; cursor:pointer; }

.skip-link{
  position:absolute; left:-999px; top:auto;
  background:var(--ink); color:var(--paper); padding:.75rem 1.25rem;
  border-radius:var(--radius-sm); z-index:200; font-weight:600;
}
.skip-link:focus{ left:1rem; top:1rem; }

:focus-visible{ outline:2px solid var(--debit); outline-offset:3px; border-radius:3px; }

.wrap{ max-width:var(--wrap); margin:0 auto; padding:0 1.5rem; }
.mono{ font-family:var(--font-mono); }

h1, h2, h3{ font-family:var(--font-display); font-weight:600; letter-spacing:-.005em; }

.eyebrow{
  font-family:var(--font-mono);
  font-size:.76rem; letter-spacing:.09em; text-transform:uppercase;
  color:var(--debit);
  margin:0 0 .9rem;
}
.section-head{ max-width:620px; margin:0 0 3rem; }
.section-head h2{ font-size:clamp(1.6rem, 2.9vw, 2.2rem); line-height:1.2; margin-bottom:.9rem; }
.section-head__sub{ color:var(--ink-dim); font-size:1rem; }

.btn{
  display:inline-flex; align-items:center; justify-content:center;
  gap:.5rem;
  padding:.68rem 1.3rem;
  border-radius:var(--radius-sm);
  font-weight:600; font-size:.92rem;
  border:1.5px solid var(--ink);
  transition:background-color .15s ease, color .15s ease, transform .15s ease;
}
.btn--solid{ background:var(--ink); color:var(--paper-panel); }
.btn--solid:hover{ background:#3A362F; transform:translateY(-1px); }

.btn--ghost{ border-color:transparent; color:var(--ink-dim); }
.btn--ghost:hover{ color:var(--ink); }

.btn--outline{ background:transparent; color:var(--ink); }
.btn--outline:hover{ background:var(--ink); color:var(--paper-panel); }

.btn--lg{ padding:.85rem 1.7rem; font-size:1rem; }
.btn--block{ width:100%; }

.nav{
  position:sticky; top:0; z-index:100;
  background:rgba(20,17,13,.88);
  backdrop-filter:blur(6px);
  border-bottom:1px solid transparent;
  transition:border-color .2s ease;
}
.nav.is-scrolled{ border-bottom:1px solid var(--paper-line-2); }
.nav__inner{ display:flex; align-items:center; justify-content:space-between; height:66px; }
.nav__brand{ display:flex; align-items:center; gap:.6rem; }

.nav__stamp{
  width:30px; height:30px; border-radius:50%;
  border:1.5px solid var(--ink);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-display); font-weight:600; font-size:.72rem;
  transform:rotate(-8deg);
  position:relative;
}
.nav__stamp::before{
  content:""; position:absolute; inset:3px;
  border:1px solid var(--ink); border-radius:50%; opacity:.5;
}
.nav__word{ font-family:var(--font-display); font-weight:600; font-size:1.2rem; }

.nav__links{ display:flex; gap:2rem; }
.nav__links a{ font-size:.9rem; color:var(--ink-dim); transition:color .15s ease; }
.nav__links a:hover{ color:var(--ink); }

.nav__actions{ display:flex; align-items:center; gap:1rem; }

.switcher{
  display:flex; align-items:center; gap:.35rem;
  font-family:var(--font-mono); font-size:.78rem; letter-spacing:.03em;
  border:1px solid var(--paper-line-2); border-radius:99px;
  padding:.35rem .7rem;
  color:var(--ink-dim);
}
.switcher__opt{ padding:.1rem .15rem; transition:color .15s ease, font-weight .15s ease; }
.switcher__opt.is-active{ color:var(--ink); font-weight:700; }
.switcher__sep{ opacity:.5; }
.switcher--mobile{ margin:.5rem 1.5rem; align-self:flex-start; }

.nav__burger{ display:none; flex-direction:column; gap:5px; padding:.5rem; }
.nav__burger span{ width:22px; height:2px; background:var(--ink); transition:transform .2s ease, opacity .2s ease; }
.nav__burger[aria-expanded="true"] span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav__burger[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.nav__burger[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

.nav__mobile{ display:none; flex-direction:column; border-top:1px solid var(--paper-line-2); background:var(--paper); }
.nav__mobile.is-open{ display:flex; }
.nav__mobile a{ padding:1rem 1.5rem; border-bottom:1px solid var(--paper-line); font-size:.95rem; color:var(--ink-dim); }
.nav__mobile a.btn{ margin:1rem 1.5rem; border-bottom:none; }

.rule--double{
  max-width:var(--wrap); margin:0 auto;
  height:6px;
  background:
    linear-gradient(var(--gold-dim), var(--gold-dim)) top / 100% 1px no-repeat,
    linear-gradient(var(--paper-line-2), var(--paper-line-2)) bottom / 100% 1px no-repeat;
}

.hero{ padding:4.5rem 0 3rem; }

.stamp-tag{
  display:inline-block;
  font-family:var(--font-mono); font-size:.75rem; letter-spacing:.07em; text-transform:uppercase;
  border:1.5px solid var(--debit); color:var(--debit);
  padding:.35rem .8rem; border-radius:3px;
  transform:rotate(-2deg);
  margin-bottom:1.6rem;
}

.hero__title{
  font-size:clamp(2.1rem, 4.6vw, 3.6rem);
  line-height:1.08;
  max-width:15ch;
  margin-bottom:1.3rem;
}
.hero__title em{ font-style:italic; color:var(--credit); }

.hero__sub{
  color:var(--ink-dim); font-size:1.08rem;
  max-width:560px; margin-bottom:2rem;
}
.hero__cta{ display:flex; gap:.9rem; flex-wrap:wrap; margin-bottom:3rem; }

.ledger-demo{
  background:var(--paper-panel);
  border:1px solid var(--paper-line-2);
  border-radius:var(--radius-md);
  max-width:760px;
  overflow:hidden;
}
.ledger-demo__head,
.ledger-demo__row{
  display:grid;
  grid-template-columns:.8fr 2.2fr .9fr .9fr .9fr;
  gap:.75rem;
  padding:.7rem 1.1rem;
}
.ledger-demo__head{
  font-family:var(--font-mono); font-size:.72rem; text-transform:uppercase; letter-spacing:.05em;
  color:var(--ink-faint);
  border-bottom:1px solid var(--paper-line-2);
}
.ledger-demo__row{
  font-size:.88rem;
  border-bottom:1px solid var(--paper-line);
}
.ledger-demo__row:last-of-type{ border-bottom:none; }
.ledger-demo__row span:nth-child(2){ color:var(--ink); }
.ledger-demo__credit{ color:var(--credit); }
.ledger-demo__debit{ color:var(--debit); }
.ledger-demo__caption{
  font-family:var(--font-mono); font-size:.73rem; color:var(--ink-faint);
  padding:.75rem 1.1rem; background:var(--paper);
}

.strip{ padding:2rem 0; }
.strip__inner{ display:flex; flex-wrap:wrap; gap:1.4rem; justify-content:space-between; }
.seal{
  display:flex; flex-direction:column; gap:.15rem;
  border:1.5px dashed var(--paper-line-2);
  border-radius:var(--radius-sm);
  padding:.6rem 1rem;
  min-width:150px;
}
.seal b{ font-family:var(--font-mono); font-size:.95rem; }
.seal small{ font-size:.72rem; color:var(--ink-faint); text-transform:uppercase; letter-spacing:.04em; }
.seal--1{ transform:rotate(-1.4deg); }
.seal--2{ transform:rotate(1deg); }
.seal--3{ transform:rotate(-.6deg); }
.seal--4{ transform:rotate(1.3deg); }

.features{ padding:5rem 0; }
.ledger-list{ border-top:1px solid var(--paper-line-2); }
.ledger-item{
  display:flex; gap:1.6rem;
  padding:1.8rem 1rem;
  border-bottom:1px solid var(--paper-line-2);
  transition:background-color .2s ease;
}
.ledger-item:hover{ background:var(--paper-panel); }
.ledger-item__no{ color:var(--debit); font-size:.85rem; padding-top:.2rem; flex:0 0 auto; }
.ledger-item__body h3{ font-size:1.15rem; margin-bottom:.4rem; }
.ledger-item__body p{ color:var(--ink-dim); font-size:.94rem; max-width:60ch; }

.showcase{ padding:5rem 0; }
.showcase__inner{ display:grid; grid-template-columns:.85fr 1.15fr; gap:3.5rem; align-items:center; }
.showcase__copy h2{ font-size:clamp(1.5rem, 2.8vw, 2.1rem); line-height:1.2; margin-bottom:1rem; }
.showcase__copy > p{ color:var(--ink-dim); margin-bottom:1.4rem; }
.showcase__list{ display:flex; flex-direction:column; gap:.65rem; }
.showcase__list li{ position:relative; padding-left:1.3rem; font-size:.93rem; }
.showcase__list li::before{ content:"—"; position:absolute; left:0; color:var(--credit); }

.clipping{
  position:relative;
  background:var(--paper-panel);
  border:1px solid var(--paper-line-2);
  border-radius:var(--radius-md);
  overflow:hidden;
  box-shadow:0 22px 40px -26px rgba(28,27,25,.35);
}
.clipping::before{
  content:"";
  position:absolute; top:-10px; left:28px;
  width:64px; height:26px;
  background:var(--gold-dim);
  transform:rotate(-4deg);
  z-index:2;
}
.clipping__bar{
  display:flex; align-items:center; gap:.4rem;
  padding:.65rem .9rem;
  border-bottom:1px solid var(--paper-line-2);
  background:var(--paper);
  position:relative; z-index:1;
}
.dot{ width:8px; height:8px; border-radius:50%; background:var(--paper-line-2); }
.clipping__title{ margin-left:.6rem; font-size:.74rem; color:var(--ink-faint); }
.clipping__body{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:.5rem; text-align:center; color:var(--ink-faint);
  padding:4.5rem 1.5rem;
}
.clipping__body svg{ color:var(--ink-faint); margin-bottom:.3rem; }
.clipping__body p{ color:var(--ink-dim); font-size:.95rem; font-weight:500; }
.clipping__body span{ font-family:var(--font-mono); font-size:.75rem; }

.pricing{ padding:5rem 0; }
.grid{ display:grid; gap:1.25rem; }
.grid--pricing{ grid-template-columns:repeat(3, 1fr); align-items:stretch; }

.plan{
  position:relative;
  background:var(--paper-panel);
  border:1.5px solid var(--paper-line-2);
  border-radius:var(--radius-md);
  padding:2.1rem;
  display:flex; flex-direction:column;
}
.plan--featured{ border-color:var(--ink); }
.plan__badge{
  position:absolute; top:-12px; left:2.1rem;
  font-family:var(--font-mono); font-size:.68rem; letter-spacing:.04em; text-transform:uppercase;
  background:var(--ink); color:var(--paper-panel);
  padding:.28rem .6rem; border-radius:99px; font-weight:600;
}
.plan__badge--alt{ background:var(--credit); }

.plan__head h3{ font-size:1.2rem; margin-bottom:.35rem; }
.plan__desc{ color:var(--ink-dim); font-size:.87rem; min-height:2.5em; }

.plan__price{ display:flex; align-items:baseline; gap:.4rem; margin:1.3rem 0 1.4rem; font-family:var(--font-mono); }
.plan__amount{ font-size:2rem; font-weight:600; }
.plan__period{ color:var(--ink-faint); font-size:.84rem; }

.plan .btn{ margin-bottom:1.5rem; }

.plan__features{ display:flex; flex-direction:column; gap:.65rem; }
.plan__features li{ position:relative; padding-left:1.4rem; font-size:.89rem; color:var(--ink-dim); }
.plan__features li::before{ content:"✓"; position:absolute; left:0; top:0; color:var(--credit); font-size:.78rem; font-weight:700; }

.cta-final{ padding:5rem 0 6rem; }
.cta-final__inner{
  text-align:center; max-width:620px; margin:0 auto;
  padding:3.2rem 2rem;
  border:1.5px solid var(--paper-line-2);
  border-radius:var(--radius-md);
  background:var(--paper-panel);
}
.cta-final h2{ font-size:clamp(1.4rem, 2.8vw, 1.9rem); margin-bottom:.7rem; }
.cta-final p{ color:var(--ink-dim); margin-bottom:1.8rem; }
.sign-line{ display:inline-flex; flex-direction:column; align-items:center; gap:.6rem; }
.sign-line__label{ font-family:var(--font-display); font-style:italic; color:var(--ink-faint); font-size:.95rem; }

.footer{ border-top:1.5px solid var(--paper-line-2); padding:3.5rem 0 0; }
.footer__inner{ display:grid; grid-template-columns:1.2fr 2fr; gap:3rem; padding-bottom:2.5rem; }
.footer__brand p{ color:var(--ink-faint); font-size:.87rem; margin-top:.6rem; max-width:260px; }
.footer__cols{ display:grid; grid-template-columns:repeat(3, 1fr); gap:2rem; }
.footer__heading{ font-family:var(--font-mono); font-size:.73rem; text-transform:uppercase; letter-spacing:.06em; color:var(--ink-faint); margin-bottom:.85rem; }
.footer__col{ display:flex; flex-direction:column; gap:.55rem; }
.footer__col a{ color:var(--ink-dim); font-size:.89rem; }
.footer__col a:hover{ color:var(--ink); }

.footer__bottom{
  display:flex; justify-content:space-between; align-items:center;
  border-top:1px solid var(--paper-line);
  padding:1.3rem 1.5rem; color:var(--ink-faint); font-size:.79rem;
}

.reveal{ opacity:0; transform:translateY(12px); transition:opacity .5s ease, transform .5s ease; }
.reveal.is-visible{ opacity:1; transform:none; }

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  .reveal{ opacity:1; transform:none; transition:none; }
}

@media (max-width: 980px){
  .showcase__inner{ grid-template-columns:1fr; }
  .grid--pricing{ grid-template-columns:1fr; max-width:420px; margin:0 auto; }
  .footer__inner{ grid-template-columns:1fr; gap:2rem; }
  .ledger-demo__head span:nth-child(3),
  .ledger-demo__row span:nth-child(3){ display:none; }
  .ledger-demo__head, .ledger-demo__row{ grid-template-columns:.8fr 2fr .9fr .9fr; }
}

@media (max-width: 760px){
  .nav__links, .nav__actions{ display:none; }
  .nav__burger{ display:flex; }
  .footer__cols{ grid-template-columns:1fr 1fr; }
  .footer__bottom{ flex-direction:column; gap:.5rem; align-items:flex-start; }
  .strip__inner{ justify-content:flex-start; }
}

@media (max-width: 480px){
  .hero__cta{ flex-direction:column; align-items:stretch; }
  .hero__cta .btn{ width:100%; }
  .ledger-item{ flex-direction:column; gap:.5rem; }
}
