:root{
  --void:#070604;
  --void-soft:#0e0b07;
  --panel:#120e09;
  --paper:#f3ecdc;
  --paper-dim: rgba(243,236,220,0.62);
  --paper-faint: rgba(243,236,220,0.38);
  --gold:#d9a94a;
  --gold-bright:#f3cf7e;
  --gold-light:#ffe9b8;
  --gold-dim:#7a5e2e;
  --line: rgba(217,169,74,0.16);
  --line-bright: rgba(217,169,74,0.4);
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}

body{
  background:var(--void);
  color:var(--paper);
  font-family:'Inter',sans-serif;
  line-height:1.65;
  overflow-x:hidden;
}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.01ms !important; transition-duration:0.01ms !important;}
}

h1,h2,h3{
  font-family:'Fraunces',serif;
  font-weight:500;
  letter-spacing:-0.01em;
}

.label{
  font-family:'Cormorant Garamond','Fraunces',serif;
  font-style:italic;
}

a{color:var(--gold-bright);text-decoration:none;}
.wrap{max-width:980px;margin:0 auto;padding:0 28px;}

/* ===== NAV ===== */
nav{
  position:sticky;top:0;z-index:50;
  background:rgba(7,6,4,0.85);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
nav .wrap{display:flex;align-items:center;justify-content:space-between;padding:16px 28px;}
.brand{display:flex;align-items:center;gap:12px;font-family:'Fraunces',serif;font-size:1.12rem;letter-spacing:0.06em;color:var(--paper);}
.brand img{
  width:34px;height:34px;
  filter:drop-shadow(0 0 8px rgba(243,207,126,0.45));
}
nav ul{display:flex;gap:30px;list-style:none;font-size:0.84rem;}
nav ul a{
  color:var(--paper-dim);
  letter-spacing:0.03em;
  transition:color .2s;
  position:relative;
}
nav ul a::after{
  content:'';
  position:absolute;left:0;right:0;bottom:-6px;height:1px;
  background:var(--gold-bright);
  transform:scaleX(0);
  transition:transform .25s ease;
}
nav ul a:hover{color:var(--gold-bright);}
nav ul a:hover::after{transform:scaleX(1);}
.nav-toggle{display:none;background:none;border:none;color:var(--paper);font-size:1.4rem;cursor:pointer;}

@media (max-width:680px){
  nav ul{display:none;}
  .nav-toggle{display:block;}
  nav ul.open{
    display:flex;flex-direction:column;gap:0;
    position:absolute;top:64px;left:0;right:0;
    background:var(--void-soft);border-bottom:1px solid var(--line);padding:8px 0;
  }
  nav ul.open a{display:block;padding:14px 28px;}
  nav ul.open a::after{display:none;}
}

/* ===== HERO ===== */
header.hero{
  position:relative;min-height:96vh;display:flex;flex-direction:column;justify-content:center;
  padding:150px 0 80px;
  background:
    radial-gradient(circle at 50% 0%, rgba(243,207,126,0.10), transparent 50%),
    radial-gradient(circle at 85% 80%, rgba(217,169,74,0.05), transparent 40%),
    var(--void);
  overflow:hidden;
}

.hero-mark{
  position:absolute;
  top:-60px;left:50%;
  transform:translateX(-50%);
  width:340px;height:340px;
  opacity:0.55;
  z-index:0;
  pointer-events:none;
  animation:markGlow 5s ease-in-out infinite;
}
@keyframes markGlow{
  0%,100%{opacity:0.4;}
  50%{opacity:0.65;}
}

.eyebrow{
  font-size:0.76rem;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--gold-dim);
  margin-bottom:22px;display:flex;align-items:center;gap:10px;
  position:relative;z-index:2;
}
.eyebrow::before{content:'';width:28px;height:1px;background:var(--gold-dim);display:inline-block;}

