:root{
  --bg: #070708;
  --bg-alt: #0a0e16;
  --border: #232a37;
  --green: #22c55e;
  --green-light: #6ee7b7;
  --green-dim: #15803d;
  --text: #efe6d2;
  --text-dim: #c4b9a2;
  --gold-light: #f8e08e;
  --gold: #e3b04b;
  --gold-dim: #a87a24;
  --max-width: 1400px;
}

*{box-sizing:border-box;margin:0;padding:0;}

html{scroll-behavior:smooth;}

body{
  background:var(--bg);
  color:var(--text);
  font-family:'Crimson Pro', Georgia, serif;
  font-size:18px;
  line-height:1.5;
  overflow-x:hidden;
}

h1,h2,h3,h4,.brand,.step-num{
  font-family:'Cinzel', Georgia, serif;
  font-weight:700;
  text-transform:uppercase;
}

.nav-links a{
  font-family:'Oswald', sans-serif;
  text-transform:uppercase;
}

.wrap{
  max-width:var(--max-width);
  margin:0 auto;
  padding:0 32px;
}

a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
ul{list-style:none;}

/* ---------- HEADER ---------- */
header{
  position:sticky;
  top:0;
  z-index:100;
  background:linear-gradient(180deg, rgba(8,8,10,0.97), rgba(12,11,10,0.9));
  box-shadow:0 1px 0 rgba(168,122,36,0.55), 0 2px 0 rgba(0,0,0,0.8), 0 10px 30px rgba(0,0,0,0.6);
}

.nav-inner{
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 24px;
  padding: 0 32px;
  height: 80px;
  max-width: var(--max-width);
  margin: 0 auto;
}

.brand{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:26px;
  font-weight:700;
  letter-spacing:2px;
  color:#fff;
}

.brand img{

  max-width: 200px;
}

.nav-links{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:32px;
  flex-wrap:wrap;
}
.nav-links::before,
.nav-links::after{
  content:"";
  width:12px;
  height:16px;
  background:url('../images/ui/star.png') center/contain no-repeat;
  opacity:0.85;
}

.nav-cta{
  justify-self:end;
}

/* ---------- GOLD BUTTONS (sprite plates, 9-sliced) ---------- */
.btn-gold,
.btn-gold-outline{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:48px;
  font-family:'Oswald', sans-serif;
  font-size:14px;
  font-weight:600;
  letter-spacing:2px;
  text-transform:uppercase;
  white-space:nowrap;
  padding:0 6px;
  background:none;
  cursor:pointer;
  transition:filter .2s, transform .2s;
}
.btn-gold{
  color:#2a1905;
  border-style:solid;
  border-width:13px 25px 13px 34px;
  border-image:url('../images/ui/btn-gold.png') 18 36 18 50 fill / 13px 25px 13px 34px stretch;
  text-shadow:0 1px 0 rgba(255,236,180,0.45);
  filter:drop-shadow(0 0 10px rgba(227,176,75,0.35));
}
.btn-gold:hover{
  filter:brightness(1.1) drop-shadow(0 0 16px rgba(227,176,75,0.6));
  transform:translateY(-1px);
}
.btn-gold-outline{
  color:var(--gold-light);
  border-style:solid;
  border-width:10px 18px;
  border-image:url('../images/ui/ca-box.png') 14 26 fill / 10px 18px stretch;
  filter:drop-shadow(0 0 8px rgba(227,176,75,0.15));
}
.btn-gold-outline:hover{
  filter:brightness(1.15) drop-shadow(0 0 12px rgba(227,176,75,0.35));
}
.btn-gold-icon{width:18px;height:18px;flex-shrink:0;}

.nav-actions{
  display:flex;
  align-items:center;
  gap:12px;
  justify-self:end;
}
.nav-cta-short{display:none;}

.nav-hamburger{
  display:none;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  background:transparent;
  border:1px solid var(--gold);
  border-radius:2px;
  cursor:pointer;
  padding:0;
}
.nav-hamburger span{
  display:block;
  width:18px;
  height:2px;
  background:var(--gold);
  border-radius:1px;
  transition:transform .25s ease, opacity .2s ease;
}
.nav-hamburger.is-active span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.nav-hamburger.is-active span:nth-child(2){opacity:0;}
.nav-hamburger.is-active span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

.nav-links a{
  font-size:13px;
  letter-spacing:2.5px;
  color:var(--gold-light);
  padding-bottom:6px;
  border-bottom:2px solid transparent;
  transition:color .2s, border-color .2s;
}
.nav-links a:hover{
  color:var(--gold-light);
  border-color:var(--gold);
}

/* ---------- HERO ---------- */
.hero-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:0;
}

