/* Shared width limit for inline, tucked, and pinned tables of contents. */
.article-reader {
  --reader-toc-max-width: 300px;
  --toc-padding-right: 20px;
  --toc-controls-right: 10px;
  --reader-text-max-width: 720px;
  --reader-section-space: 6rem;
}

/* Shared centered article layout and reading controls. */
.content-page.content-page.article-reader,
.content-page.content-page.centered-page {
  display: block;
  width: min(720px, calc(100% - 290px));
  margin: 0 auto;
  padding: 20px 0 0;
  container-type: normal;
}
.article-reader > .page-nav-spacer { display: none; }
.content-page.content-page.article-reader {
  padding-bottom: 0;
  min-height: 0;
}
.article-reader .post-content {
  display: flex;
  width: 100%;
  padding: 0;
  margin: 0;
  gap: 24px;
}
.article-reader .post-content > * { width: 100%; max-width: 100%; }
.article-reader .post-content :is(h2, h3, h4, h5, h6) {
  margin-top: 48px;
}
.article-reader .post-content > .post-full-width {
  width: min(150%, calc(100vw - 40px));
  max-width: none;
  align-self: center;
}
.article-reader .post-full-width::before,
.article-reader .post-full-width::after { display: none; }
/* Opt-in breathing room for body sections; covers retain normal spacing. */
.article-reader .post-content > .post-section-spaced:not(.post-hero-media) {
  margin-block: var(--reader-section-space);
}
/* Related tables share one section, with a single interval between them. */
.article-reader .post-table-group > .post-table-scroll + .post-table-scroll {
  margin-top: var(--reader-section-space);
}
.article-reader .post-content p.indented { border-left: 0; }
.article-reader [id] { scroll-margin-top: 90px; }
.article-reader .reader-intro { display: flex; flex-direction: column; gap: 28px; padding: 8px 0 0; }
.article-reader .reader-metadata { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 20px; font-size: var(--type-sm); }
.article-reader .reader-author { font-weight: var(--font-weight-bold); }
.article-reader .reader-intro > .reader-toc {
  width: 100%;
  max-width: var(--reader-toc-max-width);
  padding: 0 var(--toc-padding-right) 12px 10px;
  border-radius: var(--border-radius);
  box-shadow: inset 0 0 0 var(--stroke-weight) var(--border-color);
}
.article-reader .reader-toc h2 { font-size: var(--type-sm); font-weight: var(--font-weight-bold); min-height: 42px; padding: 10px 0; margin: 0 0 4px; }
.article-reader .reader-toc-list { list-style: decimal; font-size: var(--type-sm); margin: 0; padding: 0 0 0 22px; display: flex; flex-direction: column; gap: var(--toc-item-spacing, 2px); }
.article-reader .reader-toc-list ol { list-style: lower-alpha; margin: var(--toc-item-spacing, 2px) 0 0; padding-left: 20px; display: flex; flex-direction: column; gap: var(--toc-item-spacing, 2px); }
.article-reader .reader-toc-list li { margin: 0; }
.article-reader .reader-toc-list a { display: inline; color: inherit; text-decoration: none; font-size: var(--type-sm); font-weight: var(--font-weight-regular); opacity: 0.5; }
.article-reader .reader-toc-list a:is(:hover, :focus-visible, [aria-current]) { opacity: 1; color: var(--foreground-color); }
.article-reader .reader-toc-list a[aria-current] { font-weight: var(--font-weight-bold); }
.article-reader .reader-toc-list li::marker { color: rgb(var(--foreground-rgb) / 0.5); }
.article-reader .reader-toc-list li:has(> a:is(:hover, :focus-visible, [aria-current]))::marker { color: var(--foreground-color); }
.article-reader .reader-toc-list a:focus-visible,
.article-reader .reader-floating-toggle:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; border-radius: 2px; }
.article-reader .post-footnotes { position: static; display: flex; flex-direction: column; gap: 16px; width: 100%; height: auto; margin: 48px 0 24px; padding: 0; border: 0; outline: 0; }
.article-reader .post-footnotes::before { display: none; }
.article-reader .post-footnote { position: relative; width: 100%; }
@media (min-width: 1325px) {
  /* Twelve equal tracks: centered six-column text, two-column sidenotes. */
  .content-page.content-page.article-reader {
    display: grid;
    width: min(calc(var(--reader-text-max-width) * 2), calc(100% - 40px));
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 0;
    align-items: start;
  }
  .article-reader .post-content { grid-column: 4 / 10; grid-row: 1; min-width: 0; }
  .article-reader .post-content > .post-full-width { width: calc(100% * 10 / 6); }
  .article-reader .post-footnotes {
    grid-column: 10 / 12;
    grid-row: 1;
    align-self: stretch;
    width: calc(100% - 24px);
    min-width: 0;
    margin: 0 0 0 24px;
    --footnote-inset-left: 0px;
    --footnote-inset-right: 0px;
  }
  .article-reader .post-footnotes > .post-heading { display: none; }
}
.article-reader .reader-floating {
  /* Optical balance: the font leaves more space below its visible glyphs. */
  --reader-header-bottom-padding: max(0px, calc(var(--toc-padding-top, 10px) - 3px));
  position: fixed;
  top: var(--reader-contents-top, 10px);
  right: var(--reader-contents-inset, 10px);
  left: auto;
  transform: translateY(-6px);
  z-index: 20;
  width: var(--reader-contents-width, 480px);
  max-width: min(var(--reader-toc-max-width), calc(100vw - 40px));
  padding: var(--toc-padding-top, 10px) var(--toc-padding-right, 10px) var(--toc-padding-bottom, 7px) var(--toc-padding-left, 12px);
  border-radius: 4px;
  background: var(--background-color);
  color: var(--foreground-color);
  box-shadow: 0 3px 3px rgb(0 0 0 / .07), inset 0 0 0 1px rgb(var(--foreground-rgb) / .05);
  visibility: hidden;
  opacity: 0;
  /* Width is set by the scroll handoff; hover only animates the reveal. */
  transition: opacity 200ms ease, transform 200ms ease, visibility 200ms, z-index 0s var(--menu-layer-release-delay, 220ms);
}
.article-reader .reader-floating[data-visible='true'] { visibility: visible; opacity: 1; transform: translateY(0); }
/* The inline box reappears in this frame; never fade a second copy over it. */
.article-reader .reader-floating[data-visible='false'] { transition: none; }
.article-reader .reader-floating-toggle { display: flex; align-items: center; justify-content: flex-start; width: 100%; min-height: 22px; padding: 0; text-align: left; font: inherit; font-size: var(--type-sm); color: inherit; background: none; border: 0; cursor: pointer; }
.article-reader .reader-floating-reveal { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 220ms ease; }
.article-reader .reader-floating[data-expanded='true'] .reader-floating-reveal { grid-template-rows: 1fr; }
.article-reader .reader-floating-panel { overflow: visible; min-height: 0; visibility: hidden; transition: visibility 220ms; }
.article-reader .reader-floating[data-expanded='true'] .reader-floating-panel { visibility: visible; }
.article-reader .reader-floating .reader-toc { max-height: calc(var(--site-viewport-height) - var(--reader-contents-top, 10px) - var(--toc-padding-top, 10px) - var(--toc-padding-bottom, 7px) - 62px - var(--reader-header-bottom-padding)); overflow-y: auto; overscroll-behavior: contain; margin-top: var(--reader-header-bottom-padding); padding: calc(14px - var(--reader-header-bottom-padding)) 0 2px; }
/* Keep the title, first item, and box in place while giving the fixed header
   optically balanced spacing above and below the visible title. */
