/*******************************
 Pre-Launch S&L Template
 Implements AnthropicPreLaunchPage.dc.html from the GraniteShares
 Design System, generalised for any short & leveraged product that is
 still pre-launch (registration statement not yet effective).

 Layers on top of new-product.min.css — reuses .np-page, .np-shell,
 .np-hero*, .np-h2, .np-sub, .np-label, .np-subnav, .np-faq__list,
 .np-cta, .np-pill and .np-details*. Only genuinely new structures are
 defined here. Prefix: pl-

 No new tokens: every colour is a GraniteShares variable.
 ******************************/
 
 .pl-prospectus a, .pl-prospectus a:visited{
     color: rgb(var(--brand-citrine))!important;
 }
 
 ..nav .inner-wrapper {border: none;}

/* ---------- Section rhythm & banding (hierarchy) ---------- */
.pl-sec { padding-top: 56px; padding-bottom: 12px; }
.pl-sec > .np-h2 { position: relative; padding-top: 18px; }
.pl-sec > .np-h2::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 56px;
  height: 3px;
  border-radius: 2px;
  background: rgb(var(--brand-citrine));
}
.pl-band {
  background: rgb(var(--neutral-90));
  border-top: 1.5px solid rgb(var(--neutral-80));
  border-bottom: 1.5px solid rgb(var(--neutral-80));
  margin-top: 40px;
}
.pl-band .pl-sec { padding-bottom: 48px; }
.pl-band + .pl-sec { padding-top: 56px; }

/* ---------- ① Pre-launch status treatment ---------- */
.pl-statusband {
  background: rgb(var(--neutral-0));
  color: rgb(var(--neutral-100));
}
.pl-statusband__shell {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  padding: 9px 24px;
  font-family: "JetBrains Mono", monospace;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.pl-statusband__dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: rgb(var(--brand-citrine));
  flex-shrink: 0;
  box-shadow: 0 0 0 0 rgb(var(--brand-citrine) / .6);
  animation: pl-pulse 2.6s ease-out infinite;
}
@keyframes pl-pulse {
  0%   { box-shadow: 0 0 0 0 rgb(var(--brand-citrine) / .55); }
  70%  { box-shadow: 0 0 0 7px rgb(var(--brand-citrine) / 0); }
  100% { box-shadow: 0 0 0 0 rgb(var(--brand-citrine) / 0); }
}
@media (prefers-reduced-motion: reduce) {
  .pl-statusband__dot { animation: none; }
}
.pl-statusband__label { color: rgb(var(--brand-citrine)); }
.pl-statusband__note {
  color: rgb(var(--neutral-60));
  letter-spacing: .04em;
  text-transform: none;
  font-size: 11.5px;
}

/* Hero: stronger hierarchy, quieter surrounds */
.pl-hero { position: relative; }
.pl-hero .np-hero__shell { padding-top: 24px; padding-bottom: 44px; }
.pl-hero__ticker { letter-spacing: -.02em; }
.pl-hero__name {
  font-size: 26px;
  color: rgb(var(--neutral-10));
  margin-bottom: 18px;
  max-width: 460px;
}
.pl-hero__lede {
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 16px;
  line-height: 1.55;
  color: rgb(var(--neutral-30));
  margin: 0 0 28px;
  max-width: 480px;
  padding-left: 16px;
  border-left: 2px solid rgb(var(--neutral-80));
  text-wrap: pretty;
}
.pl-hero__actions { gap: 14px; }

