:root{
  /* Implementation defaults. Exact production font/color tokens remain configurable. */
  --q-blue:#1f5eff; --q-text:#111827; --q-muted:#667085; --q-line:#e5e7eb; --q-soft:#f8fafc;
  --q-green:#14804a; --q-amber:#b54708; --q-red:#b42318;
  --q-sans:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --q-serif:ui-serif,Georgia,Cambria,"Times New Roman",serif;
  --q-shell:1180px; --q-reading:760px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;color:var(--q-text);font-family:var(--q-sans);background:#fff;line-height:1.55} a{color:inherit;text-decoration:none} img{max-width:100%;height:auto;display:block}.site-shell{width:min(calc(100% - 48px),var(--q-shell));margin-inline:auto}.site-header{border-bottom:1px solid var(--q-line);background:#fff;position:relative;z-index:20}.header-inner{min-height:68px;display:flex;align-items:center;gap:36px}.brand{font-size:23px;font-weight:800;letter-spacing:-.04em}.brand strong{color:var(--q-blue)}.primary-nav{margin-left:auto;display:flex;align-items:center;gap:28px;font-size:14px}.primary-nav a:hover,.text-link{color:var(--q-blue)}.nav-toggle{display:none;margin-left:auto;background:none;border:0;font:inherit}.site-footer{margin-top:80px;border-top:1px solid var(--q-line);padding:36px 0;color:var(--q-muted)}.fine-print{font-size:12px;max-width:900px}.two-col{display:grid;grid-template-columns:1.15fr .85fr;gap:70px}.hero{padding-block:90px 80px}.hero h1,.page-intro h1,.ipo-title-block h1,.article-header h1{font-family:var(--q-serif);font-size:clamp(44px,5vw,74px);line-height:1.02;letter-spacing:-.035em;margin:0 0 20px}.hero-support{font-size:22px}.benefit-list p{padding:16px 0;border-bottom:1px solid var(--q-line);margin:0}.benefit-list strong{display:block;font-size:17px}.benefit-list span{display:block;color:var(--q-muted);margin-top:3px}.section-block{padding-block:56px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px}.section-head h2,.story-section h2,.reading-section h2,.latest-title{font-family:var(--q-serif);font-size:34px;line-height:1.1;margin:0 0 24px}.filter-line{display:flex;gap:28px;overflow:auto;padding:14px 0 18px;border-bottom:1px solid var(--q-line);white-space:nowrap}.filter-line .active{color:var(--q-blue);border-bottom:2px solid var(--q-blue);padding-bottom:16px}.ipo-table{width:100%}.ipo-row{display:grid;grid-template-columns:2.1fr .8fr .9fr 1.1fr 1fr 1fr .9fr;gap:18px;align-items:center;padding:18px 0;border-bottom:1px solid var(--q-line);font-size:14px}.ipo-head{font-size:11px;font-weight:700;color:var(--q-muted);letter-spacing:.03em}.ipo-company a{font-weight:750;font-size:16px}.ipo-company small{display:block;color:var(--q-muted);font-size:12px;margin-top:3px}.table-note,.meta-line{font-size:12px;color:var(--q-muted)}.story-grid{display:grid;gap:30px}.story-grid-3{grid-template-columns:repeat(3,1fr)}.story-card{border-right:1px solid var(--q-line);padding-right:24px}.story-card:last-child{border-right:0}.story-image{aspect-ratio:16/9;overflow:hidden;background:var(--q-soft)}.story-image img{width:100%;height:100%;object-fit:cover}.story-kicker,.section-label{font-size:12px;color:var(--q-blue);font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin:18px 0 8px}.story-card h3{font-family:var(--q-serif);font-size:28px;line-height:1.12;margin:6px 0 12px}.featured-story h2{font-family:var(--q-serif);font-size:42px;line-height:1.08;margin:6px 0 16px}.page-intro{padding-block:68px 28px}.page-intro p{font-size:20px;color:var(--q-muted);max-width:760px}.directory-search,.faq-search{display:flex;gap:10px;margin:30px 0}.directory-search input,.faq-search input{flex:1;min-height:48px;border:1px solid var(--q-line);padding:0 15px;font:inherit}.directory-search button,.faq-search button{border:0;background:var(--q-blue);color:#fff;padding:0 22px}.pagination{display:flex;justify-content:center;gap:12px;padding:40px 0}.pagination .page-numbers{padding:7px 10px}.pagination .current{color:var(--q-blue)}.ipo-title-block{padding-top:68px;padding-bottom:24px}.ipo-title-block h1{font-size:clamp(42px,4.2vw,64px)}.ipo-subtitle{font-size:20px;color:var(--q-muted);margin:0}.fact-strip{font-weight:700}.story-section{padding-block:54px;border-top:1px solid var(--q-line)}.story-section>h2{max-width:900px}.article-copy{font-family:var(--q-serif);font-size:18px;line-height:1.68}.changed-today h2{font-size:42px}.live-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin:30px 0}.live-facts span{border-top:2px solid var(--q-text);padding-top:10px;color:var(--q-muted)}.live-facts b{display:block;color:var(--q-text);font-size:26px}.meaning-line{font-weight:700;color:var(--q-blue)}.summary-list{max-width:900px}.summary-item{display:flex;gap:15px;padding:15px 0;border-bottom:1px solid var(--q-line)}.summary-item p{margin:4px 0 0;color:var(--q-muted)}.signal-dot{width:10px;height:10px;border-radius:50%;background:#98a2b3;margin-top:7px;flex:0 0 auto}.summary-positive .signal-dot{background:var(--q-green)}.summary-risk .signal-dot{background:var(--q-red)}.summary-watch .signal-dot{background:var(--q-amber)}.comparison-scroll{overflow-x:auto}.comparison-scroll table{width:100%;min-width:760px;border-collapse:collapse}.comparison-scroll th,.comparison-scroll td{padding:14px 16px;border-bottom:1px solid var(--q-line);text-align:left;vertical-align:top}.comparison-scroll thead th{background:var(--q-soft)}.research-reading-wrap{width:min(calc(100% - 40px),var(--q-reading));margin-inline:auto}.research-jump{position:sticky;top:0;z-index:15;background:rgba(255,255,255,.96);display:flex;gap:28px;overflow-x:auto;border-block:1px solid var(--q-line);padding:14px 0;white-space:nowrap}.research-jump a{color:var(--q-blue);font-weight:700}.reading-section{padding:72px 0;border-bottom:1px solid var(--q-line)}.reading-section h2{font-family:var(--q-serif);font-size:42px;line-height:1.08;margin:8px 0 24px}.section-number{font-weight:800;color:var(--q-blue)}.section-conclusion{font-family:var(--q-serif);font-weight:700;font-size:18px}.hundred-view{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;margin:38px 0;padding:26px 0;border-block:1px solid var(--q-line)}.hundred-view b{display:block;color:var(--q-blue);font-size:76px;line-height:1}.hundred-view strong{color:var(--q-blue);font-size:24px}.big-risks{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:38px 0}.big-risks>div{padding-right:24px;border-right:1px solid var(--q-line)}.big-risks>div:last-child{border-right:0}.big-risks b{display:block;font-family:var(--q-serif);font-size:58px;color:var(--q-blue)}.big-risks span{font-family:var(--q-serif);font-size:18px}.bottom-nav{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;padding-block:32px;border-top:1px solid var(--q-line)}.bottom-nav>*:last-child{text-align:right}.promise-table{width:100%}.promise-row{display:grid;grid-template-columns:1.5fr .7fr 2fr 1fr 1.1fr;gap:18px;padding:17px 0;border-bottom:1px solid var(--q-line)}.promise-head{font-size:12px;font-weight:800;color:var(--q-muted)}.checkpoint{font-size:24px}.result-compare{gap:30px}.giant-question{font-family:var(--q-serif);font-size:42px;line-height:1.1}.giant-answer{font-size:50px;font-weight:800;color:var(--q-blue)}.research-archive{padding-bottom:50px}.featured-story{padding:30px 0 50px;border-bottom:1px solid var(--q-line)}.featured-story .story-image{aspect-ratio:16/9}.latest-title{margin-top:46px}.editorial-article .article-header{max-width:1180px}.article-header h1{font-size:clamp(44px,5vw,72px);max-width:930px}.article-deck{font-family:var(--q-serif);font-size:23px;line-height:1.35;max-width:850px}.article-featured-image{margin:36px 0}.article-reading{width:min(calc(100% - 40px),var(--q-reading));margin:0 auto;font-family:var(--q-serif);font-size:18px;line-height:1.7}.article-reading h2,.article-reading h3{font-family:var(--q-serif);line-height:1.15}.faq-page{max-width:1180px}.faq-page>h1{max-width:760px}.faq-list{margin-top:30px}.faq-item{border-bottom:1px solid var(--q-line)}.faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;gap:24px;text-align:left;background:none;border:0;padding:18px 0;font-family:var(--q-serif);font-size:24px;font-weight:700;cursor:pointer}.faq-answer{max-width:900px;padding:0 0 20px;font-size:17px;color:#344054}.faq-more{margin:70px 0;padding:28px;border:1px solid var(--q-line);font-size:18px}.empty-state{padding:30px 0;color:var(--q-muted)}
@media(max-width:900px){.site-shell{width:min(calc(100% - 40px),var(--q-shell))}.nav-toggle{display:block}.primary-nav{display:none;position:absolute;left:0;right:0;top:68px;background:#fff;border-bottom:1px solid var(--q-line);padding:20px;flex-direction:column;align-items:flex-start}.primary-nav.is-open{display:flex}.two-col{grid-template-columns:1fr;gap:34px}.hero{padding-block:60px}.story-grid-3{grid-template-columns:1fr 1fr}.ipo-row{grid-template-columns:2fr 1fr 1fr 1fr}.ipo-row>div:nth-child(5),.ipo-row>div:nth-child(6),.ipo-head>div:nth-child(5),.ipo-head>div:nth-child(6){display:none}.live-facts{grid-template-columns:1fr 1fr}.promise-row{grid-template-columns:1.5fr 1fr 1fr}.promise-row>div:nth-child(2),.promise-row>div:nth-child(5){display:none}}
@media(max-width:620px){.site-shell{width:min(calc(100% - 40px),var(--q-shell))}.hero h1,.page-intro h1,.ipo-title-block h1,.article-header h1{font-size:44px}.hero-support{font-size:19px}.section-head{align-items:flex-start;flex-direction:column}.story-grid-3{grid-template-columns:1fr}.story-card{border-right:0;border-bottom:1px solid var(--q-line);padding:0 0 28px}.ipo-head{display:none}.ipo-row{grid-template-columns:1.6fr 1fr;gap:9px 16px}.ipo-row>div{display:block!important}.ipo-row>div:nth-child(4),.ipo-row>div:nth-child(5),.ipo-row>div:nth-child(6){font-size:12px}.live-facts{grid-template-columns:1fr 1fr}.reading-section{padding:56px 0}.reading-section h2{font-size:36px}.hundred-view,.big-risks{grid-template-columns:1fr}.big-risks>div{border-right:0;border-bottom:1px solid var(--q-line);padding-bottom:20px}.bottom-nav{grid-template-columns:1fr 1fr}.bottom-nav span{display:none}.promise-row{grid-template-columns:1fr 1fr}.promise-row>div:nth-child(3){grid-column:1/-1}.faq-question{font-size:21px}}

.hundred-note{display:inline-block;margin-top:10px;color:var(--q-muted);font-size:14px;max-width:330px}
.growth-visual{margin:38px 0 18px;padding:22px 0;border-block:1px solid var(--q-line)}
.growth-visual figcaption{font-family:var(--q-serif);font-size:18px;font-weight:700;margin-bottom:10px}
.growth-legend{display:flex;gap:18px;font-size:12px;color:var(--q-muted);margin-bottom:20px}.growth-legend span:before{content:"";display:inline-block;width:9px;height:9px;margin-right:6px;background:var(--q-blue)}.growth-legend .pat:before{background:#466bba}.growth-legend .ocf:before{background:#8aa0c8}
.growth-bars{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;min-height:250px;align-items:end}.growth-year{text-align:center}.growth-cluster{height:205px;display:flex;align-items:flex-end;justify-content:center;gap:8px;border-bottom:1px solid var(--q-line)}.growth-bar-wrap{height:100%;width:28%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;position:relative}.growth-value{font-size:11px;margin-bottom:5px}.growth-bar{display:block;width:100%;height:var(--bar);background:var(--q-blue);min-height:4px}.growth-bar.pat{background:#466bba}.growth-bar.ocf{background:#8aa0c8}.growth-bar.negative{transform:translateY(16px);outline:2px solid #fff}.growth-year>strong{display:block;margin-top:22px;font-size:13px}
@media(max-width:620px){.growth-bars{gap:10px}.growth-bar-wrap{width:30%}.growth-value{font-size:9px}.growth-legend{flex-wrap:wrap}}
.hundred-verification-note{display:block;margin-top:12px;max-width:34rem;color:var(--q-muted);font-size:.82rem;line-height:1.45}.hundred-note{display:inline-block;margin-top:8px}.fact-strip{font-variant-numeric:tabular-nums}

/* v1.3 visual-QA hardening: no public redesign; improves functional filters and mobile row comprehension. */
.filter-line a.active{color:var(--q-blue);border-bottom:2px solid var(--q-blue);padding-bottom:16px}
@media(max-width:620px){
  .ipo-row{padding:20px 0}
  .ipo-row>.ipo-company{grid-column:1/-1;margin-bottom:4px}
  .ipo-row>div:not(.ipo-company)::before{content:attr(data-label);display:block;font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--q-muted);font-weight:700;margin-bottom:2px}
  .ipo-row>.sparkline::before{content:attr(data-label)}
  .ipo-row>.ipo-action{grid-column:1/-1;margin-top:4px}
}

/* v1.4 homepage data/source clarity */
.ipo-company .ipo-source-meta{margin-top:6px;max-width:285px;font-size:10.5px;line-height:1.35;color:var(--q-muted);font-weight:500}
.table-note{margin-top:10px}
@media(max-width:620px){.ipo-company .ipo-source-meta{font-size:10px;max-width:none}}

/* v1.5 editorial QA: image-only Featured Images, consistent crops, and archive metadata. */
.research-strip .story-image,.research-archive .story-image{border:1px solid var(--q-line)}
.research-strip .story-image img,.research-archive .story-image img{object-position:center center}
.research-archive .meta-line{margin-top:14px}

@media(max-width:620px){.featured-story h2{font-size:34px}}

/* v1.6 Research & Help QA fixes: keep article cards in normal flow and give the footer a clean hand-off. */
.research-archive{padding-bottom:96px}
.research-archive .story-grid{align-items:stretch;margin-bottom:32px}
.research-archive .story-card{min-width:0;display:flex;flex-direction:column}
.research-archive .story-card>p:not(.meta-line){margin-bottom:16px}
.research-archive .story-card .meta-line{margin-top:auto;padding-top:10px}
.site-footer{position:relative;z-index:2;background:#fff;clear:both;margin-top:96px}
@media(max-width:900px){.research-archive{padding-bottom:80px}.site-footer{margin-top:80px}}
@media(max-width:620px){.research-archive{padding-bottom:64px}.research-archive .story-grid{margin-bottom:18px}.site-footer{margin-top:64px}}

/* v1.7 homepage Research & Help flow fix.
   Featured-image anchors are block boxes so their 16:9 height participates in
   normal document flow. This prevents the homepage footer from beginning while
   the three story cards are still visually extending below their parent. */
.story-image{display:block;width:100%;position:relative}
.research-strip{padding-bottom:96px}
.research-strip .story-grid{align-items:stretch}
.research-strip .story-card{min-width:0;display:flex;flex-direction:column}
.research-strip .story-card .story-image{flex:0 0 auto}
.research-strip .story-card h3{margin-bottom:14px}
.research-strip .story-card>.text-link{margin-top:auto;padding-top:2px}
@media(max-width:900px){.research-strip{padding-bottom:80px}}
@media(max-width:620px){.research-strip{padding-bottom:64px}.research-strip .story-card>.text-link{margin-top:0}}


/* v1.8 homepage footer/flow fix + cache-bust.
   Keep the homepage Research & Help section in ordinary document flow so the
   footer cannot begin until all three stories have fully ended. */
.research-strip{
  display:flow-root;
  padding-top:56px;
  padding-bottom:96px;
  overflow:visible;
}
.research-strip .story-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:start;
  gap:30px;
  margin:0;
}
.research-strip .story-card{
  min-width:0;
  height:auto;
  overflow:visible;
  display:block;
  padding-bottom:8px;
}
.research-strip .story-image{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
}
.research-strip .story-kicker{margin-top:18px}
.research-strip .story-card h3{
  display:block;
  margin:6px 0 12px;
  overflow:visible;
}
.research-strip .story-card>.text-link{
  display:inline-block;
  margin:0;
  padding:0;
}
body.home .site-footer{
  position:relative;
  clear:both;
  margin-top:0;
}
@media(max-width:900px){
  .research-strip{padding-bottom:80px}
  .research-strip .story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .research-strip{padding-bottom:64px}
  .research-strip .story-grid{grid-template-columns:1fr}
}

/* v1.9 article QA: finish the reading experience with real next-article
   navigation and restrained related reading. No change to the locked article
   hierarchy or typography. */
.article-bottom-nav{
  grid-template-columns:1fr minmax(280px,520px);
  align-items:start;
  margin-top:34px;
  padding-block:32px;
}
.article-bottom-nav .next-reading{
  justify-self:end;
  text-align:right;
  color:var(--q-blue);
  max-width:520px;
}
.article-bottom-nav .next-reading span{
  display:block;
  font-size:13px;
  font-weight:700;
  margin-bottom:4px;
}
.article-bottom-nav .next-reading strong{
  display:block;
  color:var(--q-text);
  font-family:var(--q-serif);
  font-size:18px;
  line-height:1.25;
}
.related-reading{
  padding:46px 0 84px;
  border-top:1px solid var(--q-line);
}
.related-reading>h2{
  margin:0 0 24px;
  font-family:var(--q-serif);
  font-size:30px;
  line-height:1.1;
}
.related-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:32px;
  max-width:860px;
}
.related-story{min-width:0}
.related-image{
  display:block;
  aspect-ratio:16/9;
  overflow:hidden;
  border:1px solid var(--q-line);
  background:var(--q-soft);
}
.related-image img{width:100%;height:100%;object-fit:cover}
.related-story .story-kicker{margin-top:14px}
.related-story h3{
  margin:6px 0 0;
  font-family:var(--q-serif);
  font-size:24px;
  line-height:1.15;
}
.editorial-article+.site-footer{margin-top:0}
@media(max-width:620px){
  .article-bottom-nav{grid-template-columns:1fr;gap:22px}
  .article-bottom-nav .next-reading{justify-self:start;text-align:left}
  .related-reading{padding-bottom:64px}
  .related-grid{grid-template-columns:1fr}
}

/* v1.10 FAQ QA refinements */
.faq-chevron{transition:transform .18s ease;flex:0 0 auto}.faq-question[aria-expanded="true"] .faq-chevron{transform:rotate(180deg)}
@media(max-width:620px){.faq-search{align-items:stretch}.faq-search input{min-width:0}.faq-search button{min-height:48px}.faq-page .filter-line{margin-right:-20px;padding-right:20px}}


/* v1.11 mobile IPO QA: keep the locked editorial design while fixing
   sticky-navigation collisions and making the Similar IPO comparison obvious
   and usable on a narrow phone. */
.comparison-hint{display:none}
.reading-section{scroll-margin-top:78px}
.admin-bar .research-jump{top:32px}

@media(max-width:782px){
  .admin-bar .research-jump{top:46px}
}

@media(max-width:620px){
  /* Keep every Full Research destination visible without a mystery sideways scroll. */
  .research-jump{
    gap:0;
    justify-content:space-between;
    overflow:visible;
    padding:12px 0;
  }
  .research-jump a{font-size:13px;line-height:1.2}
  .reading-section{scroll-margin-top:76px}

  /* Similar IPOs remains a true comparison table on mobile. */
  .comparison-hint{
    display:block;
    margin:0 0 10px;
    color:var(--q-muted);
    font-size:12px;
  }
  .comparison-scroll{
    margin-right:-20px;
    padding-right:20px;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-inline:contain;
  }
  .comparison-scroll table{min-width:760px}
  .comparison-scroll th:first-child{
    position:sticky;
    left:0;
    z-index:2;
    min-width:116px;
    background:#fff;
    box-shadow:1px 0 0 var(--q-line);
  }
  .comparison-scroll thead th:first-child{
    z-index:3;
    background:var(--q-soft);
  }

  /* Evidence is part of the product, so do not let source/update text become tiny. */
  .changed-today .meta-line{font-size:11.5px;line-height:1.45}
  .ipo-company .ipo-source-meta{font-size:11px;line-height:1.35}
}


/* v1.12 mobile IPO QA: on narrow screens the Full Research jump bar is
   intentionally inline rather than sticky. This prevents it from covering
   paragraph lines and chart headings while the reader scrolls. Desktop keeps
   the sticky jump navigation. */
@media(max-width:782px){
  .research-jump{
    position:static !important;
    top:auto !important;
    background:#fff;
  }
  .reading-section{scroll-margin-top:24px}
}
