:root {
  --section-metal: rgba(218, 226, 241, .13);
  --section-metal-soft: rgba(218, 226, 241, .055);
  --section-ink: rgba(7, 9, 14, .92);
  --section-purple: #9a7cff;
  --section-gold: #ffc45e;
  --section-cyan: #5de1ff;
  --section-green: #63e4ab;
  --section-red: #ff697c;
}

.section-heading {
  position: relative;
  align-items: center;
  padding-left: clamp(0rem, 2vw, 1.2rem);
}

.section-heading::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 1px;
  height: 72%;
  background: linear-gradient(transparent, currentColor, transparent);
  content: "";
  opacity: .46;
  transform: translateY(-50%);
}

.section-heading-with-icon {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 1.1rem;
}

.heliostar-icon {
  width: 52px;
  height: 52px;
  flex: 0 0 auto;
  overflow: visible;
  color: var(--section-purple);
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
  filter: drop-shadow(0 0 12px color-mix(in srgb, currentColor 26%, transparent));
}

.heliostar-icon.icon-gold { color: var(--section-gold); }
.heliostar-icon.icon-cyan { color: var(--section-cyan); }
.heliostar-icon.icon-green { color: var(--section-green); }
.heliostar-icon.icon-red { color: var(--section-red); }
.heliostar-icon.icon-purple { color: var(--section-purple); }

.section-emblem {
  position: relative;
  display: grid;
  width: 76px;
  height: 76px;
  flex: 0 0 76px;
  place-items: center;
  border: 1px solid color-mix(in srgb, currentColor 32%, transparent);
  color: var(--section-purple);
  background:
    linear-gradient(145deg, color-mix(in srgb, currentColor 10%, transparent), rgba(255,255,255,.015)),
    var(--section-ink);
  box-shadow: inset 0 1px rgba(255,255,255,.065), 0 20px 60px rgba(0,0,0,.26);
  clip-path: polygon(0 12px, 12px 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%);
}

.section-emblem::before,
.section-emblem::after {
  position: absolute;
  width: 18px;
  height: 1px;
  background: currentColor;
  content: "";
  opacity: .5;
}
.section-emblem::before { top: 8px; right: 8px; }
.section-emblem::after { bottom: 8px; left: 8px; }
.section-emblem .heliostar-icon { width: 44px; height: 44px; }
.section-emblem.icon-gold { color: var(--section-gold); }
.section-emblem.icon-cyan { color: var(--section-cyan); }
.section-emblem.icon-green { color: var(--section-green); }

.section-shell:not(.hero) {
  scroll-margin-top: 86px;
}

.promotion-section,
.welcome-section,
.token-architecture-section,
.dashboard-section,
.mining-section,
.audit-section,
.wallet-lookup-section,
.wallet-download-section {
  position: relative;
  overflow: clip;
}

.promotion-section::after,
.dashboard-section::after,
.mining-section::after,
.audit-section::after,
.wallet-download-section::after {
  position: absolute;
  z-index: -4;
  inset: 3rem calc(50% - 50vw);
  border-top: 1px solid var(--section-metal-soft);
  border-bottom: 1px solid var(--section-metal-soft);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.012) 15%, rgba(255,255,255,.02) 50%, rgba(255,255,255,.012) 85%, transparent);
  content: "";
  pointer-events: none;
}

.is-section-revealed .heliostar-icon {
  animation: section-icon-draw 1.05s cubic-bezier(.2,.8,.2,1) both;
}

.is-section-revealed .section-emblem {
  animation: section-emblem-lock .75s cubic-bezier(.2,.8,.2,1) both;
}

/* Launch NFT — a dark digital exhibition rather than a generic card grid. */
.promotion-section {
  grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr);
  grid-template-areas: "overview visual" "messages messages";
  gap: 1px;
  padding-block: 8rem;
  border-right: 1px solid var(--section-metal-soft);
  border-left: 1px solid var(--section-metal-soft);
  background: linear-gradient(120deg, rgba(126,89,255,.045), transparent 32%, rgba(255,188,66,.035));
}

.promotion-section::before {
  inset: 6rem -10vw auto;
  height: 58%;
  border-radius: 0;
  background:
    radial-gradient(circle at 78% 44%, rgba(255,194,94,.18), transparent 24%),
    radial-gradient(circle at 18% 56%, rgba(93,225,255,.11), transparent 28%);
}

