/* Detailed cases / BEM. DiaMarka composition + approved guideline v11. */
.page--case { --case-wash:#F2F7FA; }
.case-hero { padding-top:28px; padding-bottom:32px; }
.case-hero__breadcrumbs { display:flex; flex-wrap:wrap; gap:8px 14px; font-size:var(--type-caption); line-height:1.6; color:var(--muted); }
.case-hero__breadcrumbs a:hover { color:var(--blue); }
.case-hero__top { display:flex; justify-content:space-between; align-items:center; gap:20px; margin:42px 0 22px; }
.case-hero__client { font-size:24px; line-height:1.2; font-weight:700; letter-spacing:-.04em; }
.case-hero__title { max-width:1380px; font-size:var(--type-display); line-height:var(--leading-display); letter-spacing:var(--tracking-display); word-spacing:calc(0em - var(--tracking-display)); font-weight:var(--weight-heading); }
.case-hero__accent { color:var(--blue); }
.case-hero__bottom { display:flex; justify-content:space-between; align-items:flex-end; gap:40px; margin-top:30px; }
.case-hero__description { max-width:700px; color:var(--muted); font-size:var(--type-body); line-height:var(--leading-body); }
.case-hero__jump { flex-shrink:0; font-size:var(--type-ui); line-height:var(--leading-ui); }
.case-facts { display:grid; grid-template-columns:1.3fr .8fr 1.1fr .8fr; gap:24px; margin:37px 0 0; padding-top:23px; border-top:1px solid var(--line); }
.case-facts__item { min-width:0; }
.case-facts__label { color:var(--muted); font-size:var(--type-caption); line-height:1.6; margin-bottom:8px; }
.case-facts__value { margin:0; font-size:var(--type-ui); line-height:1.6; overflow-wrap:anywhere; }
.case-facts__value a { color:var(--blue); }
.case-highlights { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.case-highlights--single { grid-template-columns:1fr; }
.case-metric { padding:24px 30px; background:var(--case-wash); border-radius:6px; min-width:0; }
.case-metric__top,.case-metric__bottom { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.case-metric__label { font-size:var(--type-caption); line-height:1.6; }
.case-metric__delta { color:var(--blue); font-size:var(--type-card); line-height:1.2; font-weight:600; white-space:nowrap; }
.case-metric__value { display:block; color:var(--blue); margin:15px 0 16px; font-size:57px; font-weight:600; line-height:1; letter-spacing:-.05em; overflow-wrap:anywhere; }
.case-metric__bottom { align-items:flex-start; color:var(--muted); padding-top:14px; border-top:1px solid var(--line); font-size:var(--type-caption); line-height:1.6; }
.case-metric__source { text-align:right; }
.case-story { display:grid; grid-template-columns:minmax(170px,.7fr) minmax(0,2.1fr); gap:74px; margin-top:68px; align-items:start; }
.case-toc { position:sticky; top:calc(var(--header-offset,112px) + 12px); padding-top:5px; max-height:calc(100dvh - var(--header-offset,112px) - 32px); overflow:auto; }
.case-toc__label { color:var(--muted); font-size:var(--type-caption); line-height:1.6; letter-spacing:1.2px; text-transform:uppercase; }
.case-toc__links { display:flex; flex-direction:column; gap:3px; margin-top:20px; }
.case-toc__link { display:flex; align-items:baseline; gap:16px; padding:10px 0; min-height:44px; font-size:var(--type-ui); line-height:1.5; }
.case-toc__number { flex:0 0 2ch; color:var(--muted); font-size:var(--type-caption); letter-spacing:1px; }
.case-toc__link:hover,.case-toc__link[aria-current],.case-toc__link[aria-current] .case-toc__number { color:var(--blue); }
.case-toc__back { margin-top:28px; padding-top:22px; border-top:1px solid var(--line); color:var(--muted); font-size:var(--type-ui); line-height:1.5; }
.case-story__content { min-width:0; }
.case-story__section { padding-bottom:53px; margin-bottom:49px; border-bottom:1px solid var(--line); scroll-margin-top:20px; }
.case-story__section:last-child { border-bottom:0; margin-bottom:0; padding-bottom:0; }
.case-story__kicker { color:var(--blue); margin-bottom:20px; font-size:var(--type-caption); letter-spacing:1.2px; line-height:1.6; }
.case-story__title { margin-bottom:23px; font-size:var(--type-section); line-height:var(--leading-section); letter-spacing:-.035em; font-weight:var(--weight-heading); }
.case-story__copy { min-width:0; }
.case-story__copy > * + * { margin-top:20px; }
.case-story__copy p { max-width:740px; color:var(--muted); font-size:var(--type-body); line-height:var(--leading-body); }
.case-story__copy p.case-story__lead { color:var(--ink); font-size:var(--type-lead); line-height:var(--leading-lead); }
.case-story__copy strong { color:var(--ink); font-weight:600; }
.case-story__copy a { color:var(--blue); text-decoration:underline; text-underline-offset:4px; }
.case-story__copy .bullet-list { margin-top:24px; }
.case-story__copy > .bullet-list:first-child { margin-top:0; }
.case-story__copy .bullet-list p { margin:0; }
.case-story__copy p.case-story__source { font-size:var(--type-caption); line-height:1.6; color:var(--muted); }
.case-story__note { background:var(--case-wash); border-left:2px solid var(--blue); padding:22px 24px; max-width:800px; }
.case-story__note p { color:var(--ink); margin:0; }
.case-steps { margin:28px 0; padding:0; list-style:none; }
.case-steps__item { display:grid; grid-template-columns:32px minmax(0,1fr); gap:20px; padding:22px 0; border-top:1px solid var(--line); }
.case-steps__number { color:var(--blue); font-size:var(--type-caption); line-height:1.7; padding-top:3px; }
.case-steps__copy p { margin:0; }
.case-comparisons { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:34px; margin-top:32px; }
.case-comparisons--single { grid-template-columns:1fr; max-width:740px; }
.case-chart { margin:0; min-width:0; }
.case-chart__title { font-size:var(--type-card); font-weight:600; line-height:1.2; letter-spacing:-.025em; }
.case-chart__row { margin-top:24px; }
.case-chart__label { display:flex; justify-content:space-between; align-items:baseline; gap:14px; color:var(--muted); font-size:var(--type-caption); line-height:1.6; margin-bottom:10px; }
.case-chart__value { font-size:var(--type-card); line-height:1.2; font-weight:600; letter-spacing:-.025em; color:var(--ink); white-space:nowrap; }
.case-chart__track { height:15px; background:var(--wash); border-radius:2px; overflow:hidden; }
.case-chart__bar { height:100%; width:var(--value); background:var(--blue); border-radius:2px; }
.case-chart__bar--before { background:#A0C8F2; }
.case-chart__note { color:var(--muted); font-size:var(--type-caption); line-height:1.6; margin-top:20px; }
.case-next { margin-top:64px; margin-bottom:52px; padding-top:30px; border-top:1px solid var(--line); }
.case-next__link { display:flex!important; justify-content:space-between; width:100%; }
.case-next__label { display:block; color:var(--muted); font-size:var(--type-caption); line-height:1.6; letter-spacing:1.2px; text-transform:uppercase; }
.case-next__title { display:block; margin-top:10px; font-size:var(--type-card); font-weight:600; line-height:1.2; letter-spacing:-.025em; }
.case-next__link:hover { color:var(--blue); }
.page--case .site-header__nav a[aria-current="page"] { color:var(--blue); }
@media(min-width:1600px) { .case-story { gap:100px; grid-template-columns:minmax(200px,.8fr) minmax(0,2fr); } .case-metric__value { font-size:68px; } }
@media(max-width:1100px) { .case-story { gap:40px; grid-template-columns:180px minmax(0,1fr); } .case-metric { padding:22px 25px; } .case-metric__value { font-size:51px; } .case-comparisons { gap:24px; } }
@media(max-width:800px) { .case-story { display:block; margin-top:42px; } .case-toc { position:static; max-height:none; overflow:visible; padding:0 0 20px; margin-bottom:36px; border-bottom:1px solid var(--line); } .case-toc__label,.case-toc__back { display:none!important; } .case-toc__links { flex-direction:row; flex-wrap:wrap; gap:6px 22px; margin:0; } .case-toc__link { gap:8px; } .case-facts { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 20px; } .case-highlights { gap:17px; } .case-metric { padding:20px; } .case-metric__value { font-size:46px; } .case-hero__client { font-size:22px; } }
@media(max-width:600px) { .case-hero { padding-top:22px; padding-bottom:25px; } .case-hero__top { margin:30px 0 18px; flex-wrap:wrap; gap:16px; } .case-hero__title br { display:none; } .case-hero__bottom { display:block; margin-top:24px; } .case-hero__jump { display:flex!important; justify-content:space-between; margin-top:20px; } .case-facts { margin-top:24px; padding-top:20px; gap:20px 15px; } .case-highlights { grid-template-columns:1fr; gap:12px; } .case-metric { padding:20px 22px; } .case-metric__value { font-size:56px; margin:12px 0; } .case-metric__bottom { flex-wrap:wrap; gap:6px 16px; } .case-metric__source { text-align:left; } .case-story { margin-top:32px; } .case-toc__links { display:grid; grid-template-columns:1fr 1fr; gap:0 14px; } .case-toc { margin-bottom:28px; padding-bottom:18px; } .case-toc__link { padding:8px 0; } .case-story__section { padding-bottom:32px; margin-bottom:32px; } .case-story__title { margin-bottom:20px; } .case-story__kicker { margin-bottom:16px; } .case-story__note { padding:20px; } .case-steps__item { grid-template-columns:24px minmax(0,1fr); gap:12px; padding:20px 0; } .case-comparisons { grid-template-columns:1fr; gap:28px; } .case-chart + .case-chart { padding-top:24px; border-top:1px solid var(--line); } .case-next { margin-top:36px; margin-bottom:36px; padding-top:24px; } }
@media(max-width:380px) { .case-toc__links { grid-template-columns:1fr; } .case-metric__value { font-size:44px; } .case-chart__label { flex-wrap:wrap; } }

.case-metric__period { display:block; margin-top:4px; color:var(--muted); }
.case-highlights__note { margin-top:14px; color:var(--muted); font-size:var(--type-caption); line-height:var(--leading-caption); }
.case-story__copy .case-steps__copy > p + p { margin-top:16px; }

/* Shared contact typography */
.page--case .contact-section h2{font-size:var(--type-contact);line-height:var(--leading-contact);letter-spacing:-.03em}
.page--case .contact-section .section-label{font-size:var(--type-caption);line-height:var(--leading-caption)}
.page--case .contact-section .lead-form .lead-form__intro{font-size:var(--type-lead);line-height:var(--leading-ui)}
.page--case .contact-section .contact-section__label,.page--case .contact-section .contact-section__messengers a,.page--case .contact-section .lead-form__channels legend,.page--case .contact-section .lead-form__channel span,.page--case .contact-section .lead-form__field>label,.page--case .contact-section .lead-form__website summary,.page--case .contact-section .lead-form .lead-form__status{font-size:var(--type-ui);line-height:var(--leading-ui)}
.page--case .contact-section .contact-section__direct-links a,.page--case .contact-section .lead-form__field input{font-size:var(--type-body);line-height:var(--leading-ui)}
.page--case .contact-section .lead-form .lead-form__submit{font-size:var(--type-body);font-weight:var(--weight-heading);line-height:1.4}
.page--case .contact-section .lead-form__optional-label,.page--case .contact-section .lead-form__consent,.page--case .contact-section .contact-section__location,.page--case .contact-section .lead-form .lead-form__fallback{font-size:var(--type-caption);line-height:var(--leading-caption)}
.page--case .site-footer__main>p{font-size:var(--type-caption);line-height:var(--leading-caption)}
.page--case .site-footer__details p{font:inherit}


/* Keep the display heading within two thirds of the wide hero grid. */
.case-hero__title--contained { max-width:100%; }
@media (min-width:1100px) {
  .case-hero__title--contained { max-width:66.666667%; }
}

/* Absolute results with no published baseline; preserve approximate values. */
.case-result { margin:0 0 24px; padding:28px 30px 30px; background:var(--case-wash); border-radius:6px; }
.case-result__period { color:var(--muted); font-size:var(--type-caption); line-height:1.6; margin-bottom:26px; }
.case-result__metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; margin:0; }
.case-result__metric { min-width:0; }
.case-result__metric + .case-result__metric { border-left:1px solid var(--line); padding-left:30px; }
.case-result__label { color:var(--ink); font-size:var(--type-caption); line-height:1.6; }
.case-result__value { margin:16px 0 0; color:var(--blue); font-size:57px; font-weight:600; line-height:1; letter-spacing:-.05em; overflow-wrap:anywhere; }
@media (min-width:1600px) { .case-result__value { font-size:68px; } }
@media (max-width:1100px) { .case-result { padding:24px; } .case-result__metrics { gap:24px; } .case-result__metric + .case-result__metric { padding-left:24px; } .case-result__value { font-size:51px; } }
@media (max-width:600px) { .case-result { padding:24px 22px; } .case-result__metrics { grid-template-columns:1fr; gap:24px; } .case-result__metric + .case-result__metric { border-left:0; border-top:1px solid var(--line); padding:24px 0 0; } .case-result__value { font-size:56px; } }
@media (max-width:380px) { .case-result__value { font-size:44px; } }