.article-reader .reader-floating-panel { position: relative; display: flow-root; }
.article-reader .reader-floating-panel::before {
  content: '';
  position: absolute;
  top: 0;
  left: calc(1px - var(--toc-padding-left, 12px));
  right: calc(1px - var(--toc-padding-right, 10px));
  height: var(--reader-header-bottom-padding);
  clip-path: inset(0 0 -12px);
  z-index: 1;
  pointer-events: none;
  background: var(--background-color);
  box-shadow: 0 var(--menu-active-shadow-offset, 3px) var(--menu-active-shadow-blur, 3px) rgb(var(--foreground-rgb) / var(--menu-active-shadow-opacity, .07));
  opacity: var(--reader-header-shadow-progress, 0);
  transition: opacity 100ms ease;
}
/* Preserve list scrolling without a scrollbar narrowing the text column. */
.article-reader .reader-floating .reader-toc {
  scrollbar-width: none;
  scrollbar-gutter: auto;
}
.article-reader .reader-floating .reader-toc::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}
.article-reader .reader-floating .reader-toc-list a { font-size: var(--type-sm); }
@media (prefers-color-scheme: dark) {
  .article-reader .reader-floating { box-shadow: 0 4px 3px rgb(255 255 255 / .03), inset 0 0 0 1px rgb(var(--foreground-rgb) / var(--toc-edge-opacity-dark, .10)); }
}
@media (max-width: 639px) {
  .content-page.content-page.article-reader,
  .content-page.content-page.centered-page { width: calc(100% - 40px); padding-top: 250px; }

}
@media (prefers-reduced-motion: reduce) {
  .article-reader .reader-floating, .article-reader .reader-floating * { transition: none; }
}