.promotion-overview,
.promotion-visual {
  border-radius: 0;
  box-shadow: none;
}

.promotion-overview {
  padding: clamp(2rem, 4vw, 4rem);
  border: 0;
  border-top: 1px solid var(--section-metal);
  border-bottom: 1px solid var(--section-metal);
  background:
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px) 0 0 / 48px 48px,
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px) 0 0 / 48px 48px,
    linear-gradient(145deg, rgba(20,24,35,.94), rgba(9,11,17,.96));
}

.promotion-heading {
  min-height: 76px;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--section-metal-soft);
}

.promotion-title-lockup {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.promotion-title-lockup .section-emblem {
  width: 62px;
  height: 62px;
  flex-basis: 62px;
}

.promotion-title-lockup .heliostar-icon { width: 38px; height: 38px; }

.promotion-visual {
  min-height: 580px;
  border: 0;
  border-top: 1px solid var(--section-metal);
  border-bottom: 1px solid var(--section-metal);
  border-left: 1px solid var(--section-metal);
  background:
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px) 50% 50% / 40px 40px,
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px) 50% 50% / 40px 40px,
    radial-gradient(circle at 50% 50%, rgba(126,89,255,.18), transparent 42%),
    #090c13;
}

.promotion-visual::after {
  position: absolute;
  inset: 7%;
  border: 1px solid rgba(255,255,255,.07);
  content: "";
  clip-path: polygon(0 24px, 24px 0, 100% 0, 100% calc(100% - 24px), calc(100% - 24px) 100%, 0 100%);
}

.promotion-nft-preview {
  position: relative;
  z-index: 5;
  width: min(84%, 470px);
  margin: 0;
  padding: 7px;
  border: 1px solid rgba(255, 194, 94, .42);
  background: linear-gradient(145deg, rgba(255,255,255,.08), rgba(9,12,19,.94));
  box-shadow: 0 26px 70px rgba(0,0,0,.55), 0 0 34px rgba(126,89,255,.14);
  clip-path: polygon(0 14px, 14px 0, 100% 0, 100% calc(100% - 14px), calc(100% - 14px) 100%, 0 100%);
}

.promotion-nft-preview picture,
.promotion-nft-preview img {
  display: block;
  width: 100%;
}

.promotion-nft-preview img {
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.promotion-nft-preview figcaption {
  display: grid;
  gap: .4rem;
  padding: .9rem .85rem .8rem;
  border-top: 1px solid rgba(255, 194, 94, .24);
  background: rgba(6,8,13,.92);
}

.promotion-nft-preview figcaption strong {
  color: var(--warm-white);
  font-size: .78rem;
  letter-spacing: .04em;
}

.promotion-nft-preview figcaption span {
  color: var(--muted-silver);
  font-size: .68rem;
  line-height: 1.55;
}

.promotion-icon-node {
  border-radius: 0;
  clip-path: polygon(0 20px, 20px 0, 100% 0, 100% calc(100% - 20px), calc(100% - 20px) 100%, 0 100%);
}

.promotion-icon-node::before { border-radius: 0; }
.promotion-message-wall {
  margin-top: 3.5rem;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  border-radius: 0;
  border-color: var(--section-metal);
  background:
    linear-gradient(135deg, rgba(126,89,255,.07), transparent 36%),
    rgba(10,13,20,.82);
  clip-path: polygon(0 16px, 16px 0, 100% 0, 100% calc(100% - 16px), calc(100% - 16px) 100%, 0 100%);
}

.promotion-message-list article {
  border-radius: 2px;
  border-left: 2px solid rgba(93,225,255,.32);
  background: linear-gradient(90deg, rgba(93,225,255,.045), rgba(255,255,255,.02));
}

/* Editorial company message and token architecture. */
.mining-welcome {
  position: relative;
  grid-template-columns: 1.15fr .85fr;
  gap: 0;
  padding: 0;
  overflow: hidden;
  border-radius: 0;
  border-color: var(--section-metal);
  background: rgba(11,14,21,.82);
  box-shadow: 0 34px 100px rgba(0,0,0,.25);
  clip-path: polygon(0 26px, 26px 0, 100% 0, 100% calc(100% - 26px), calc(100% - 26px) 100%, 0 100%);
}

.welcome-copy,
.eligibility-card {
  padding: clamp(2rem, 4.5vw, 4rem);
}

.welcome-copy {
  background:
    linear-gradient(130deg, rgba(255,196,94,.055), transparent 42%),
    repeating-linear-gradient(0deg, transparent 0 31px, rgba(255,255,255,.018) 32px);
}

.eligibility-card {
  border: 0;
  border-left: 1px solid var(--section-metal);
  border-radius: 0;
  background:
    radial-gradient(circle at 85% 10%, rgba(93,225,255,.11), transparent 30%),
    rgba(8,11,17,.82);
}

.device-list li {
  border-radius: 2px;
  border-left: 2px solid rgba(93,225,255,.34);
}

.token-architecture-grid { gap: 1px; }
.token-architecture-card {
  min-height: 230px;
  border-radius: 0;
  border-color: var(--section-metal);
  clip-path: polygon(0 18px, 18px 0, 100% 0, 100% calc(100% - 18px), calc(100% - 18px) 100%, 0 100%);
}
.architecture-symbol {
  border-radius: 0;
  clip-path: polygon(0 9px, 9px 0, 100% 0, 100% calc(100% - 9px), calc(100% - 9px) 100%, 0 100%);
}

/* HOT public status — a dense but readable live instrument panel. */
.dashboard-section { padding-block: 8rem; }
.dashboard-section::before {
  position: absolute;
  z-index: -3;
  inset: 10rem -18vw 20%;
  background:
    radial-gradient(circle at 12% 34%, rgba(255,196,94,.1), transparent 24%),
    radial-gradient(circle at 88% 60%, rgba(126,89,255,.12), transparent 28%);
  content: "";
}

.metric-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  border: 1px solid var(--section-metal);
  background: var(--section-metal-soft);
}