/* Primary CTA — the page's single loudest element */
.pl-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 15px 28px;
  border: 1.5px solid rgb(var(--neutral-0));
  border-radius: var(--border-radius);
  background: rgb(var(--neutral-0));
  color: rgb(var(--neutral-100));
  font-family: "JetBrains Mono", monospace;
  font-size: 15px;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  transition: background 160ms ease, color 160ms ease, transform 160ms ease;
}
.pl-cta-btn svg { transition: transform 160ms ease; }
.pl-cta-btn:hover {
  background: rgb(var(--brand-citrine));
  border-color: rgb(var(--brand-citrine));
  color: rgb(var(--neutral-0));
}
.pl-cta-btn:hover svg { transform: translateX(3px); }
.pl-ghost-btn {
  display: inline-flex;
  align-items: center;
  padding: 15px 24px;
  border: 1.5px solid rgb(var(--neutral-80));
  border-radius: var(--border-radius);
  background: transparent;
  color: rgb(var(--neutral-10));
  font-family: "JetBrains Mono", monospace;
  font-size: 15px;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  transition: border-color 160ms ease, color 160ms ease;
}
.pl-ghost-btn:hover { border-color: rgb(var(--neutral-0)); color: rgb(var(--neutral-0)); }

/* ---------- ② At a glance: premium data card ---------- */
.pl-glance {
  min-width: 0;
  align-self: start;
  border: 1.5px solid rgb(var(--neutral-80));
  border-radius: var(--border-radius);
  background: rgb(var(--neutral-100));
  padding: 22px 24px 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  box-shadow: 0 1px 2px rgb(var(--neutral-0) / .04), 0 8px 24px rgb(var(--neutral-0) / .05);
}
.pl-glance__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 14px;
  border-bottom: 1.5px solid rgb(var(--neutral-90));
}
.pl-glance__badge {
  font-family: "JetBrains Mono", monospace;
  font-size: 11px;
  letter-spacing: .06em;
  padding: 4px 8px;
  border-radius: var(--border-radius);
  background: rgb(var(--neutral-90));
  color: rgb(var(--neutral-20));
}
.pl-glance__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5px;
  background: rgb(var(--neutral-90));
  border: 1.5px solid rgb(var(--neutral-90));
  border-radius: var(--border-radius);
  overflow: hidden;
}
.pl-glance__cell {
  background: rgb(var(--neutral-100));
  padding: 14px 16px 15px;
  min-width: 0;
  transition: background 160ms ease;
}
.pl-glance__cell:hover { background: rgb(var(--neutral-99)); }
.pl-glance__k {
  font-family: "JetBrains Mono", monospace;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: rgb(var(--neutral-40));
}
.pl-glance__v {
  font-family: "JetBrains Mono", monospace;
  font-size: 15px;
  line-height: 1.35;
  color: rgb(var(--neutral-0));
  margin-top: 7px;
  overflow-wrap: break-word;
}
.pl-glance__v--pending {
  color: rgb(var(--brand-amethyst-dark));
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.pl-glance__v--pending::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgb(var(--brand-amethyst-dark));
  flex-shrink: 0;
}
.pl-glance__note {
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 12px;
  line-height: 1.45;
  color: rgb(var(--neutral-40));
  margin-top: 4px;
}

/* ---------- ⑤ Prospectus band + document preview ---------- */
.pl-prospectus { background: rgb(var(--neutral-0)); color: rgb(var(--neutral-100)); }
.pl-prospectus__shell { padding: 40px 24px 26px; }
.pl-prospectus__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.9fr);
  gap: 32px;
  align-items: start;
  scroll-margin-top: 72px;
}
.pl-prospectus__intro { display: flex; flex-direction: column; gap: 10px; }
.pl-prospectus__label {
  font-family: "JetBrains Mono", monospace;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: rgb(var(--brand-citrine));
}
.pl-prospectus__lead {
  font-family: "Inter", sans-serif;
  font-weight: 400;
  font-size: 19px;
  line-height: 1.4;
  color: rgb(var(--neutral-100));
  margin: 0;
  text-wrap: pretty;
}
.pl-prospectus__link {
  font-family: "JetBrains Mono", monospace;
  font-size: 12px;
  color: rgb(var(--brand-citrine));
  text-decoration: none;
  margin-top: 2px;
  border-bottom: 1px solid rgb(var(--brand-citrine) / .4);
  align-self: flex-start;
  padding-bottom: 2px;
}
.pl-prospectus__link:hover { border-bottom-color: rgb(var(--brand-citrine)); }
.pl-prospectus__note {
  margin: 0;
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 14px;
  line-height: 1.65;
  color: rgb(var(--neutral-60));
  border-left: 1.5px solid rgb(var(--neutral-20));
  padding-left: 32px;
  text-wrap: pretty;
}

