html,body{margin:0;background:#f2efe8;min-height:100%;font-family:Arial,sans-serif}
*{box-sizing:border-box}
.stage{width:100%;display:flex;justify-content:center;overflow-x:auto}
.artboard{position:relative;width:min(100vw,1778px);aspect-ratio:1778/884;flex:0 0 auto}
.design{display:block;width:100%;height:100%;object-fit:contain}
.hotspot{position:absolute;display:block;background:transparent}
.nav-about{left:36.5%;top:1.5%;width:4.4%;height:4.5%}
.nav-explore{left:41.0%;top:1.5%;width:4.8%;height:4.5%}
.nav-creators{left:45.8%;top:1.5%;width:5.2%;height:4.5%}
.nav-ai{left:50.8%;top:1.5%;width:5.0%;height:4.5%}
.nav-auction{left:56.0%;top:1.5%;width:6.2%;height:4.5%}
.cta-join{left:14.1%;top:54.2%;width:11.3%;height:5.6%;border-radius:12px}

/* Functional form overlays: positioned over the approved mockup fields. */
.early-overlay{position:absolute;inset:0;pointer-events:none}
.overlay-input{
  position:absolute;pointer-events:auto;border:0;outline:none;background:transparent;
  color:#24201a;font:500 clamp(11px,0.85vw,15px)/1.2 Arial,sans-serif;
  padding:0 .8%; caret-color:#24201a;
}
.name-input{left:74.1%;top:34.8%;width:14.8%;height:4.5%}
.email-input{left:74.1%;top:40.9%;width:14.8%;height:4.5%}
.overlay-input::placeholder{color:transparent}
.honeypot{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}

.consent-zone{position:absolute;left:73.2%;top:52.8%;width:1.5%;height:2.8%;pointer-events:auto;cursor:pointer}
.consent-zone input{width:100%;height:100%;margin:0;opacity:.02;cursor:pointer}
.submit-zone{
  position:absolute;left:73.2%;top:46.7%;width:17.4%;height:5.4%;
  pointer-events:auto;cursor:pointer;border:0;background:transparent;border-radius:10px;
}
.submit-zone:disabled{cursor:wait}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.toast{
  position:absolute;left:50%;top:48%;transform:translate(-50%,-50%) scale(.96);
  background:rgba(255,252,245,.98);color:#19150f;border:1px solid rgba(150,108,30,.25);
  box-shadow:0 18px 60px rgba(0,0,0,.28);border-radius:16px;padding:22px 28px;
  min-width:280px;text-align:center;font:600 16px/1.45 Arial,sans-serif;
  opacity:0;pointer-events:none;transition:.2s ease;z-index:20;
}
.toast.show{opacity:1;transform:translate(-50%,-50%) scale(1)}
.toast.error{color:#7d1f1f}

@media(max-width:900px){
  .artboard{width:1778px;max-width:none}
}