.metric-card {
  position: relative;
  min-width: 0;
  min-height: 210px;
  padding: 1.55rem;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background:
    linear-gradient(145deg, rgba(255,255,255,.045), rgba(255,255,255,.012)),
    #0c1018;
}

.metric-card.featured {
  background:
    radial-gradient(circle at 85% 12%, rgba(255,196,94,.14), transparent 35%),
    linear-gradient(145deg, rgba(126,89,255,.16), #0c1018 72%);
}

.metric-icon { display: block; margin: 0 0 1.1rem auto; }
.metric-card strong { font-variant-numeric: tabular-nums; }

.metric-card::after {
  position: absolute;
  right: 1rem;
  bottom: .8rem;
  width: 36%;
  height: 1px;
  background: linear-gradient(90deg, transparent, currentColor);
  content: "";
  color: rgba(255,255,255,.22);
  transform: scaleX(0);
  transform-origin: right;
}
.metric-card.data-locked::after { animation: data-lock-line .7s ease-out; }

@media (max-width: 1180px) {
  .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.schedule-panel {
  position: relative;
  margin-top: 1px;
  border: 1px solid var(--section-metal);
  border-radius: 0;
  background:
    linear-gradient(90deg, transparent 49.9%, rgba(255,255,255,.04) 50%, transparent 50.1%),
    rgba(12,16,24,.9);
  clip-path: polygon(0 20px, 20px 0, 100% 0, 100% calc(100% - 20px), calc(100% - 20px) 100%, 0 100%);
}

.schedule-values div,
.epoch-card dl div {
  padding-bottom: .5rem;
  border-bottom: 1px dotted rgba(255,255,255,.09);
}

.pipeline-status,
.policy-change-card {
  border-radius: 0;
}

.premine-allocation {
  display: grid;
  grid-template-columns: minmax(250px, .36fr) minmax(0, .64fr);
  gap: 2rem;
  border-radius: 0;
  border-color: rgba(255,196,94,.22);
  background:
    radial-gradient(circle at 12% 50%, rgba(255,196,94,.11), transparent 32%),
    rgba(12,15,22,.88);
  clip-path: polygon(0 24px, 24px 0, 100% 0, 100% calc(100% - 24px), calc(100% - 24px) 100%, 0 100%);
}

.premine-heading {
  position: relative;
  display: block;
  margin: 0;
  padding-right: 1.8rem;
  border-right: 1px solid var(--section-metal);
}
.premine-total { margin-top: 2rem; border-radius: 0; }
.premine-allocation-list { grid-template-columns: 1fr; }
.premine-allocation-card,
.premine-allocation-card:first-child {
  grid-column: auto;
  padding: 1rem 0;
  border: 0;
  border-bottom: 1px solid var(--section-metal-soft);
  border-radius: 0;
  background: transparent;
}
.premine-allocation-card:last-child { border-bottom: 0; }
.premine-allocation-card p { min-height: 0; }

/* Mining — NFT gallery, energy diagram, and epoch telemetry. */
.mining-section {
  padding-block: 8rem;
  background:
    linear-gradient(90deg, transparent, rgba(126,89,255,.035) 50%, transparent),
    repeating-linear-gradient(90deg, transparent 0 79px, rgba(255,255,255,.014) 80px);
}

.license-heading {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1.15rem;
  align-items: center;
  max-width: 920px;
}
.license-heading > :not(.section-emblem) { grid-column: 2; }
.license-heading .section-emblem { grid-row: 1 / span 3; }

.license-gallery { gap: 1px; background: var(--section-metal-soft); border: 1px solid var(--section-metal); }
.license-gallery figure {
  position: relative;
  border: 0;
  border-radius: 0;
  background: #0b0f16;
  box-shadow: none;
}
.license-gallery figure::after {
  position: absolute;
  inset: 0;
  border: 1px solid rgba(255,255,255,.055);
  content: "";
  pointer-events: none;
}
.license-gallery img {
  transition: filter .4s ease, transform .6s cubic-bezier(.2,.8,.2,1);
}
.license-gallery figure:hover img { filter: brightness(1.08) contrast(1.03); transform: scale(1.025); }
.license-gallery figcaption { border-top: 1px solid var(--section-metal-soft); }

.star-power-levels,
.license-facts article {
  border-radius: 0;
  border-color: var(--section-metal);
}
.star-power-levels span { border-radius: 2px; }
.license-facts { gap: 1px; background: var(--section-metal-soft); }
.license-facts article {
  border: 0;
  border-top: 2px solid rgba(126,89,255,.34);
}

.mining-operations {
  position: relative;
  gap: clamp(2rem, 6vw, 6rem);
  margin-top: 8rem;
  padding: clamp(2rem, 5vw, 4.5rem);
  border: 1px solid var(--section-metal);
  background:
    radial-gradient(circle at 76% 45%, rgba(93,225,255,.1), transparent 28%),
    #0b0f17;
  clip-path: polygon(0 28px, 28px 0, 100% 0, 100% calc(100% - 28px), calc(100% - 28px) 100%, 0 100%);
}

.mining-operations::before {
  position: absolute;
  top: 12%;
  bottom: 12%;
  left: 45%;
  width: 1px;
  background: linear-gradient(transparent, rgba(93,225,255,.42), transparent);
  content: "";
  box-shadow: 0 0 26px rgba(93,225,255,.35);
}

.formula {
  border-left-color: var(--section-cyan);
  background: linear-gradient(90deg, rgba(93,225,255,.11), transparent);
}
.epoch-card {
  border-radius: 0;
  border-color: rgba(93,225,255,.18);
  background: rgba(8,12,18,.86);
  box-shadow: inset 0 1px rgba(255,255,255,.04), 0 30px 80px rgba(0,0,0,.3);
}

/* On-chain evidence and wallet product presentation. */
.audit-section {
  padding-block: 8rem;
  color: var(--section-cyan);
}
.audit-section h2,
.audit-section p,
.audit-section strong { color: var(--text); }
.audit-section .eyebrow,
.audit-section .section-emblem { color: var(--section-cyan); }
.security-assurance-card {
  position: relative;
  border-radius: 0;
  border-color: rgba(93,225,255,.23);
  background:
    linear-gradient(90deg, rgba(93,225,255,.08), transparent 55%),
    rgba(9,14,20,.86);
  clip-path: polygon(0 18px, 18px 0, 100% 0, 100% calc(100% - 18px), calc(100% - 18px) 100%, 0 100%);
}
.security-assurance-mark { border-radius: 2px; }
.security-assurance-mark .heliostar-icon {
  width: 30px;
  height: 30px;
  color: #07140f;
  filter: none;
}
.identity-grid { grid-template-columns: repeat(6, 1fr); gap: 1px; border: 1px solid var(--section-metal); background: var(--section-metal-soft); }
.identity-grid article {
  grid-column: span 2;
  min-width: 0;
  border: 0;
  border-radius: 0;
  background: rgba(10,15,22,.9);
}
.identity-grid article:nth-child(4),
.identity-grid article:nth-child(5) { grid-column: span 3; }
.transaction-list {
  border-radius: 0;
  border-color: var(--section-metal);
  background: repeating-linear-gradient(0deg, rgba(255,255,255,.014) 0 1px, transparent 1px 32px), #0a0e15;
}

.wallet-lookup-section {
  margin-block: 4rem;
  padding: clamp(2rem, 5vw, 4rem);
  border: 1px solid var(--section-metal);
  background: linear-gradient(115deg, rgba(126,89,255,.11), rgba(9,12,18,.82) 42%, rgba(93,225,255,.06));
  clip-path: polygon(0 20px, 20px 0, 100% 0, 100% calc(100% - 20px), calc(100% - 20px) 100%, 0 100%);
}

#wallet-lookup-form {
  border: 1px solid var(--section-metal);
  border-radius: 0;
  background: rgba(6,9,14,.68);
}

.wallet-download-section { padding-block: 9rem; }
.wallet-download-section::before {
  inset: 4% -15% -4% 28%;
  border-radius: 0;
  background:
    radial-gradient(circle at 52% 42%, rgba(255,196,94,.12), rgba(126,89,255,.14) 38%, transparent 68%);
}
.wallet-download-copy { position: relative; }
.wallet-download-copy::before {
  position: absolute;
  z-index: -1;
  top: -5rem;
  left: -4rem;
  width: 280px;
  aspect-ratio: 1;
  border: 1px solid rgba(255,196,94,.08);
  content: "";
  transform: rotate(45deg);
}
.wallet-app-icon::after,
.download-card,
.download-primary-action,
.release-qr,
.ios-coming-card,
.distribution-notice {
  border-radius: 0;
}
.download-card,
.ios-coming-card {
  clip-path: polygon(0 18px, 18px 0, 100% 0, 100% calc(100% - 18px), calc(100% - 18px) 100%, 0 100%);
}
.download-card { border-color: rgba(255,196,94,.17); }

.site-footer {
  position: relative;
  min-height: 230px;
  align-items: flex-start;
  padding-block: 4.5rem;
  border-top-color: var(--section-metal);
}
.site-footer::before {
  position: absolute;
  z-index: -1;
  inset: 0 calc(50% - 50vw);
  background:
    linear-gradient(135deg, rgba(126,89,255,.06), transparent 32%),
    #080a0f;
  content: "";
}
.site-footer > div:first-child { max-width: 480px; }
.site-footer > div:first-child strong { color: var(--text); letter-spacing: .18em; }
.footer-links { display: grid; grid-template-columns: repeat(2, minmax(130px, 1fr)); }
.footer-links a {
  min-height: 40px;
  padding-bottom: .45rem;
  border-bottom: 1px solid var(--section-metal-soft);
}
.footer-links a:hover,
.footer-links a:focus-visible { color: var(--text); border-bottom-color: var(--section-purple); outline: none; }

/* Decorative brand guardians. HOT data and product UI remain the visual hierarchy. */
.mascot {
  position: absolute;
  z-index: 1;
  display: block;
  width: var(--mascot-size);
  height: auto;
  opacity: 0;
  pointer-events: none;
  user-select: none;
  transform-origin: 50% 80%;
  will-change: transform, opacity;
}

.mascot img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  filter: saturate(.88) brightness(.9);
  transition: filter .35s ease;
}

