.ipo-label {
  margin: var(--space-2) 0 0;
  font-size: 0.875rem;
  color: var(--muted);
}

.ipo-label strong {
  color: var(--ink);
  font-weight: 500;
}

.ipo-stage {
  margin: 0 0 var(--space-3);
  color: var(--muted);
  font-size: 0.875rem;
}

.ipo-stage-label {
  color: var(--ink);
  font-weight: 600;
}

.ipo-timeline,
.ipo-reading,
.ipo-other {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--rule);
}

.ipo-step,
.ipo-reading li,
.ipo-other li {
  display: grid;
  grid-template-columns: 7.5rem 1fr auto;
  gap: var(--space-3);
  align-items: baseline;
  padding: var(--space-3) 0;
  border-bottom: 1px solid var(--line);
}

.ipo-reading li {
  grid-template-columns: 1fr auto;
}

.ipo-date {
  color: var(--muted);
  font-size: 0.875rem;
  font-variant-numeric: tabular-nums;
}

.ipo-form {
  color: var(--ink);
  text-decoration: none;
}

.ipo-form strong {
  font-weight: 600;
  margin-right: 0.35em;
}

.ipo-code {
  font-size: 0.8125rem;
  font-weight: 400;
  color: var(--muted);
  white-space: nowrap;
}

a.ipo-form:hover {
  color: var(--accent);
}

.ipo-marker .ipo-form {
  color: var(--ink-2);
}

.ipo-changed,
.ipo-first,
.ipo-count {
  font-size: 0.875rem;
  white-space: nowrap;
}

.ipo-first,
.ipo-count {
  color: var(--muted);
}

.ipo-subhead {
  font-family: var(--font-serif);
  font-weight: 400;
  font-size: 1.3125rem;
  line-height: 1.25;
  margin: var(--space-6, 2rem) 0 var(--space-3);
}

.ipo-source {
  margin-top: var(--space-4);
  font-size: 0.875rem;
  color: var(--muted);
}

@media (max-width: 640px) {
  .ipo-step,
  .ipo-other li {
    grid-template-columns: 1fr;
    gap: var(--space-1);
  }
}

.ipo-stories {
  list-style: none;
  margin: 0 0 var(--space-6);
  padding: 0;
  border-top: 1px solid var(--rule);
}

.ipo-stories li {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: var(--space-3);
  align-items: baseline;
  padding: var(--space-3) 0;
  border-bottom: 1px solid var(--line);
}

.ipo-stories a {
  font-family: var(--font-serif);
  font-size: var(--text-item);
  line-height: 1.25;
  font-weight: 500;
  color: var(--ink);
  text-decoration: none;
}

.ipo-stories a:hover {
  color: var(--accent);
}

.s1-story {
  max-width: var(--measure);
  margin: 0 auto var(--space-section);
}

.s1-head {
  margin-bottom: var(--space-7);
}

.s1-kicker {
  margin: var(--space-6) 0 var(--space-3);
}

.s1-headline {
  font-family: var(--font-serif);
  font-size: var(--text-headline);
  line-height: 1.12;
  font-weight: 400;
  max-width: 24ch;
  margin: 0 0 var(--space-4);
  text-wrap: balance;
}

.s1-dek {
  font-size: var(--text-lede);
  line-height: 1.5;
  color: var(--ink-2);
  max-width: var(--measure-lede);
  margin: 0 0 var(--space-4);
}

.s1-by {
  display: flex;
  align-items: center;
  gap: var(--space-3);
}

.s1-by .cx-mark {
  width: 40px;
  height: 40px;
}

.s1-by .s1-byline {
  margin: 0;
}

.s1-byline,
.s1-where,
.s1-newer {
  font-size: var(--text-small);
  color: var(--muted);
}

.s1-byline a,
.s1-where a,
.s1-newer a {
  color: var(--ink);
}

.s1-where a + a {
  margin-left: var(--space-3);
}

.s1-body p {
  font-size: var(--text-body);
  line-height: 1.6;
  color: var(--ink);
  margin: 0 0 var(--space-5);
  text-wrap: pretty;
}

.s1-cite {
  font-size: 0.7em;
  line-height: 0;
  margin-left: 1px;
}

.s1-cite + .s1-cite::before {
  content: ",";
  color: var(--muted);
}

.s1-cite a {
  color: var(--accent);
  text-decoration: none;
  font-variant-numeric: tabular-nums;
}

.s1-facts,
.s1-sources,
.s1-checked,
.s1-more {
  margin-top: var(--space-8);
}

