:root { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; color: #161718; background: #fff; font-synthesis: none; -webkit-font-smoothing: antialiased; }
* { box-sizing: border-box; }
body { margin: 0; }
button, summary, a { -webkit-tap-highlight-color: transparent; }
button, summary { cursor: pointer; }
button { font: inherit; }
:focus-visible { outline: 3px solid #2929ff; outline-offset: 5px; }
.skip-link { position: absolute; top: -60px; left: 20px; padding: 12px; background: #fff; z-index: 2; }
.skip-link:focus { top: 12px; }
/* Site header, set like a news site's: the wordmark and section links above a hairline. */
.front-width { width: min(1080px, calc(100% - 48px)); margin: 0 auto; }
.site-header { margin-bottom: 44px; }
.site-header-main { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 28px 0 20px; border-bottom: 1px solid #161718; }
.site-wordmark { margin: 0; font-size: 36px; font-weight: 780; letter-spacing: -1.7px; line-height: 1; }
.site-wordmark a { color: inherit; text-decoration: none; }
.site-header nav ul { display: flex; gap: 28px; margin: 0; padding: 0; list-style: none; }
.site-header nav a { color: #161718; font-size: 14px; font-weight: 550; text-decoration: none; white-space: nowrap; }
.site-header nav a:hover { text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 1px; }
.demo-dot { display: inline-block; width: 5px; height: 5px; border-radius: 50%; background: #2525ff; }
h1 { margin: 17px 0 11px; font-size: 50px; font-weight: 780; letter-spacing: -2.4px; line-height: 1.15; }
.brand-dot { color: #2424ff; }
.page-content { width: min(600px, calc(100% - 48px)); margin: 0 auto; }
.confirmation { width: min(600px, calc(100% - 32px)); margin: 16px auto 0; }
.ranking-meta { display: flex; align-items: center; justify-content: space-between; padding: 0 6px; margin-bottom: 15px; gap: 12px; }
.ranking-meta h2 { margin: 0; font-size: 11px; text-transform: uppercase; letter-spacing: 1.3px; font-weight: 650; }
.ranking-meta > span { color: #929397; font-size: 11px; }
.ranking-layout { position: relative; }
.ranking-card { background: #fff; border: 1px solid #e9e9ed; border-radius: 26px; padding: 14px 32px; box-shadow: 0 5px 10px #20204005, 0 15px 50px #2020400c; }
.startup-list { margin: 0; padding: 0; list-style: none; }
.startup-row { display: grid; grid-template-columns: 22px 40px minmax(0, 1fr) 58px; column-gap: 13px; align-items: center; padding: 18px 0; position: relative; }
.startup-row + .startup-row { border-top: 1px solid #f3f3f5; }
.rank { color: #85858b; font-size: 12px; font-variant-numeric: tabular-nums; }
.company-mark { width: 40px; height: 40px; display: flex; justify-content: center; align-items: center; background: #2323ff; color: #fff; font-size: 29px; font-weight: 750; letter-spacing: -2px; overflow: hidden; border-radius: 2px; }
.mark-almedia { font-family: Georgia, serif; font-style: italic; font-size: 43px; padding-bottom: 5px; }
.mark-aignostics { background: #172921; color: #cefb87; font-size: 21px; letter-spacing: -2px; }
.mark-n26 { background: #d2e5de; color: #1e4842; font-size: 14px; letter-spacing: -1px; }
.mark-parloa { background: #6547ed; font-size: 28px; }
.mark-sennder { background: #ff613c; font-size: 34px; font-style: italic; }
.mark-enpal { background: #ffefb6; color: #313716; font-size: 23px; }
.mark-trade-republic { background: #141414; font-size: 17px; }
.mark-deepset { background: #244577; font-size: 31px; }
.mark-personio { background: #eee1fb; color: #5c2e90; font-size: 36px; }
.mark-ecosia { background: #dff1c4; color: #306941; font-size: 36px; font-family: Georgia, serif; }
.company-mark.has-logo { background: #fff; }
.company-mark.has-logo img { display: block; width: 100%; height: 100%; object-fit: contain; }
.company-info { min-width: 0; }
.company-title { display: flex; align-items: center; gap: 12px; }
h3 { margin: 0; font-size: 16px; letter-spacing: -.3px; font-weight: 650; }
.movement { font-size: 10px; font-weight: 600; white-space: nowrap; }
.up { color: #099945; }.down { color: #a58b7f; }.steady { color: #96969b; }.new { color: #4949dc; font-size: 8px; letter-spacing: .4px; background: #f0f0ff; padding: 3px 4px; border-radius: 3px; }
.company-description { margin: 4px 0 0; font-size: 11.5px; color: #6b6b72; line-height: 1.4; }
.why-button { background: white; font-family: inherit; display: flex; align-items: center; justify-content: center; gap: 7px; list-style: none; border: 1px solid #dedee3; border-radius: 12px; color: #818187; font-size: 11px; height: 32px; scroll-margin: 16px; transition: background .15s, color .15s; }
summary::-webkit-details-marker { display: none; }
.why-button:hover { color: #2424ff; background: #f7f7ff; border-color: #bbbbfa; }
.chevron { border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; width: 5px; height: 5px; transform: translateY(-2px) rotate(45deg); transition: transform .28s cubic-bezier(.2, .7, .2, 1); }
.why-button[aria-expanded="true"] .chevron { transform: translateY(1px) rotate(225deg); }
.why-button[aria-expanded="true"] { background: #f3f3ff; color: #2424dd; border-color: #dadaff; }
/* The panel stays mounted so its height can animate: a one-row grid moves between 1fr and 0fr. Opening eases out over
   280ms; closing is quicker, and visibility flips only after the fade so collapsed news is not find-in-page text. */
.why-content { grid-column: 2 / -1; display: grid; grid-template-rows: 1fr; opacity: 1; visibility: visible; border-radius: 10px; transition: grid-template-rows .28s cubic-bezier(.2, .7, .2, 1), opacity .22s ease-out, visibility 0s; }
.why-content.is-collapsed { grid-template-rows: 0fr; opacity: 0; visibility: hidden; transition: grid-template-rows .2s cubic-bezier(.4, 0, .6, 1), opacity .15s ease-in, visibility 0s .2s; }
/* Clips the content while the row shrinks; the 3px inset keeps focus outlines visible. */
.why-inner { min-height: 0; overflow: hidden; margin: -3px; padding: 3px; transition: transform .28s cubic-bezier(.2, .7, .2, 1); }
.why-inner::before { content: ""; display: block; height: 17px; }
.why-content.is-collapsed .why-inner { transform: translateY(-4px); transition-duration: .2s; }
.category { display: block; margin-bottom: 16px; color: #4b4bc7; font-size: 9px; letter-spacing: .8px; text-transform: uppercase; font-weight: 650; }
.news-story { border-top: 1px solid #e6e6f0; padding-top: 12px; }
.story-meta { color: #7c7c89; font-size: 9px; }
h4 { font-size: 12px; line-height: 1.6; font-weight: 550; margin: 6px 0 0; }
.margin-note { position: absolute; top: 58px; left: calc(100% + 54px); width: 225px; color: #6c7d96; }
.margin-note p { margin: 0; font-size: 22px; line-height: 1.2; letter-spacing: -.65px; font-weight: 650; transform: rotate(-4deg); }
.note-arrow { display: block; width: 107px; height: 84px; margin: 13px 0 0 -20px; }
footer { text-align: center; padding: 29px 0 36px; }
/* Newsletter sign-up, docked to the bottom of the screen: it slides up with a slight overshoot once the reader scrolls,
   then its title, pill and fine print follow in turn and a sheen crosses the button once. Hidden, it is out of the tab
   order. The form's children join the bar's grid, so on wide screens the privacy link sits under the title beside the
   pill and never adds a row; on phones title, pill and link stack. A status message takes the link's place. */
.page-end { padding-bottom: 150px; }
.newsletter-bar { position: fixed; z-index: 10; left: 50%; bottom: 20px; width: min(780px, calc(100% - 32px)); margin: 0; padding: 14px 60px 14px 24px; background: rgb(255 255 255 / 94%); -webkit-backdrop-filter: saturate(1.4) blur(14px); backdrop-filter: saturate(1.4) blur(14px); border: 1px solid #e6e6ea; border-radius: 20px; box-shadow: 0 18px 40px rgb(20 20 40 / 14%), 0 2px 8px rgb(20 20 40 / 6%); transform: translate(-50%, calc(100% + 48px)); opacity: 0; visibility: hidden; transition: transform .45s cubic-bezier(.4, 0, 1, 1), opacity .3s ease, visibility 0s linear .45s; }
.newsletter-bar.is-shown { transform: translate(-50%, 0); opacity: 1; visibility: visible; transition: transform .7s cubic-bezier(.2, 1.35, .4, 1), opacity .35s ease, visibility 0s; }
.newsletter-bar .pb-email-signup { grid-template-columns: minmax(0, 1fr) minmax(0, 380px); grid-template-areas: "title pill" "sub pill"; align-items: center; justify-items: start; column-gap: 24px; row-gap: 2px; text-align: left; }
.newsletter-bar .pb-email-signup form { display: contents; }
.newsletter-bar .pb-email-signup-title { grid-area: title; align-self: end; white-space: nowrap; }
.newsletter-bar .pb-email-signup-pill { grid-area: pill; max-width: none; transition: border-color .3s ease, box-shadow .3s ease; }
.newsletter-bar :is(.pb-email-signup-message, .pb-email-signup-privacy) { grid-area: sub; align-self: start; margin-top: 0; }
.newsletter-bar .pb-email-signup-message:not(:empty) { margin-top: 0; animation: newsletter-in .3s cubic-bezier(.2, .8, .2, 1) both; }
.newsletter-bar .pb-email-signup-message:not(:empty) ~ .pb-email-signup-privacy { display: none; }
.newsletter-bar .pb-email-signup:has(.pb-success) .pb-email-signup-pill { border-color: var(--pb-success); box-shadow: 0 0 0 3px var(--pb-success-tint); animation: newsletter-pop .45s cubic-bezier(.2, 1.4, .4, 1); }
.newsletter-bar.is-shown :is(.pb-email-signup-title, .pb-email-signup-privacy) { animation: newsletter-in .5s .2s cubic-bezier(.2, .8, .2, 1) both; }
.newsletter-bar.is-shown .pb-email-signup-pill { animation: newsletter-grow .55s .28s cubic-bezier(.2, 1.2, .4, 1) both; }
.newsletter-bar .pb-email-signup-pill .pb-button { position: relative; overflow: hidden; }
.newsletter-bar .pb-email-signup-pill .pb-button::after { content: ""; position: absolute; inset: 0; background: linear-gradient(105deg, transparent 30%, rgb(255 255 255 / 85%) 50%, transparent 70%); transform: translateX(-120%); pointer-events: none; }
.newsletter-bar.is-shown .pb-email-signup-pill .pb-button::after { animation: newsletter-sheen .9s .85s ease-in-out; }
@keyframes newsletter-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@keyframes newsletter-grow { from { opacity: 0; transform: scale(.94); } to { opacity: 1; transform: none; } }
@keyframes newsletter-sheen { from { transform: translateX(-120%); } to { transform: translateX(120%); } }
@keyframes newsletter-pop { 40% { transform: scale(1.025); } }
.newsletter-close { position: absolute; top: 50%; right: 14px; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; padding: 0; border: 0; border-radius: 50%; background: none; color: #6e6e76; font-size: 22px; line-height: 1; transform: translateY(-50%); transition: background .2s ease, color .2s ease, transform .2s ease; }
.newsletter-close:hover { background: #f2f2f4; color: #161718; transform: translateY(-50%) rotate(90deg); }
@media (max-width: 640px) {
  .newsletter-bar { bottom: 12px; width: calc(100% - 24px); padding: 12px 12px 10px 16px; border-radius: 18px; }
  .newsletter-bar .pb-email-signup { grid-template-columns: minmax(0, 1fr); grid-template-areas: "title" "pill" "sub"; row-gap: 8px; }
  .newsletter-bar .pb-email-signup-title { align-self: center; min-height: 32px; display: flex; align-items: center; padding-right: 36px; font-size: 14px; white-space: normal; }
  .newsletter-bar .pb-email-signup-privacy { justify-self: center; }
  .newsletter-close { top: 12px; right: 10px; transform: none; }
  .newsletter-close:hover { transform: rotate(90deg); }
}
@media (prefers-reduced-motion: reduce) {
  .newsletter-bar, .newsletter-bar.is-shown { transform: translate(-50%, 0); transition: opacity .2s ease, visibility 0s; }
  .newsletter-bar:not(.is-shown) { transition: opacity .2s ease, visibility 0s linear .2s; }
  .newsletter-bar *, .newsletter-bar *::after { animation: none !important; }
  .newsletter-close:hover { transform: translateY(-50%); }
}
@media (prefers-reduced-motion: reduce) and (max-width: 640px) {
  .newsletter-close:hover { transform: none; }
}
.newsletter-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.demo-label { display: flex; justify-content: center; align-items: center; gap: 6px; color: #88888f; font-size: 10px; }
.demo-dot { background: #b5b5bd; width: 4px; height: 4px; }
footer > p { font-size: 10px; color: #a0a0a7; margin: 9px 0 13px; }
.footer-privacy { font-size: 10px; color: #717179; text-underline-offset: 3px; }
.footer-privacy:hover { color: #161718; }
.status-message { padding: 100px 20px; text-align: center; font-size: 14px; color: #777; }
.status-message button { padding: 10px 18px; background: #2424ff; border: 0; border-radius: 8px; color: white; }
@media (max-width: 1180px) { .margin-note { display: none; } }
@media (max-width: 640px) {
 .front-width { width: auto; margin: 0 20px; }
 .site-header { margin-bottom: 28px; }
  .site-header-main { flex-direction: column; align-items: flex-start; gap: 14px; padding: 22px 0 0; }
 .site-wordmark { font-size: 32px; letter-spacing: -1.5px; }
 .site-header nav { width: 100%; overflow-x: auto; scrollbar-width: none; }
 .site-header nav ul { gap: 22px; padding-bottom: 12px; }
 h1 { font-size: 39px; letter-spacing: -1.9px; margin-top: 17px; }
 .page-content { width: auto; margin: 0 25px; }
 .ranking-meta { padding: 0; margin-bottom: 17px; }.ranking-meta h2 { font-size: 9px; }.ranking-meta > span { font-size: 9px; }
 .ranking-card { border: 0; box-shadow: none; border-radius: 0; padding: 0; }
 .startup-row { grid-template-columns: 17px 38px minmax(0, 1fr) 54px; column-gap: 10px; padding: 17px 0; }
 .company-mark { width: 38px; height: 38px; } h3 { font-size: 14px; }.company-title { gap: 8px; }
 .company-description { font-size: 10px; line-height: 1.5; }.rank { font-size: 11px; }.why-button { height: 32px; }
 .why-content { padding: 15px; grid-column: 2 / -1; }.story-meta { line-height: 1.6; }
 footer { padding-top: 33px; }
}
@media (max-width: 360px) { .page-content { margin: 0 16px; }.startup-row { column-gap: 8px; } h3 { font-size: 12px; }.company-description { font-size: 9px; } }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }


.why-content { background: transparent; padding: 0; }
@media (max-width: 540px) { .why-content { grid-column: 1 / -1; padding: 0; } }
.privacy { max-width: 640px; margin: 0 auto; padding: 48px 24px 72px; color: #2a2a31; }
.privacy-home { font-size: 13px; color: #717179; text-decoration: none; }
.privacy h1 { margin: 32px 0 6px; font-size: 32px; letter-spacing: -1px; }
.privacy h1 + p { margin: 0 0 24px; font-size: 12px; color: #85858b; }
.privacy h2 { margin: 28px 0 8px; font-size: 16px; }
.privacy p, .privacy li { font-size: 14px; line-height: 1.7; color: #4a4a52; }
.privacy ul { padding-left: 20px; }
.privacy article a { color: inherit; text-underline-offset: 3px; }

/* Key-check prototype: /key-check. Same quiet layout as the privacy page; risk is stated in words, not colours. */
.key-check { max-width: 640px; margin: 0 auto; padding: 48px 24px 72px; color: #2a2a31; }
.key-check h1 { margin: 32px 0 10px; font-size: 32px; letter-spacing: -1px; line-height: 1.15; }
.key-check-intro { margin: 0 0 24px; font-size: 14px; line-height: 1.7; color: #4a4a52; }
.key-check-form label { display: block; margin-bottom: 8px; font-size: 13px; font-weight: 600; }
.key-check-row { display: flex; gap: 8px; }
.key-check-row input { flex: 1; min-width: 0; height: 44px; padding: 0 14px; border: 1px solid #dedee3; border-radius: 12px; font: inherit; font-size: 15px; color: #161718; background: #fff; }
.key-check-row input:focus-visible { outline: 2px solid #161718; outline-offset: 1px; }
.key-check-row button { height: 44px; padding: 0 18px; border: 1px solid #161718; border-radius: 12px; background: #161718; color: #fff; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
.key-check-row button:disabled { opacity: .5; cursor: default; }
.key-check-status { margin: 24px 0 0; font-size: 14px; color: #4a4a52; }
.key-check-report { margin-top: 32px; padding-top: 24px; border-top: 1px solid #ececf0; }
.key-check-report h2 { margin: 0; font-size: 20px; letter-spacing: -.4px; }
.key-check-meta { margin: 6px 0 0; font-size: 13px; color: #85858b; }
.key-check-aside { margin: 14px 0 0; font-size: 13px; color: #4a4a52; }
.key-finding { margin-top: 16px; padding: 18px; border: 1px solid #e6e6ec; border-radius: 14px; background: #fff; }
.key-finding.risk-secret { border-color: #161718; border-width: 1.5px; }
.key-finding-verdict { display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #6e6e76; }
.key-finding.risk-secret .key-finding-verdict { color: #161718; }
.key-finding h3 { margin: 6px 0 4px; font-size: 16px; }
.key-finding p { margin: 8px 0 0; font-size: 14px; line-height: 1.6; color: #4a4a52; }
.key-finding code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12.5px; padding: 1px 5px; border-radius: 5px; background: #f3f3f6; color: #161718; word-break: break-all; }
.key-finding-copy { margin-top: 12px; height: 34px; padding: 0 14px; border: 1px solid #dedee3; border-radius: 10px; background: #fff; font: inherit; font-size: 13px; font-weight: 550; color: #161718; cursor: pointer; }
.key-finding-copy:hover { background: #f6f6f8; }
.key-check-note { margin-top: 40px; font-size: 12px; line-height: 1.6; color: #85858b; }
@media (max-width: 540px) { .key-check { padding: 32px 16px 56px; } .key-check h1 { font-size: 26px; } .key-check-row { flex-direction: column; } .key-check-row input { flex: none; width: 100%; box-sizing: border-box; } }

/* "Berlin startup news", under the ranking: same quiet type as the ranking, no extra colours. */
.weekly-news { margin-top: 56px; }
@media (max-width: 540px) { .weekly-news { margin-top: 40px; } }
.front-width > .weekly-news, .front-width > .news-events { margin-top: 0; }
.weekly-news > .ranking-meta { padding: 0; }
.rankings { margin-top: 72px; }
@media (max-width: 540px) { .rankings { margin-top: 48px; } }

/* "Scaleups in the news": the same rows as the startup ranking, in their own card below it. */
.scaleups { margin-top: 48px; }
.scaleups .scaleup-card { margin-top: 14px; }
@media (max-width: 540px) { .scaleups { margin-top: 36px; } }

/* Front-page news: lead and teasers on the left, the sidebar on the right; stacked on phones. Importance by size and
   position, colours stay neutral; the company logo tile stands in for a photo. */
.news-front { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 32px; margin-top: 16px; align-items: start; }
.news-kicker { margin: 0 0 6px; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #6e6e76; }
.news-lead { padding-bottom: 24px; border-bottom: 1px solid #ececf0; }
.company-mark.lead-mark { width: 56px; height: 56px; border-radius: 12px; font-size: 28px; letter-spacing: -1.5px; margin-bottom: 20px; }
.company-mark.lead-mark.has-logo { background: #f4f4f7; }
.company-mark.lead-mark.has-logo img { width: 56px; height: 56px; margin: auto; border-radius: 12px; }
.news-lead h3 { margin: 0; font-size: 40px; line-height: 1.1; letter-spacing: -1.3px; font-weight: 750; }
.news-teasers { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; }
.news-teaser { display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: 12px; padding: 18px 0; border-bottom: 1px solid #ececf0; }
.company-mark.teaser-mark { width: 44px; height: 44px; border-radius: 10px; font-size: 24px; letter-spacing: -1.5px; }
.news-teaser h3 { margin: 0; font-size: 18px; line-height: 1.3; font-weight: 650; letter-spacing: -.3px; }
.news-lead h3 a, .news-teaser h3 a { color: inherit; text-decoration: none; }
.news-lead h3 a:hover, .news-teaser h3 a:hover { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.news-byline { margin: 10px 0 0; font-size: 12px; color: #85858b; }
.news-company { font-weight: 650; color: #161718; }
.news-catch-up { margin-top: 28px; }
.news-band-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding-bottom: 8px; border-bottom: 2px solid #161718; }
.news-band-head h2, .news-band-head h3 { margin: 0; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #161718; }
.news-band-head span { font-size: 12px; color: #85858b; }
.news-catch-up ul { list-style: none; margin: 0; padding: 0; }
.news-catch-up li { display: grid; grid-template-columns: 140px minmax(0, 1fr); column-gap: 16px; padding: 14px 0; border-bottom: 1px solid #ececf0; font-size: 15px; line-height: 1.4; font-weight: 600; }
.news-catch-up li .news-kicker { margin: 3px 0 0; }
.company-mark.catch-up-mark { width: 48px; height: 48px; margin-top: 10px; border-radius: 10px; font-size: 24px; letter-spacing: -1.5px; }
/* Brandfetch icons carry their own white margin: a light frame and a slight zoom keep small marks legible. */
.company-mark.catch-up-mark.has-logo { border: 1px solid #ececf0; }
.company-mark.catch-up-mark.has-logo img { transform: scale(1.3); }
.news-catch-up li .news-byline { margin-top: 4px; font-weight: 400; }
.news-catch-up a { color: inherit; text-decoration: none; }
.news-catch-up a:hover { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
/* "Events in Berlin": a week planner under the news, one column per day; neutral like the rest. */
.news-events { margin-top: 44px; }
.event-days { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 8px 28px; }
.event-day { padding-top: 16px; }
.event-day h4 { display: flex; align-items: baseline; gap: 10px; margin: 0 0 6px; padding-bottom: 8px; border-bottom: 1px solid #ececf0; font-weight: 400; }
.event-day-number { font-size: 30px; line-height: 1; font-weight: 750; letter-spacing: -1px; color: #161718; font-variant-numeric: tabular-nums; }
.event-day-name { font-size: 13px; color: #6e6e76; }
.event-day ul { list-style: none; margin: 0; padding: 0; }
.event-row { display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: 10px; padding: 9px 0; font-size: 14px; line-height: 1.35; }
.event-row time { font-size: 12px; font-weight: 600; color: #6e6e76; font-variant-numeric: tabular-nums; padding-top: 2px; }
.event-row a, .event-row span { color: #161718; font-weight: 600; text-decoration: none; }
.event-row a:hover { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.event-row p { margin: 2px 0 0; font-size: 12px; color: #85858b; }
/* Front-page sidebar: the ranking's top five and the period's deals, each line saying why it matters. */
.news-sidebar { display: grid; gap: 36px; }
.news-band-head a { font-size: 12px; color: #6e6e76; text-decoration: none; white-space: nowrap; }
.news-band-head a:hover { color: #161718; text-decoration: underline; text-underline-offset: 3px; }
.sidebar-block ol, .sidebar-block ul { list-style: none; margin: 0; padding: 0; }
.sidebar-top li { display: grid; grid-template-columns: 16px 32px minmax(0, 1fr) auto; align-items: center; column-gap: 12px; padding: 10px 0; border-bottom: 1px solid #ececf0; font-size: 14px; }
.sidebar-top .rank { font-size: 12px; font-variant-numeric: tabular-nums; }
.company-mark.sidebar-mark { width: 32px; height: 32px; border-radius: 8px; font-size: 16px; letter-spacing: -1px; }
.company-mark.sidebar-mark.has-logo { border: 1px solid #ececf0; }
.company-mark.sidebar-mark.has-logo img { transform: scale(1.3); }
.sidebar-deals li > a, .sidebar-deals li > div { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: baseline; column-gap: 12px; padding: 11px 0; border-bottom: 1px solid #ececf0; color: #161718; text-decoration: none; font-size: 14px; }
.sidebar-deals li > a:hover .news-company { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.sidebar-deals .news-company { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.deal-kind { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #6e6e76; }
.deal-amount { min-width: 56px; text-align: right; font-weight: 650; font-variant-numeric: tabular-nums; }
.event-day .news-ticker-count { padding: 2px 0 0 54px; }
.news-ticker-count { border: 0; background: none; padding: 0 0 0 6px; font: inherit; font-size: 12px; color: #6e6e76; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 760px) {
  .news-front { grid-template-columns: 1fr; gap: 8px; }
  .news-teasers { grid-template-columns: 1fr; }
  .news-catch-up li { grid-template-columns: 1fr; }
  .company-mark.catch-up-mark { margin: 2px 0 8px; }
  .news-catch-up li .news-kicker { margin: 0 0 4px; }
  .news-lead h3 { font-size: 28px; letter-spacing: -.8px; }
  .news-teaser h3 { font-size: 17px; }
}
