:root { --green:#198f49; --ink:#121713; --paper:#e8ece5; --paper-deep:#dce3d9; --line:#b9c1b6; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Manrope,Arial,sans-serif; overflow-x:hidden; }
a { color:inherit; text-decoration:none; cursor:pointer; }
.noise { position:fixed; inset:0; opacity:.035; pointer-events:none; z-index:20; 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='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E"); }
.wrap { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }
.nav { height:84px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.brand { font-size:13px; font-weight:800; letter-spacing:.14em; display:flex; align-items:center; gap:12px; }
.brand span { width:31px; height:31px; display:grid; place-items:center; border:1px solid var(--ink); border-radius:50%; font-family:"Playfair Display",serif; font-size:18px; }
.nav nav { display:flex; align-items:center; gap:34px; font:500 12px "DM Mono",monospace; }
.nav-buy { background:var(--ink); color:white; padding:12px 17px; transition:.25s ease; }
.nav-buy:hover { background:var(--green); transform:translateY(-2px); }
.hero { min-height:650px; display:grid; grid-template-columns:1.04fr .96fr; align-items:center; gap:35px; padding-block:45px; }
.eyebrow { font:500 11px "DM Mono",monospace; letter-spacing:.1em; display:flex; align-items:center; gap:9px; }
.live-dot { width:8px; height:8px; border-radius:50%; background:var(--green); box-shadow:0 0 0 5px #17a84b1b; animation:pulse 2s infinite; }
@keyframes pulse { 50% { box-shadow:0 0 0 9px transparent; } }
h1,h2 { font-family:"Playfair Display",Georgia,serif; letter-spacing:-.055em; line-height:.88; margin:25px 0; }
h1 { font-size:clamp(58px,7.6vw,108px); }
h1 em,h2 em { color:var(--green); font-weight:700; }
.intro { width:min(490px,100%); font-size:18px; line-height:1.65; color:#43433f; }
.actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:35px; }
.button { height:53px; padding:0 21px; display:inline-flex; align-items:center; justify-content:space-between; gap:30px; border:1px solid var(--ink); font:600 12px "DM Mono",monospace; transition:.25s ease; }
.button.primary { background:var(--green); color:white; border-color:var(--green); }
.button:hover { transform:translateY(-3px); box-shadow:5px 5px 0 var(--ink); }
.hero-art { height:590px; position:relative; display:grid; place-items:center; overflow:visible; background:radial-gradient(circle at 50% 48%,rgba(25,143,73,.13),transparent 60%); }
.hero-art img { width:100%; height:100%; object-fit:contain; position:relative; z-index:1; transform:scale(1.02); filter:drop-shadow(0 24px 28px rgba(17,34,20,.12)); transition:transform .7s cubic-bezier(.2,.8,.2,1); }
.hero-art:hover img { transform:scale(1.055) rotate(-1deg); }
.stamp { position:absolute; top:24px; right:24px; z-index:2; width:84px; height:84px; border:1px solid var(--ink); border-radius:50%; display:grid; place-items:center; text-align:center; font:500 10px/1.3 "DM Mono",monospace; transform:rotate(10deg); }
.ticker-tag { position:absolute; z-index:2; left:19px; bottom:19px; background:var(--ink); color:white; font:500 12px "DM Mono",monospace; padding:9px 13px; }
.marquee { overflow:hidden; background:var(--green); color:white; border-block:1px solid var(--ink); transform:rotate(-1.2deg) scale(1.02); }
.marquee-track { width:max-content; padding:14px 0; font:500 13px "DM Mono",monospace; letter-spacing:.06em; animation:marquee 24s linear infinite; }
.marquee-track span { color:var(--ink); font-weight:800; }
@keyframes marquee { to { transform:translateX(-50%); } }
.lore { padding-block:130px; }
.section-number { border-bottom:1px solid var(--line); padding-bottom:14px; font:500 11px "DM Mono",monospace; color:#666; }
.lore-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; padding-top:60px; }
.lore h2,.contract h2 { font-size:clamp(55px,7vw,96px); margin:0; }
.lore-copy { font-size:19px; line-height:1.7; color:#3e3e3a; }
.lore-copy p:first-child::first-letter { float:left; font-family:"Playfair Display",serif; font-size:66px; line-height:.8; padding:10px 10px 0 0; color:var(--green); }
.moral { color:var(--ink); font-weight:800; border-left:3px solid var(--green); padding-left:20px; margin-top:35px; }
.contract { background:var(--ink); color:white; width:min(1280px,calc(100% - 32px)); padding:82px max(24px,calc((100% - 1132px)/2)); margin-bottom:24px; }
.dark { color:#adada8; }
.ca-box { margin-top:52px; display:flex; border:1px solid #3c3c3c; background:#141414; }
.ca-box code { flex:1; min-width:0; padding:23px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font:400 13px "DM Mono",monospace; color:#d5d5d0; }
.ca-box button { border:0; border-left:1px solid #3c3c3c; padding:0 24px; background:var(--green); color:white; font:600 12px "DM Mono",monospace; cursor:pointer; }
.fine-print { color:#777; font:400 10px "DM Mono",monospace; margin-top:13px; }
.footer { min-height:120px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:30px; font:500 10px "DM Mono",monospace; }
.footer p { color:#777; }
.footer-links { justify-self:end; display:flex; gap:24px; }
.footer-links a:hover { color:var(--green); }
.toast { position:fixed; left:50%; bottom:25px; transform:translate(-50%,30px); background:white; border:1px solid var(--ink); box-shadow:5px 5px 0 var(--green); padding:13px 18px; font:600 11px "DM Mono",monospace; opacity:0; pointer-events:none; transition:.25s ease; z-index:50; }
.toast.show { opacity:1; transform:translate(-50%,0); }
.runway-page { min-height:100vh; background:linear-gradient(135deg,var(--paper) 0%,var(--paper-deep) 100%); }
.runway { min-height:calc(100vh - 84px); display:grid; grid-template-columns:.85fr 1.15fr; align-items:center; gap:50px; padding-block:48px; }
.runway-copy h1 { font-size:clamp(64px,8vw,118px); }
.runway-copy .intro { margin-bottom:34px; }
.runway-stage { height:min(720px,78vh); position:relative; display:grid; place-items:center; overflow:hidden; }
.runway-stage::after { content:""; position:absolute; left:12%; right:12%; bottom:5%; height:34px; border-radius:50%; background:rgba(10,20,12,.18); filter:blur(14px); animation:shadow-step 2.2s ease-in-out infinite; }
.runway-stage img { width:100%; height:100%; object-fit:contain; position:relative; z-index:1; filter:drop-shadow(0 20px 28px rgba(17,34,20,.13)); animation:catwalk 2.2s ease-in-out infinite; transform-origin:50% 92%; }
.runway-note { position:absolute; right:3%; top:14%; z-index:2; font:500 10px/1.5 "DM Mono",monospace; writing-mode:vertical-rl; letter-spacing:.12em; }
@keyframes catwalk { 0%,100% { transform:translateY(0) rotate(-.5deg); } 50% { transform:translateY(-14px) rotate(.7deg); } }
@keyframes shadow-step { 0%,100% { transform:scaleX(1); opacity:.7; } 50% { transform:scaleX(.82); opacity:.4; } }
@media (max-width:800px) {
  .wrap { width:min(100% - 28px,1180px); }
  .nav { height:70px; }
  .nav nav > a:first-child { display:none; }
  .hero { grid-template-columns:1fr; padding-block:55px 35px; }
  .hero-art { height:480px; grid-row:1; }
  .hero-copy { grid-row:2; }
  .lore { padding-block:90px; }
  .lore-grid { grid-template-columns:1fr; gap:40px; padding-top:40px; }
  .contract { padding-block:65px; }
  .footer { grid-template-columns:1fr; padding-block:38px; gap:20px; }
  .footer-links { justify-self:start; }
  .runway { grid-template-columns:1fr; padding-top:60px; }
  .runway-stage { height:600px; grid-row:1; }
}
@media (max-width:480px) {
  .nav-buy { padding:10px; }
  .hero-art { height:390px; }
  .actions { flex-direction:column; }
  .button { width:100%; }
  .ca-box { flex-direction:column; }
  .ca-box button { border-left:0; border-top:1px solid #3c3c3c; padding:18px; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; } }
