/*
 * GreenCore premium sold-out experience.
 * Presentation-only overrides: all round values continue to come from round-config.js.
 */

body.protocol-allocation {
  --soldout-ink: #03060b;
  --soldout-panel: rgba(10, 16, 23, .72);
  --soldout-panel-strong: rgba(8, 14, 20, .9);
  --soldout-line: rgba(255, 255, 255, .1);
  --soldout-line-bright: rgba(155, 255, 216, .2);
  --soldout-text: #f4f7f6;
  --soldout-muted: #98a5a0;
  --soldout-mint: #76f3c0;
  --soldout-cyan: #5dc9ff;
  --soldout-violet: #9d7bff;
  --soldout-ease: cubic-bezier(.22, 1, .36, 1);
  position: relative;
  overflow-x: clip;
  color: var(--soldout-text);
  background: var(--soldout-ink) !important;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Inter", "Segoe UI", sans-serif;
  font-feature-settings: "kern" 1, "ss01" 1, "cv05" 1;
}

body.protocol-allocation .soldout-ambient {
  position: fixed;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% -15%, rgba(55, 106, 127, .13), transparent 43%),
    linear-gradient(180deg, #03070c 0%, #05090e 48%, #03070b 100%);
}

/* Keep the original animated light ribbons visible above the ambient wash. */
body.protocol-allocation > .protocol-floating-lines {
  z-index: 1 !important;
  background: transparent !important;
  opacity: .34;
  mix-blend-mode: screen;
}

body.protocol-allocation > .protocol-floating-lines canvas {
  opacity: .76 !important;
  filter: brightness(.92) saturate(.96) !important;
}

.soldout-aura {
  position: absolute;
  width: min(62vw, 820px);
  aspect-ratio: 1;
  border-radius: 50%;
  opacity: .22;
  filter: blur(95px);
  will-change: transform;
}

.soldout-aura-one {
  top: -38%;
  right: -17%;
  background: rgba(93, 201, 255, .5);
  animation: soldout-aura-one 22s ease-in-out infinite alternate;
}

.soldout-aura-two {
  top: 7%;
  left: -30%;
  background: rgba(118, 243, 192, .32);
  animation: soldout-aura-two 26s ease-in-out infinite alternate;
}

.soldout-aura-three {
  right: 12%;
  bottom: -52%;
  background: rgba(157, 123, 255, .4);
  animation: soldout-aura-three 30s ease-in-out infinite alternate;
}

.soldout-particle-field {
  position: absolute;
  inset: 0;
}

.soldout-particle {
  position: absolute;
  left: var(--particle-x);
  top: var(--particle-y);
  width: var(--particle-size);
  height: var(--particle-size);
  border-radius: 50%;
  opacity: var(--particle-opacity);
  background: var(--particle-color);
  box-shadow: 0 0 16px color-mix(in srgb, var(--particle-color) 55%, transparent);
  animation: soldout-particle-float var(--particle-duration) ease-in-out var(--particle-delay) infinite alternate;
}

body.protocol-allocation > .protocol-nav,
body.protocol-allocation > .allocation-protocol-hero,
body.protocol-allocation > main,
body.protocol-allocation > .protocol-footer {
  position: relative;
  z-index: 2;
}

body.protocol-allocation .protocol-nav {
  border-bottom: 1px solid rgba(255, 255, 255, .07) !important;
  background: rgba(3, 7, 12, .7) !important;
  box-shadow: 0 12px 40px rgba(0, 0, 0, .14);
  backdrop-filter: blur(26px) saturate(145%);
}

body.protocol-allocation .protocol-nav .wrap {
  min-height: 76px;
}

body.protocol-allocation .protocol-nav .links a {
  position: relative;
  color: rgba(232, 239, 236, .6);
  transition: color .28s ease;
}

body.protocol-allocation .protocol-nav .links a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -9px;
  left: 0;
  height: 1px;
  opacity: 0;
  background: linear-gradient(90deg, transparent, var(--soldout-mint), transparent);
  transform: scaleX(.25);
  transition: opacity .28s ease, transform .28s ease;
}

