:root{
  --paper:#EFE6D0;
  --paper-deep:#E6D8B5;
  --paper-line:#C9B98C;
  --ink:#241F14;
  --ink-soft:#6B6045;
  --rust:#B14A28;   /* closures */
  --gold:#B9832A;   /* hazards */
  --moss:#5B6E45;   /* construction */
  --slate:#3F6B76;  /* parking */
  --stone:#8C8368;  /* treasury */
  --serif:'Spectral',Georgia,serif;
  --sans:'Inter',ui-sans-serif,system-ui,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,Menlo,monospace;
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  line-height:1.5;
  overflow-x:hidden;
  position:relative;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.wrap{max-width:1120px;margin:0 auto;padding:0 40px;}
@media (max-width:640px){.wrap{padding:0 22px;}}

/* paper grain + topo contour texture */
.bg-grid{
  position:fixed;inset:0;z-index:-1;
  background-image:
    radial-gradient(rgba(36,31,20,0.09) 0.6px, transparent 0.6px),
    repeating-radial-gradient(circle at 12% 8%, transparent 0 26px, rgba(91,110,69,0.10) 27px 28px, transparent 29px 54px),
    repeating-radial-gradient(circle at 92% 38%, transparent 0 34px, rgba(177,74,40,0.07) 35px 36px, transparent 37px 68px),
    repeating-radial-gradient(circle at 30% 92%, transparent 0 20px, rgba(63,107,118,0.08) 21px 22px, transparent 23px 44px);
  background-size:6px 6px, auto, auto, auto;
}

/* ---- nav ---- */
nav{
  position:sticky;top:0;z-index:50;
  background:rgba(239,230,208,0.92);
  backdrop-filter:blur(6px);
  border-bottom:2px solid var(--ink);
}
.navwrap{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 40px;gap:20px;
}
@media (max-width:640px){.navwrap{padding:14px 22px;}}
.wordmark{
  font-family:var(--serif);font-weight:700;font-style:italic;font-size:21px;
  display:flex;align-items:center;gap:7px;
}
.wordmark em{color:var(--rust);font-style:italic;}
.wordmark .pin{font-size:16px;filter:sepia(0.3);}
.wordmark.small{font-size:17px;}
.navlinks{display:flex;gap:24px;font-size:13px;color:var(--ink-soft);font-family:var(--mono);text-transform:uppercase;letter-spacing:.03em;}
.navlinks a{border-bottom:1px solid transparent;padding-bottom:2px;}
.navlinks a:hover{color:var(--ink);border-color:var(--rust);}
.navbtn{margin-left:auto;margin-right:0;}
@media (max-width:860px){.navlinks{display:none;}}
@media (min-width:861px){.burger{display:none;}}
.navbtn{display:inline-flex;}
@media (max-width:640px){.navbtn{display:none;}}

.burger{
  background:none;border:none;cursor:pointer;
  width:32px;height:24px;position:relative;
}
.burger span{
  position:absolute;left:0;width:100%;height:2px;background:var(--ink);
  transition:transform .2s, opacity .2s;
}
.burger span:nth-child(1){top:0;}
.burger span:nth-child(2){top:11px;}
.burger span:nth-child(3){top:22px;}

.btn{
  display:inline-block;
  font-family:var(--mono);font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.05em;
  padding:13px 24px;border-radius:3px;
  border:2px solid var(--ink);
  cursor:pointer;transition:transform .15s, background .15s, color .15s;
}
.btn:hover{transform:rotate(-1deg) translateY(-1px);}
.btn-primary{background:var(--rust);color:var(--paper);border-color:var(--rust);}
.btn-primary:hover{background:#96401F;}
.btn-ghost{border-style:dashed;color:var(--ink);background:transparent;}
.btn-ghost:hover{border-color:var(--rust);color:var(--rust);}
.btn-small{padding:9px 14px;font-size:12px;background:var(--paper-deep);border-color:var(--ink);color:var(--ink);border-radius:3px;}
.btn-small:hover{border-color:var(--rust);color:var(--rust);}

/* ---- hero ---- */
.hero{padding:72px 0 60px;}
.hero-inner{
  display:grid;grid-template-columns:1.1fr .9fr;gap:52px;align-items:center;
}
@media (max-width:920px){.hero-inner{grid-template-columns:1fr;}}
.eyebrow{
  font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;
  color:var(--rust);margin-bottom:20px;text-transform:uppercase;
  display:inline-flex;align-items:center;gap:8px;padding:6px 12px;
  border:1.5px dashed var(--paper-line);
  border-radius:2px;background:rgba(239,230,208,0.5);
}
h1{
  font-family:var(--serif);font-weight:700;
  font-size:clamp(36px,5.6vw,58px);
  line-height:1.08;letter-spacing:-.005em;
}
h1 .accent{color:var(--rust);font-style:italic;}
.tagline{
  margin-top:22px;color:var(--ink-soft);font-size:16.5px;line-height:1.7;max-width:520px;
}
.hero-actions{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap;}
.hero-stats{display:flex;gap:40px;margin-top:52px;flex-wrap:wrap;}
.stat{display:flex;flex-direction:column;gap:4px;}
.stat-num{font-family:var(--serif);font-weight:700;font-size:26px;color:var(--rust);font-style:italic;}
.stat-label{font-size:12.5px;color:var(--ink-soft);font-family:var(--mono);text-transform:uppercase;letter-spacing:.03em;}

/* ---- hero map card ---- */
.map-card{
  background:var(--paper-deep);
  border:2px solid var(--ink);
  border-radius:4px;
  padding:18px 18px 14px;
  transform:rotate(1.2deg);
  box-shadow:6px 6px 0 rgba(36,31,20,0.12);
}
.map-card svg{width:100%;height:auto;display:block;}
.map-card-label{
  display:flex;justify-content:space-between;align-items:center;
  font-family:var(--mono);font-size:10.5px;color:var(--ink-soft);
  text-transform:uppercase;letter-spacing:.05em;margin-top:10px;padding-top:10px;
  border-top:1px dashed var(--paper-line);
}
.map-card-note{
  font-family:var(--sans);font-size:11px;font-style:italic;color:var(--ink-soft);
  margin-top:6px;opacity:.85;
}

/* ---- sections ---- */
.section{padding:76px 0;}
.section.alt{background:var(--paper-deep);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);}
.section-title{
  font-family:var(--serif);font-weight:700;font-size:clamp(26px,4vw,34px);
}
.section-label{
  font-family:var(--mono);font-size:11px;color:var(--rust);text-transform:uppercase;letter-spacing:.08em;
  margin-bottom:10px;display:block;
}
.section-sub{color:var(--ink-soft);margin-top:10px;margin-bottom:44px;max-width:560px;}

.cards{display:grid;gap:20px;}
.cards-4{grid-template-columns:repeat(4,1fr);}
.cards-3{grid-template-columns:repeat(3,1fr);margin-top:36px;}
@media (max-width:900px){.cards-4{grid-template-columns:repeat(2,1fr);}.cards-3{grid-template-columns:1fr;}}
@media (max-width:560px){.cards-4{grid-template-columns:1fr;}}

.card{
  background:var(--paper);border:1.5px solid var(--ink);border-radius:4px;
  padding:24px 20px;position:relative;
}
.card:nth-child(1){transform:rotate(-0.6deg);}
.card:nth-child(2){transform:rotate(0.4deg);}
.card:nth-child(3){transform:rotate(-0.3deg);}
.card:nth-child(4){transform:rotate(0.6deg);}
.card-pin{
  width:26px;height:26px;border-radius:50% 50% 50% 0;
  transform:rotate(-45deg);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:18px;border:1.5px solid var(--ink);
}
.card-pin span{transform:rotate(45deg);font-family:var(--mono);font-size:10px;font-weight:700;color:var(--paper);}
.pin-rust{background:var(--rust);}
.pin-gold{background:var(--gold);}
.pin-moss{background:var(--moss);}
.pin-slate{background:var(--slate);}
.card-num{font-family:var(--mono);color:var(--ink-soft);font-size:12px;margin-bottom:10px;letter-spacing:.05em;}
.card h3{font-family:var(--serif);font-weight:700;font-size:19px;margin-bottom:9px;}
.card p{color:var(--ink-soft);font-size:14.5px;line-height:1.6;}

/* ---- tokenomics ---- */
.tokenomics-grid{display:grid;grid-template-columns:1fr;gap:32px;max-width:820px;}
.allocbar{
  display:flex;width:100%;height:40px;border-radius:3px;overflow:hidden;
  border:2px solid var(--ink);
}
.seg{width:var(--w);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:11.5px;color:var(--paper);font-weight:700;}
.seg-1{background:var(--rust);}
.seg-2{background:var(--slate);}
.seg-3{background:var(--moss);}
.seg-4{background:var(--gold);}
.seg-5{background:var(--stone);}
.alloc-list{list-style:none;display:grid;gap:12px;}
.alloc-list li{display:flex;align-items:center;gap:10px;font-size:14.5px;color:var(--ink-soft);font-family:var(--mono);font-size:13.5px;}
.alloc-list b{color:var(--ink);margin-left:2px;font-family:var(--sans);}
.alloc-list small{color:var(--ink-soft);opacity:.85;font-family:var(--sans);}
.dot{width:12px;height:12px;border:1.5px solid var(--ink);flex-shrink:0;}
.dot-1{background:var(--rust);}
.dot-2{background:var(--slate);}
.dot-3{background:var(--moss);}
.dot-4{background:var(--gold);}
.dot-5{background:var(--stone);}
.fine-print{margin-top:28px;font-size:13px;color:var(--ink-soft);opacity:.85;max-width:640px;font-style:italic;font-family:var(--serif);}

/* ---- roadmap ---- */
.roadmap{
  position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;
  padding-top:28px;
}
.roadmap::before{
  content:"";position:absolute;top:8px;left:0;right:0;height:0;
  border-top:2px dashed var(--paper-line);
}
@media (max-width:900px){.roadmap{grid-template-columns:repeat(2,1fr);}.roadmap::before{display:none;}}
@media (max-width:560px){.roadmap{grid-template-columns:1fr;}}
.rm-item{position:relative;padding:0 4px;}
.rm-item::before{
  content:"";position:absolute;top:-28px;left:0;width:12px;height:12px;
  border-radius:50%;background:var(--rust);border:2px solid var(--ink);
}
@media (max-width:900px){.rm-item::before{display:none;}}
.rm-phase{font-family:var(--mono);font-size:11.5px;color:var(--rust);text-transform:uppercase;letter-spacing:.05em;}
.rm-item h3{font-family:var(--serif);font-size:19px;margin:8px 0 8px;}
.rm-item p{color:var(--ink-soft);font-size:14.5px;line-height:1.6;}

/* ---- buy / CA ---- */
.ca-box{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  background:var(--paper);border:2px dashed var(--ink);border-radius:4px;
  padding:18px 20px;margin-bottom:12px;
}
.ca-label{font-family:var(--mono);font-size:11px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;}
.ca-box code{
  font-family:var(--mono);font-size:13.5px;color:var(--rust);flex:1;min-width:200px;
  word-break:break-all;
}

/* ---- community ---- */
.social-row{display:flex;gap:14px;flex-wrap:wrap;}
.social-btn{
  background:var(--paper);border:1.5px solid var(--ink);border-radius:3px;
  padding:14px 24px;font-weight:600;font-size:14px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.03em;
  transition:transform .15s, background .15s;
}
.social-btn:hover{background:var(--rust);color:var(--paper);border-color:var(--rust);transform:rotate(-1deg);}

/* ---- faq ---- */
.faq-list{display:grid;gap:12px;max-width:760px;}
.faq-item{background:var(--paper);border:1.5px solid var(--ink);border-radius:4px;overflow:hidden;}
.faq-q{
  width:100%;text-align:left;background:none;border:none;color:var(--ink);
  font-family:var(--serif);font-weight:600;font-size:16px;
  padding:18px 20px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;
}
.faq-icon{color:var(--rust);font-family:var(--mono);transition:transform .2s;}
.faq-item.open .faq-icon{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .25s ease;}
.faq-item.open .faq-a{max-height:200px;}
.faq-a p{padding:0 20px 18px;color:var(--ink-soft);font-size:14.5px;line-height:1.6;}

/* ---- footer ---- */
footer{padding:44px 0 56px;border-top:2px solid var(--ink);}
.footer-inner{display:flex;flex-direction:column;gap:16px;}
.disclaimer{font-size:12.5px;color:var(--ink-soft);opacity:.85;max-width:640px;line-height:1.6;font-family:var(--mono);}

/* ---- reveal animation ---- */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .5s ease, transform .5s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}

/* ---- mobile nav ---- */
.navlinks.open{
  display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;
  background:var(--paper-deep);border-bottom:2px solid var(--ink);
  padding:20px 22px;gap:18px;
}
