:root{
  --paper:#FBF6EF;
  --paper-2:#F5EEDE;
  --ink:#17231F;
  --ink-soft:#4B5750;
  --teal:#0E4D43;
  --teal-deep:#0A3A32;
  --purple:#4A2472;
  --purple-soft:#F1E9F8;
  --rust:#B5502E;
  --line:#DED0AE;
}
*{box-sizing:border-box; margin:0; padding:0;}
body{
  font-family:'Inter', sans-serif;
  background:var(--paper);
  color:var(--ink);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:'Fraunces', serif; font-weight:600; line-height:1.15; letter-spacing:-0.01em;}
em{font-family:'Fraunces', serif; font-style:italic; font-weight:500;}
.mono{font-family:'JetBrains Mono', monospace;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
.wrap{max-width:1180px; margin:0 auto; padding:0 44px;}
.entry-tag{
  font-family:'JetBrains Mono', monospace; font-size:12px; letter-spacing:0.08em;
  color:var(--ink); text-transform:uppercase; display:flex; align-items:center; gap:10px; margin-bottom:22px;
}
.entry-tag::before{content:""; width:22px; height:1px; background:var(--ink);}
.rule{border-top:1px solid var(--line);}
.rule-thick{border-top:1.5px solid var(--ink);}
.btn{display:inline-block; padding:13px 26px; border-radius:3px; font-weight:600; font-size:14.5px; cursor:pointer; border:1px solid transparent;}
.btn-primary{background:var(--teal); color:var(--paper);}
.btn-ghost{border-color:currentColor;}
.btn-purple{background:var(--purple); color:#fff;}

/* ---- torn edge strip ---- */
.torn{
  height:16px;
  background-image:
    linear-gradient(135deg, var(--paper) 8px, transparent 8px),
    linear-gradient(-135deg, var(--paper) 8px, transparent 8px);
  background-size:16px 16px; background-repeat:repeat-x; background-position:top left;
}
.torn-teal{background-color:var(--teal);}

/* ---- stamp seal ---- */
.stamp{width:150px; height:150px; color:var(--teal); flex-shrink:0;}
.stamp.purple{color:#fff; background:var(--purple); border-radius:50%;}
.stamp.on-teal{color:var(--paper);}

/* ---------- NAV ---------- */
header{background:var(--paper); border-bottom:1.5px solid var(--ink); position:sticky; top:0; z-index:50;}
.nav{display:flex; align-items:center; justify-content:space-between; padding:16px 44px; max-width:1180px; margin:0 auto; border-bottom:1px solid var(--line); margin-bottom:-1px;}
.nav-links{display:flex; gap:30px;}
.nav-links a, .nav-meta a{font-size:14px; font-weight:500;}
.nav-links a.active{color:var(--purple);}
.nav-meta{display:flex; align-items:center; gap:22px;}
.logo{display:flex; align-items:center; gap:10px;}
.logo-icon{width:32px; height:32px; border-radius:8px; background:var(--teal); position:relative; overflow:hidden; flex-shrink:0;}
.logo-icon::after{content:""; position:absolute; left:0; right:0; bottom:0; height:5px; background:var(--purple);}
.logo-icon span{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#fff; font-family:'Fraunces',serif; font-weight:600; font-size:14px; padding-bottom:4px;}
.logo-word{font-family:'Fraunces', serif; font-weight:600; font-size:18px;}

/* ---------- HERO ---------- */
.hero{padding:70px 0 0;}
.hero-inner{display:flex; gap:60px; align-items:flex-start; padding-bottom:70px;}
.hero-left{flex:1.1;}
.hero h1{font-size:52px; max-width:600px; margin-bottom:22px;}
.hero-left > p{font-size:17px; color:var(--ink-soft); max-width:460px; margin-bottom:32px;}
.hero-actions{display:flex; align-items:center; gap:22px; flex-wrap:wrap;}
.hero-right{flex:1; display:flex; justify-content:center; padding-top:10px;}

/* ---- claim card artifact ---- */
.claim-card{
  width:320px; background:var(--paper-2); border:1px solid var(--ink); border-radius:4px;
  padding:26px 26px 22px; transform:rotate(3deg); box-shadow:10px 12px 0 rgba(23,35,31,0.08);
  position:relative;
}
.claim-card::before{
  content:"CLAIM RECORD"; font-family:'JetBrains Mono',monospace; font-size:10.5px; letter-spacing:0.12em;
  color:var(--ink-soft);
}
.claim-row{display:flex; justify-content:space-between; padding:9px 0; border-bottom:1px dashed var(--line); font-family:'JetBrains Mono',monospace; font-size:12.5px;}
.claim-row:last-of-type{border-bottom:none;}
.claim-row span:first-child{color:var(--ink-soft);}
.claim-status{
  margin-top:16px; display:inline-flex; align-items:center; gap:8px; background:var(--teal); color:#fff;
  padding:7px 14px; border-radius:3px; font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:0.06em;
}

/* ---------- GENERIC SECTION / PAGE HERO ---------- */
.section{padding:64px 0;}
.section-head{display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:12px; gap:30px;}
.section-head h2{font-size:32px; max-width:520px;}
.section-head p{color:var(--ink-soft); font-size:15px; max-width:340px; padding-bottom:4px;}
.page-hero{padding:60px 0 20px;}
.page-hero h1{font-size:44px; max-width:680px; margin-bottom:16px;}
.page-hero p{color:var(--ink-soft); font-size:17px; max-width:560px;}

.ledger-row{display:flex; align-items:center; gap:30px; padding:26px 0; border-bottom:1px solid var(--line);}
.ledger-row:first-of-type{border-top:1px solid var(--line);}
.ledger-code{
  font-family:'JetBrains Mono',monospace; font-size:12.5px; color:#fff; background:var(--purple);
  width:70px; flex-shrink:0; display:inline-block; padding:4px 9px; border-radius:3px; text-align:center;
}
.ledger-name{flex:1.1; min-width:200px;}
.ledger-name h3{font-family:'Fraunces',serif; font-weight:600; font-size:21px;}
.ledger-desc{flex:1.6; color:var(--ink-soft); font-size:14.5px; min-width:240px;}
.ledger-arrow{font-family:'JetBrains Mono',monospace; font-size:18px; color:var(--ink-soft); flex-shrink:0;}

/* ---------- PROOF / STATS ---------- */
.proof{background:var(--teal); color:var(--paper); padding:64px 0;}
.proof .entry-tag{color:#B9E0D3;}
.proof .entry-tag::before{background:#B9E0D3;}
.proof-grid{display:flex; gap:0; flex-wrap:wrap; margin-top:10px;}
.proof-stat{flex:1 1 220px; padding:20px 26px 20px 0; border-right:1px solid rgba(251,246,239,0.22);}
.proof-stat:last-child{border-right:none;}
.proof-num{font-family:'JetBrains Mono',monospace; font-size:40px; font-weight:600; margin-bottom:6px;}
.proof-label{font-size:13.5px; color:#CFE0DB; max-width:200px;}
.proof-quote{margin-top:44px; padding-top:34px; border-top:1px solid rgba(251,246,239,0.22);}
.proof-quote p{font-family:'Fraunces',serif; font-style:italic; font-weight:500; font-size:23px; max-width:640px; margin-bottom:12px;}
.proof-quote span{font-family:'JetBrains Mono',monospace; font-size:12px; color:#B9E0D3; letter-spacing:0.05em;}

/* ---------- PROCESS / CLAIM STAGES ---------- */
.stage-row{display:flex; gap:40px; margin-top:40px; flex-wrap:wrap;}
.stage{flex:1 1 260px;}
.stage-stamp{
  display:inline-block; font-family:'JetBrains Mono',monospace; font-size:12.5px; font-weight:600;
  letter-spacing:0.1em; padding:9px 16px; border:2px dashed; border-radius:3px; transform:rotate(-3deg);
  margin-bottom:20px;
}
.stage:nth-child(1) .stage-stamp{color:var(--ink-soft); border-color:var(--ink-soft);}
.stage:nth-child(2) .stage-stamp{color:#fff; background:var(--purple); border-color:var(--purple); transform:rotate(2deg);}
.stage:nth-child(3) .stage-stamp{color:var(--teal); border-color:var(--teal); background:rgba(14,77,67,0.06); transform:rotate(-2deg);}
.stage h3{font-size:20px; margin-bottom:10px;}
.stage p{color:var(--ink-soft); font-size:14.5px; max-width:280px;}

/* ---------- CTA BAND ---------- */
.cta-band{background:var(--teal); color:var(--paper); padding:70px 0; position:relative; overflow:hidden;}
.cta-inner{display:flex; align-items:center; justify-content:space-between; gap:50px; flex-wrap:wrap;}
.cta-band h2{font-size:34px; max-width:480px;}
.cta-band > .wrap > p.slogan{color:#CFE0DB; margin-top:12px; font-size:15.5px;}
.cta-actions{display:flex; gap:16px; margin-top:26px; flex-wrap:wrap;}

/* ---------- LINE-ITEM GRID ---------- */
.line-grid{display:flex; flex-wrap:wrap; gap:1px; background:var(--line); border:1px solid var(--line); margin-top:20px;}
.line-card{flex:1 1 320px; background:var(--paper); padding:26px 28px;}
.line-card .ledger-code{width:auto; display:inline-block; margin-bottom:10px;}
.line-card h3{font-family:'Fraunces',serif; font-weight:600; font-size:18px; margin-bottom:8px;}
.line-card p{color:var(--ink-soft); font-size:13.5px;}

/* ---------- AUDIT-LOG STYLE SERVICE BREAKDOWN ---------- */
.audit-group{margin-top:38px;}
.audit-group-head{display:flex; align-items:baseline; gap:12px; margin-bottom:6px;}
.audit-group-head h3{font-size:20px;}
.audit-group-sub{color:var(--ink-soft); font-size:14px; margin-bottom:16px; max-width:600px;}
.audit-list{list-style:none; border-top:1px solid var(--line);}
.audit-list li{display:flex; gap:14px; padding:14px 4px; border-bottom:1px solid var(--line); font-size:14.5px; color:var(--ink-soft); align-items:flex-start; line-height:1.55;}
.audit-list li::before{content:"\2713"; font-family:'JetBrains Mono',monospace; font-size:13px; color:#fff; background:var(--teal); width:20px; height:20px; border-radius:50%; flex-shrink:0; display:flex; align-items:center; justify-content:center; margin-top:1px;}
.audit-list li strong{color:var(--ink); font-weight:600;}
.audit-list li .audit-tools{font-family:'JetBrains Mono',monospace; font-size:12px; color:var(--purple);}

/* ---------- CONTACT ---------- */
.contact-inner{display:flex; gap:70px; flex-wrap:wrap;}
.contact-left{flex:1 1 300px;}
.contact-left h2{font-size:30px; max-width:380px; margin-bottom:16px;}
.contact-left p{color:var(--ink-soft); font-size:15px; max-width:360px; margin-bottom:26px;}
.contact-meta{font-family:'JetBrains Mono',monospace; font-size:12.5px; color:var(--ink-soft); line-height:2;}
.contact-right{flex:1.3 1 420px;}
.field{margin-bottom:22px;}
.field label{display:block; font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:0.08em; color:var(--ink-soft); text-transform:uppercase; margin-bottom:8px;}
.field input, .field textarea{
  width:100%; border:none; border-bottom:1px dotted var(--ink); background:transparent;
  font-family:'Inter',sans-serif; font-size:15px; padding:6px 2px; color:var(--ink);
}
.field input:focus, .field textarea:focus{outline:none; border-bottom:1px solid var(--teal);}
.field-row{display:flex; gap:24px;}
.field-row .field{flex:1;}
.hp-field{position:absolute; left:-9999px; top:-9999px;}
.form-msg{padding:16px 18px; border-radius:3px; margin-bottom:26px; font-size:14.5px;}
.form-msg.success{background:var(--purple-soft); color:var(--purple); border-left:4px solid var(--purple);}
.form-msg.error{background:#FBEAE0; color:var(--rust); border-left:4px solid var(--rust);}

/* ---------- BLOG ---------- */
.blog-grid{display:flex; flex-direction:column; gap:0; margin-top:20px;}
.blog-row{display:flex; gap:30px; align-items:flex-start; padding:30px 0; border-bottom:1px solid var(--line);}
.blog-row:first-of-type{border-top:1px solid var(--line);}
.blog-row .blog-date{font-family:'JetBrains Mono',monospace; font-size:12.5px; color:var(--ink-soft); width:110px; flex-shrink:0; padding-top:4px;}
.blog-row .blog-body{flex:1;}
.blog-row h3{font-size:23px; margin-bottom:8px;}
.blog-row h3 a:hover{color:var(--purple);}
.blog-row p{color:var(--ink-soft); font-size:14.5px; max-width:640px;}
.blog-row .blog-tag{font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--purple); text-transform:uppercase; letter-spacing:0.06em; margin-bottom:8px; display:inline-block;}

.article{padding:50px 0 80px;}
.article-meta{font-family:'JetBrains Mono',monospace; font-size:12.5px; color:var(--ink-soft); margin-bottom:16px;}
.article h1{font-size:38px; max-width:760px; margin-bottom:18px;}
.article-lede{font-size:18px; color:var(--ink-soft); max-width:680px; margin-bottom:40px;}
.article-body{max-width:700px;}
.article-body h2{font-size:26px; margin:42px 0 16px;}
.article-body h3{font-size:20px; margin:32px 0 12px;}
.article-body p{font-size:16px; margin-bottom:18px; line-height:1.7;}
.article-body ul, .article-body ol{margin:0 0 20px 22px;}
.article-body li{font-size:16px; margin-bottom:10px; line-height:1.6;}
.article-body strong{font-weight:600;}
.article-cta{
  margin-top:50px; padding:30px 32px; background:var(--purple-soft); border-left:4px solid var(--purple);
  border-radius:3px;
}
.article-cta p{font-size:16px; margin-bottom:14px; color:var(--ink);}

/* ---------- FOOTER ---------- */
footer{background:var(--ink); color:var(--paper);}
.footer-inner{padding:50px 0 30px;}
.footer-cols{display:flex; flex-wrap:wrap; gap:40px; padding-bottom:36px; border-bottom:1px solid rgba(251,246,239,0.14);}
.footer-cols > div{flex:1 1 180px;}
.footer-cols h4{font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:#9FC6BB; margin-bottom:14px;}
.footer-cols a, .footer-cols p{display:block; font-size:14px; color:#D8E7E2; margin-bottom:9px;}
.footer-cols a:hover{color:#fff;}
.footer-bottom{display:flex; justify-content:space-between; align-items:center; padding:22px 0; font-family:'JetBrains Mono',monospace; font-size:11.5px; color:#7FA398; flex-wrap:wrap; gap:10px;}

@media (max-width: 880px){
  .hero-inner{flex-direction:column;}
  .hero-right{padding-top:30px;}
  .contact-inner{flex-direction:column;}
  .section-head{flex-direction:column; align-items:flex-start;}
  .field-row{flex-direction:column; gap:0;}
  .nav-links{display:none;}
  .hero h1{font-size:36px;}
  .page-hero h1{font-size:32px;}
  .cta-inner{flex-direction:column; align-items:flex-start;}
  .blog-row{flex-direction:column; gap:8px;}
  .article h1{font-size:28px;}
}