.dashboard-section > :not(.mascot),
.license-showcase > :not(.mascot),
.wallet-download-section > :not(.mascot) {
  position: relative;
  z-index: 2;
}

.dashboard-section .section-heading {
  min-height: clamp(190px, 20vw, 260px);
  padding-right: clamp(170px, 18vw, 250px);
}

.mascot-lumi {
  --mascot-size: clamp(145px, 13.5vw, 200px);
  top: 4.6rem;
  right: clamp(-.75rem, -1vw, .5rem);
  transform: translateY(36px) scale(.96);
}

.mascot-lumi::before {
  position: absolute;
  z-index: -1;
  top: 39%;
  left: 50%;
  width: min(320px, 155%);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,196,94,.16), rgba(126,89,255,.08) 38%, transparent 72%);
  content: "";
  filter: blur(8px);
  transform: translate(-50%, -50%);
}

.license-showcase {
  position: relative;
  isolation: isolate;
}

.license-heading {
  min-height: clamp(220px, 24vw, 310px);
  padding-right: clamp(170px, 19vw, 270px);
}

.mascot-helio {
  --mascot-size: clamp(150px, 14vw, 195px);
  top: -1.25rem;
  right: clamp(.25rem, 2vw, 2.25rem);
  filter:
    drop-shadow(0 0 28px rgba(255,188,72,.18))
    drop-shadow(0 30px 60px rgba(28,5,72,.45));
  transform: translateX(56px) scale(.96);
}