.pl-viewer__shell { padding: 0 24px 44px; }
.pl-viewer {
  margin: 0;
  border: 1.5px solid rgb(var(--neutral-20));
  border-radius: var(--border-radius);
  overflow: hidden;
  background: rgb(var(--neutral-10));
}
.pl-viewer__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 10px 14px;
  background: rgb(var(--neutral-10));
  border-bottom: 1.5px solid rgb(var(--neutral-20));
}
.pl-viewer__doc { display: flex; align-items: center; gap: 10px; min-width: 0; }
.pl-viewer__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: var(--border-radius);
  background: rgb(var(--neutral-20));
  color: rgb(var(--brand-citrine));
  flex-shrink: 0;
}
.pl-viewer__title {
  font-family: "JetBrains Mono", monospace;
  font-size: 11.5px;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: rgb(var(--neutral-70));
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}
.pl-viewer__action {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 12px;
  border: 1.5px solid rgb(var(--neutral-20));
  border-radius: var(--border-radius);
  font-family: "JetBrains Mono", monospace;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: rgb(var(--brand-citrine));
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
  transition: border-color 160ms ease, background 160ms ease;
}
.pl-viewer__action:hover {
  border-color: rgb(var(--brand-citrine));
  background: rgb(var(--brand-citrine) / .08);
  color: rgb(var(--brand-citrine));
}
.pl-viewer__frame { background: rgb(var(--neutral-90)); }
.pl-viewer__frame iframe {
  display: block;
  width: 100%;
  height: clamp(420px, 78vh, 820px);
  border: none;
  background: rgb(var(--neutral-90));
}

/* ---------- ④ Overview feature blocks ---------- */
.pl-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.pl-card {
  border: 1.5px solid rgb(var(--neutral-80));
  border-radius: var(--border-radius);
  background: rgb(var(--neutral-100));
  padding: 26px 26px 28px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: border-color 160ms ease, transform 160ms ease;
}
.pl-card:hover { border-color: rgb(var(--neutral-40)); transform: translateY(-2px); }
.pl-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: var(--border-radius);
  background: rgb(var(--brand-mineral-light));
  color: rgb(var(--neutral-0));
  margin-bottom: 4px;
}
.pl-card__title {
  font-family: "PP Formula", sans-serif;
  font-weight: 500;
  font-size: 21px;
  line-height: 1.25;
  color: rgb(var(--neutral-0));
}
.pl-card p {
  margin: 0;
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 15px;
  line-height: 1.6;
  color: rgb(var(--neutral-10));
}
.pl-lede__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px;
  align-items: start;
  margin-bottom: 32px;
}
.pl-lede__grid p {
  margin: 0;
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 17px;
  line-height: 1.6;
  color: rgb(var(--neutral-10));
  text-wrap: pretty;
}
.pl-lede__grid p:first-child {
  font-size: 19px;
  line-height: 1.5;
  color: rgb(var(--neutral-0));
}

/* ---------- ③ Daily-reset flow diagram ---------- */
.pl-illus__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.65fr);
  gap: 24px;
  align-items: stretch;
}
.pl-flow {
  border: 1.5px solid rgb(var(--neutral-80));
  border-radius: var(--border-radius);
  background: rgb(var(--neutral-100));
  padding: 22px 24px 24px;
  min-width: 0;
}
.pl-flow__label { display: block; margin-bottom: 14px; }
.pl-flow__legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
  padding-bottom: 16px;
  margin-bottom: 18px;
  border-bottom: 1.5px solid rgb(var(--neutral-90));
}
.pl-flow__key {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: "JetBrains Mono", monospace;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: rgb(var(--neutral-30));
}
.pl-flow__key i {
  width: 10px;
  height: 10px;
  border-radius: 2px;
  flex-shrink: 0;
}
.pl-flow__key--u i { background: rgb(var(--neutral-30)); }
.pl-flow__key--f i { background: rgb(var(--brand-azure)); }