.hero h1{
  font-size:clamp(2.5rem, 6.6vw, 4.5rem);
  color:var(--paper);max-width:15ch;line-height:1.06;
  position:relative;z-index:2;
}
.hero h1 em{
  font-style:italic;
  background:linear-gradient(120deg, var(--gold-bright), var(--gold-light));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.hero p.lead{
  margin-top:28px;max-width:48ch;font-size:1.12rem;color:var(--paper-dim);
  position:relative;z-index:2;
}

.hero .ctas{margin-top:42px;display:flex;gap:16px;flex-wrap:wrap;position:relative;z-index:2;}
.btn{
  display:inline-flex;align-items:center;gap:8px;padding:14px 28px;border-radius:2px;
  font-size:0.9rem;font-weight:500;border:1px solid transparent;cursor:pointer;
  transition:transform .25s, background .25s, border-color .25s, box-shadow .25s;
}
.btn:focus-visible{outline:2px solid var(--gold-bright);outline-offset:3px;}
.btn-primary{
  background:linear-gradient(120deg, var(--gold-bright), var(--gold));
  color:var(--void);
}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 28px rgba(217,169,74,0.35);}
.btn-ghost{border-color:var(--line-bright);color:var(--paper);}
.btn-ghost:hover{border-color:var(--gold);transform:translateY(-2px);background:rgba(217,169,74,0.06);}

.motto-strip{
  margin-top:64px;padding-top:28px;border-top:1px solid var(--line);
  display:flex;align-items:baseline;gap:14px;color:var(--gold-dim);
  font-family:'Fraunces',serif;font-style:italic;font-size:1.02rem;
  position:relative;z-index:2;
}

.hero-sub-note{
  margin-top:14px;font-size:0.85rem;color:var(--paper-faint);
  position:relative;z-index:2;
}
.hero-sub-note a{color:var(--gold-bright);text-decoration:underline;}

/* ===== SECTIONS ===== */
section{padding:104px 0;border-top:1px solid var(--line);}
.section-head{max-width:56ch;margin-bottom:58px;}
.section-head .eyebrow{margin-bottom:14px;}
.section-head h2{font-size:clamp(1.85rem,4vw,2.45rem);color:var(--paper);}
.section-head p{margin-top:14px;color:var(--paper-dim);font-size:1.02rem;}

/* pillars */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.pillar{background:var(--void);padding:38px 30px;transition:background .3s;}
.pillar:hover{background:var(--void-soft);}
.pillar .num{font-family:'Fraunces',serif;font-style:italic;font-size:0.95rem;color:var(--gold-dim);letter-spacing:0.04em;}
.pillar h3{margin-top:18px;font-size:1.2rem;color:var(--paper);}
.pillar p{margin-top:10px;font-size:0.94rem;color:var(--paper-dim);}
@media (max-width:760px){.pillars{grid-template-columns:1fr;}}

/* capabilities */
.capabilities{display:flex;flex-direction:column;}
.cap-row{
  display:grid;grid-template-columns:150px 1fr;gap:32px;padding:30px 0;
  border-top:1px solid var(--line);align-items:baseline;
  transition:padding-left .25s;
}
.cap-row:first-child{border-top:none;}
.cap-row:hover{padding-left:8px;}
.cap-tag{
  font-size:0.78rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--gold-dim);
}
.cap-row h4{font-family:'Fraunces',serif;font-size:1.16rem;color:var(--paper);font-weight:500;}
.cap-row p{margin-top:6px;color:var(--paper-dim);font-size:0.95rem;max-width:50ch;}
@media (max-width:620px){.cap-row{grid-template-columns:1fr;gap:8px;}.cap-row:hover{padding-left:0;}}

/* showcase */
.showcase-scroll{
  display:flex;gap:26px;overflow-x:auto;padding:6px 6px 26px;
  scroll-snap-type:x mandatory;
  scrollbar-width:thin;scrollbar-color:var(--gold-dim) transparent;
}
.showcase-scroll::-webkit-scrollbar{height:6px;}
.showcase-scroll::-webkit-scrollbar-thumb{background:var(--gold-dim);border-radius:3px;}
.showcase-scroll::-webkit-scrollbar-track{background:transparent;}
.showcase-item{flex:0 0 220px;scroll-snap-align:start;}
.showcase-item img{
  width:100%;display:block;border-radius:20px;
  border:1px solid var(--line-bright);
  box-shadow:0 18px 44px rgba(0,0,0,0.55), 0 0 0 1px rgba(217,169,74,0.06);
  transition:transform .3s ease, box-shadow .3s ease;
}
.showcase-item:hover img{
  transform:translateY(-4px);
  box-shadow:0 24px 54px rgba(0,0,0,0.6), 0 0 22px rgba(217,169,74,0.18);
}
.showcase-item p{margin-top:16px;font-size:0.88rem;color:var(--paper-dim);max-width:220px;}
.showcase-item p strong{color:var(--paper);font-weight:500;}
@media (max-width:620px){.showcase-item{flex-basis:170px;}}