.s1-facts dl {
  margin: 0;
  border-top: 1px solid var(--rule);
}

.s1-facts dl > div {
  display: grid;
  grid-template-columns: minmax(8rem, 1fr) 2fr;
  gap: var(--space-4);
  padding: var(--space-3) 0;
  border-bottom: 1px solid var(--line);
}

.s1-facts dt {
  color: var(--muted);
  font-size: var(--text-small);
}

.s1-facts dd {
  margin: 0;
  font-family: var(--font-serif);
  font-size: 1.125rem;
  font-variant-numeric: lining-nums tabular-nums;
}

.s1-sources ol {
  margin: 0;
  padding: 0 0 0 var(--space-5);
  border-top: 1px solid var(--rule);
}

.s1-sources li {
  padding: var(--space-4) 0;
  border-bottom: 1px solid var(--line);
  scroll-margin-top: var(--space-9);
}

.s1-sources li:target {
  background: var(--panel);
}

.s1-sources blockquote {
  margin: 0 0 var(--space-2);
  font-family: var(--font-serif);
  font-size: 1.0625rem;
  line-height: 1.5;
  color: var(--ink);
}

.s1-checked p {
  font-size: var(--text-small);
  color: var(--ink-2);
  line-height: 1.6;
}

@media (max-width: 719px) {
  .s1-facts dl > div,
  .ipo-stories li {
    grid-template-columns: 1fr;
    gap: var(--space-1);
  }
}

/* IPO hub /en/ipos */
.ipo-pills {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin: 0 0 var(--space-7);
}

.ipo-pill {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  min-height: 40px;
  padding: 0 var(--space-4);
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--ink);
  text-decoration: none;
  font-size: 0.9375rem;
}

.ipo-pill:hover {
  border-color: var(--ink-2);
}

.ipo-pill[aria-current="page"] {
  border-color: var(--ink);
  background: var(--ink);
  color: var(--paper, #fafaf7);
}

.ipo-pill-count {
  font-variant-numeric: tabular-nums;
  opacity: 0.7;
}

.ipo-group {
  margin-bottom: var(--space-section);
}

.ipo-rows {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--rule);
}

.ipo-row {
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: var(--space-4);
  padding: var(--space-5) 0;
  border-bottom: 1px solid var(--line);
}

.ipo-mark {
  position: relative;
  display: inline-flex;
  width: 40px;
  height: 40px;
  border-radius: 2px;
  overflow: hidden;
  background: var(--panel);
}

.ipo-mono {
  margin: auto;
  font-family: var(--font-serif);
  font-size: 1.375rem;
  line-height: 1;
  color: var(--ink-2);
}

.ipo-mark img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: var(--paper, #fafaf7);
}

.ipo-row-main {
  min-width: 0;
}

.ipo-row-name {
  margin: 0;
  font-family: var(--font-serif);
  font-optical-sizing: auto;
  font-size: 1.3125rem;
  line-height: 1.25;
  font-weight: 500;
}

.ipo-row-name a {
  color: var(--ink);
  text-decoration: none;
}

.ipo-row-name a:hover {
  color: var(--accent);
}

.ipo-row-name .st-ticker {
  margin-left: var(--space-2);
  font-family: var(--font-sans, inherit);
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--muted);
}

.ipo-row-meta,
.ipo-row-links {
  margin: var(--space-1) 0 0;
  font-size: 0.875rem;
  color: var(--muted);
}

.ipo-row-form {
  color: var(--ink);
  font-weight: 500;
}

.ipo-row-lead {
  margin: var(--space-2) 0 0;
  max-width: 66ch;
  color: var(--ink-2);
  text-wrap: pretty;
}

.ipo-row-links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-1) var(--space-5);
  margin-top: var(--space-3);
}

.ipo-figures {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4) var(--space-7);
  margin: var(--space-4) 0 0;
}

.s1-figures {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr));
  gap: var(--space-5) var(--space-7);
  margin: var(--space-4) 0 0;
}

.ipo-figure dt,
.s1-figure dt {
  font-size: 0.875rem;
  color: var(--muted);
}

.ipo-figure-period {
  display: block;
  font-size: 0.75rem;
}

.ipo-figure dd {
  margin: 2px 0 0;
  font-family: var(--font-serif);
  font-optical-sizing: auto;
  font-size: 1.75rem;
  font-weight: 350;
  line-height: 1;
  font-variant-numeric: lining-nums;
  color: var(--ink);
}

/* S-1 reading on the filing page */
.s1-basis {
  margin: 0 0 var(--space-5);
  color: var(--muted);
  font-size: 0.875rem;
  max-width: 66ch;
}