.pl-flow__track {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: stretch;
  gap: 8px;
}
.pl-flow__step {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 16px 16px 18px;
  border: 1.5px solid rgb(var(--neutral-90));
  border-radius: var(--border-radius);
  background: rgb(var(--neutral-99));
}
.pl-flow__step--end {
  border-color: rgb(var(--neutral-0));
  background: rgb(var(--neutral-100));
}
.pl-flow__when {
  font-family: "JetBrains Mono", monospace;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: rgb(var(--neutral-40));
  line-height: 1.4;
}
.pl-flow__vals { display: flex; flex-direction: column; gap: 8px; }
.pl-flow__v {
  font-family: "JetBrains Mono", monospace;
  font-variant-numeric: tabular-nums;
  font-size: 18px;
  line-height: 1.2;
  padding-left: 12px;
  border-left: 3px solid transparent;
}
.pl-flow__v--u { color: rgb(var(--neutral-20)); border-left-color: rgb(var(--neutral-30)); }
.pl-flow__v--f { color: rgb(var(--brand-azure)); border-left-color: rgb(var(--brand-azure)); }
.pl-flow__v--f.is-down {
  color: rgb(var(--brand-amethyst-dark));
  border-left-color: rgb(var(--brand-amethyst-dark));
}
.pl-flow__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgb(var(--neutral-50));
}
.pl-flow__reset {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 8px;
  margin-top: 6px;
}
.pl-flow__resetmark {
  grid-column: 2;
  height: 3px;
  border-radius: 2px;
  background: repeating-linear-gradient(
    90deg,
    rgb(var(--brand-citrine)) 0 6px,
    transparent 6px 11px
  );
  min-width: 34px;
}
.pl-flow__resetmark:last-child { grid-column: 4; }

.pl-illus__summary {
  border: 1.5px solid rgb(var(--neutral-80));
  border-radius: var(--border-radius);
  background: rgb(var(--brand-mineral-light));
  padding: 24px 26px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-width: 0;
}
.pl-illus__kv {
  display: flex;
  flex-direction: column;
  gap: 10px;
  font-family: "JetBrains Mono", monospace;
  font-size: 13px;
}
.pl-illus__kv > div { display: flex; justify-content: space-between; gap: 12px; }
.pl-illus__kv > div span:first-child { color: rgb(var(--neutral-30)); }
.pl-illus__kv > div span:last-child { color: rgb(var(--neutral-0)); font-variant-numeric: tabular-nums; }
.pl-illus__kv > .pl-illus__total {
  padding-top: 12px;
  border-top: 1.5px solid rgb(var(--brand-mineral));
}
.pl-illus__total span:last-child { color: rgb(var(--brand-amethyst-dark)); font-size: 17px; }
.pl-illus__summary p {
  margin: 0;
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 14px;
  line-height: 1.6;
  color: rgb(var(--neutral-10));
}

/* ---------- ⑦ Fund details ---------- */
.pl-terms {
  border: 1.5px solid rgb(var(--neutral-80));
  border-radius: var(--border-radius);
  overflow: hidden;
  background: rgb(var(--neutral-100));
}
.pl-terms__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5px;
  background: rgb(var(--neutral-80));
}
.pl-terms__cell {
  background: rgb(var(--neutral-100));
  min-width: 0;
  padding: 16px 20px 17px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  transition: background 160ms ease;
}
.pl-terms__cell:hover { background: rgb(var(--neutral-99)); }
.pl-terms__k {
  font-family: "JetBrains Mono", monospace;
  font-size: 10.5px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: rgb(var(--neutral-40));
}
.pl-terms__v {
  font-family: "JetBrains Mono", monospace;
  font-size: 14px;
  line-height: 1.45;
  color: rgb(var(--neutral-0));
  overflow-wrap: break-word;
}
.pl-terms__note {
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 12.5px;
  line-height: 1.45;
  color: rgb(var(--neutral-40));
}

