/* ===== Statues of the Future (sotf.html) — a 1-bit page inside the moAI site ===== */
body.page-sotf{
  --ink:#000; --paper:#fff; --muted:#4a4a4a; --px:4px;
  background:#fff; color:#000;
}
.page-sotf header{background:rgba(255,255,255,.92)}
.page-sotf :focus-visible{outline:4px solid #000;outline-offset:3px;border-radius:0;box-shadow:0 0 0 7px var(--sun)}
.page-sotf h1,.page-sotf h2,.page-sotf h3,.sotf-word{font-family:'Pixelify Sans','Fredoka',sans-serif;font-weight:600;letter-spacing:0}
.pixelated{image-rendering:pixelated;image-rendering:crisp-edges}


/* the button before launch: white, with a blinking pixel cursor */
.btn.is-soon{background:#fff;cursor:default}
.btn.is-soon:hover,.btn.is-soon:active{transform:none;box-shadow:6px 6px 0 var(--ink)}
.btn.sm.is-soon:hover,.btn.sm.is-soon:active{box-shadow:4px 4px 0 var(--ink)}
.btn.is-soon::before{content:"";width:.55em;height:.55em;background:currentColor;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.page-sotf .btn{border-radius:0}
.page-sotf .btn.ghost{background:#fff}

/* hero */
.sotf-hero{padding:56px 0 64px}
.sotf-hero .wrap{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:48px 64px;align-items:center}
.sotf-word{display:flex;align-items:center;gap:12px;font-size:1.25rem;margin-bottom:22px}
.sotf-word img{width:40px;height:40px;border:3px solid #000}
.sotf-hero h1{font-size:clamp(2.2rem,4.6vw,3.9rem);line-height:1.04;margin-bottom:22px;max-width:15ch}
.sotf-hero h1 span{display:block;color:var(--muted)}
.sotf-hero h1 span + span{color:#000}
.sotf-hero .lead{margin-bottom:30px}
.cta-row{display:flex;flex-wrap:wrap;gap:14px 16px;align-items:center}

.spec{display:grid;grid-template-columns:repeat(4,auto);justify-content:start;gap:0;margin-top:40px;border:4px solid #000;width:max-content;max-width:100%}
.spec div{padding:10px 18px;border-right:4px solid #000}
.spec div:last-child{border-right:0}
.spec dt{font-size:.85rem;font-weight:700;color:var(--muted)}
.spec dd{font-family:'Pixelify Sans',sans-serif;font-size:1.35rem;font-weight:600}
@media(max-width:600px){.spec{grid-template-columns:1fr 1fr;width:100%}.spec div:nth-child(2){border-right:0}.spec div:nth-child(-n+2){border-bottom:4px solid #000}}

/* the plinth: one statue drawn row by row, with its museum label */
.plinth{justify-self:center;width:min(100%,420px)}
.plinth .stage{background:#fff;border:4px solid #000;box-shadow:10px 10px 0 #000;aspect-ratio:1;position:relative}
.plinth canvas{width:100%;height:100%;display:block;image-rendering:pixelated}
.plinth .label{margin-top:26px;border-top:4px solid #000;padding-top:14px;display:grid;grid-template-columns:auto 1fr;gap:4px 16px;font-size:.98rem}
.plinth .label dt{color:var(--muted);font-weight:700}
.plinth .label dd{font-weight:800}
.plinth .row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;flex-wrap:wrap}
.plinth .note{font-size:.85rem;color:var(--muted);font-weight:600}
@media(max-width:900px){.sotf-hero .wrap{grid-template-columns:1fr}.plinth{justify-self:start}}

/* banner strip */
.strip{border-top:4px solid #000;border-bottom:4px solid #000;background:#fff;overflow:hidden}
.strip picture{display:block}
.strip img{width:100%;height:clamp(150px,25vw,380px);object-fit:cover;object-position:50% 50%}

/* statues */
.sotf-sec{padding:88px 0}
.sotf-sec h2{font-size:clamp(2rem,4.4vw,3.1rem);line-height:1.05}
.sotf-sec .lead{margin-bottom:40px}
.statues{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:34px 22px;list-style:none}
.statues figure{margin:0}
.statues img{width:100%;height:auto;aspect-ratio:1;border:4px solid #000;background:#fff}
.statues figcaption{margin-top:10px;font-size:.88rem;line-height:1.35}
.statues figcaption b{display:block;font-size:.95rem}
.statues figcaption span{color:var(--muted);font-weight:600}
@media(max-width:600px){.statues{grid-template-columns:repeat(3,1fr);gap:24px 12px}.statues figcaption{font-size:.78rem}.statues figcaption b{font-size:.82rem}}
.statues + .note{margin-top:34px;color:var(--muted);font-weight:600;font-size:.95rem}

/* where they stand — the only dark section: they face the stars */
.stars{background:#000;color:#fff;
  background-image:
    linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),
    linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff);
  background-size:4px 4px;background-repeat:no-repeat;
  background-position:8% 14%,22% 78%,47% 9%,63% 88%,81% 22%,93% 64%,35% 46%}
.stars .lead,.stars .muted-on-dark{color:#cfcfcf}
.timeline{list-style:none;columns:2;column-gap:56px;max-width:980px}
.timeline li{break-inside:avoid;display:grid;grid-template-columns:5.2ch 1fr;gap:18px;padding:13px 0;border-top:4px solid #2c2c2c;align-items:baseline}
.timeline .y{font-family:'Pixelify Sans',sans-serif;font-size:1.35rem;font-weight:600}
.timeline .p{font-weight:800;font-size:1.05rem}
.timeline .r{display:block;color:#bdbdbd;font-weight:600;font-size:.9rem}
.timeline li.unknown .y{color:#8a8a8a}
@media(max-width:760px){.timeline{columns:1}}

/* anatomy */
.parts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 56px;max-width:1040px}
.part{display:grid;grid-template-columns:7.5rem 3rem 1fr;gap:14px;padding:14px 0;border-top:4px solid #000;align-items:baseline}
.part h3{font-size:1.3rem}
.part .n{font-family:'Pixelify Sans',sans-serif;font-size:1.3rem;font-weight:600;text-align:right}
.part p{color:var(--muted);font-weight:600;font-size:.95rem}
@media(max-width:860px){.parts{grid-template-columns:1fr}.part{grid-template-columns:6.5rem 2.6rem 1fr}}
.rule{margin-top:36px;max-width:62ch;font-weight:600}
.rule b{font-weight:800}

/* mint steps: a real sequence, so numbered */
.mint-steps{list-style:none;counter-reset:s;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:8px}
.mint-steps li{border:4px solid #000;padding:24px 22px 22px;counter-increment:s;background:#fff;box-shadow:8px 8px 0 #000}
.mint-steps li::before{content:counter(s);display:grid;place-items:center;width:40px;height:40px;background:#000;color:#fff;font-family:'Pixelify Sans',sans-serif;font-size:1.3rem;margin-bottom:14px}
.mint-steps h3{font-size:1.35rem;margin-bottom:8px}
@media(max-width:900px){.mint-steps{grid-template-columns:1fr}}
.contract{margin-top:30px;font-weight:700;word-break:break-all}
.contract code{font-size:.95rem;background:#f1f1f1;padding:2px 6px}

.page-sotf .faq{background:#fff}
.page-sotf details{border-radius:0}
.page-sotf .soon-note{margin-top:22px;font-weight:700;font-size:.95rem}

@media(prefers-reduced-motion:reduce){.btn.is-soon::before{animation:none}}