body.protocol-allocation .protocol-nav .links a:hover,
body.protocol-allocation .protocol-nav .links a[aria-current="page"] {
  color: #fff;
}

body.protocol-allocation .protocol-nav .links a:hover::after,
body.protocol-allocation .protocol-nav .links a[aria-current="page"]::after {
  opacity: .85;
  transform: scaleX(1);
}

body.protocol-allocation .allocation-protocol-hero {
  min-height: calc(100svh - 76px);
  overflow: hidden;
  background: transparent !important;
  isolation: isolate;
}

body.protocol-allocation .allocation-hero-layout {
  width: min(1240px, calc(100% - 72px));
  min-height: calc(100svh - 76px);
  grid-template-columns: minmax(0, .88fr) minmax(480px, 1.12fr);
  gap: clamp(68px, 7vw, 116px);
  padding: clamp(92px, 10vh, 132px) 0 !important;
}

body.protocol-allocation .allocation-premium-kicker {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  margin-bottom: 26px;
  color: rgba(216, 255, 239, .7);
  font-size: 10px;
  font-weight: 650;
  letter-spacing: .15em;
}

.allocation-premium-kicker > i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--soldout-mint);
  box-shadow: 0 0 0 0 rgba(118, 243, 192, .28), 0 0 18px rgba(118, 243, 192, .52);
  animation: soldout-breathe 3.2s ease-in-out infinite;
}

body.protocol-allocation .allocation-protocol-hero h1 {
  max-width: 660px;
  margin: 0;
  color: #f6f9f8;
  font-size: clamp(56px, 6vw, 86px);
  font-weight: 560;
  line-height: .98;
  letter-spacing: -.065em;
  text-wrap: balance;
}

body.protocol-allocation .allocation-protocol-hero h1 span {
  display: inline-block;
  padding: 4px 5px 10px 0;
  color: transparent;
  background: linear-gradient(110deg, #f7fffb 4%, #8ef4cc 40%, #6bd5f3 69%, #b29bff 100%);
  background-clip: text;
  -webkit-background-clip: text;
  filter: drop-shadow(0 14px 35px rgba(93, 201, 255, .08));
}

body.protocol-allocation .allocation-protocol-hero .protocol-lead {
  max-width: 580px;
  margin-top: 30px;
  color: #a5b1ad;
  font-size: 17px;
  line-height: 1.72;
  letter-spacing: -.006em;
}

body.protocol-allocation .allocation-hero-stats {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  max-width: 620px;
  margin-top: 46px;
}

body.protocol-allocation .allocation-hero-stats .metric {
  position: relative;
  min-width: 0;
  padding: 17px 18px 16px !important;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .075) !important;
  border-radius: 14px;
  background: linear-gradient(145deg, rgba(255, 255, 255, .055), rgba(255, 255, 255, .022)) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .045) !important;
  backdrop-filter: blur(14px);
}

body.protocol-allocation .allocation-hero-stats .metric::before {
  content: "" !important;
  display: block !important;
  position: absolute;
  top: 0;
  right: 20%;
  left: 20%;
  height: 1px;
  opacity: .55;
  background: linear-gradient(90deg, transparent, rgba(143, 243, 202, .65), transparent);
}

body.protocol-allocation .allocation-hero-stats .metric > span {
  color: #7f8d88 !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: .14em;
  text-transform: uppercase;
}

body.protocol-allocation .allocation-hero-stats .metric b {
  gap: 5px;
  margin-top: 10px;
  color: #f1f7f4 !important;
  font-size: 23px !important;
  font-weight: 590;
  letter-spacing: -.035em;
}

body.protocol-allocation .allocation-hero-stats .metric small {
  color: #788680;
  font-size: 9px !important;
  font-weight: 600;
  letter-spacing: 0;
}