/* ---------- ⑦ Key risks ---------- */
.pl-risks {
  display: flex;
  flex-direction: column;
  gap: 1.5px;
  border: 1.5px solid rgb(var(--neutral-80));
  border-radius: var(--border-radius);
  overflow: hidden;
  background: rgb(var(--neutral-80));
}
.pl-risks__row {
  background: rgb(var(--neutral-100));
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 24px;
  padding: 20px 24px;
  align-items: start;
  transition: background 160ms ease;
}
.pl-risks__row:hover { background: rgb(var(--neutral-99)); }
.pl-risks__term {
  font-family: "PP Formula", sans-serif;
  font-weight: 500;
  font-size: 18px;
  line-height: 1.3;
  color: rgb(var(--neutral-0));
  position: relative;
  padding-left: 16px;
}
.pl-risks__term::before {
  content: "";
  position: absolute;
  left: 0;
  top: 5px;
  bottom: 3px;
  width: 3px;
  border-radius: 2px;
  background: rgb(var(--brand-amethyst));
  min-height: 40px;
}
.pl-risks__row p {
  margin: 0;
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 15.5px;
  line-height: 1.6;
  color: rgb(var(--neutral-10));
  text-wrap: pretty;
}
.pl-risks__foot {
  background: rgb(var(--brand-mineral-light));
  display: flex;
  gap: 12px;
  padding: 18px 24px;
  align-items: center;
}
.pl-risks__foot p {
  margin: 0;
  font-family: "Inter", sans-serif;
  font-weight: 400;
  font-size: 15.5px;
  color: rgb(var(--neutral-0));
}
.pl-risks__foot a { color: rgb(var(--brand-azure)); }

/* ---------- Long & short pair ---------- */
.pl-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.pl-pair__card {
  border: 1.5px solid rgb(var(--neutral-80));
  border-radius: var(--border-radius);
  background: rgb(var(--neutral-100));
  padding: 28px 30px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  text-decoration: none;
  min-width: 0;
  transition: border-color 160ms ease, transform 160ms ease;
}
a.pl-pair__card:hover { border-color: rgb(var(--neutral-0)); transform: translateY(-2px); }
.pl-pair__card--current { border-color: rgb(var(--neutral-0)); }
.pl-pair__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.pl-pair__ticker {
  font-family: "PP Formula", sans-serif;
  font-weight: 500;
  font-size: 30px;
  line-height: 1.1;
  color: rgb(var(--neutral-0));
}
.pl-pair__tag {
  font-family: "JetBrains Mono", monospace;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .04em;
  padding: 5px 9px;
  border-radius: var(--border-radius);
  background: rgb(var(--brand-citrine));
  color: rgb(var(--neutral-0));
  white-space: nowrap;
}
.pl-pair__tag--short { background: rgb(var(--brand-amethyst)); }
.pl-pair__name {
  font-family: "Inter", sans-serif;
  font-weight: 400;
  font-size: 17px;
  color: rgb(var(--neutral-0));
}
.pl-pair__card p {
  margin: 0;
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 15px;
  line-height: 1.6;
  color: rgb(var(--neutral-10));
}

/* ---------- ⑧ Pre-launch registration CTA ----------
   Deliberately unlike the citrine .np-cta used on launched ETFs:
   dark surface, citrine accents, status flag. A visitor who knows the
   trading CTA should read this as a different kind of action. */
.pl-regcta {
  position: relative;
  background: rgb(var(--brand-citrine));
  border: 1.5px solid rgb(var(--brand-citrine));
  overflow: hidden;
  padding-top: 56px;
}
.pl-regcta::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  background: linear-gradient(90deg, rgb(var(--neutral-0)), rgb(var(--brand-azure)));
}
.pl-regcta__flag {
  position: absolute;
  top: 20px;
  left: 40px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: "JetBrains Mono", monospace;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: rgb(var(--neutral-0));
}
.pl-regcta__flag .pl-statusband__dot {
    background: rgb(var(--neutral-0));
}
.pl-regcta button {
  transition: filter 160ms ease;
}
.pl-regcta button:hover { filter: brightness(.94); }