.article-reader .reader-title { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

@media (max-width: 640px) {
  .article-reader .reader-floating { top: var(--reader-contents-top, 6px); }
}

.article-reader .reader-floating-toggle { font-weight: var(--font-weight-bold); }
.article-reader [data-reader-current-section] {
  display: grid;
  width: 100%;
  overflow: hidden;
}
/* Closed section labels slide through the full surface, including its padding. */
/* Clip expanding list content at the surface edge, not the inner grid row. */
.article-reader .reader-floating { overflow: hidden; }
.article-reader .reader-floating[data-expanded='false'] [data-reader-current-section] { overflow: visible; }
.article-reader [data-reader-current-section] > span {
  grid-area: 1 / 1;
  min-width: 0;
}

/* Other articles share the same text measure, media and side-note placement. */
.article-reader .post-postscript {
  grid-column: 1;
  grid-row: 2;
  width: 100%;
  margin: 24px 0 0;
  padding: 0;
}
@media (min-width: 1325px) {
  .article-reader .post-postscript { grid-column: 4 / 10; }
}
.article-reader .post-title { margin: 0; }
.article-reader .post-content > .button { width: fit-content; }

/* About and Contact use the same primary column without article controls. */
.centered-page > .page-nav-spacer { display: none; }
.centered-page .about-main,
.centered-page .contact-sidebar,
.centered-page .contact-content {
  position: static;
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  border: 0;
}
.centered-page .about-photo { display: block; width: 100%; height: auto; margin: 0 0 24px; }
.about-reader .about-photo.post-full-width {
  display: block;
  width: min(150%, calc(100vw - 40px));
  max-width: none;
  height: auto;
  margin: 0 0 24px;
  margin-left: calc((100% - min(150%, calc(100vw - 40px))) / 2);
  border-radius: var(--border-radius);
}
.centered-page .about-body { gap: 24px; }
.centered-page .about-body p { font-size: var(--type-lg); line-height: 1.4; max-width: none; }
.centered-page .contact-intro p { font-size: var(--type-lg); line-height: 1.4; max-width: none; }
.centered-page .contact-intro { padding: 0; margin: 0 0 24px; gap: 24px; }
.centered-page .contact-form { width: 100%; max-width: none; }
.centered-page .contact-sidebar-footer { display: flex; width: fit-content; margin: 24px 0 0; padding: 0; }
.centered-page .about-back { display: inline-flex; width: fit-content; margin: 24px 0 0; padding: 5px 8px 4px; }
@media (max-width: 639px) {
  .centered-page .about-back { padding: 4px 12px; }
}

/* Listing pages share the same centered column as editorial pages. */
.content-page.content-page.blog-index-page,
.content-page.content-page.careers-index-page {
  padding-bottom: 0;
  min-height: 0;
}

.content-page.content-page.about-reader,
.content-page.content-page.contact-reader {
  padding-bottom: 0;
  min-height: 0;
}

.listing-page .careers-sidebar,
.listing-page .blog-sidebar {
  position: static;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: auto;
  padding: 0;
  margin: 0 0 24px;
  gap: 24px;
}
.listing-page .careers-content,
.listing-page .blog-content {
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
}
.listing-page .careers-intro,
.listing-page .blog-sidebar-title {
  padding: 0;
  margin: 0;
}
.listing-page .careers-sidebar-footer,
.listing-page .blog-sidebar-footer {
  margin: 24px 0 0;
  padding: 0;
}

.listing-page .post-full-width {
  width: min(150%, calc(100vw - 40px));
  max-width: none;
  margin-left: calc((100% - min(150%, calc(100vw - 40px))) / 2);
}
.listing-page .post-full-width::before,
.listing-page .post-full-width::after { display: none; }

.job-page .job-details,
.job-page .job-content {
  position: static;
  width: 100%;
  height: auto;
  padding: 0;
  margin: 0;
}
.job-page .job-details > .post-table-scroll { width: 100%; }
.job-page .job-apply-bottom {
  display: inline-flex;
  margin: 24px 0 0;
}

.content-page.content-page.job-page {
  padding-bottom: 0;
  min-height: 0;
}

@media (min-width: 768px) and (max-width: 1324px) {
  .content-page.content-page:is(.article-reader, .centered-page) {
    padding-top: 0;
  }
}

@media (max-width: 767px) {
  .content-page.content-page:is(.article-reader, .centered-page) {
    width: calc(100% - 40px);
    padding-top: 0;
  }
  .article-reader .reader-metadata .button-category { display: none; }
}

/* Laptop and desktop: the heading and controls share the wide card track. */
@media (min-width: 1024px) {
  .content-page.blog-index-page .blog-sidebar {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    align-items: center;
    width: min(150%, calc(100vw - 40px));
    margin-left: calc((100% - min(150%, calc(100vw - 40px))) / 2);
  }
  .content-page.blog-index-page .blog-sidebar-title { grid-column: 1 / -1; }
  .content-page.blog-index-page .blog-sidebar .blog-categories {
    grid-column: 1;
    width: auto;
  }
  .content-page.blog-index-page .blog-search-form {
    grid-column: 2;
    min-width: 0;
  }
}

@media (min-width: 1024px) and (max-width: 1324px) {
  .content-page.blog-index-page .blog-sidebar { margin-left: 0; }
}

/* Blog filters: the prototype palette and sheen, with the current type and padding. */
.content-page.blog-index-page .blog-categories {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 8px;
  width: 100%;
  margin-left: 0;
  overflow-x: auto;
}
@media (max-width: 767px) {
  .content-page.blog-index-page .blog-categories { display: none; }
}
.content-page.blog-index-page .blog-categories a {
  --category-ink: var(--foreground-color);
  --category-fill: rgb(var(--foreground-rgb) / .25);
  --category-active: var(--foreground-color);
  --category-contrast: var(--background-color);
  position: relative;
  isolation: isolate;
  flex: 0 0 auto;
  white-space: nowrap;
  color: var(--foreground-color);
  background: transparent;
  outline: var(--stroke-weight) solid var(--border-color);
  outline-offset: -1px;
}
.article-reader .button-category[data-category="research"],
.content-page.blog-index-page .blog-categories a[data-category="research"] {
  --category-ink: oklch(.7211 .1486 232.82);
  --category-fill: oklch(.5841 .209907 257.3012 / .3);
  --category-active: oklch(.5841 .209907 257.3012);
  --category-contrast: oklch(.1998 .002 106.58);
}
.article-reader .button-category[data-category="ideas"],
.content-page.blog-index-page .blog-categories a[data-category="ideas"] {
  --category-ink: oklch(.867 .175 90.575);
  --category-fill: oklch(.867 .175 90.575 / .25);
  --category-active: oklch(.867 .175 90.575);
  --category-contrast: oklch(.1998 .002 106.58);
}
.article-reader .button-category[data-category="stories"],
.content-page.blog-index-page .blog-categories a[data-category="stories"] {
  --category-ink: oklch(.7232 .2128 141);
  --category-fill: oklch(.7232 .2128 141 / .2);
  --category-active: oklch(.7232 .2128 141);
  --category-contrast: oklch(.1998 .002 106.58);
}
.article-reader .button-category[data-category="company"],
.content-page.blog-index-page .blog-categories a[data-category="company"] {
  --category-ink: oklch(.658 .232 34.864);
  --category-fill: oklch(.658 .232 34.864 / .25);
  --category-active: oklch(.658 .232 34.864);
  --category-contrast: oklch(.1998 .002 106.58);
}
.content-page.blog-index-page .blog-categories a::before {
  content: "";
  position: absolute;
  pointer-events: none;
  top: 1px;
  left: .4375em;
  right: .4375em;
  height: 45%;
  background: linear-gradient(to bottom, rgb(255 255 255 / .075), transparent);
  border-radius: 999px 999px .5em .5em;
  filter: blur(1px);
  z-index: -1;
}
.content-page.blog-index-page .blog-categories a.selected {
  background: var(--category-fill);
  color: var(--category-ink);
}
.content-page.blog-index-page .blog-categories a:not(.selected):not(:hover)::before {
  display: none;
}
.content-page.blog-index-page .blog-categories a:is(:hover, .selected) {
  outline: 1px solid oklch(.882 .008 61.44 / .05);
}
.content-page.blog-index-page .blog-categories a:hover {
  background: var(--category-active);
  color: var(--category-contrast);
}
.content-page.blog-index-page .blog-category-icon {
  opacity: 1;
  fill: currentColor;
  stroke: none;
}
.content-page.blog-index-page .blog-category-arrow { display: none; }

/* A faint category wash across the page, header, cards, and footer. */
:root:has(.blog-index-page [data-category="research"][aria-current="page"]) { --background-rgb: calc(255 - 10 * var(--category-tint-research, 2)) calc(255 - 6 * var(--category-tint-research, 2)) calc(255 - 1 * var(--category-tint-research, 2)); }
:root:has(.blog-index-page [data-category="ideas"][aria-current="page"]) { --background-rgb: 255 calc(255 - 2 * var(--category-tint-ideas, 1.75)) calc(255 - 12 * var(--category-tint-ideas, 1.75)); }
:root:has(.blog-index-page [data-category="stories"][aria-current="page"]) { --background-rgb: calc(255 - 9 * var(--category-tint-stories, 1.75)) calc(255 - 3 * var(--category-tint-stories, 1.75)) calc(255 - 10 * var(--category-tint-stories, 1.75)); }
:root:has(.blog-index-page [data-category="company"][aria-current="page"]) { --background-rgb: 255 calc(255 - 8 * var(--category-tint-company, 2)) calc(255 - 12 * var(--category-tint-company, 2)); }
@media (prefers-color-scheme: dark) {
  :root:has(.blog-index-page [data-category="research"][aria-current="page"]) { --background-rgb: 10 22 39; }
  :root:has(.blog-index-page [data-category="ideas"][aria-current="page"]) { --background-rgb: 37 32 10; }
  :root:has(.blog-index-page [data-category="stories"][aria-current="page"]) { --background-rgb: 14 33 12; }
  :root:has(.blog-index-page [data-category="company"][aria-current="page"]) { --background-rgb: 39 19 10; }
}

.content-page.blog-index-page .blog-search-leading-icon {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--text-placeholder);
  pointer-events: none;
}
.content-page.blog-index-page .blog-search { padding-left: 36px; }

