/* Quants mint page — matches the design system of the main map site */
:root{
 --ink:#0e1b2a;--ink-2:#33465c;--gold:#FFC53D;--gold-hi:#FFDE7A;--berry:#FF6B6B;
 --parch:#fffdf4;--parch2:#fdf4de;--sea:#9cc6b8;--cream:#FEFDEE;
 --display:"Baloo 2",system-ui,cursive;--ui:"Fredoka",system-ui,sans-serif;--body:"Nunito",system-ui,sans-serif;
 --pop:0 4px 0 var(--ink);--pop-hi:0 7px 0 var(--ink);--ease:cubic-bezier(.2,.9,.3,1.2);
 --sb:env(safe-area-inset-bottom,0px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{margin:0;min-height:100%;max-width:100%;color:var(--ink);font-family:var(--body);
 -webkit-font-smoothing:antialiased;
 background:
  radial-gradient(90% 60% at 50% -8%, rgba(255,222,122,.55), rgba(255,222,122,0) 60%),
  radial-gradient(70% 50% at 88% 12%, rgba(255,107,107,.24), rgba(255,107,107,0) 60%),
  radial-gradient(80% 60% at 8% 88%, rgba(255,253,238,.6), rgba(255,253,238,0) 60%),
  linear-gradient(180deg,#bfe3d6 0%,#9cc6b8 46%,#8dbcab 100%);
 background-attachment:fixed;
 overflow-x:hidden;
}
a{color:inherit}
.wrap{max-width:1120px;margin:0 auto;padding:0 22px 10px}
section{position:relative;z-index:1}

/* ---- top bar ---- */
.bar{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 22px;max-width:1120px;margin:0 auto}
.brand{display:block;line-height:0}
.brand img{display:block;width:min(150px,34vw);height:auto;filter:drop-shadow(0 4px 10px rgba(0,0,0,.28))}
.bar .back{font-family:var(--ui);font-weight:600;font-size:13px;letter-spacing:.2px;text-decoration:none;color:var(--ink);
 background:var(--cream);border:2.5px solid var(--ink);border-radius:999px;padding:9px 17px;box-shadow:var(--pop);
 transition:transform .16s var(--ease),box-shadow .16s var(--ease),background .16s}
.bar .back:hover{transform:translateY(-2px);box-shadow:var(--pop-hi);background:#fff}
.bar .back:active{transform:translateY(4px);box-shadow:0 0 0 var(--ink)}

/* ---- hero: intro + mint card ---- */
.top{display:flex;flex-direction:column}
.intro{order:1;text-align:center}
.clockbox{order:2}
.crossover{display:inline-block;font-family:var(--ui);font-weight:600;font-size:12.5px;letter-spacing:1.4px;text-transform:uppercase;
 color:var(--ink);background:var(--cream);border:2.5px solid var(--ink);border-radius:999px;padding:5px 15px;box-shadow:0 3px 0 var(--ink)}
.crossover b{font-weight:700}
.intro h1{font-family:var(--display);font-weight:800;color:var(--ink);
 font-size:clamp(28px,5.4vw,54px);line-height:1.16;margin:14px 0 0;letter-spacing:.3px;
 overflow-wrap:break-word;text-shadow:0 2px 0 rgba(255,255,255,.55)}
.intro h1 .hl{white-space:nowrap;background:linear-gradient(180deg,transparent 44%,var(--gold) 44%,var(--gold) 80%,transparent 80%);border-radius:4px;padding:0 2px}
.intro .lede{font-family:var(--body);font-size:clamp(15px,2vw,19px);color:var(--ink-2);max-width:620px;margin:16px auto 0;line-height:1.55}
.intro .lede b{color:var(--ink);font-weight:700}
.trust{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:20px 0 4px}
.trust span{font-family:var(--ui);font-weight:600;font-size:12px;letter-spacing:.1px;color:var(--ink);
 background:rgba(255,253,238,.9);border:2.5px solid var(--ink);border-radius:999px;padding:6px 14px;box-shadow:0 3px 0 var(--ink)}
.trust i{font-style:normal;color:var(--berry);margin-right:5px}

/* ---- the countdown card ---- */
.clockbox{max-width:520px;margin:26px auto 30px;width:100%}
.ccard{position:relative;background:var(--cream);border:3px solid var(--ink);border-radius:26px;padding:26px 26px 22px;
 box-shadow:0 6px 0 var(--ink),0 26px 60px rgba(14,27,42,.3);text-align:center}
.cstate{display:inline-flex;align-items:center;gap:7px;font-family:var(--ui);font-weight:700;font-size:12px;letter-spacing:.3px;color:var(--ink);
 background:linear-gradient(180deg,var(--gold-hi),var(--gold));border:2.5px solid var(--ink);border-radius:999px;padding:5px 15px;box-shadow:0 3px 0 var(--ink)}
.cstate.live{background:linear-gradient(180deg,#b9e58f,#8fd05f)}
.cstate i{width:9px;height:9px;border-radius:50%;background:#1c7a1c;border:2px solid var(--ink);animation:pip 1.4s ease-in-out infinite}
@keyframes pip{0%,100%{opacity:1}50%{opacity:.25}}
.clabel{font-family:var(--ui);font-weight:600;font-size:12.5px;letter-spacing:.1px;color:var(--ink-2);margin:16px 0 9px}
.clock{display:flex;gap:9px;justify-content:center}
.clock[hidden]{display:none}
.unit{flex:1 1 0;min-width:0;background:#fff;border:2.5px solid var(--ink);border-radius:16px;padding:10px 4px 8px;box-shadow:0 3px 0 var(--ink)}
.unit b{display:block;font-family:var(--display);font-weight:800;font-size:clamp(26px,7vw,34px);line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}
.unit span{display:block;margin-top:4px;font-family:var(--ui);font-weight:600;font-size:10.5px;letter-spacing:1px;text-transform:uppercase;color:var(--ink-2)}
.cfoot{display:flex;align-items:center;justify-content:center;gap:8px;text-align:left;
 margin:16px -26px -22px;padding:12px 20px;background:var(--parch2);border-top:2.5px solid var(--ink);border-radius:0 0 23px 23px;
 font-family:var(--ui);font-weight:600;font-size:11.5px;letter-spacing:.1px;color:var(--ink-2)}
.cfoot img{width:20px;height:20px;flex:none;display:block}
.cfoot b{color:var(--ink)}

/* preview disc, shuffles through the collection */
.preview{display:block;width:100%;margin:18px 0 4px;background:none;border:0;padding:0;cursor:pointer;font:inherit;color:inherit;
 animation:floaty 6s ease-in-out infinite}
.pring{width:min(196px,54vw);aspect-ratio:1/1;margin:0 auto;border-radius:50%;overflow:hidden;background:#fff;
 border:6px solid var(--gold);box-shadow:0 0 0 4px var(--ink),0 18px 40px rgba(14,27,42,.32);
 transition:transform .2s var(--ease)}
.pring img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .22s}
.preview:hover .pring{transform:scale(1.04)}
.preview:active .pring{transform:scale(.98)}
.pvtag{display:inline-block;margin-top:-12px;position:relative;font-family:var(--ui);font-weight:600;font-size:12.5px;letter-spacing:.1px;color:var(--ink);
 background:linear-gradient(180deg,var(--gold-hi),var(--gold));border:2.5px solid var(--ink);border-radius:999px;padding:5px 16px;box-shadow:var(--pop)}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

.submit{display:block;width:100%;text-align:center;text-decoration:none;font-family:var(--ui);font-weight:700;font-size:16px;letter-spacing:.3px;
 color:var(--ink);background:linear-gradient(180deg,var(--gold-hi),var(--gold));border:3px solid var(--ink);border-radius:999px;
 padding:15px;margin-top:18px;cursor:pointer;
 box-shadow:0 5px 0 var(--ink);transition:transform .16s var(--ease),box-shadow .16s var(--ease),filter .16s}
.submit:hover{transform:translateY(-2px);box-shadow:0 8px 0 var(--ink)}
.submit:active{transform:translateY(5px);box-shadow:0 0 0 var(--ink)}
.submit:disabled{opacity:.72;cursor:not-allowed;transform:none;box-shadow:0 5px 0 var(--ink)}
.subalt{display:inline-block;margin-top:12px;font-family:var(--ui);font-weight:600;font-size:12.5px;letter-spacing:.1px;text-decoration:none;color:var(--ink);
 background:#fff;border:2.5px solid var(--ink);border-radius:999px;padding:9px 17px;box-shadow:0 3px 0 var(--ink);
 transition:transform .16s var(--ease),box-shadow .16s var(--ease),background .16s}
.subalt:hover{transform:translateY(-2px);box-shadow:0 5px 0 var(--ink);background:var(--gold-hi)}
.subalt:active{transform:translateY(3px);box-shadow:0 0 0 var(--ink)}

/* ---- shared section headings ---- */
.phases h2,.ways h2,.how h2,.rewards h2,.showcase h2,.facts h2{text-align:center;font-family:var(--display);font-weight:800;color:var(--ink);
 font-size:clamp(21px,3vw,30px);letter-spacing:.2px;margin:0 0 6px;text-shadow:0 2px 0 rgba(255,255,255,.5)}
.flede{text-align:center;font-family:var(--body);font-size:15px;color:var(--ink-2);margin:0 auto 22px;max-width:540px}

/* ---- the two phases ---- */
.phases{margin:34px 0 0}
.pgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:14px}
.phase{background:var(--parch);border:3px solid var(--ink);border-radius:20px;padding:17px 18px 19px;box-shadow:var(--pop)}
.phase.one{background:linear-gradient(180deg,#fffaf0,var(--parch2))}
.ptop{display:flex;align-items:center;gap:11px;margin-bottom:11px}
.pnum{flex:none;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;
 font-family:var(--ui);font-weight:700;font-size:15px;color:var(--ink);background:linear-gradient(180deg,var(--gold-hi),var(--gold));
 border:2.5px solid var(--ink);box-shadow:0 3px 0 var(--ink)}
.ptop div{flex:1 1 auto;line-height:1.15}
.ptop b{display:block;font-family:var(--display);font-weight:800;font-size:19px;color:var(--ink)}
.ptop small{display:block;font-family:var(--ui);font-weight:500;font-size:11.5px;letter-spacing:.1px;color:var(--ink-2)}
.ppill{flex:none;font-family:var(--ui);font-weight:700;font-size:12px;letter-spacing:.2px;color:var(--ink);
 background:var(--cream);border:2.5px solid var(--ink);border-radius:999px;padding:4px 12px;box-shadow:0 3px 0 var(--ink)}
.phase.one .ppill{background:linear-gradient(180deg,#b9e58f,#8fd05f)}
.phase p{font-family:var(--body);font-size:14px;line-height:1.55;color:var(--ink-2);margin:0 0 11px}
.phase p b{color:var(--ink)}

/* ---- two ways to mint free ---- */
.ways{margin:44px 0 0}
.wgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:14px}
.way{background:var(--parch);border:3px solid var(--ink);border-radius:20px;padding:18px;box-shadow:var(--pop);
 transition:transform .16s var(--ease),box-shadow .16s var(--ease)}
.way:hover{transform:translateY(-3px);box-shadow:var(--pop-hi)}
.wart{height:112px;display:flex;align-items:center;justify-content:center;background:var(--parch2);border:2.5px solid var(--ink);
 border-radius:15px;margin-bottom:14px;overflow:hidden}
.wart svg{width:96px;height:96px;display:block}
.wart .qai{width:74px;height:74px;display:block}
.way>b{display:block;font-family:var(--display);font-weight:800;font-size:19px;line-height:1.15;color:var(--ink)}
.way p{font-family:var(--body);font-size:14px;line-height:1.55;color:var(--ink-2);margin:7px 0 12px}
.way p b{color:var(--ink)}
.wlink{display:inline-block;font-family:var(--ui);font-weight:600;font-size:12.5px;letter-spacing:.1px;text-decoration:none;color:var(--ink);
 background:var(--cream);border:2.5px solid var(--ink);border-radius:999px;padding:8px 15px;box-shadow:0 3px 0 var(--ink);
 transition:transform .16s var(--ease),box-shadow .16s var(--ease),background .16s}
.wlink:hover{transform:translateY(-2px);box-shadow:0 5px 0 var(--ink);background:var(--gold-hi)}
.wlink:active{transform:translateY(3px);box-shadow:0 0 0 var(--ink)}

/* ---- how to mint ---- */
.how{margin:44px 0 0;scroll-margin-top:18px}
/* row-gap leaves room for the number badge that hangs over each card's top edge */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));column-gap:14px;row-gap:28px}
.step{position:relative;background:var(--parch);border:3px solid var(--ink);border-radius:20px;padding:26px 17px 18px;box-shadow:var(--pop)}
.snum{position:absolute;top:-15px;left:17px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:50%;
 font-family:var(--display);font-weight:800;font-size:17px;color:var(--ink);background:linear-gradient(180deg,var(--gold-hi),var(--gold));
 border:3px solid var(--ink);box-shadow:0 3px 0 var(--ink)}
.step>b{display:block;font-family:var(--display);font-weight:800;font-size:18px;line-height:1.15;color:var(--ink)}
.step p{font-family:var(--body);font-size:13.5px;line-height:1.55;color:var(--ink-2);margin:7px 0 12px}
.step p b{color:var(--ink)}
.step p:last-child{margin-bottom:0}
.walk{text-align:center;margin:18px 0 0}
.hnote{display:flex;align-items:center;gap:14px;margin:16px 0 0;background:var(--ink);border:3px solid var(--ink);border-radius:20px;
 padding:15px 19px;box-shadow:var(--pop)}
.hnote img{width:38px;height:38px;flex:none;display:block}
.hnote p{font-family:var(--body);font-size:13.5px;line-height:1.55;color:#dfe7ef;margin:0}
.hnote b{color:var(--gold-hi)}

/* ---- chips, shared by the phase and reward cards ---- */
.tchips{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}
.tchip{font-family:var(--ui);font-weight:600;font-size:11.5px;letter-spacing:.1px;color:var(--ink);
 background:var(--cream);border:2.5px solid var(--ink);border-radius:999px;padding:3px 11px}

/* ---- rewards ---- */
.rewards{margin:44px 0 0}
.perks{display:grid;grid-template-columns:repeat(auto-fit,minmax(248px,1fr));gap:14px;margin:20px 0 0}
.perk{position:relative;background:var(--parch);border:3px solid var(--ink);border-radius:20px;padding:17px 17px 19px;box-shadow:var(--pop);
 transition:transform .16s var(--ease),box-shadow .16s var(--ease)}
.perk:hover{transform:translateY(-3px);box-shadow:var(--pop-hi)}
.pkbadge{position:absolute;top:-11px;right:13px;font-family:var(--ui);font-weight:700;font-size:11px;letter-spacing:.2px;color:var(--ink);
 background:linear-gradient(180deg,var(--gold-hi),var(--gold));border:2.5px solid var(--ink);border-radius:999px;padding:3px 11px;box-shadow:0 3px 0 var(--ink)}
.pkart{height:108px;display:flex;align-items:center;justify-content:center;background:var(--parch2);border:2.5px solid var(--ink);border-radius:15px;
 margin-bottom:13px;overflow:hidden}
.pkart svg{width:94px;height:94px;display:block;transition:transform .2s var(--ease)}
.perk:hover .pkart svg{transform:scale(1.07) rotate(-2deg)}
.perk>b{display:block;font-family:var(--display);font-weight:800;font-size:17.5px;line-height:1.15;color:var(--ink)}
.perk p{font-family:var(--body);font-size:13.5px;line-height:1.55;color:var(--ink-2);margin:7px 0 0}

/* ---- showcase strip ---- */
.showcase{margin:44px 0 0}
.strip{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;margin-top:22px}
.nft{display:flex;flex-direction:column;align-items:center;width:110px}
.nft .disc{width:98px;height:98px;border-radius:50%;overflow:hidden;background:#fff;
 border:4px solid var(--gold);box-shadow:0 0 0 3px var(--ink),0 10px 22px rgba(14,27,42,.28);transition:transform .25s var(--ease)}
.nft:hover .disc{transform:translateY(-8px) scale(1.07)}
.nft .disc img{width:100%;height:100%;object-fit:cover;display:block}
.nft .nm{margin-top:12px;font-family:var(--ui);font-weight:600;font-size:13px;letter-spacing:.1px;color:var(--ink);
 background:var(--cream);border:2.5px solid var(--ink);border-radius:999px;padding:2px 11px}
.nft .rt{font-family:var(--body);font-style:italic;font-size:12.5px;color:var(--ink-2);margin-top:5px;text-align:center}
.nft .disc.bob1{animation:floaty 5.5s ease-in-out infinite}
.nft .disc.bob2{animation:floaty 6.5s ease-in-out infinite .4s}
.nft .disc.bob3{animation:floaty 5s ease-in-out infinite .8s}

/* ---- facts ---- */
.facts{margin:44px 0 0}
.fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:11px;margin-top:20px}
.fact{background:rgba(255,253,238,.92);border:2.5px solid var(--ink);border-radius:16px;padding:12px 14px;box-shadow:0 3px 0 var(--ink)}
.fact span{display:block;font-family:var(--ui);font-weight:600;font-size:10.5px;letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-2)}
.fact b{display:block;margin-top:3px;font-family:var(--display);font-weight:800;font-size:16px;color:var(--ink)}

/* ---- footer ---- */
footer{position:relative;z-index:1;text-align:center;padding:34px 22px calc(40px + var(--sb));
 font-family:var(--ui);font-weight:500;font-size:12px;letter-spacing:.2px;color:var(--ink-2)}
.flinks{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin-top:12px}
footer a{font-family:var(--ui);font-weight:600;font-size:12px;text-decoration:none;color:var(--ink);
 border:2px solid transparent;border-radius:999px;padding:5px 12px;transition:background .16s,border-color .16s,transform .16s var(--ease)}
footer a:hover{background:var(--cream);border-color:var(--ink);transform:translateY(-2px)}

/* floating sparks */
.spark{position:fixed;bottom:-20px;width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px var(--gold-hi);
 opacity:0;pointer-events:none;z-index:0;animation:spark linear infinite}
@keyframes spark{0%{transform:translateY(0) scale(.6);opacity:0}10%{opacity:.85}90%{opacity:.5}100%{transform:translateY(-105vh) scale(1.1);opacity:0}}

/* embedded in the platform: drop the site chrome, keep the Quants elements */
body.embed{background:none}
body.embed .bar,body.embed footer,body.embed .spark{display:none}
body.embed .wrap{padding-top:18px}

/* ---- desktop: intro and mint card side by side ---- */
@media(min-width:900px){
 .top{display:grid;grid-template-columns:1.02fr .98fr;column-gap:48px;align-items:center;padding-top:8px}
 .intro{text-align:left}
 .intro .lede{margin-left:0}
 .trust{justify-content:flex-start}
 .clockbox{margin:0}
}

@media(max-width:620px){
 .bar{padding:12px 14px}
 .bar .back{font-size:11.5px;padding:8px 14px}
 .wrap{padding:0 14px 10px}
 .crossover{font-size:11px;padding:4px 12px}
 .intro h1{font-size:27px;letter-spacing:0;margin-top:12px}
 .intro .lede{margin-top:10px}
 .trust span{font-size:11px;padding:5px 12px}
 .clockbox{margin-top:20px}
 .ccard{padding:22px 18px 18px;border-radius:22px}
 .cfoot{margin:14px -18px -18px;border-radius:0 0 19px 19px;font-size:11px;padding:12px 16px}
 .clock{gap:6px}
 .unit{padding:8px 2px 7px;border-radius:13px}
 .unit span{font-size:9.5px;letter-spacing:.6px}
 .submit{font-size:15px;padding:14px}
 .phases,.ways,.how,.rewards,.showcase,.facts{margin-top:34px}
 .ptop b{font-size:17.5px}
 .wart{height:100px}
 .wart svg{width:86px;height:86px}
 .wart .qai{width:66px;height:66px}
 .way>b{font-size:17.5px}
 .step{padding:24px 15px 16px}
 .step>b{font-size:17px}
 .hnote{gap:11px;padding:14px 16px}
 .hnote img{width:32px;height:32px}
 .perk{padding:15px 15px 17px}
 .pkart{height:96px}
 .pkart svg{width:84px;height:84px}
 .perk>b{font-size:16.5px}
 .strip{gap:18px}
 .nft{width:92px}
 .nft .disc{width:84px;height:84px}
 .fact{padding:10px 12px}
 .fact b{font-size:14.5px}
}
@media(prefers-reduced-motion:reduce){
 .preview,.nft .disc,.spark,.cstate i{animation:none!important}
}