body.protocol-allocation .allocation-hero-stats .allocation-sold-out {
  gap: 9px !important;
  color: #e9f3ef !important;
  font-size: 16px !important;
  letter-spacing: .035em;
}

body.protocol-allocation .allocation-sold-out > i {
  width: 8px;
  height: 8px;
  border: 0;
  background: var(--soldout-mint);
  box-shadow: 0 0 0 0 rgba(118, 243, 192, .28), 0 0 16px rgba(118, 243, 192, .5);
  animation: soldout-breathe 3.2s ease-in-out .35s infinite;
}

.allocation-progress-shell {
  grid-column: 1 / -1;
  margin-top: 11px;
  padding: 18px 19px 19px;
  border: 1px solid rgba(255, 255, 255, .075);
  border-radius: 14px;
  background: rgba(3, 7, 12, .38);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025);
  backdrop-filter: blur(12px);
}

.allocation-progress-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 11px;
  color: #75827d;
  font-size: 10px;
  font-weight: 680;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.allocation-progress-meta strong {
  color: #b6c2bd;
  font-size: 10px;
  font-weight: 680;
  letter-spacing: .02em;
  text-transform: none;
}

body.protocol-allocation .allocation-progress-bar {
  position: relative;
  width: 100%;
  max-width: none;
  height: 8px;
  margin: 0;
  overflow: hidden;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, .075);
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, .72);
}

body.protocol-allocation .allocation-progress-bar::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid rgba(255, 255, 255, .055);
  border-radius: inherit;
  pointer-events: none;
}

body.protocol-allocation .allocation-progress-bar > i {
  position: relative;
  display: block;
  width: var(--gc-round-progress, 0%) !important;
  height: 100%;
  overflow: hidden;
  border-radius: inherit;
  clip-path: inset(0 100% 0 0);
  background: linear-gradient(90deg, #57d8a1 0%, #72f0c1 44%, #64d6ed 72%, #a98bff 100%);
  box-shadow: 0 0 18px rgba(103, 229, 190, .22);
  animation: soldout-progress-reveal 1.35s var(--soldout-ease) .5s forwards;
}

body.protocol-allocation .allocation-progress-bar > i::after,
body.home-page-simple .round-complete-progress > i::after {
  content: "";
  position: absolute;
  inset: 0;
  width: 36%;
  opacity: .82;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .72), transparent);
  transform: translateX(-180%) skewX(-18deg);
  animation: soldout-progress-shimmer 4.8s ease-in-out 1.9s infinite;
}

body.protocol-allocation .allocation-complete-card {
  --spot-x: 72%;
  --spot-y: 12%;
  position: relative;
  width: 100%;
  max-width: 610px;
  justify-self: end;
  overflow: hidden;
  border: 1px solid rgba(169, 255, 222, .16);
  border-radius: 28px;
  background:
    radial-gradient(circle at var(--spot-x) var(--spot-y), rgba(114, 226, 255, .1), transparent 32%),
    linear-gradient(145deg, rgba(16, 25, 34, .9), rgba(7, 13, 19, .95));
  box-shadow:
    0 50px 120px rgba(0, 0, 0, .42),
    0 14px 44px rgba(31, 108, 91, .08),
    inset 0 1px 0 rgba(255, 255, 255, .1);
  backdrop-filter: blur(28px) saturate(130%);
  transition: transform .7s var(--soldout-ease), border-color .5s ease, box-shadow .5s ease;
}

@media (hover: hover) {
  body.protocol-allocation .allocation-complete-card:hover {
    border-color: rgba(169, 255, 222, .24);
    box-shadow:
      0 56px 135px rgba(0, 0, 0, .48),
      0 18px 52px rgba(31, 108, 91, .1),
      inset 0 1px 0 rgba(255, 255, 255, .12);
    transform: translateY(-4px);
  }
}

.allocation-card-glow {
  position: absolute;
  z-index: 0;
  top: -110px;
  right: -92px;
  width: 250px;
  height: 250px;
  border-radius: 50%;
  opacity: .2;
  background: conic-gradient(from 180deg, var(--soldout-mint), var(--soldout-cyan), var(--soldout-violet), var(--soldout-mint));
  filter: blur(65px);
  animation: soldout-card-glow 12s linear infinite;
  pointer-events: none;
}