@media (min-width: 640px) {
  .content-page.listing-page .careers-filters {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }
  .content-page.listing-page .careers-filters-title,
  .content-page.listing-page .careers-clear-filters {
    grid-column: 1 / -1;
    justify-self: start;
  }
  .content-page.listing-page .careers-select { min-width: 0; }
}

/* Align desktop careers filters with the wide positions table. */
@media (min-width: 1325px) {
  .content-page.careers-index-page .careers-filters,
  .content-page.careers-index-page .careers-count,
  .content-page.careers-index-page .careers-empty {
    margin-left: calc((100% - min(150%, calc(100vw - 40px))) / 2);
  }
}

/* Tablet layouts share one wide reading column. */
@media (min-width: 768px) and (max-width: 1023px) {
  .content-page.content-page:is(.article-reader, .centered-page) {
    display: block;
    width: min(1080px, calc(150% - 435px), calc(100% - 40px));
  }
  .article-reader .post-content > .post-full-width,
  .listing-page .post-full-width,
  .about-reader .about-photo.post-full-width {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
  }
  .article-reader .post-footnotes {
    display: flex;
    position: static;
    width: 100%;
    margin: 48px 0 24px;
  }
  .article-reader .post-footnotes > .post-heading { display: block; }
}

/* Contact composer: one frame, compact detail rows, and an open message body. */
.content-page.contact-reader .contact-form {
  gap: 0;
  border: var(--border);
  border-radius: var(--border-radius);
  overflow: hidden;
}
.content-page.contact-reader .contact-field {
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr);
  align-items: baseline;
  gap: 0 12px;
  padding: 0 20px;
  border-bottom: var(--border);
}
.content-page.contact-reader .contact-label {
  margin: 0;
  padding: 14px 0;
  color: var(--text-subtle);
}
.content-page.contact-reader .contact-form :is(input, textarea) {
  min-width: 0;
  border: 0;
  border-radius: 0;
  padding: 12px 0;
  background: transparent;
}
.content-page.contact-reader .contact-field:focus-within {
  background: var(--surface-hover);
  box-shadow: inset 2px 0 0 var(--focus-color);
}
.content-page.contact-reader .contact-form :is(input, textarea):focus-visible { outline: none; }
.content-page.contact-reader #contact-video { min-height: 48px; }
.content-page.contact-reader .contact-field-hint,
.content-page.contact-reader .contact-field > .contact-error {
  grid-column: 2;
  padding: 0 0 12px;
  font-size: var(--type-sm);
}
.content-page.contact-reader .contact-field-hint { color: var(--text-faint); }
.content-page.contact-reader .contact-field--message { display: flex; gap: 0; }
.content-page.contact-reader .contact-field--message .contact-label { padding-bottom: 0; }
.content-page.contact-reader #contact-message { min-height: 220px; }
.content-page.contact-reader .contact-composer-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 20px;
  background: transparent;
}
.content-page.contact-reader .contact-required-note { font-size: var(--type-sm); color: var(--text-faint); }
@media (max-width: 479px) {
  .content-page.contact-reader .contact-field { grid-template-columns: 80px minmax(0, 1fr); padding-inline: 14px; gap: 0 8px; }
  .content-page.contact-reader .contact-composer-toolbar { padding-inline: 14px; }
}

.content-page.contact-reader .contact-form textarea { resize: none; overflow-y: hidden; }