.hero-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, transparent 72%, var(--bg) 100%),
    linear-gradient(90deg, rgba(7,7,8,0.94) 0%, rgba(7,7,8,0.7) 40%, rgba(7,7,8,0.12) 75%);
  z-index:1;
}

/* hero sits under the 80px sticky header; 550px visible below it */
.hero{
  position:relative;
  min-height:630px;
  display:flex;
  align-items:center;
  margin-top:-80px;
  padding-top:80px;
}

.hero-container{
  position:relative;
  z-index:2;
  width:100%;
  max-width:var(--max-width);
  margin:0 auto;
}

.hero-inner{
  position:relative;
  padding:40px 32px 56px;
  max-width:780px;

  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}

.eyebrow{
  color:var(--gold);
  font-family:'Oswald',sans-serif;
  text-transform:uppercase;
  font-size:13px;
  letter-spacing:4px;
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:4px;
}

.hero p.desc{
  color:var(--gold-light);
  text-shadow:0 2px 6px rgba(0,0,0,0.85), 0 0 2px rgba(0,0,0,0.9);
  font-size:18px;
  max-width:440px;
  margin: 0 auto 2rem;
}

.hero-logo{
  width:100%;
  max-width:620px;
  margin-bottom:8px;
}

.hero-cta-row{
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
}

.hero-ca{
  max-width:100%;
}
.hero-ca-label{flex-shrink:0;}
.hero-ca-address{
  text-transform:none;
  font-family:'Crimson Pro', Georgia, serif;
  font-size:14px;
  letter-spacing:0.5px;
  white-space:normal;
  word-break:break-all;
  text-align:left;
}

/* ---------- HOW TO BUY ---------- */
.section-head{margin-bottom:40px;}
.steps{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:24px;
}
.step-card{
  position:relative;
  border-style:solid;
  border-width:26px;
  border-image:url('../images/ui/card.png') 34 fill / 26px stretch;
  filter:drop-shadow(0 14px 24px rgba(0,0,0,0.6));
  transition:transform .25s, filter .25s;
}
.step-card:hover{
  transform:translateY(-4px);
  filter:drop-shadow(0 14px 24px rgba(0,0,0,0.6)) drop-shadow(0 0 14px rgba(227,176,75,0.25));
}
.step-card .body{
  position:relative;
  padding:0 4px 6px;
}
.step-icon{
  position:relative;
  width:84px;
  height:76px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 0 14px -6px;
  background:url('../images/ui/ring.png') center/contain no-repeat;
}
.step-icon img{width:38px;height:38px;object-fit:contain;}
.step-card .step-num{
  position:absolute;
  top:-6px;
  right:0;
  font-size:64px;
  line-height:1;
  color:rgba(214,190,140,0.16);
  text-shadow:0 1px 0 rgba(0,0,0,0.5);
}
.step-card h3{
  font-size:17px;
  letter-spacing:1px;
  color:#f4ead3;
  margin-bottom:10px;
}
.step-card b{color:var(--gold);font-weight:600;}
.step-card p{
  font-size:17px;
  color:var(--text-dim);
  line-height:1.5;
}

.buy-cta-row{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  flex-wrap:wrap;
  margin-top:48px;
}

/* ---------- FEATURE SECTION ---------- */
.feature{
  position:relative;
  padding:75px 0;
  background:
    radial-gradient(ellipse at 20% 0%, rgba(168,122,36,0.08), transparent 55%),
    radial-gradient(ellipse at 80% 100%, rgba(168,122,36,0.06), transparent 55%),
    #0b0b0d;
}
.feature.lore{
  background:
    radial-gradient(ellipse at 75% 50%, rgba(227,140,40,0.10), transparent 50%),
    radial-gradient(ellipse at 10% 20%, rgba(168,122,36,0.06), transparent 50%),
    #070708;
}
.feature-desc b{color:var(--gold);font-weight:600;}

.feature-layout{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
  gap:56px;
  align-items:start;
}

.eyebrow.has-line::after{
  content:"";
  flex:none;
  width:200px;
  height:12px;
  background:url('../images/ui/flourish.png') left center/contain no-repeat;
}

.feature-info h2{
  font-size:44px;
  line-height:1.1;
  letter-spacing:1px;
  margin-bottom:6px;
  color:#f4ead3;
  text-shadow:0 2px 0 rgba(0,0,0,0.6), 0 0 24px rgba(227,176,75,0.15);
}
.feature-info .subline{
  font-family:'Oswald',sans-serif;
  text-transform:uppercase;
  font-size:13px;
  letter-spacing:3px;
  color:var(--text-dim);
  margin-bottom:20px;
}
.feature-desc{
  color:var(--text-dim);
  font-size:18px;
  line-height:1.6;
  margin-bottom:32px;
}
.feature-desc p{
  margin-bottom:1rem;
}