body.protocol-allocation .allocation-complete-card > *:not(.allocation-card-glow) {
  position: relative;
  z-index: 1;
}

body.protocol-allocation .allocation-complete-head {
  min-height: 66px;
  padding: 0 27px;
  border-bottom: 1px solid rgba(255, 255, 255, .075);
  color: #7f8d88;
  font-size: 9px;
  letter-spacing: .14em;
}

body.protocol-allocation .allocation-complete-head > span {
  display: flex;
  align-items: center;
  gap: 11px;
}

body.protocol-allocation .allocation-complete-head > span > i {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border: 1px solid rgba(118, 243, 192, .16);
  border-radius: 9px;
  color: #c9ffea;
  background: rgba(118, 243, 192, .06);
  font-size: 8px;
  font-style: normal;
  letter-spacing: .05em;
}

body.protocol-allocation .allocation-complete-head strong {
  gap: 10px;
  color: #c9ffea;
  font-size: 9px;
  font-weight: 680;
  letter-spacing: .08em;
}

body.protocol-allocation .allocation-complete-head strong i {
  width: 7px;
  height: 7px;
  background: var(--soldout-mint);
  box-shadow: 0 0 0 0 rgba(118, 243, 192, .26), 0 0 16px rgba(118, 243, 192, .55);
  animation: soldout-breathe 3.2s ease-in-out .7s infinite;
}

body.protocol-allocation .allocation-complete-body {
  grid-template-columns: 90px minmax(0, 1fr);
  gap: 26px;
  padding: 48px 36px 34px;
}

body.protocol-allocation .allocation-complete-check {
  position: relative;
  width: 82px;
  height: 82px;
  display: grid;
  place-items: center;
  overflow: visible;
  border: 1px solid rgba(118, 243, 192, .16);
  border-radius: 50%;
  color: transparent;
  background:
    radial-gradient(circle at 38% 30%, rgba(255, 255, 255, .1), transparent 42%),
    rgba(118, 243, 192, .035);
  box-shadow:
    0 20px 48px rgba(0, 0, 0, .32),
    inset 0 1px 0 rgba(255, 255, 255, .08);
}

.allocation-complete-check::before,
.allocation-complete-check::after {
  content: "";
  position: absolute;
  border: 1px solid rgba(118, 243, 192, .12);
  border-radius: 50%;
  animation: soldout-check-ring 4.2s ease-out 1.5s infinite;
}

.allocation-complete-check::before {
  inset: -10px;
}

.allocation-complete-check::after {
  inset: -22px;
  opacity: .48;
  animation-delay: 2.2s;
}

.allocation-check-halo {
  position: absolute;
  inset: 10px;
  border-radius: 50%;
  background: rgba(118, 243, 192, .13);
  filter: blur(15px);
}

.allocation-complete-check img {
  position: relative;
  z-index: 1;
  width: 64px;
  height: 64px;
  display: block;
}

body.protocol-allocation .allocation-complete-body small,
body.protocol-allocation .allocation-announcement span {
  color: #78bfa4;
  font-size: 9px;
  font-weight: 720;
  letter-spacing: .14em;
}

body.protocol-allocation .allocation-complete-body h2 {
  max-width: none;
  margin-top: 11px;
  color: #f4f8f6;
  font-size: clamp(34px, 3.1vw, 48px);
  font-weight: 530;
  line-height: 1.03;
  letter-spacing: -.05em;
}

body.protocol-allocation .allocation-complete-body p {
  max-width: 390px;
  margin-top: 16px;
  color: #8d9a95;
  font-size: 13px;
  line-height: 1.68;
}

.allocation-closeout-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 27px;
}

.allocation-closeout-meta > span {
  padding: 13px 14px;
  border: 1px solid rgba(255, 255, 255, .07);
  border-radius: 12px;
  background: rgba(255, 255, 255, .025);
}