.content-page.listing-page .careers-select { position: relative; }
.content-page.listing-page .careers-select select[hidden] { display: none; }
.content-page.listing-page .careers-select-trigger {
  display: block;
  width: 100%;
  padding: 9px 32px 8px 12px;
  border: var(--border);
  border-radius: var(--border-radius);
  background: var(--background-color);
  color: inherit;
  font: inherit;
  font-size: var(--type-sm);
  font-weight: var(--font-weight-medium);
  line-height: 1;
  text-align: left;
  cursor: pointer;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.content-page.listing-page .careers-select-trigger::after {
  content: '↓';
  position: absolute;
  right: 12px;
  color: var(--text-faint);
}
.content-page.listing-page .careers-select-trigger[aria-expanded='true']::after { content: '↑'; }
.content-page.listing-page .careers-select-trigger:focus-visible {
  outline: 1px solid var(--foreground-color);
  outline-offset: 2px;
}
.content-page.listing-page .careers-select-menu {
  position: absolute;
  z-index: 25;
  top: calc(100% + 6px);
  left: 0;
  width: 100%;
  max-height: min(320px, 50vh);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 4px;
  border: var(--border);
  border-radius: var(--border-radius);
  background: var(--background-color);
  color: var(--foreground-color);
  box-shadow: var(--menu-shadow-offset) var(--menu-shadow-offset) var(--menu-shadow-blur) 0 rgb(var(--foreground-rgb) / var(--menu-shadow-opacity));
  font-size: var(--type-sm);
}
.content-page.listing-page .careers-select-menu[hidden] { display: none; }
.content-page.listing-page .careers-select-option {
  position: relative;
  padding: 8px 26px 8px 8px;
  border-radius: 2px;
  cursor: pointer;
  line-height: 1.4;
}
.content-page.listing-page .careers-select-option:is(:hover, .is-active) { background: var(--surface-label); }
.content-page.listing-page .careers-select-option[aria-selected='true'] { font-weight: var(--font-weight-bold); }
.content-page.listing-page .careers-select-option[aria-selected='true']::after {
  content: '';
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 12px;
  height: 12px;
  background: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 12 5 5L20 6'/%3E%3C/svg%3E") center / contain no-repeat;
}
@media (prefers-color-scheme: dark) {
  .content-page.listing-page .careers-select-menu {
    box-shadow: var(--menu-shadow-offset-dark) var(--menu-shadow-offset-dark) var(--menu-shadow-blur-dark) 0 rgb(var(--foreground-rgb) / var(--menu-shadow-opacity-dark));
  }
}

.article-reader .reader-floating[data-expanded='true'] .reader-floating-toggle { padding-right: 30px; }
.article-reader .reader-floating-pin {
  position: absolute;
  z-index: 2;
  top: calc(var(--toc-padding-top, 10px) - 2px);
  right: var(--toc-controls-right, 10px);
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  padding: 3px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--text-subtle);
  cursor: pointer;
}
.article-reader .reader-floating-pin[hidden] { display: none; }
.article-reader .reader-floating-pin svg { width: 16px; height: 16px; transform: rotate(35deg); }
.article-reader .reader-floating-pin:is(:hover, [aria-pressed='true']) { color: var(--foreground-color); background: var(--surface-label); }
.article-reader .reader-floating-pin[aria-pressed='true'] svg { transform: none; }
.article-reader .reader-floating-pin:focus-visible { outline: 1px solid currentColor; outline-offset: 2px; }

/* Keep category labels at a consistent regular weight in every state. */
.content-page.blog-index-page .blog-categories a,
.content-page.blog-index-page .blog-categories a:is(:hover, .selected) {
  font-weight: var(--font-weight-regular);
}
/* Composite the translucent category colors over the dark-page base so
   their appearance stays the same when placed on a light page. */
@media (prefers-color-scheme: light) {
  .content-page.blog-index-page .blog-categories {
    --category-light-base: color-mix(in srgb, rgb(10 10 10) var(--category-button-darkness, 75%), white);
  }
  .content-page.blog-index-page .blog-categories a::before {
    background: linear-gradient(to bottom, rgb(255 255 255 / var(--category-button-highlight, .25)), transparent);
  }
  .content-page.blog-index-page .blog-categories a[data-category="research"] {
    --category-fill: color-mix(in srgb, oklch(.5841 .209907 257.3012) 30%, var(--category-light-base));
  }
  .content-page.blog-index-page .blog-categories a[data-category="ideas"] {
    --category-fill: color-mix(in srgb, oklch(.867 .175 90.575) 25%, var(--category-light-base));
  }
  .content-page.blog-index-page .blog-categories a[data-category="stories"] {
    --category-fill: color-mix(in srgb, oklch(.7232 .2128 141) 20%, var(--category-light-base));
  }
  .content-page.blog-index-page .blog-categories a[data-category="company"] {
    --category-fill: color-mix(in srgb, oklch(.658 .232 34.864) 25%, var(--category-light-base));
  }
  .content-page.blog-index-page .blog-categories a[data-category="all"] {
    --category-ink: #fff;
    --category-fill: color-mix(in srgb, white 25%, var(--category-light-base));
    --category-active: #000;
    --category-contrast: #fff;
  }
}

.content-page.blog-index-page .blog-categories a[data-category="research"]:hover {
  color: #fff;
  background: var(--category-active);
}
.content-page.blog-index-page .blog-categories a[data-category="all"]:not(.selected):hover {
  color: var(--category-contrast);
  background: var(--category-active);
}

.content-page.blog-index-page .blog-categories a:not(:hover) .blog-category-icon {
  fill: none;
  stroke: currentColor;
}
.content-page.blog-index-page .blog-categories a:hover .blog-category-icon {
  fill: currentColor;
  stroke: none;
}

/* The glyphs clip strokes to their inside half, so draw twice the requested
   thickness. Non-scaling strokes keep the control measured in screen pixels. */
.content-page.blog-index-page .blog-category-icon > g > * {
  vector-effect: non-scaling-stroke;
  stroke-width: calc(var(--category-button-icon-stroke, 1.25px) * 2);
}

.content-page.listing-page .careers-applied-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  grid-column: 1 / -1;
}
.content-page.listing-page .careers-applied-filters[hidden] { display: none; }
.content-page.listing-page .careers-applied-filters .careers-clear-filters { margin-top: 4px; }

/* Optically align the small article category glyphs with their labels. */
.article-reader .button-category-icon { transform: translateY(-0.5px); }