.wallet-download-copy,
.wallet-release-panel {
  position: relative;
  z-index: 2;
}

.mascot-stella {
  --mascot-size: clamp(155px, 14vw, 200px);
  bottom: 1.5rem;
  left: calc(39% - 92px);
  transform: translateY(28px) rotate(1.5deg);
}

.mascot-stella::before {
  position: absolute;
  z-index: -1;
  right: -17%;
  bottom: 2%;
  width: min(240px, 128%);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(126,89,255,.12), transparent 70%);
  content: "";
  filter: blur(9px);
}

.mascot-stella::after {
  position: absolute;
  right: -2%;
  bottom: 14%;
  width: 48%;
  height: 34%;
  border-radius: 50%;
  background: linear-gradient(112deg, transparent 18%, rgba(255,196,94,.28) 48%, transparent 72%);
  content: "";
  mix-blend-mode: screen;
  opacity: 0;
  transform: rotate(-18deg);
}

.dashboard-section:hover .mascot-lumi img,
.mining-section:hover .mascot-helio img,
.wallet-download-section:hover .mascot-stella img {
  filter: saturate(1) brightness(1);
}

.is-section-revealed .mascot-lumi {
  animation: mascot-lumi-reveal .9s cubic-bezier(.16,1,.3,1) forwards;
}