.allocation-closeout-meta small {
  display: block;
  color: #697771 !important;
  font-size: 8px !important;
}

.allocation-closeout-meta b {
  display: block;
  margin-top: 7px;
  color: #cbd6d1;
  font-size: 12px;
  font-weight: 580;
  letter-spacing: -.01em;
}

body.protocol-allocation .allocation-announcement {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(170px, .65fr);
  gap: 26px;
  align-items: end;
  margin: 0 36px;
  padding: 27px 0;
  border-top: 1px solid rgba(255, 255, 255, .075);
}

body.protocol-allocation .allocation-announcement strong {
  max-width: 330px;
  margin-top: 8px;
  color: #dde6e2;
  font-size: 16px;
  font-weight: 540;
  line-height: 1.45;
  letter-spacing: -.015em;
}

body.protocol-allocation .allocation-announcement p {
  margin: 0;
  color: #76837e;
  font-size: 11px;
  line-height: 1.62;
}

body.protocol-allocation .allocation-disabled-button {
  min-height: 52px;
  gap: 11px;
  margin: 0 36px 36px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .085);
  border-radius: 14px;
  color: rgba(232, 239, 236, .5);
  background:
    linear-gradient(110deg, transparent 0 42%, rgba(255, 255, 255, .055) 50%, transparent 58%) 170% 0 / 220% 100%,
    rgba(255, 255, 255, .035);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035);
  font-size: 11px;
  font-weight: 680;
  letter-spacing: .16em;
  animation: soldout-button-sheen 7s ease-in-out 2.4s infinite;
}

body.protocol-allocation .allocation-disabled-button > i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #76837e;
  box-shadow: 0 0 0 3px rgba(118, 131, 126, .08);
}

body.protocol-allocation .allocation-next-band,
body.protocol-allocation .allocation-chart-band {
  background: rgba(3, 7, 11, .58) !important;
  backdrop-filter: blur(20px);
}

body.protocol-allocation .allocation-next-band {
  padding-top: 126px;
  padding-bottom: 128px;
}

body.protocol-allocation .protocol-section-head {
  max-width: 760px;
}

body.protocol-allocation .protocol-section-head h2 {
  margin-top: 18px;
  color: #f0f5f3;
  font-size: clamp(42px, 4.7vw, 66px);
  font-weight: 530;
  line-height: 1.04;
  letter-spacing: -.055em;
}

body.protocol-allocation .protocol-section-head p {
  max-width: 650px;
  margin-top: 22px;
  color: #899691;
  font-size: 15px;
  line-height: 1.75;
}

body.protocol-allocation .allocation-next-grid {
  gap: 16px;
  margin-top: 58px;
}

body.protocol-allocation .allocation-next-grid article {
  position: relative;
  min-height: 250px;
  padding: 30px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .075);
  border-radius: 20px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .045), rgba(255, 255, 255, .014)),
    rgba(7, 13, 18, .5);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .04),
    0 24px 70px rgba(0, 0, 0, .12);
  transition: transform .55s var(--soldout-ease), border-color .4s ease, background .4s ease;
}

body.protocol-allocation .allocation-next-grid article::before {
  content: "";
  position: absolute;
  top: 0;
  right: 28px;
  left: 28px;
  height: 1px;
  opacity: .45;
  background: linear-gradient(90deg, transparent, var(--soldout-mint), transparent);
}

@media (hover: hover) {
  body.protocol-allocation .allocation-next-grid article:hover {
    border-color: rgba(118, 243, 192, .16);
    background:
      linear-gradient(145deg, rgba(118, 243, 192, .05), rgba(157, 123, 255, .025)),
      rgba(7, 13, 18, .58);
    transform: translateY(-5px);
  }
}

body.protocol-allocation .allocation-next-grid article > span {
  color: #7bd7b3;
  font-size: 10px;
}