/* Article category pills share the index category hover palette. */
.article-reader .reader-metadata .button-category:is(:hover, :focus-visible) {
  background: var(--category-active, var(--foreground-color));
  color: var(--category-contrast, var(--background-color));
  outline: 1px solid oklch(.882 .008 61.44 / .05);
  outline-offset: -1px;
}
.article-reader .reader-metadata .button-category[data-category="research"]:is(:hover, :focus-visible) { color: #fff; }
.article-reader .reader-metadata .button-category:is(:hover, :focus-visible) .button-category-icon { fill: currentColor; stroke: none; }

.content-page.contact-reader .contact-label .required { color: inherit; }

/* Contact links use the same understated underline as article references. */
.content-page.contact-reader .contact-intro a {
  color: inherit;
  text-decoration-line: underline;
  text-decoration-color: var(--text-hairline);
  text-underline-offset: 2px;
  transition: color 0.15s ease, text-decoration-color 0.15s ease;
}
.content-page.contact-reader .contact-intro a:is(:hover, :focus-visible) {
  color: oklch(var(--color-blue));
  text-decoration-color: oklch(var(--color-blue) / 0.65);
}

.content-page.contact-reader .contact-intro h1 { font-size: var(--type-lg); }
.content-page.careers-index-page .careers-intro h1,
.content-page.careers-index-page .careers-intro p { font-size: var(--type-lg); }

.content-page.careers-index-page .careers-team-photo { display: block; width: 100%; height: auto; margin-top: 24px; border-radius: var(--border-radius); }

/* Align narrow columns to the centered full-width column on small laptops. */
@media (min-width: 1024px) and (max-width: 1324px) {
  .content-page.content-page:is(.careers-index-page, .blog-index-page, .contact-reader, .job-page, .about-reader),
  .content-page.content-page.article-reader {
    /* Match the header using available page width, excluding the scrollbar. */
    margin-left: calc((100% - min(1080px, calc(150% - 435px), calc(100% - 40px))) / 2);
    margin-right: auto;
  }

  .listing-page:is(.careers-index-page, .blog-index-page) .post-full-width,
  .about-reader .about-photo.post-full-width {
    margin-left: 0;
  }

}

/* Restore the original reading layout alongside the horizontal navigation. */
@media (min-width: 1024px) and (max-width: 1324px) {
  .content-page.content-page.article-reader {
    display: grid;
    grid-template-columns: 720px min(240px, calc(100vw - 784px));
    column-gap: 24px;
    align-items: start;
  }
  .article-reader .post-content { grid-column: 1; grid-row: 1; min-width: 0; }
  .article-reader .post-content > .post-full-width { align-self: flex-start; }
  .article-reader .post-footnotes {
    grid-column: 2;
    grid-row: 1;
    align-self: stretch;
    margin: 0;
    --footnote-inset-left: 0px;
    --footnote-inset-right: 0px;
  }
  .article-reader .post-footnotes > .post-heading { display: none; }
}

/* Stacked references use the same frame and rhythm as the inline contents. */
@media (max-width: 1023px) {
  .content-page.article-reader .post-footnotes:has(> *) {
    gap: 0;
    padding: 0 10px 12px !important; /* Override the legacy mobile footnote padding. */
    width: 100%;
    margin: 48px 0 24px;
    outline: 0;
    border-radius: var(--border-radius);
    box-shadow: inset 0 0 0 var(--stroke-weight) var(--border-color);
  }

  .article-reader .post-footnotes > .post-heading {
    font-size: var(--type-sm);
    font-weight: var(--font-weight-bold);
    min-height: 42px;
    padding: 10px 0;
    margin: 0 0 4px;
  }

  .article-reader .post-footnotes > .post-footnote {
    margin: 0;
    line-height: var(--line-height);
  }

  .article-reader .post-footnotes > .post-footnote + .post-footnote {
    margin-top: var(--toc-item-spacing, 2px);
  }
}

/* A single caption under wide media follows the primary reading column.
   Captions inside multi-column media grids stay with their own frames. */
.article-reader .post-content { container-type: inline-size; }
.article-reader .post-content > .post-full-width > .post-caption,
.article-reader .post-content > .post-full-width > .video-gallery-container > .post-caption {
  width: 100cqw;
  max-width: 100%;
  margin: 0.5rem auto 0;
}

@media (min-width: 1024px) and (max-width: 1324px) {
  .article-reader .post-content > .post-full-width > .post-caption,
  .article-reader .post-content > .post-full-width > .video-gallery-container > .post-caption {
    margin-left: 0;
  }
}

/* Fixed citation action; reserve room so text never sits beneath the icon. */
.citation-copy-wrap { position: relative; }
.citation-copy-wrap .citation { padding-right: 48px; }
.citation-copy-button {
  position: absolute;
  top: 10px;
  right: 10px;
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  padding: 3px;
  margin: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--text-subtle);
  cursor: pointer;
  transition: opacity 120ms ease;
}
.citation-copy-button svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1; stroke-linecap: round; stroke-linejoin: round; }
.citation-copy-button:hover { background: var(--surface-label); color: var(--foreground-color); }
.citation-copy-button:focus-visible { outline: 1px solid currentColor; outline-offset: 2px; }
.citation-copy-status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (hover: hover) and (pointer: fine) {
  .citation-copy-button { opacity: 0; pointer-events: none; }
  .citation-copy-wrap:hover .citation-copy-button,
  .citation-copy-wrap:focus-within .citation-copy-button { opacity: 1; pointer-events: auto; }
}
@media (prefers-reduced-motion: reduce) {
  .citation-copy-button { transition: none; }
}

/* Blog media fits the viewport without cropping its contents. */
.article-reader .post-content img,
.article-reader .post-content video {
  max-height: 80vh;
  object-fit: contain;
}
.article-reader .post-content img.post-image,
.article-reader .post-content > img,
.article-reader .post-content .post-figure > img,
.article-reader .post-content video.post-image {
  width: auto;
  max-width: 100%;
  height: auto;
  margin-inline: 0 auto;
}
.article-reader .post-content video-player {
  width: 100%;
  max-width: min(100%, calc(80vh * var(--video-natural-aspect, 1.777777778)));
  max-height: 80vh;
  margin-inline: 0 auto;
}
.article-reader .post-content video-player > video {
  position: static;
  width: 100%;
  height: auto;
}
/* Dominant clips fill the height established by the smaller stacked clips.
   Keep natural proportions once these layouts become a single mobile column. */