.is-section-revealed .mascot-lumi img {
  animation: mascot-lumi-float 7s .9s ease-in-out infinite;
}

.is-section-revealed .mascot-helio {
  animation: mascot-helio-reveal 1.05s cubic-bezier(.16,1,.3,1) forwards;
}

.is-section-revealed .mascot-helio img {
  animation: mascot-helio-breathe 6.5s 1.05s ease-in-out infinite;
}

.is-section-revealed .mascot-stella {
  animation: mascot-stella-reveal .85s cubic-bezier(.16,1,.3,1) forwards;
}

.is-section-revealed .mascot-stella::after {
  animation: mascot-stella-starlight 8s 1.2s ease-in-out infinite;
}

.lookup-form-label {
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: .55rem;
}

#wallet-lookup-form .lookup-form-label label {
  margin-bottom: 0;
}

.lumi-core-badge {
  position: relative;
  display: block;
  width: clamp(44px, 4vw, 52px);
  flex: 0 0 clamp(44px, 4vw, 52px);
  aspect-ratio: 1;
  border: 1px solid rgba(255,196,94,.34);
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 50%, #fff8cf 0 8%, #ffc45e 11% 24%, rgba(154,124,255,.64) 30% 46%, rgba(154,124,255,.12) 58%, transparent 72%);
  box-shadow: 0 0 22px rgba(255,196,94,.2), inset 0 0 18px rgba(255,255,255,.14);
}

.lumi-core-badge::after {
  position: absolute;
  inset: 8%;
  border: 1px solid rgba(255,238,187,.3);
  border-radius: 50%;
  content: "";
}

@keyframes mascot-lumi-reveal {
  from { opacity: 0; transform: translateY(36px) scale(.96); }
  to { opacity: .88; transform: translateY(0) scale(1); }
}

@keyframes mascot-lumi-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}

@keyframes mascot-helio-reveal {
  from { opacity: 0; transform: translateX(56px) scale(.96); }
  to { opacity: .88; transform: translateX(0) scale(1); }
}

@keyframes mascot-helio-breathe {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.008); }
}

@keyframes mascot-stella-reveal {
  from { opacity: 0; transform: translateY(28px) rotate(1.5deg); }
  to { opacity: .88; transform: translateY(0) rotate(0); }
}

@keyframes mascot-stella-starlight {
  0%, 76%, 100% { opacity: 0; transform: translateX(-18%) rotate(-18deg); }
  84% { opacity: .55; }
  92% { opacity: 0; transform: translateX(38%) rotate(-18deg); }
}