body.protocol-allocation .allocation-next-grid h3 {
  margin-top: 72px;
  color: #eef4f1;
  font-size: 22px;
  font-weight: 560;
  letter-spacing: -.025em;
}

body.protocol-allocation .allocation-next-grid p {
  color: #7e8b86;
  font-size: 13px;
}

body.protocol-allocation .allocation-chart-band {
  padding-top: 128px;
  padding-bottom: 144px;
  border-top: 1px solid rgba(255, 255, 255, .055);
}

body.protocol-allocation .allocation-chart-layout {
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 84px;
  margin-top: 72px;
  padding: 42px;
  border: 1px solid rgba(255, 255, 255, .075);
  border-radius: 24px;
  background: rgba(8, 14, 19, .46);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035);
  backdrop-filter: blur(16px);
}

body.protocol-allocation .allocation-stack {
  height: 118px;
  gap: 4px;
  overflow: visible;
  border-radius: 12px;
  background: transparent;
}

body.protocol-allocation .allocation-stack button {
  border-radius: 7px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18);
  filter: saturate(.74) brightness(.82);
  transition: filter .3s ease, transform .5s var(--soldout-ease), box-shadow .3s ease;
}

body.protocol-allocation .allocation-stack button:hover,
body.protocol-allocation .allocation-stack button[aria-selected="true"] {
  filter: saturate(1) brightness(1.08);
  transform: translateY(-7px);
  box-shadow: 0 15px 30px rgba(0, 0, 0, .22), inset 0 1px 0 rgba(255, 255, 255, .24);
}

body.protocol-allocation .allocation-stack button span {
  bottom: -34px;
  color: #77847f;
  font-size: 9px;
}

body.protocol-allocation .allocation-chart-detail {
  min-height: 240px;
  padding: 6px 0 6px 38px;
  border-left-color: rgba(255, 255, 255, .08);
}

body.protocol-allocation .allocation-chart-detail > strong {
  color: #f0f8f4;
  font-size: 62px;
  font-weight: 520;
  letter-spacing: -.055em;
}

body.protocol-allocation .allocation-chart-detail h3 {
  color: #cfd9d5;
  font-weight: 550;
}

body.protocol-allocation .protocol-footer {
  border-top: 1px solid rgba(255, 255, 255, .06);
  background: rgba(2, 5, 9, .82);
  backdrop-filter: blur(18px);
}

[data-premium-reveal] {
  opacity: 0;
  transform: translateY(24px);
  transition:
    opacity 1s var(--soldout-ease),
    transform 1s var(--soldout-ease);
  transition-delay: calc(var(--premium-order, 0) * 100ms);
}

.premium-motion-ready [data-premium-reveal].is-premium-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Compact completion-card treatment on the homepage. */
body.home-page-simple .round-complete-card {
  --spot-x: 75%;
  --spot-y: 15%;
  position: relative;
  overflow: hidden;
  border-color: rgba(150, 255, 215, .17) !important;
  border-radius: 20px !important;
  background:
    radial-gradient(circle at var(--spot-x) var(--spot-y), rgba(101, 214, 255, .1), transparent 30%),
    linear-gradient(145deg, rgba(14, 29, 24, .84), rgba(5, 13, 10, .93)) !important;
  box-shadow:
    0 34px 90px rgba(0, 0, 0, .36),
    inset 0 1px 0 rgba(255, 255, 255, .08) !important;
  transition: transform .6s cubic-bezier(.22, 1, .36, 1), border-color .4s ease, box-shadow .4s ease !important;
}

@media (hover: hover) {
  body.home-page-simple .round-complete-card:hover {
    border-color: rgba(150, 255, 215, .24) !important;
    box-shadow:
      0 42px 105px rgba(0, 0, 0, .42),
      0 12px 36px rgba(50, 202, 148, .07),
      inset 0 1px 0 rgba(255, 255, 255, .1) !important;
    transform: translateY(-4px) !important;
  }
}

body.home-page-simple .round-complete-progress {
  position: relative;
  height: 9px;
  overflow: hidden;
  border-radius: 999px;
}