/* token panel */
.token-panel{
  border:1px solid var(--line);background:var(--panel);padding:46px;
  position:relative;overflow:hidden;
}
.token-panel::before{
  content:'';position:absolute;top:-45%;right:-18%;width:58%;height:165%;
  background:radial-gradient(circle, rgba(217,169,74,0.12), transparent 65%);
}
.token-top{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:24px;position:relative;z-index:1;}
.token-sym{
  font-family:'Fraunces',serif;font-size:2.3rem;
  background:linear-gradient(120deg, var(--gold-bright), var(--gold-light));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.token-tag{font-size:0.85rem;color:var(--paper-faint);margin-top:4px;}

.split-bar{margin-top:36px;height:6px;width:100%;background:rgba(243,236,220,0.08);border-radius:3px;overflow:hidden;position:relative;z-index:1;}
.split-fill{height:100%;background:linear-gradient(90deg, var(--gold), var(--gold-bright));}
.split-legend{margin-top:14px;display:flex;gap:28px;flex-wrap:wrap;font-size:0.84rem;color:var(--paper-dim);position:relative;z-index:1;}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:7px;}
.dot-gold{background:var(--gold-bright);box-shadow:0 0 6px rgba(243,207,126,0.6);}
.dot-line{background:rgba(243,236,220,0.2);}

.contract-box{
  margin-top:30px;padding:16px 18px;background:rgba(0,0,0,0.35);border:1px solid var(--line);
  font-size:0.82rem;color:var(--paper-dim);display:flex;align-items:center;justify-content:space-between;
  gap:12px;word-break:break-all;position:relative;z-index:1;
}
.contract-box button{
  flex-shrink:0;background:none;border:1px solid var(--gold-dim);color:var(--gold-bright);
  padding:7px 14px;font-size:0.78rem;cursor:pointer;border-radius:2px;transition:.2s;
}
.contract-box button:hover{background:var(--gold-bright);color:var(--void);}
.token-note{margin-top:16px;font-size:0.82rem;color:var(--paper-faint);position:relative;z-index:1;}

/* roadmap */
.road{position:relative;padding-left:32px;border-left:1px solid var(--line);}
.road-item{position:relative;padding-bottom:38px;}
.road-item:last-child{padding-bottom:0;}
.road-item::before{
  content:'';position:absolute;left:-37px;top:4px;width:9px;height:9px;border-radius:50%;
  background:var(--void);border:1px solid var(--gold-dim);
}
.road-item.active::before{
  background:var(--gold-bright);border-color:var(--gold-bright);
  box-shadow:0 0 10px 2px rgba(243,207,126,0.5);
}
.road-item .when{
  font-size:0.78rem;color:var(--gold-dim);letter-spacing:0.06em;text-transform:uppercase;
}
.road-item h4{margin-top:6px;font-family:'Fraunces',serif;font-size:1.1rem;color:var(--paper);font-weight:500;}
.road-item p{margin-top:6px;color:var(--paper-dim);font-size:0.92rem;}

.disclaimer{
  font-size:0.85rem;color:var(--paper-faint);max-width:60ch;
  border-left:2px solid var(--line);padding-left:18px;
}

/* footer */
footer{padding:88px 0 40px;border-top:1px solid var(--line);}
.contact-row{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:32px;}
footer h2{font-size:clamp(1.85rem,5vw,2.65rem);color:var(--paper);max-width:14ch;}
.social-list{display:flex;gap:18px;font-size:0.9rem;}
.social-list a{color:var(--paper-dim);}
.social-list a:hover{color:var(--gold-bright);}
.foot-bottom{
  margin-top:60px;padding-top:24px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;
  font-size:0.78rem;color:var(--paper-faint);
}

/* policy */
.policy{max-width:64ch;}
.policy p{color:var(--paper-dim);font-size:0.98rem;margin-bottom:22px;}
.policy h4{font-family:'Fraunces',serif;font-size:1.08rem;color:var(--paper);font-weight:500;margin-top:34px;margin-bottom:10px;}
.policy h4:first-of-type{margin-top:0;}

/* scroll reveal */
.fade-up{opacity:0;transform:translateY(18px);transition:opacity .7s ease, transform .7s ease;}
.fade-up.is-visible{opacity:1;transform:translateY(0);}