/* -- visual -- */
.feature-visual{
  position:relative;
  align-self:center;
}
.feature-video{
  display:block;
  width:100%;
  aspect-ratio:607 / 790;
  object-fit:cover;
}

/* ---------- CHART SECTION ---------- */
.chart{
  position:relative;
  padding:75px 0;
  background-image:url('../images/swordcat-parralax.jpg');
  background-size:cover;
  background-position:center;
  background-attachment:fixed;
  border-top:1px solid var(--border);
}
.chart::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(7,7,8,0.95) 0%, rgba(7,7,8,0.55) 30%, rgba(7,7,8,0.45) 65%, rgba(7,7,8,0.95) 100%);
}
.chart .wrap{
  position:relative;
  z-index:1;
}
.chart-frame iframe{
  display:block;
  width:100%;
  height:600px;
  border:0;
  background:#0b0b0d;
}

/* ---------- MEDIEVAL UI: dividers + ornate frames (sprites in images/ui) ---------- */
/* section divider: SC sword emblem with ornate lines, extended edge-to-edge */
.divider{
  position:relative;
  z-index:5;
  height:100px;
  margin:-50px 0;
  pointer-events:none;
  background:url('../images/ui/divider.png') center/auto 100% no-repeat;
}
.divider::before,
.divider::after{
  content:"";
  position:absolute;
  top:48px;
  height:1px;
}
.divider::before{
  left:0;
  right:calc(50% + 270px);
  background:linear-gradient(90deg, transparent, rgba(168,122,36,0.7));
}
.divider::after{
  left:calc(50% + 270px);
  right:0;
  background:linear-gradient(90deg, rgba(168,122,36,0.7), transparent);
}

/* ornate frame: 9-sliced gold/stone frame + separate centre ornaments.
   --s scales the sprite (1 = native size). */
.ornate-frame{
  --s:0.6;
  position:relative;
  padding:calc(52px * var(--s) - 2px) calc(60px * var(--s) - 2px) calc(50px * var(--s) - 2px);
}
.ornate-frame::before{
  content:"";
  position:absolute;
  inset:0;
  border:calc(80px * var(--s)) solid transparent;
  border-image:url('../images/ui/frame.png') 80 round;
  filter:drop-shadow(0 10px 20px rgba(0,0,0,0.7));
  pointer-events:none;
  z-index:2;
}
.ornate-frame > span{
  position:absolute;
  z-index:3;
  pointer-events:none;
  background-size:100% 100%;
  background-repeat:no-repeat;
}
.of-top{
  top:0; left:50%;
  width:calc(81px * var(--s)); height:calc(80px * var(--s));
  transform:translateX(-50%);
  background-image:url('../images/ui/frame-top.png');
}
.of-left,
.of-right{
  top:50%;
  width:calc(80px * var(--s)); height:calc(80px * var(--s));
  transform:translateY(-50%);
}
.of-left{left:0;background-image:url('../images/ui/frame-left.png');}
.of-right{right:0;background-image:url('../images/ui/frame-right.png');}
.of-badge{
  bottom:0; left:50%;
  width:calc(109px * var(--s)); height:calc(80px * var(--s));
  transform:translateX(-50%);
  background-image:url('../images/ui/frame-badge.png');
}

/* lore: framed video flanked by banners */
.lore-stage{
  position:relative;
  max-width:440px;
  margin:0 auto;
}
.lore-stage .ornate-frame{z-index:1;}
.lore-banner{
  position:absolute;
  top:7%;
  width:110px;
  z-index:0;
  filter:drop-shadow(0 10px 18px rgba(0,0,0,0.7));
}
.lore-banner-left{left:-82px;}
.lore-banner-right{right:-82px;transform:scaleX(-1);}

/* chart: framed embed with braziers at the base */
.chart-stage{
  position:relative;
}
.chart-frame{--s:0.85;}
.chart-brazier{
  position:absolute;
  bottom:-10px;
  width:78px;
  z-index:3;
  filter:drop-shadow(0 0 18px rgba(255,140,40,0.45));
}
.chart-brazier-left{left:-26px;}
.chart-brazier-right{right:-26px;}

.chart-links{
  margin-top:28px;
  text-align:center;
  font-family:'Oswald', sans-serif;
  font-size:13px;
  letter-spacing:2px;
  text-transform:uppercase;
}
.chart-links a{color:var(--gold);transition:color .2s;}
.chart-links a:hover{color:var(--gold-light);}