body.home-page-simple .round-complete-progress > i {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: inherit;
  background: linear-gradient(90deg, #5adca6, #74efc1 45%, #60d4ee 73%, #a288ff) !important;
}

body.home-page-simple .round-sold-out-status i {
  border: 0;
  background: #78efbd;
  box-shadow: 0 0 0 0 rgba(120, 239, 189, .24), 0 0 15px rgba(120, 239, 189, .42);
  animation: soldout-breathe 3.2s ease-in-out infinite;
}

body.home-page-simple .round-complete-message strong {
  display: flex;
  align-items: center;
  gap: 8px;
}

.round-complete-inline-check {
  width: 23px;
  height: 23px;
  flex: 0 0 auto;
  object-fit: contain;
}

@keyframes soldout-aura-one {
  from { transform: translate3d(0, 0, 0) scale(.96); }
  to { transform: translate3d(-8%, 11%, 0) scale(1.08); }
}

@keyframes soldout-aura-two {
  from { transform: translate3d(0, 0, 0) scale(1); }
  to { transform: translate3d(13%, -7%, 0) scale(1.12); }
}

@keyframes soldout-aura-three {
  from { transform: translate3d(0, 0, 0) scale(.94); }
  to { transform: translate3d(-10%, -9%, 0) scale(1.06); }
}

@keyframes soldout-particle-float {
  from { transform: translate3d(0, 0, 0) scale(.86); }
  to { transform: translate3d(var(--particle-drift-x), var(--particle-drift-y), 0) scale(1.12); }
}

@keyframes soldout-breathe {
  0%, 100% { box-shadow: 0 0 0 0 rgba(118, 243, 192, .25), 0 0 12px rgba(118, 243, 192, .36); opacity: .78; }
  50% { box-shadow: 0 0 0 6px rgba(118, 243, 192, 0), 0 0 21px rgba(118, 243, 192, .58); opacity: 1; }
}

@keyframes soldout-progress-reveal {
  to { clip-path: inset(0 0 0 0); }
}

@keyframes soldout-progress-shimmer {
  0%, 22% { transform: translateX(-180%) skewX(-18deg); }
  54%, 100% { transform: translateX(380%) skewX(-18deg); }
}

@keyframes soldout-card-glow {
  to { transform: rotate(360deg); }
}

@keyframes soldout-check-ring {
  0% { opacity: .5; transform: scale(.88); }
  65%, 100% { opacity: 0; transform: scale(1.22); }
}

@keyframes soldout-button-sheen {
  0%, 35% { background-position: 170% 0, 0 0; }
  66%, 100% { background-position: -90% 0, 0 0; }
}

@media (max-width: 1120px) {
  body.protocol-allocation .allocation-hero-layout {
    width: min(920px, calc(100% - 56px));
    min-height: auto;
    grid-template-columns: 1fr;
    gap: 64px;
    padding: 92px 0 110px !important;
  }

  body.protocol-allocation .allocation-protocol-hero {
    min-height: auto;
  }

  body.protocol-allocation .allocation-hero-copy {
    max-width: 720px;
  }

  body.protocol-allocation .allocation-complete-card {
    max-width: 720px;
    justify-self: start;
  }

  body.protocol-allocation .allocation-chart-layout {
    grid-template-columns: 1fr;
    gap: 92px;
  }

  body.protocol-allocation .allocation-chart-detail {
    min-height: auto;
    padding: 0;
    border: 0;
  }
}

@media (max-width: 760px) {
  body.protocol-allocation .protocol-nav .wrap {
    min-height: 68px;
  }

  body.protocol-allocation .allocation-hero-layout {
    width: min(100% - 32px, 620px);
    gap: 44px;
    padding: 64px 0 78px !important;
  }

  body.protocol-allocation .allocation-protocol-hero h1 {
    font-size: clamp(45px, 13vw, 62px);
    line-height: 1;
  }

  body.protocol-allocation .allocation-protocol-hero .protocol-lead {
    margin-top: 23px;
    font-size: 15px;
  }

  body.protocol-allocation .allocation-hero-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 7px;
    margin-top: 34px;
  }

  body.protocol-allocation .allocation-hero-stats .metric {
    padding: 14px 11px 13px !important;
    border-radius: 11px;
  }

  body.protocol-allocation .allocation-hero-stats .metric > span {
    min-height: 0;
    padding: 0;
    font-size: 8px !important;
  }

  body.protocol-allocation .allocation-hero-stats .metric b {
    padding: 0;
    font-size: clamp(17px, 5.2vw, 22px) !important;
  }

  body.protocol-allocation .allocation-hero-stats .allocation-sold-out {
    gap: 6px !important;
    font-size: clamp(11px, 3.4vw, 15px) !important;
  }

  body.protocol-allocation .allocation-sold-out > i {
    width: 6px;
    height: 6px;
  }

  .allocation-progress-shell {
    margin-top: 4px;
    padding: 15px;
    border-radius: 12px;
  }

  body.protocol-allocation .allocation-complete-card {
    border-radius: 22px;
  }

  body.protocol-allocation .allocation-complete-head {
    min-height: 62px;
    padding: 0 19px;
    align-items: center;
    flex-direction: row;
  }

  body.protocol-allocation .allocation-complete-head > span {
    font-size: 8px;
    letter-spacing: .09em;
  }

  body.protocol-allocation .allocation-complete-head > span > i {
    display: none;
  }

  body.protocol-allocation .allocation-complete-body {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 38px 22px 27px;
  }

  body.protocol-allocation .allocation-complete-check {
    width: 72px;
    height: 72px;
  }

  .allocation-complete-check img {
    width: 56px;
    height: 56px;
  }

  body.protocol-allocation .allocation-complete-body h2 {
    font-size: 38px;
  }

  body.protocol-allocation .allocation-announcement {
    grid-template-columns: 1fr;
    gap: 14px;
    margin: 0 22px;
    padding: 24px 0;
  }

  body.protocol-allocation .allocation-announcement p {
    max-width: 320px;
  }

  body.protocol-allocation .allocation-disabled-button {
    margin: 0 22px 24px;
  }

  body.protocol-allocation .allocation-next-band,
  body.protocol-allocation .allocation-chart-band {
    padding-top: 88px;
    padding-bottom: 92px;
  }

  body.protocol-allocation .allocation-next-grid {
    margin-top: 40px;
  }

  body.protocol-allocation .allocation-next-grid article {
    min-height: 210px;
    border-radius: 17px;
  }

  body.protocol-allocation .allocation-next-grid h3 {
    margin-top: 50px;
  }

  body.protocol-allocation .allocation-chart-layout {
    gap: 76px;
    margin-top: 48px;
    padding: 26px 20px 30px;
    border-radius: 18px;
  }

  body.protocol-allocation .allocation-stack {
    height: 100px;
  }

  body.protocol-allocation .allocation-stack button span {
    display: none;
  }

}

@media (max-width: 390px) {
  body.protocol-allocation .allocation-hero-stats .metric {
    padding-right: 8px !important;
    padding-left: 8px !important;
  }

  body.protocol-allocation .allocation-hero-stats .metric small {
    display: none;
  }

  .allocation-closeout-meta {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .soldout-aura,
  .soldout-particle,
  .allocation-card-glow,
  .allocation-premium-kicker > i,
  .allocation-sold-out > i,
  .allocation-complete-head strong i,
  .allocation-complete-check::before,
  .allocation-complete-check::after,
  .allocation-disabled-button,
  body.home-page-simple .round-sold-out-status i {
    animation: none !important;
  }

  body.protocol-allocation .allocation-progress-bar > i {
    clip-path: none;
    animation: none;
  }

  body.protocol-allocation .allocation-progress-bar > i::after,
  body.home-page-simple .round-complete-progress > i::after {
    display: none;
  }

  [data-premium-reveal] {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