.s1-contents {
  margin: 0 0 var(--space-7);
  border-top: 1px solid var(--rule);
}

.s1-contents-title {
  margin: var(--space-3) 0 var(--space-2);
  font-size: 0.875rem;
  color: var(--muted);
}

.s1-contents ol {
  list-style: none;
  margin: 0;
  padding: 0;
  columns: 2 16rem;
  column-gap: var(--space-7);
}

.s1-contents li {
  break-inside: avoid;
  padding: var(--space-2) 0;
  border-bottom: 1px solid var(--line);
}

.s1-count {
  color: var(--muted);
  font-size: 0.875rem;
  margin-left: var(--space-1);
}

.s1-block,
.s1-part {
  margin: 0 0 var(--space-7);
  scroll-margin-top: var(--space-5);
}

.s1-subhead {
  margin: 0 0 var(--space-3);
  padding-top: var(--space-4);
  border-top: 1px solid var(--rule);
  font-family: var(--font-serif);
  font-optical-sizing: auto;
  font-weight: 400;
  font-size: 1.3125rem;
  line-height: 1.25;
}

.s1-terms {
  margin: 0;
}

.s1-term {
  display: grid;
  grid-template-columns: minmax(8rem, 14rem) 1fr;
  gap: var(--space-3);
  padding: var(--space-2) 0;
  border-bottom: 1px solid var(--line);
}

.s1-term dt {
  color: var(--muted);
  font-size: 0.875rem;
}

.s1-term dd {
  margin: 0;
}

.s1-term-quote {
  display: block;
  margin-top: var(--space-1);
  color: var(--muted);
  font-size: 0.875rem;
}

.s1-figure dd {
  margin: 4px 0 0;
}

.s1-figure-value {
  display: block;
  font-family: var(--font-serif);
  font-optical-sizing: auto;
  font-size: clamp(2.25rem, 1.8rem + 2vw, 3rem);
  font-weight: 350;
  line-height: 1;
  font-variant-numeric: lining-nums;
  color: var(--ink);
}

.s1-figure-period {
  display: block;
  margin-top: var(--space-1);
  font-size: 0.75rem;
  color: var(--muted);
  max-width: 18rem;
}

.s1-claims {
  margin: 0;
  padding: 0 0 0 1.25rem;
  max-width: 66ch;
}

.s1-claim {
  padding: var(--space-1) 0;
  scroll-margin-top: var(--space-5);
}

.s1-claim:target,
.s1-source:target {
  background: var(--panel);
}

.s1-pin {
  text-decoration: none;
  color: var(--accent);
  font-weight: 600;
  padding: 0 2px;
}

.s1-evidence {
  margin-top: var(--space-3);
}

.s1-evidence summary {
  cursor: pointer;
  min-height: 44px;
  display: flex;
  align-items: center;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--ink-2);
}

.s1-evidence ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

.s1-source {
  display: grid;
  grid-template-columns: 1.5rem 1fr auto;
  gap: var(--space-3);
  align-items: baseline;
  padding: var(--space-2) 0;
  border-bottom: 1px solid var(--line);
  scroll-margin-top: var(--space-5);
}

.s1-source-n {
  color: var(--accent);
  font-weight: 600;
  font-size: 0.875rem;
}

.s1-source blockquote {
  margin: 0;
  font-size: 0.9375rem;
  color: var(--ink-2);
}

.s1-source mark {
  background: color-mix(in srgb, var(--accent) 14%, transparent);
  color: inherit;
}

.s1-back {
  font-size: 0.875rem;
  white-space: nowrap;
}

.s1-note {
  margin: var(--space-3) 0 0;
  font-size: 0.875rem;
  color: var(--muted);
  max-width: 66ch;
}

@media (max-width: 640px) {
  .ipo-row {
    grid-template-columns: 32px 1fr;
    gap: var(--space-3);
  }

  .ipo-mark {
    width: 32px;
    height: 32px;
  }

  .s1-term {
    grid-template-columns: 1fr;
    gap: var(--space-1);
  }

  .s1-source {
    grid-template-columns: 1.25rem 1fr;
  }

  .s1-back {
    grid-column: 2;
  }
}

.ipo-row-story {
  margin: var(--space-2) 0 0;
}

.ipo-row-story a {
  font-family: var(--font-serif);
  font-size: 1.0625rem;
  line-height: 1.35;
  color: var(--ink);
  text-decoration: none;
  border-bottom: 1px solid var(--line);
}

.ipo-row-story a:hover {
  color: var(--accent);
  border-color: var(--accent);
}