/* ---------- FOOTER ---------- */
footer{
  background:#08080a;
  box-shadow:inset 0 1px 0 rgba(168,122,36,0.55);
  padding:36px 0 0;
}
.footer-main{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  flex-wrap:wrap;
  padding-bottom:32px;
  border-bottom:1px solid rgba(168,122,36,0.25);
}

.footer-actions{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  flex-wrap:wrap;
}
.footer-ca{
  font-size:12px;
  letter-spacing:1.5px;
  min-height:44px;
}
.footer-ca-address{
  text-transform:none;
  font-family:'Crimson Pro', Georgia, serif;
  letter-spacing:0.5px;
}
.footer-ca-icon{
  width:15px;
  height:15px;
  flex-shrink:0;
}

.footer-social{
  display:flex;
  gap:12px;
}
.footer-social a{
  width:40px;height:40px;
  border:1px solid var(--gold-dim);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  color:var(--text-dim);
  transition:all .2s;
}
.footer-social a:hover{
  color:var(--gold);
  border-color:var(--gold-dim);
}

.footer-bottom{
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  padding:24px 0;
  font-size:12px;
  color:var(--text-dim);
  letter-spacing:1px;
}
.footer-bottom a{color:var(--text-dim);}
.footer-bottom a:hover{color:var(--gold);}

/* ---------- CONTRACT ADDRESS COPY TOAST ---------- */
.ca-toast{
  position:fixed;
  left:50%;
  bottom:32px;
  z-index:9999;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:14px 20px;
  border-radius:4px;
  font-family:'Oswald',sans-serif;
  text-transform:uppercase;
  font-size:13px;
  letter-spacing:1.5px;
  color:#eafff2;
  border:1px solid transparent;
  background:
    linear-gradient(var(--bg-alt), var(--bg-alt)) padding-box,
    linear-gradient(135deg, var(--green-light), var(--green) 60%, var(--green-dim)) border-box;
  box-shadow:0 20px 40px -16px rgba(0,0,0,0.7);
  opacity:0;
  pointer-events:none;
  transform:translate(-50%, 12px);
  transition:opacity .35s ease, transform .35s ease;
}
.ca-toast.is-visible{
  opacity:1;
  transform:translate(-50%, 0);
}
.ca-toast-icon{
  width:18px;
  height:18px;
  flex-shrink:0;
  color:var(--green-light);
}
.ca-toast-icon svg{
  width:100%;
  height:100%;
  display:block;
}

/* ---------- RESPONSIVE ---------- */
@media (max-width: 1100px){
  .chart-brazier{display:none;}
  .steps{grid-template-columns:repeat(2, 1fr);}
    .feature-layout{grid-template-columns:1fr;}
  .feature-visual{margin-top:16px;}
}

@media (max-width: 768px){
  .lore-banner{display:none;}
  .nav-links::before,.nav-links::after{display:none;}
  .divider{height:70px;margin:-35px 0;}
  .divider::before,.divider::after{top:35px;}
  .divider::before{right:calc(50% + 190px);}
  .divider::after{left:calc(50% + 190px);}
  .chart-frame{--s:0.55;}
  .chart-frame iframe{height:440px;}
  .eyebrow.has-line::after{width:120px;}
  .chart{padding:56px 0 64px;background-attachment:scroll;}
  .nav-inner{padding:0 20px;}
  .nav-cta-full{display:none;}
  .nav-cta-short{display:inline;}
  .nav-inner{gap:12px;}
  .brand img{max-width:150px;}
  .nav-cta{padding:0 2px;min-height:42px;border-width:11px 20px 11px 27px;}
  .nav-hamburger{height:42px;}
  .nav-hamburger{display:flex;width:42px;}

  .nav-links{
    position:absolute;
    top:80px;
    left:0;
    right:0;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    justify-content:flex-start;
    background:var(--bg-alt);
    border-bottom:1px solid var(--border);
    max-height:0;
    overflow:hidden;
    transition:max-height .3s ease;
  }
  .nav-links.is-open{max-height:320px;}
  .nav-links a{
    width:100%;
    padding:16px 20px;
    border-bottom:1px solid var(--border);
  }
  .nav-links a:last-child{border-bottom:none;}
  .hero-inner{padding:40px 20px 64px;}
    .hero{min-height:0;}
  .wrap{padding:0 20px;}
    .feature{padding:56px 0 64px;}
    .feature-info h2{font-size:32px;line-height:1.1;}
  .footer-main{justify-content:center;text-align:center;padding-bottom:24px;}
  .footer-ca{font-size:11px;padding:10px 16px;}
  .footer-bottom{flex-direction:column;align-items:flex-start;}
  }

@media (max-width: 480px){
      .steps{grid-template-columns:1fr;}
  .ca-toast{width:calc(100% - 40px);justify-content:center;text-align:center;bottom:20px;}
}