@media (min-width: 640px) {
  .article-reader .post-content :is(.video-composite-wide-main > .video-composite-main, .video-split-1-4-main) > video-player {
    max-width: none;
    max-height: none;
  }
  .article-reader .post-content :is(.video-composite-wide-main > .video-composite-main, .video-split-1-4-main) > video-player > video {
    height: 100%;
    max-height: none;
    object-fit: cover;
  }
}
/* External videos fill their grid track at 16:9, including wide sections. */
.article-reader .post-content .post-video-embed,
.article-reader .post-content .yt-facade,
.article-reader .post-content .yt-facade-grid > iframe {
  max-width: 100%;
  max-height: none;
  margin-inline: auto;
}
.article-reader .post-content .video-grid-1x2 > :not(.post-figure):not(video-player) {
  /* Absolutely positioned media cannot provide an intrinsic track width. */
  width: 100%;
  max-width: min(100%, calc(80vh * 16 / 9));
  max-height: 80vh;
  margin-inline: 0 auto;
}
/* Fullscreen playback still uses the entire screen. */
.article-reader .post-content video-player:fullscreen {
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
}
.article-reader .post-content video-player:fullscreen > video,
.article-reader .post-content video:fullscreen {
  width: 100%;
  height: 100%;
  max-height: none;
}

/* Anchor right, but never extend left beyond the side-note area. */
@media (min-width: 1024px) {
  .article-reader .reader-floating {
    max-width: min(var(--reader-toc-max-width), var(--reader-contents-max-width, calc(100vw - 40px)));
  }
}
.article-reader .reader-floating-toggle,
.article-reader .reader-floating [data-reader-current-section],
.article-reader .reader-floating .reader-toc-list a {
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
}

/* The collapsed TOC keeps a single-line label, including during section swaps. */
.article-reader .reader-floating[data-expanded='false'] [data-reader-current-section] > span {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

@media (width > 1440px) {
  .article-reader .reader-floating[data-placed-left='true'] {
    left: var(--reader-contents-left);
    right: auto;
  }
}

/* Each sticky TOC item has one continuous hit area across wrapped lines. */
.article-reader .reader-floating .reader-toc-list a {
  display: block;
  width: 100%;
}

/* Careers header: text and video share the wide column on laptops. */
.careers-index-page .careers-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 24px;
  align-items: start;
}
.careers-index-page .careers-header > * { min-width: 0; order: 0; }
@media (min-width: 1024px) {
  .careers-index-page .careers-header {
    grid-template-columns: minmax(0, 1fr) minmax(0, 3fr);
    column-gap: 8px;
  }
}
@media (max-width: 1023px) {
  .listing-page.careers-index-page .careers-header.post-full-width {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
  }
}

@media (min-width: 1024px) {
  .careers-index-page .careers-intro-line {
    display: block;
    white-space: nowrap;
  }
}

@media (min-width: 1024px) {
  .listing-page .careers-header .careers-intro {
    align-self: stretch;
    padding: 10px 10px 12px;
    border-radius: var(--border-radius);
    box-shadow: inset 0 0 0 var(--stroke-weight) var(--border-color);
  }
}

/* Pinned contents can be positioned for the current reading session. */
.article-reader .reader-floating-grip {
  position: absolute;
  z-index: 2;
  top: calc(var(--toc-padding-top, 10px) - 2px);
  right: calc(var(--toc-controls-right, 10px) + 28px);
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  padding: 4px;
  border: 0;
  border-radius: 3px;
  background: transparent;
  color: var(--text-subtle);
  cursor: grab;
  touch-action: none;
}
.article-reader .reader-floating-grip[hidden] { display: none; }
.article-reader .reader-floating-grip svg { width: 16px; height: 16px; }
.article-reader .reader-floating-grip:focus-visible { outline: 1px solid currentColor; }
.article-reader .reader-floating[data-pinned='true'] { cursor: grab; }
.article-reader .reader-floating[data-pinned='true'] .reader-floating-toggle {
  padding-right: 58px;
  cursor: grab;
  touch-action: none;
  user-select: none;
}
.article-reader .reader-floating-panel { cursor: auto; }
.article-reader .reader-floating[data-user-position='true'] {
  left: var(--reader-user-left);
  right: auto;
  top: var(--reader-user-top);
  width: var(--reader-user-width);
  max-width: calc(100vw - 16px);
  transition-property: opacity, transform, visibility, z-index;
  padding-bottom: 0;
}
.article-reader .reader-floating[data-user-position='true'] .reader-toc {
  /* Keep bottom spacing inside the scroller so its clip meets the box edge. */
  padding-bottom: calc(2px + var(--toc-padding-bottom, 7px));
  max-height: max(0px, calc(var(--reader-user-bottom, 100dvh) - var(--reader-user-top) - var(--reader-user-header-height) - 16px + var(--toc-padding-bottom, 7px) - var(--reader-header-bottom-padding)));
}
.article-reader .reader-floating[data-dragging='true'],
.article-reader .reader-floating[data-dragging='true'] *,
.article-reader .reader-floating[data-dragging='true'] .reader-floating-toggle,
.article-reader .reader-floating[data-dragging='true'] .reader-floating-grip { cursor: grabbing; user-select: none; }
.article-reader .reader-floating-pin svg { transition: transform 120ms ease; }
.article-reader .reader-floating[data-dragging='true'] .reader-floating-pin svg { transform: translateY(-3px) rotate(15deg); }
@media (prefers-reduced-motion: reduce) {
  .article-reader .reader-floating-pin svg { transition: none; }
}

/* Soften the moving list edge without fading the title or covering the outline. */
.article-reader .reader-floating::after {
  content: '';
  position: absolute;
  pointer-events: none;
  left: 1px;
  right: 1px;
  bottom: 1px;
  height: clamp(0px, calc(100% - 60px), 64px);
  background: linear-gradient(to bottom, transparent, var(--background-color) calc(100% - 4px));
  opacity: 0;
  transition: opacity 120ms ease;
}
.article-reader .reader-floating[data-collapsing='true']:not([data-dock-hover='true'])::after,
.article-reader .reader-floating[data-dock-hover-animating='true']::after,
.article-reader .reader-floating[data-expansion-animating='true']::after {
  opacity: 1;
}

/* Keep the hidden copy clear so its first visible collapse fades in. */
.article-reader .reader-floating[data-visible='false']::after {
  opacity: 0;
  transition: none;
}