/* ---------- Legal small print ---------- */
.pl-legal {
  border: 1.5px solid rgb(var(--neutral-80));
  border-radius: var(--border-radius);
  background: rgb(var(--neutral-100));
  padding: 24px 26px;
  margin-bottom: 28px;
}
.pl-legal__notice {
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 12.5px;
  line-height: 1.7;
  color: rgb(var(--neutral-30));
  margin: 0;
  padding-left: 16px;
  border-left: 2px solid rgb(var(--brand-amethyst));
}
.pl-legal h3 {
  font-family: "JetBrains Mono", monospace;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: rgb(var(--neutral-20));
  margin: 24px 0 16px;
  padding-top: 20px;
  border-top: 1.5px solid rgb(var(--neutral-90));
}
.pl-legal__body {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
}
.pl-legal__body p {
  margin: 0;
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 12.5px;
  line-height: 1.7;
  color: rgb(var(--neutral-30));
}

/* ---------- Responsive ---------- */

/* Hero aside must not widen the hero grid (np-hero__grid uses bare fr
   tracks). Desktop only — below 64rem new-product.css collapses the hero
   to one column and this override must not fight it. */
@media (min-width: 64.01rem) {
  .np-hero__grid:has(> .pl-glance) { grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); }
}

/* Hero identity row carries an extra badge here — let it wrap. */
.np-hero__idrow { flex-wrap: wrap; row-gap: 10px; }

@media (max-width: 75rem) {
  .pl-risks__row { grid-template-columns: 200px minmax(0, 1fr); gap: 20px; }
}

@media (max-width: 64rem) {
  .pl-sec { padding-top: 40px; }
  .pl-band { margin-top: 28px; }
  .pl-band .pl-sec { padding-bottom: 36px; }

  .pl-prospectus__grid,
  .pl-lede__grid,
  .pl-illus__grid,
  .pl-pair { grid-template-columns: 1fr; }

  .pl-prospectus__shell { padding-top: 32px; }
  .pl-prospectus__note { border-left: none; padding-left: 0; }
  .pl-prospectus__lead { font-size: 17px; }
  .pl-lede__grid p:first-child { font-size: 17px; }
  .pl-cards { grid-template-columns: 1fr; }
  .pl-terms__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pl-risks__row { grid-template-columns: 1fr; gap: 10px; }
  .pl-hero__name { font-size: 22px; }

  /* Flow: stack the three steps, rotate the connectors */
  .pl-flow__track { grid-template-columns: 1fr; gap: 0; }
  .pl-flow__arrow { padding: 6px 0; transform: rotate(90deg); }
  .pl-flow__reset { display: none; }

  .pl-regcta { padding: 52px 24px 32px; }
  .pl-regcta__flag { left: 24px; top: 18px; }
}

@media (max-width: 40rem) {
  .pl-glance__grid,
  .pl-terms__grid { grid-template-columns: 1fr; }
  .pl-glance { padding: 18px 18px 20px; }
  .pl-viewer__bar { padding: 8px 10px; }
  .pl-viewer__title { font-size: 10.5px; }
  .pl-viewer__action { padding: 6px 9px; font-size: 10px; }
  .pl-viewer__action svg { display: none; }
  .pl-viewer__frame iframe { height: clamp(360px, 62vh, 520px); }
  .pl-cta-btn,
  .pl-ghost-btn { width: 100%; justify-content: center; }
  .pl-flow { padding: 18px 16px 20px; }
  .pl-legal { padding: 18px 18px 20px; }
}

/* Pull the legal small print up under the registration CTA. */
.np-cta__shell { padding-bottom: 40px; }
.pl-legal { margin-top: 4px; }