@keyframes section-icon-draw {
  0% { opacity: 0; stroke-dasharray: 1 130; stroke-dashoffset: 130; transform: scale(.9); }
  68% { opacity: 1; stroke-dasharray: 130 1; stroke-dashoffset: 0; transform: scale(1.03); }
  100% { opacity: 1; stroke-dasharray: 130 1; stroke-dashoffset: 0; transform: scale(1); }
}
@keyframes section-emblem-lock {
  from { opacity: 0; transform: translateY(10px) scale(.94); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes data-lock-line {
  from { opacity: 0; transform: scaleX(0); }
  35% { opacity: 1; }
  to { opacity: 0; transform: scaleX(1); }
}

@media (max-width: 900px) {
  .promotion-section { grid-template-columns: 1fr; grid-template-areas: "overview" "visual" "messages"; gap: 1px; }
  .promotion-visual { min-height: 420px; border-left: 0; }
  .premine-allocation { grid-template-columns: 1fr; }
  .premine-heading { padding: 0 0 1.8rem; border-right: 0; border-bottom: 1px solid var(--section-metal); }
  .identity-grid article,
  .identity-grid article:nth-child(4),
  .identity-grid article:nth-child(5) { grid-column: span 3; }
  .mining-operations::before { display: none; }
  .dashboard-section .section-heading {
    min-height: 190px;
    padding-right: 180px;
  }
  .mascot-lumi { --mascot-size: 148px; right: 1%; }
  .license-heading {
    min-height: 230px;
    padding-right: 175px;
  }
  .mascot-helio { --mascot-size: 152px; right: 1%; }
  .wallet-download-section { padding-bottom: calc(5rem + 210px); }
  .mascot-stella {
    --mascot-size: 164px;
    right: -5%;
    bottom: 1.75rem;
    left: auto;
  }
}

@media (max-width: 620px) {
  .section-heading-with-icon { align-items: start; }
  .section-emblem { width: 60px; height: 60px; flex-basis: 60px; }
  .section-emblem .heliostar-icon { width: 36px; height: 36px; }
  .promotion-section,
  .dashboard-section,
  .mining-section,
  .audit-section,
  .wallet-download-section { padding-block: 5rem; }
  .promotion-overview { padding: 1.4rem; }
  .promotion-heading { align-items: flex-start; flex-direction: column; }
  .promotion-title-lockup { align-items: flex-start; }
  .promotion-visual { min-height: 330px; }
  .promotion-nft-preview { width: calc(100% - 2rem); }
  .promotion-nft-preview figcaption { padding: .72rem .7rem .68rem; }
  .mining-welcome { grid-template-columns: 1fr; }
  .eligibility-card { border-top: 1px solid var(--section-metal); border-left: 0; }
  .metric-grid { grid-template-columns: minmax(0, 1fr); }
  .metric-card { min-height: 178px; }
  .schedule-panel,
  .mining-operations { padding: 1.3rem; }
  .license-heading { grid-template-columns: auto minmax(0, 1fr); }
  .license-heading .section-emblem { grid-row: 1; }
  .license-heading > :not(.section-emblem) { grid-column: 1 / -1; }
  .identity-grid article,
  .identity-grid article:nth-child(4),
  .identity-grid article:nth-child(5) { grid-column: 1 / -1; }
  .wallet-lookup-section { padding: 1.4rem; }
  .footer-links { grid-template-columns: 1fr; width: 100%; }
  .dashboard-section .section-heading {
    min-height: 210px;
    padding-right: 112px;
  }
  .mascot-lumi {
    --mascot-size: clamp(112px, 34vw, 134px);
    top: 5.8rem;
    right: -8%;
  }
  .license-heading {
    min-height: 0;
    padding-right: 0;
  }
  .mascot-helio {
    --mascot-size: clamp(118px, 36vw, 140px);
    position: relative;
    top: auto;
    right: -7%;
    margin: -.5rem 0 -3.25rem auto;
  }
  .wallet-download-section { padding-bottom: calc(5rem + 205px); }
  .mascot-stella {
    --mascot-size: clamp(124px, 37vw, 144px);
    right: -6%;
    bottom: 1.25rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .is-section-revealed .heliostar-icon,
  .is-section-revealed .section-emblem,
  .metric-card.data-locked::after,
  .license-gallery img { animation: none; transition: none; }
  .mascot,
  .mascot::before,
  .mascot::after,
  .mascot img {
    animation: none !important;
    transition: none !important;
  }
  .is-section-revealed .mascot {
    opacity: .88;
    transform: none;
  }
}