/* Fade out during expansion, rather than starting after its 220ms finish. */
@keyframes reader-edge-fade-out {
  from { opacity: 1; }
  to { opacity: 0; }
}
.article-reader .reader-floating[data-expansion-animating='true'][data-expanded='true']::after,
.article-reader .reader-floating[data-dock-hover-animating='true'][data-dock-hover='true']::after {
  opacity: 0;
  transition: none;
  animation: reader-edge-fade-out 220ms ease both;
}
.article-reader .reader-floating[data-dock-hover-animating='true'][data-dock-hover='true']::after {
  animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
}
@media (prefers-reduced-motion: reduce) {
  .article-reader .reader-floating::after { animation: none; transition: none; }
}

/* Seal the last pixel above the content, including while the fade is changing. */
.article-reader .reader-floating::before {
  content: '';
  position: absolute;
  pointer-events: none;
  z-index: 2;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: var(--background-color);
  box-shadow: inset 0 -1px rgb(var(--foreground-rgb) / .05);
}
.article-reader .reader-floating[data-docking='true']::before {
  box-shadow: inset 0 -1px color-mix(in srgb, var(--border-color) calc(100% - 100% * var(--reader-dock-progress)), rgb(var(--foreground-rgb) / .05));
}

.article-reader .reader-floating[data-measuring='true'] { transition: none; }

/* Narrow toward the destination side before sliding into its gutter. */
.article-reader .reader-floating[data-placed-left='true'] { --reader-narrow-right: 0; }

/* Section permalinks retain the heading typography and reserve no extra space. */
.article-reader .post-content a.post-heading-anchor {
  position: relative;
  color: inherit;
  font: inherit;
  text-decoration: none;
}
.post-heading-anchor-marker {
  position: absolute;
  right: calc(100% + .25em);
  top: 0;
  transform: translate(var(--heading-anchor-x, -1px), var(--heading-anchor-y, 1.5px));
  font: inherit;
  opacity: 0;
  transition: opacity 120ms ease;
}
.article-reader .post-content :is(h2, h3, h4):hover > .post-heading-anchor > .post-heading-anchor-marker,
.post-heading-anchor:focus-visible > .post-heading-anchor-marker { opacity: var(--heading-anchor-opacity, .25); }
.post-heading-anchor:focus-visible { outline: 1px solid currentColor; outline-offset: 4px; }
@media (prefers-reduced-motion: reduce) {
  .post-heading-anchor-marker { transition: none; }
}

/* Standalone captions share the body's 24px flex gap. Halve only the gap
   above the caption, keeping the following paragraph's spacing unchanged. */
.article-reader .post-content > * + .post-caption {
  margin-top: -12px;
}

/* The side TOC starts at the metadata row and uses native sticky positioning. */
.content-page.content-page.article-reader { position: relative; }
.reader-side-rail { position: absolute; bottom: 0; pointer-events: none; }
.reader-side-rail[hidden], .article-reader .reader-intro > .reader-toc[hidden] { display: none; }
.article-reader .reader-side-rail .reader-floating {
  position: sticky;
  top: var(--reader-contents-top, 10px);
  left: auto;
  right: auto;
  width: 100%;
  max-width: var(--reader-toc-max-width);
  transform: none;
  animation: none;
  pointer-events: auto;
}
.article-reader .reader-side-rail .reader-floating[data-user-position='true'] {
  position: fixed;
  left: var(--reader-user-left);
  top: var(--reader-user-top);
  width: var(--reader-user-width);
}
.article-reader .reader-side-rail .reader-floating[data-measuring='true'] {
  position: fixed;
  left: auto;
  right: var(--reader-contents-inset, 10px);
  width: var(--reader-contents-width, 480px);
  max-width: min(var(--reader-toc-max-width), var(--reader-contents-max-width, calc(100vw - 40px)));
}
.article-reader .reader-side-rail .reader-floating[data-measuring='true'][data-placed-left='true'] {
  left: var(--reader-contents-left);
  right: auto;
}

/* First paint uses the final TOC state, without an entrance animation. */
.article-reader .reader-floating[data-initializing='true'],
.article-reader .reader-floating[data-initializing='true'] *,
.article-reader .reader-floating[data-initializing='true']::after {
  transition: none;
  animation: none;
}

/* Coverless articles start beside the nav icon, avoiding the links below it. */
.article-reader .reader-side-rail .reader-floating[data-starts-fixed='true']:not([data-user-position='true']):not([data-measuring='true']) {
  position: fixed;
  top: var(--reader-contents-top, 10px);
  left: var(--reader-contents-left);
  right: auto;
  width: var(--reader-contents-width, 480px);
  max-width: min(var(--reader-toc-max-width), var(--reader-contents-max-width, calc(100vw - 40px)));
}

/* Keep the automatic nav collapse behind coverless left TOCs. Explicit nav
   hover/focus still restores its normal top layer (including the backdrop). */
@media (width > 1440px) {
  body:has(.reader-floating[data-starts-fixed='true'][data-visible='true']:not([data-user-position='true'])):has(.site-navigation[data-interacting='false']) .site-header {
    z-index: 10;
  }
}

/* A hover that started before sticking keeps scrolling the article until it
   ends. Preserve the open list's height so the sticky handoff cannot trap it. */
.article-reader .reader-side-rail .reader-floating:is([data-stuck='false'], [data-scroll-through-hover='true']):not([data-pinned='true']) .reader-toc {
  max-height: none;
  overflow: visible;
  overscroll-behavior: auto;
}

/* The return animation owns the motion; its live destination must swap in
   fully painted, without starting another opacity or list transition. */
.article-reader .reader-floating[data-returning='true'],
.article-reader .reader-floating[data-returning='true'] *,
.article-reader .reader-floating[data-returning='true']::after {
  transition: none;
  animation: none;
}

/* Local YouTube fallbacks keep the same frame as the embedded provider.
   Natural-aspect sizing applies to standalone players, not these wrappers. */
.article-reader .post-content .youtube-video > video-player {
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  margin: 0;
  background: #000;
}
.article-reader .post-content .youtube-video > video-player > video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: contain;
  object-position: center;
}
