.case-detail {
  --case-text: #455b77;
  --case-muted: #536783;
  --case-surface: #f1f6fc;
  --case-header-offset: 106px;
  --case-nav-height: 0px;
  --case-fixed-offset: calc(var(--case-header-offset) + var(--case-nav-height));
  padding-top: var(--case-header-offset);
  background: var(--_website---white);
  color: var(--blue);
}

.case-shell { width: min(1280px, calc(100% - 160px)); margin-inline: auto; min-width: 0; }
.case-cover__inner, .case-section__inner { display: flex; flex-direction: column; align-items: stretch; gap: 48px; }
.case-cover__inner { padding-top: 48px; gap: 32px; }
.case-cover h1 { margin: 0; font-size: var(--display); font-weight: 500; line-height: 64px; letter-spacing: -1.5px; color: var(--blue); }
.case-cover h1 > span { display: block; }
.case-cover__figure, .case-media { margin: 0; min-width: 0; }
.case-cover__figure > img { display: block; width: 100%; height: auto; aspect-ratio: 1280 / 560; object-fit: cover; border-radius: var(--radius-xl); }
.case-cover figcaption, .case-media figcaption { margin-top: 10px; text-align: center; font-size: 13px; line-height: 1.5; color: var(--content-muted); }
.case-breadcrumbs { margin: 0; font-size: 14px; line-height: 20px; }
.case-breadcrumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin: 0; padding: 0; list-style: none; }
.case-breadcrumbs ol, .case-breadcrumbs li { font-size: inherit; line-height: inherit; }
.case-breadcrumbs li { display: inline-flex; align-items: center; gap: 16px; min-width: 0; }
.case-breadcrumbs a { display: inline-flex; color: var(--blue); opacity: .65; text-decoration: none; }
.case-breadcrumbs a:hover { opacity: 1; text-decoration: underline; text-underline-offset: 3px; }
.case-breadcrumbs img { display: block; }
.case-breadcrumbs__slash { opacity: .4; }
.case-breadcrumbs__short { display: none; }
.case-passport { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; margin: 0; padding: 24px 0 8px; border-top: 1px solid var(--content-line); }
.case-passport > div { min-width: 0; }
.case-passport dt { margin: 0 0 8px; font-size: 14px; line-height: 20px; font-weight: 500; color: var(--case-muted); }
.case-passport dd { margin: 0; font-size: 16px; line-height: 24px; overflow-wrap: anywhere; }
.case-passport dd > .case-external-link { vertical-align: top; }
.case-section { padding-block: 80px 96px; scroll-margin-top: var(--case-fixed-offset); }
.case-section--intro { padding-block: 96px 80px; }
.case-section--media { padding-block: 0 96px; }
.case-section--continuation { padding-top: 0; }
.case-section--muted { background: var(--case-surface); padding-bottom: 80px; }
.case-section--sand { background: #f7f4ed; }
.case-section--muted .case-section__inner { gap: 56px; }
.case-section-label { display: flex; gap: 32px; margin: 0; font-size: 14px; line-height: 20px; font-weight: 500; color: var(--case-muted); }
.case-section-label > :first-child { min-width: 80px; }
.case-heading { margin: 0; color: var(--blue); font-weight: 500; overflow-wrap: anywhere; }
.case-heading--large { font-size: 44px; line-height: 52px; letter-spacing: -1px; }
.case-heading--medium { font-size: 32px; line-height: 40px; letter-spacing: -.5px; }
.case-heading--small { font-size: 24px; line-height: 32px; letter-spacing: -.2px; }
.case-text-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 64px; }
.case-text-pair--stack { grid-template-columns: minmax(0, 1fr); gap: 24px; }
.case-text-pair__heading, .case-text-pair__body { display: flex; flex-direction: column; align-items: flex-start; gap: 24px; min-width: 0; }
.case-text-pair__heading { gap: 16px; }
.case-text-pair__body > * { width: 100%; }
.case-lead { margin: 0; color: var(--blue); font-size: 24px; line-height: 36px; letter-spacing: -.2px; }
.case-richtext { font-size: 18px; line-height: 28px; color: var(--case-text); min-width: 0; overflow-wrap: anywhere; }
.case-richtext > :first-child { margin-top: 0; }
.case-richtext > :last-child { margin-bottom: 0; }
.case-richtext p { margin: 0 0 24px; color: inherit; font-size: inherit; line-height: inherit; }
/* Use content.css bullets; suppress native markers even when the editor sets an inline list style. */
.case-detail .case-richtext ul, .case-detail .case-richtext ol { margin: 0 0 24px; padding-left: 1.4em; color: inherit; font: inherit; }
.case-detail .case-richtext.w-richtext ul { list-style: none !important; padding-left: 0; }
.case-detail .case-richtext ol { list-style-type: decimal; }
.case-detail .case-richtext li { padding-left: 0; color: inherit; font: inherit; }
.case-detail .case-richtext.w-richtext ul > li { padding-left: 24px; }
.case-detail .case-richtext ol > li::before { display: none; content: none; }
.case-detail .case-richtext li > ul, .case-detail .case-richtext li > ol { margin: 10px 0 0; }
.case-detail .case-richtext blockquote { margin: 0 0 24px; font: inherit; }
.case-detail .case-richtext blockquote > :last-child { margin-bottom: 0; }
.case-richtext h2, .case-richtext h3 { color: var(--blue); font-weight: 500; }
.case-note { margin: 0; color: var(--case-muted); font-size: 16px; line-height: 24px; overflow-wrap: anywhere; }
.case-block-border { padding-top: 32px; border-top: 1px solid var(--content-line); }
.case-external-link { display: inline-flex; align-items: center; gap: 5px; max-width: 100%; color: var(--link-default); text-decoration: none; font-size: 16px; line-height: 24px; }
.case-external-link > span { min-width: 0; overflow-wrap: anywhere; text-decoration: underline; text-decoration-thickness: 1px; text-decoration-color: rgb(49 130 206 / 35%); text-underline-offset: 3px; }
.case-external-link img { flex: none; opacity: .65; }
.case-external-link:hover > span { text-decoration-color: currentColor; }
.case-media__image, .case-cover__figure > video { display: block; width: 100%; height: auto; border-radius: var(--radius-lg); }
.case-video__player { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; background: var(--case-text); }
.case-video__player:focus-visible { outline: 2px solid var(--link-default); outline-offset: 4px; }
.case-detail .case-content-slider__image { display: none; }
.case-detail .case-content-slider__image.is-active { display: block; }
.case-media__address { padding: 12px 24px; border-bottom: 1px solid var(--content-line); font-size: 14px; line-height: 20px; font-weight: 500; color: var(--case-muted); }
.case-media__address + .case-media__image { aspect-ratio: 16 / 9; object-fit: cover; }
.case-media figcaption .case-external-link { font-size: inherit; line-height: inherit; vertical-align: baseline; }
.case-link-list { padding: 0; margin: 0; width: 100%; list-style: none; }
.case-link-list li { display: flex; flex-direction: column; align-items: flex-start; padding: 20px 0; border-top: 1px solid var(--content-line); }
.case-link-list .case-external-link { font-size: 24px; line-height: 32px; font-weight: 500; letter-spacing: -.2px; }
.case-link-list li p { margin: 12px 0 0; color: var(--case-text); font-size: 18px; line-height: 28px; }
.case-links-block { padding-block: 48px; }
.case-metrics, .case-comparison, .case-results { display: flex; flex-direction: column; gap: 32px; min-width: 0; }
.case-metrics.case-block-border, .case-comparison.case-block-border { padding-top: 40px; }
.case-metrics__grid, .case-comparison__groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 64px; margin: 0; }
.case-metric { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; min-width: 0; }
.case-metric dt { order: 1; font-size: 24px; line-height: 32px; font-weight: 500; letter-spacing: -.2px; white-space: pre-line; }
.case-metric dd { margin: 0; }
.case-metric__value { order: 0; font-size: 112px; line-height: 112px; font-weight: 500; letter-spacing: -5px; overflow-wrap: anywhere; }
.case-metric .case-note { order: 2; }
.case-comparison__group { display: flex; flex-direction: column; gap: 24px; min-width: 0; }
.case-comparison__point { display: flex; flex-direction: column; gap: 12px; }
.case-comparison__point p { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; margin: 0; font-size: 16px; line-height: 24px; color: var(--case-muted); }
.case-comparison__point strong { color: var(--blue); font-weight: 500; font-size: 24px; line-height: 32px; }
.case-comparison__bar { height: 20px; background: white; }
.case-comparison__bar > span { display: block; width: var(--case-share); height: 100%; background: var(--blue); }
.case-comparison__bar--previous > span { background: var(--combine-library--grey-200); }
.case-results table { width: 100%; margin: 0; table-layout: fixed; border-collapse: collapse; }
.case-results th, .case-results td { padding: 24px; border-bottom: 1px solid var(--content-line); text-align: left; font-size: 18px; line-height: 28px; font-weight: 400; overflow-wrap: anywhere; }
.case-results thead th { padding: 16px 24px; border: 0; background: var(--case-surface); color: var(--case-muted); font-size: 14px; line-height: 20px; font-weight: 500; }
.case-results th:last-child, .case-results td:last-child { width: 180px; text-align: right; }
.case-results td { font-size: 24px; line-height: 32px; font-weight: 500; }
.case-related-section { padding-block: 0 96px; scroll-margin-top: var(--case-header-offset); }
.case-related-heading { display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.case-all-link { display: inline-flex; align-items: center; gap: 12px; flex-shrink: 0; color: var(--blue); font-size: 16px; line-height: 24px; text-decoration: none; }
.case-all-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.case-related-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 64px; align-items: stretch; }
.case-related-card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; background: white; border: 1px solid var(--content-line); border-radius: var(--radius-lg); color: var(--blue); text-decoration: none; }
.case-related-card__preview { width: 100%; aspect-ratio: 16 / 9; overflow: hidden; border-radius: var(--radius-lg); }
.case-related-card__preview > img { display: block; width: var(--case-image-zoom, 100%); max-width: none; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.case-related-card__context, .case-related-card__title, .case-related-card__services { margin: 12px 16px 0; overflow-wrap: anywhere; }
.case-related-card [data-case-align] > span { display: block; }
.case-related-card__context { margin-top: 16px; font-size: 14px; line-height: 20px; font-weight: 500; color: var(--case-muted); }
.case-related-card__title { font-size: 32px; line-height: 40px; font-weight: 500; letter-spacing: -.5px; }
.case-related-card__services { margin-bottom: 12px; font-size: 16px; line-height: 24px; color: var(--case-text); }
.case-related-card__link { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: auto 16px 16px; padding-top: 16px; border-top: 1px solid var(--content-line); font-size: 16px; line-height: 24px; font-weight: 500; }
.case-related-card__link > img, .case-all-link > img { flex: none; }
.case-related-card:hover .case-related-card__link > span { text-decoration: underline; text-underline-offset: 3px; }
.case-detail a:focus-visible { outline: 2px solid var(--link-default); outline-offset: 4px; }
.case-section-nav { display: none; }
.case-detail #discuss { scroll-margin-top: var(--case-header-offset); }

@media (min-width: 1600px) {
  .case-shell { width: min(1280px, calc(100% - 160px)); }
}

@media (max-width: 991px) {
  .case-detail { --case-header-offset: 100px; --case-nav-height: 64px; --case-nav-overlap: 8px; }
  .case-shell { width: calc(100% - 80px); }
  .case-cover h1 { font-size: 44px; line-height: 52px; letter-spacing: -1px; }
  .case-section { padding-block: 64px; }
  .case-section--media, .case-section--continuation, .case-related-section { padding-top: 0; }
  .case-section__inner, .case-section--muted .case-section__inner { gap: 32px; }
  .case-section-label { display: none; }
  .case-text-pair { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .case-heading--large { font-size: 32px; line-height: 40px; letter-spacing: -.5px; }
  .case-heading--medium { font-size: 32px; line-height: 40px; }
  .case-links-block { padding-block: 32px; }
  .case-links-block .case-heading { font-size: 24px; line-height: 32px; }
  .case-block-border { padding-top: 24px; }
  .case-metric__value { font-size: 64px; line-height: 72px; letter-spacing: -2px; }
  .case-metrics__grid, .case-comparison__groups { gap: 32px; }
  .case-related-grid { column-gap: 24px; }
  .case-related-card__title { font-size: 24px; line-height: 32px; letter-spacing: -.2px; }
  .case-section-nav.case-shell {
    display: block; position: sticky; top: calc(var(--case-header-offset) - var(--case-nav-overlap)); z-index: 990;
    width: calc(100% - 40px); height: calc(var(--case-nav-height) + var(--case-nav-overlap)); box-sizing: border-box;
    padding: var(--case-nav-overlap) 2% 0; border: 1px solid transparent; border-top: 0;
    border-radius: 0 0 var(--radius-sm) var(--radius-sm); overflow: clip; clip-path: inset(var(--case-nav-overlap) 0 0);
    background: var(--header-panel-background); -webkit-backdrop-filter: blur(var(--header-panel-blur)); backdrop-filter: blur(var(--header-panel-blur));
    transition: border-color 200ms ease;
  }
  .case-section-nav.is-docked { z-index: 1001; border-color: rgba(0, 0, 0, .08); background: transparent; -webkit-backdrop-filter: none; backdrop-filter: none; }
  .header.has-case-tabs:not(.is-open) .navbar-container { background: transparent; border-bottom-color: transparent; border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
  .header.has-case-tabs:not(.is-open) .navbar-container-blur { bottom: calc(-1 * var(--case-tabs-extension, 64px)); }
  .case-section-nav .underline-tabs { --underline-tabs-background: transparent; }
  .case-section-nav .underline-tabs__viewport {
    --case-fade-left: 0px; --case-fade-right: 0px; --case-clear-left: 0px; --case-clear-right: 0px;
    -webkit-mask-image: linear-gradient(to right, transparent var(--case-clear-left), #000 var(--case-fade-left), #000 calc(100% - var(--case-fade-right)), transparent calc(100% - var(--case-clear-right)));
    mask-image: linear-gradient(to right, transparent var(--case-clear-left), #000 var(--case-fade-left), #000 calc(100% - var(--case-fade-right)), transparent calc(100% - var(--case-clear-right)));
  }
  .case-section-nav .can-scroll-left .underline-tabs__viewport { --case-fade-left: 48px; --case-clear-left: 24px; }
  .case-section-nav .can-scroll-right .underline-tabs__viewport { --case-fade-right: 48px; --case-clear-right: 24px; }
  .case-section-nav .underline-tabs__scroll-zone::before { display: none; }
  .nav-menu-open .case-section-nav { visibility: hidden; pointer-events: none; }
}

@media (prefers-reduced-motion: reduce) {
  .case-section-nav.case-shell { transition: none; }
}

@media (max-width: 767px) {
  .case-shell { width: calc(100% - 40px); }
  .case-cover__inner { padding-block: 24px 48px; }
  .case-cover h1 { font-size: 28px; line-height: 34px; letter-spacing: -.6px; }
  .case-breadcrumbs ol, .case-breadcrumbs li { gap: 8px; }
  .case-breadcrumbs li:last-child { flex: 1; }
  .case-breadcrumbs__full { display: none; }
  .case-breadcrumbs__short { display: block; }
  .case-cover__figure > img { aspect-ratio: 350 / 240; }
  .case-cover figcaption, .case-media figcaption { font-size: 12.5px; line-height: 18.75px; }
  .case-passport { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; padding: 0; border: 0; }
  .case-passport dt { font-size: 12px; line-height: 18px; }
  .case-passport dd { font-size: 14px; line-height: 22.4px; }
  .case-section { padding-block: 56px; }
  .case-section--media { padding-block: 40px; }
  .case-section--mobile-muted, .case-related-section { background: var(--case-surface); }
  .case-section--mobile-white { background: white; }
  .case-section--mobile-sand { background: #f7f4ed; }
  .case-heading--large, .case-heading--medium { font-size: 24px; line-height: 32px; letter-spacing: -.4px; }
  .case-heading--small, .case-links-block .case-heading { font-size: 20px; line-height: 28px; letter-spacing: -.2px; }
  .case-lead { font-size: 18px; line-height: 28.8px; letter-spacing: 0; }
  .case-richtext { font-size: 16px; line-height: 25.6px; }
  .case-note { font-size: 14px; line-height: 22.4px; }
  .case-external-link { font-size: 14px; line-height: 22.4px; }
  .case-media__image, .case-cover__figure > video { border-radius: var(--radius-md); }
  .case-media__address { padding: 12px 16px; font-size: 12px; line-height: 18px; }
  .case-media figcaption .case-external-link { display: inline-flex; }
  .case-links-block { padding-block: 0; }
  .case-links-block .case-text-pair__heading { gap: 24px; }
  .case-text-pair.case-block-border { padding-top: 0; border: 0; gap: 16px; }
  .case-link-list li { padding-block: 16px; }
  .case-link-list .case-external-link { font-size: 18px; line-height: 28.8px; font-weight: 400; }
  .case-metrics.case-block-border { padding-top: 0; border: 0; }
  .case-metrics__grid { gap: 24px; }
  .case-metric { gap: 12px; }
  .case-metric dt { font-size: 14px; line-height: 22.4px; font-weight: 400; letter-spacing: 0; }
  .case-metric .case-note { font-size: 12.5px; line-height: 18.75px; }
  .case-comparison { gap: 24px; }
  .case-comparison > .case-heading { font-size: 20px; line-height: 28px; letter-spacing: -.2px; }
  .case-comparison.case-block-border { padding-top: 0; border: 0; }
  .case-comparison__groups { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .case-comparison__group { gap: 12px; }
  .case-comparison__group > .case-heading { font-size: 18px; line-height: 28.8px; font-weight: 400; letter-spacing: 0; }
  .case-comparison__point { gap: 8px; }
  .case-comparison__point p { font-size: 14px; line-height: 22.4px; }
  .case-comparison__point strong { font-size: 14px; line-height: 22.4px; font-weight: 400; }
  .case-comparison__bar { height: 12px; border-radius: 2px; background: var(--content-line); }
  .case-comparison__bar > span { border-radius: inherit; }
  .case-comparison > .case-note { font-size: 12.5px; line-height: 18.75px; }
  .case-results th, .case-results td { padding: 16px 0; font-size: 16px; line-height: 25.6px; }
  .case-results th:first-child { padding-right: 16px; }
  .case-results thead th { padding: 16px 0; border-bottom: 1px solid var(--content-line); background: transparent; font-size: 12px; line-height: 18px; }
  .case-results th:last-child, .case-results td:last-child { width: 80px; }
  .case-related-heading { flex-direction: column; align-items: flex-start; gap: 32px; }
  .case-all-link { min-height: 44px; font-size: 14px; line-height: 22.4px; }
  .case-related-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .case-related-card { border-radius: var(--radius-md); }
  .case-related-card__preview { border-radius: var(--radius-md); }
  .case-related-card__context, .case-related-card__services { font-size: 14px; line-height: 22.4px; }
  .case-related-card__context { font-weight: 400; }
  .case-related-card__title { letter-spacing: -.4px; }
  .case-related-card__link { font-size: 14px; line-height: 20px; }
}

