:root {
  --ink: #0b0906;
  --cream: #f3e7cb;
  --paper: #d4be8a;
  --gold: #d59b25;
  --hot-gold: #ffcf42;
  --line: rgba(255, 226, 157, 0.22);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
body { margin: 0; background: var(--ink); color: var(--cream); font-family: Arial, Helvetica, sans-serif; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
::selection { color: #100d08; background: var(--hot-gold); }

.site-shell { overflow: hidden; background: var(--ink); }
.hero {
  --scan-x: 72%;
  --scan-y: 44%;
  position: relative;
  min-height: 100svh;
  isolation: isolate;
  background: #0a0805;
  border-bottom: 1px solid rgba(255,255,255,.12);
}

.hero-photo,
.scan-layer {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(90deg, rgba(7,6,4,.96) 0%, rgba(7,6,4,.73) 34%, rgba(7,6,4,.08) 70%), url('assets/vault-hero.png');
  background-position: center;
  background-size: cover;
  z-index: -4;
}

.hero-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(8,7,5,.42), transparent 23%, transparent 69%, #0a0805 100%);
}

.scan-layer {
  z-index: -2;
  opacity: .98;
  background-image:
    radial-gradient(circle at var(--scan-x) var(--scan-y), rgba(255,225,113,.22), transparent 15%),
    linear-gradient(90deg, rgba(2,2,2,.9) 0%, rgba(2,2,2,.48) 30%, rgba(255,170,0,.06) 100%),
    url('assets/vault-hero.png');
  filter: saturate(1.55) brightness(1.2) contrast(1.08);
  clip-path: circle(125px at var(--scan-x) var(--scan-y));
  transition: clip-path .12s ease-out;
}

.noise {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  opacity: .24;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.24'/%3E%3C/svg%3E");
  mix-blend-mode: soft-light;
}

.scanner-ring {
  position: absolute;
  left: var(--scan-x);
  top: var(--scan-y);
  width: 250px;
  height: 250px;
  z-index: 4;
  border: 1px solid rgba(255,219,113,.55);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
  box-shadow: inset 0 0 26px rgba(255,194,36,.08), 0 0 0 8px rgba(0,0,0,.04);
  transition: left .06s linear, top .06s linear;
}

.scanner-ring::before,
.scanner-ring::after { content: ""; position: absolute; background: var(--hot-gold); opacity: .7; }
.scanner-ring::before { left: 50%; top: -9px; width: 1px; height: 18px; }
.scanner-ring::after { top: 50%; left: -9px; height: 1px; width: 18px; }
.scanner-ring span {
  position: absolute;
  right: 17px;
  bottom: 27px;
  padding: 5px 8px;
  font-size: 8px;
  letter-spacing: .2em;
  color: #0d0b07;
  background: var(--hot-gold);
}

.topbar {
  position: relative;
  z-index: 6;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  height: 92px;
  padding: 0 4.5vw;
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(9px);
}

.brand { display: flex; align-items: center; gap: 12px; width: max-content; }
.brand-coin {
  display: block;
  width: 42px;
  height: 42px;
  overflow: hidden;
  border: 1px solid #d8a431;
  border-radius: 50%;
  box-shadow: 0 0 24px rgba(244,173,33,.18);
}
.brand-coin img { display: block; width: 100%; height: 100%; object-fit: contain; transform: none; }
.brand-word { color: #f5dfad; font: 900 19px/1 "Arial Black", Arial, sans-serif; letter-spacing: .08em; }
.brand-index { font: 700 9px/1.3 "Courier New", monospace; letter-spacing: .16em; color: #a98d54; }

.nav-links { display: flex; align-items: center; gap: 34px; }
.nav-links a, .mini-buy {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .17em;
  transition: color .2s ease;
}
.nav-links a:hover { color: var(--hot-gold); }
.mini-buy {
  justify-self: end;
  display: flex;
  align-items: center;
  gap: 25px;
  padding: 13px 14px 13px 18px;
  color: #161006;
  background: var(--hot-gold);
  border: 1px solid var(--hot-gold);
}
.mini-buy:hover { background: transparent; color: var(--hot-gold); }

.hero-content {
  position: relative;
  z-index: 3;
  width: min(720px, 61vw);
  padding: 10vh 0 132px 7.2vw;
}
.eyebrow, .kicker {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 27px;
  color: #bea568;
  font: 700 10px/1.2 "Courier New", monospace;
  letter-spacing: .2em;
}
.status-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--hot-gold); box-shadow: 0 0 13px var(--hot-gold); }
.hero h1 {
  margin: 0;
  max-width: 820px;
  font-family: Impact, "Arial Black", sans-serif;
  font-size: clamp(64px, 8.1vw, 136px);
  font-weight: 900;
  line-height: .81;
  letter-spacing: -.055em;
  text-transform: uppercase;
  text-wrap: nowrap;
}
.hero h1 span {
  color: transparent;
  -webkit-text-stroke: 1.5px #e0bc67;
  text-shadow: 0 0 46px rgba(222,158,32,.05);
}
.hero-copy {
  max-width: 450px;
  margin: 33px 0 31px;
  color: #b8a987;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(16px, 1.4vw, 21px);
  line-height: 1.55;
}
.hero-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.action {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-width: 225px;
  padding: 17px 18px;
  border: 1px solid #9b7a35;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .12em;
  transition: transform .22s ease, background .22s ease, color .22s ease;
}
.action b { font-size: 17px; }
.action:hover { transform: translateY(-3px); }
.action-primary { color: #100c05; background: var(--hot-gold); border-color: var(--hot-gold); }
.action-primary:hover { background: #f7e0a9; border-color: #f7e0a9; }
.action-ghost { background: rgba(11,9,6,.45); backdrop-filter: blur(8px); }
.action-ghost:hover { color: var(--hot-gold); border-color: var(--hot-gold); }

.contract-wrap { margin-top: 30px; max-width: 460px; }
.contract-label { display: block; margin-bottom: 8px; color: #806d45; font: 700 8px/1 "Courier New", monospace; letter-spacing: .2em; }
.contract {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 12px 0;
  color: #bfae86;
  border: 0;
  border-top: 1px solid rgba(255,223,150,.22);
  border-bottom: 1px solid rgba(255,223,150,.22);
  background: transparent;
  cursor: pointer;
}
.contract span { overflow: hidden; font: 700 11px/1 "Courier New", monospace; letter-spacing: .08em; text-overflow: ellipsis; white-space: nowrap; }
.contract b { flex: none; color: var(--hot-gold); font-size: 9px; letter-spacing: .13em; }

.issue-stamp {
  position: absolute;
  z-index: 3;
  top: 28%;
  right: 3.1vw;
  display: grid;
  width: 92px;
  height: 92px;
  place-content: center;
  color: #f2cf77;
  border: 1px solid rgba(255,210,101,.64);
  border-radius: 50%;
  text-align: center;
  transform: rotate(8deg);
  box-shadow: inset 0 0 0 5px rgba(6,5,4,.32);
}
.issue-stamp::before { content: ""; position: absolute; inset: 5px; border: 1px dashed rgba(255,210,101,.4); border-radius: 50%; }
.issue-stamp span, .issue-stamp small { font: 700 7px/1.2 "Courier New", monospace; letter-spacing: .18em; }
.issue-stamp strong { font: 900 17px/1.15 Arial, sans-serif; letter-spacing: .05em; }
.scan-hint {
  position: absolute;
  z-index: 3;
  right: 4.4vw;
  bottom: 102px;
  display: flex;
  align-items: center;
  gap: 11px;
  color: #a88b51;
  font: 700 8px/1 "Courier New", monospace;
  letter-spacing: .17em;
}
.scan-icon { color: var(--hot-gold); font-size: 21px; animation: pulse 2.2s ease-in-out infinite; }
@keyframes pulse { 50% { opacity: .38; transform: scale(.84); } }

.hero-ticker {
  position: absolute;
  z-index: 5;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: hidden;
  padding: 15px 0 14px;
  color: #120e06;
  background: var(--hot-gold);
  transform: none;
}
.ticker-track { display: flex; width: max-content; align-items: center; gap: 26px; animation: ticker 25s linear infinite; }
.ticker-track span { font-size: 11px; font-weight: 900; letter-spacing: .2em; }
.ticker-track i { font-size: 10px; font-style: normal; }
@keyframes ticker { to { transform: translateX(-50%); } }

.case-file { padding: 120px 6.2vw 104px; color: #171109; background: var(--paper); position: relative; }
.case-file::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .12;
  background-image: repeating-radial-gradient(ellipse at 20% 20%, transparent 0 9px, #4c3615 10px 11px, transparent 12px 20px);
  background-size: 310px 180px;
  mask-image: linear-gradient(90deg, #000, transparent 38%, transparent 72%, #000);
}
.section-index, .manifesto-top { position: relative; z-index: 1; font: 700 9px/1 "Courier New", monospace; letter-spacing: .2em; }
.section-index { padding-bottom: 18px; border-bottom: 1px solid rgba(31,22,10,.42); }
.case-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: .76fr 1.24fr;
  align-items: center;
  gap: 6vw;
  padding: 84px 0 96px;
}
.case-copy h2 {
  margin: 0;
  font: 900 clamp(54px, 6.4vw, 105px)/.84 Impact, "Arial Black", sans-serif;
  letter-spacing: -.05em;
}
.case-copy h2 em { color: transparent; -webkit-text-stroke: 1.4px #4c3514; font-style: normal; }
.case-copy .kicker { color: #66542e; }
.body-copy { max-width: 465px; margin: 31px 0 0; font: 18px/1.6 Georgia, serif; color: #554526; }
.signature { margin-top: 22px; color: #5a4016; font: italic 700 46px/1 Georgia, serif; transform: rotate(-8deg); transform-origin: left; }

.banknote {
  position: relative;
  aspect-ratio: 1.66;
  min-height: 380px;
  overflow: hidden;
  border: 2px solid #4e3712;
  outline: 1px solid rgba(78,55,18,.64);
  outline-offset: -11px;
  background:
    repeating-radial-gradient(ellipse at 50% 50%, transparent 0 12px, rgba(71,48,14,.28) 13px 14px, transparent 15px 23px),
    linear-gradient(135deg, #dcc791, #b79652);
  box-shadow: 17px 21px 0 rgba(56,38,12,.15);
  transform: rotate(1.2deg);
}
.banknote::before, .banknote::after { content: ""; position: absolute; border: 1px solid rgba(74,48,12,.55); border-radius: 50%; }
.banknote::before { width: 60%; aspect-ratio: 1; left: 20%; top: -22%; }
.banknote::after { width: 47%; aspect-ratio: 1; left: 26.5%; top: -9%; border-style: dashed; }
.note-portrait { position: absolute; z-index: 2; left: 50%; top: 50%; width: 44%; aspect-ratio: 1; transform: translate(-50%,-50%); border: 1px solid #5c4119; border-radius: 50%; overflow: hidden; box-shadow: 0 0 0 9px rgba(91,63,20,.08); }
.note-portrait img { display: block; width: 100%; height: 100%; object-fit: contain; transform: scale(1.04); filter: sepia(.12) contrast(1.06); }
.note-corner { position: absolute; z-index: 3; color: #4a3415; font: 900 clamp(24px, 3vw, 50px)/1 "Arial Black", Arial, sans-serif; letter-spacing: -.06em; }
.note-corner-a { top: 27px; left: 34px; }
.note-corner-b { right: 34px; bottom: 25px; transform: rotate(180deg); }
.note-serial { position: absolute; z-index: 3; top: 36px; right: 35px; font: 700 9px/1 "Courier New", monospace; letter-spacing: .18em; }
.note-rule { position: absolute; top: 50%; width: 18%; height: 32%; border-top: 1px solid #604618; border-bottom: 1px solid #604618; transform: translateY(-50%); }
.note-rule-a { left: 9%; } .note-rule-b { right: 9%; }
.note-seal { position: absolute; z-index: 3; right: 5.7%; top: 14%; display: grid; width: 76px; height: 76px; place-content: center; border: 1px solid #523812; border-radius: 50%; text-align: center; transform: rotate(11deg); }
.note-seal span { font: 700 6px/1.4 "Courier New", monospace; letter-spacing: .1em; }
.note-seal strong { font: 900 16px/1 Arial, sans-serif; }
.note-legal { position: absolute; z-index: 3; bottom: 30px; left: 50%; width: 46%; margin: 0; text-align: center; transform: translateX(-50%); font: 700 6px/1.3 "Courier New", monospace; letter-spacing: .15em; }

.evidence-row { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid rgba(45,31,10,.6); }
.evidence-card { min-height: 240px; padding: 29px; border-right: 1px solid rgba(45,31,10,.6); }
.evidence-card:last-child { border-right: 0; }
.evidence-card span { font: 700 8px/1 "Courier New", monospace; letter-spacing: .18em; }
.evidence-card h3 { margin: 79px 0 9px; font: 900 clamp(24px, 2.6vw, 41px)/1 Impact, "Arial Black", sans-serif; letter-spacing: -.03em; }
.evidence-card p { max-width: 270px; margin: 0; color: #5d4b2a; font: 15px/1.45 Georgia, serif; }
.evidence-card.inverted { color: #f1daa6; background: #171108; }
.evidence-card.inverted p { color: #aa9367; }

.manifesto {
  position: relative;
  min-height: 760px;
  padding: 55px 6.2vw 74px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  background: #0b0906;
  text-align: center;
  isolation: isolate;
}
.manifesto-lines { position: absolute; inset: 0; z-index: -1; opacity: .25; background: repeating-radial-gradient(ellipse at 50% 57%, transparent 0 20px, #886225 21px 22px, transparent 23px 37px); }
.manifesto::after { content: "L"; position: absolute; z-index: -1; left: 50%; top: 51%; color: rgba(217,167,58,.05); font: 900 650px/1 Georgia, serif; transform: translate(-50%,-50%); }
.manifesto-top { display: flex; width: 100%; justify-content: space-between; color: #8d7749; }
.manifesto blockquote { margin: 50px 0 15px; font: 900 clamp(60px, 9vw, 150px)/.82 Impact, "Arial Black", sans-serif; letter-spacing: -.045em; }
.manifesto blockquote em { color: var(--hot-gold); font-style: normal; }
.manifesto > p { color: #8f7d59; font: italic 18px/1.5 Georgia, serif; }
.round-buy { display: grid; width: 158px; height: 158px; place-content: center; gap: 7px; color: #120d05; background: var(--hot-gold); border-radius: 50%; font-size: 10px; font-weight: 900; letter-spacing: .1em; transition: transform .25s ease, box-shadow .25s ease; }
.round-buy b { font-size: 23px; }
.round-buy:hover { transform: rotate(-8deg) scale(1.06); box-shadow: 0 0 60px rgba(255,201,54,.25); }

.campaign-banner { margin: 0; padding: 5vw 6vw; background: #080604; border-top: 1px solid rgba(255,231,179,.16); }
.campaign-banner img { display: block; width: 100%; aspect-ratio: 3 / 1; object-fit: cover; border: 1px solid rgba(255,213,106,.28); box-shadow: 0 26px 90px rgba(0,0,0,.45); }

.final-call { display: grid; grid-template-columns: .8fr 1fr .7fr; min-height: 610px; align-items: center; gap: 5vw; padding: 80px 6vw; color: #161006; background: #e0c98f; border-top: 1px solid #6d501a; }
.final-call img { width: min(400px, 29vw); aspect-ratio: 1; object-fit: contain; border-radius: 50%; filter: sepia(.06) contrast(1.03); box-shadow: 20px 24px 0 rgba(55,36,7,.12); }
.final-call span { font: 700 9px/1 "Courier New", monospace; letter-spacing: .2em; }
.final-call h2 { margin: 20px 0 0; font: 900 clamp(65px, 8vw, 132px)/.8 Impact, "Arial Black", sans-serif; letter-spacing: -.055em; }
.final-actions { display: flex; flex-direction: column; align-items: stretch; border-top: 1px solid #624718; }
.final-actions a { display: flex; justify-content: space-between; padding: 18px 4px; border-bottom: 1px solid #624718; font-size: 10px; font-weight: 900; letter-spacing: .15em; transition: padding .2s ease, background .2s ease; }
.final-actions a:hover { padding-left: 14px; background: rgba(82,56,12,.08); }

footer { display: grid; grid-template-columns: 1fr 2fr 1fr; align-items: end; gap: 30px; padding: 45px 6vw; border-top: 1px solid rgba(255,231,179,.16); color: #7e704f; background: #090704; }
.footer-brand { color: var(--cream); font: 900 42px/1 "Arial Black", Arial, sans-serif; letter-spacing: -.04em; }
footer p { max-width: 530px; margin: 0; font: 700 8px/1.55 "Courier New", monospace; letter-spacing: .12em; text-align: center; }
footer > span { justify-self: end; font: 700 8px/1 "Courier New", monospace; letter-spacing: .14em; }

@media (max-width: 900px) {
  .topbar { grid-template-columns: 1fr auto; height: 76px; padding: 0 20px; }
  .nav-links { display: none; }
  .brand-index { display: none; }
  .mini-buy { padding: 11px 13px; }
  .hero-photo, .scan-layer { background-position: 64% center; }
  .hero-photo { opacity: .88; }
  .hero-photo::after { background: linear-gradient(180deg, rgba(7,6,4,.35), rgba(7,6,4,.18) 34%, #090704 82%); }
  .hero-content { width: 100%; padding: 17vh 20px 150px; }
  .hero h1 { font-size: clamp(58px, 17vw, 95px); white-space: normal; }
  .hero-copy { max-width: 370px; font-size: 17px; }
  .action { min-width: 0; flex: 1 1 220px; }
  .contract-wrap { max-width: none; }
  .issue-stamp { top: 19%; right: 17px; transform: scale(.78) rotate(8deg); }
  .scan-hint, .scanner-ring, .scan-layer { display: none; }
  .case-file { padding: 90px 20px 74px; }
  .case-grid { grid-template-columns: 1fr; gap: 55px; padding: 60px 0 75px; }
  .banknote { min-height: 0; }
  .evidence-row { grid-template-columns: 1fr; }
  .evidence-card { min-height: 180px; border-right: 0; border-bottom: 1px solid rgba(45,31,10,.6); }
  .evidence-card:last-child { border-bottom: 0; }
  .evidence-card h3 { margin-top: 47px; }
  .manifesto { min-height: 650px; padding: 42px 20px 60px; }
  .manifesto::after { font-size: 430px; }
  .manifesto blockquote { font-size: clamp(57px, 16vw, 96px); }
  .final-call { grid-template-columns: 1fr; gap: 45px; padding: 75px 20px; text-align: center; }
  .final-call img { width: min(310px, 74vw); justify-self: center; }
  .final-actions { width: min(440px, 100%); justify-self: center; text-align: left; }
  footer { grid-template-columns: 1fr; text-align: center; }
  .footer-brand, footer > span { justify-self: center; }
}

@media (max-width: 520px) {
  .brand-coin { width: 37px; height: 37px; }
  .brand-word { font-size: 15px; }
  .hero { min-height: 820px; }
  .hero-content { padding-top: 155px; }
  .hero h1 { font-size: 59px; line-height: .86; }
  .eyebrow { font-size: 8px; }
  .hero-actions { flex-direction: column; }
  .action { flex-basis: auto; }
  .issue-stamp { display: none; }
  .contract span { max-width: 205px; }
  .case-copy h2 { font-size: 56px; }
  .banknote { aspect-ratio: 1.36; }
  .note-seal { display: none; }
  .note-portrait { width: 51%; }
  .note-corner { font-size: 25px; }
  .note-serial { font-size: 6px; }
  .note-legal { width: 55%; font-size: 5px; }
  .manifesto blockquote { font-size: 53px; }
  .manifesto-top span:last-child { display: none; }
  .manifesto > p { padding: 0 25px; font-size: 16px; }
  .campaign-banner { padding: 34px 20px; }
  .final-call h2 { font-size: 78px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
