.casestudy-hero{max-width:var(--container-max);padding:72px var(--content-pad) 0;margin:0 auto}.casestudy-hero .breadcrumb{margin:0 0 26px}.casestudy-hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:end;gap:72px;display:grid}.casestudy-title{letter-spacing:-.02em;text-wrap:balance;margin:18px 0 0;font-size:68px;line-height:1.04}.casestudy-lead{max-width:620px;color:var(--text-muted);margin:26px 0 0;font-size:20px;line-height:1.6}.casestudy-facts{background:var(--white);border:1px solid var(--border-light);border-radius:20px;flex-direction:column;gap:20px;margin:0;padding:36px 34px;display:flex}.casestudy-fact dt{letter-spacing:.12em;text-transform:uppercase;color:var(--text-soft);font-size:12px;font-weight:700}.casestudy-fact dd{margin:6px 0 0;font-size:17px;font-weight:500;line-height:1.4}.casestudy-fact dd a{color:var(--accent-text);text-underline-offset:3px;text-decoration:underline}.casestudy-visit{color:var(--accent-text);text-underline-offset:5px;margin-top:4px;font-size:15px;font-weight:600;text-decoration:underline}.casestudy-hero-panel{background:var(--ivory-dark);border-radius:var(--radius-card-lg);margin-top:56px;padding:56px 72px}.casestudy-hero-media{width:100%;height:auto}.casestudy-summary{max-width:var(--container-max);padding:88px var(--content-pad) 0;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:72px;margin:0 auto;display:grid}.casestudy-summary-heading{font-size:42px;line-height:1.1}.casestudy-summary-body{font-family:var(--font-serif);letter-spacing:-.005em;font-size:25px;line-height:1.5}.casestudy-summary-body+.casestudy-summary-body{margin-top:20px}.casestudy-panels{max-width:var(--container-max);padding:88px var(--content-pad) 0;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin:0 auto;display:grid}.casestudy-panel{background:var(--white);border:1px solid var(--border-light-soft);border-radius:20px;padding:44px 42px}.casestudy-panel-heading{font-size:32px;line-height:1.15}.casestudy-panel-body{color:var(--text-muted);margin:18px 0 0;font-size:17px;line-height:1.7}.casestudy-panel-body+.casestudy-panel-body{margin-top:14px}.casestudy-solution{margin-top:96px}.casestudy-solution-inner{max-width:var(--container-max);padding:96px var(--content-pad);margin:0 auto}.casestudy-solution-intro{max-width:720px;margin-bottom:56px}.casestudy-solution-heading{margin:16px 0 0;font-size:46px;line-height:1.08}.casestudy-solution-lead{color:var(--text-muted-dark);margin:20px 0 0;font-size:18px;line-height:1.65}.casestudy-solution-list{flex-direction:column;gap:40px;display:flex}.casestudy-block{border:1px solid rgb(var(--ivory-rgb) / .16);border-radius:20px;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:stretch;display:grid;overflow:hidden}.casestudy-block.is-mirrored{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.casestudy-block.is-mirrored .casestudy-block-text{order:2}.casestudy-block.is-mirrored .casestudy-block-media{order:1}.casestudy-block-text{flex-direction:column;justify-content:center;padding:48px 46px;display:flex}.casestudy-block-num{font-family:var(--font-serif);color:var(--accent-on-dark);font-size:20px}.casestudy-block-title{margin:14px 0 0;font-size:30px;line-height:1.18}.casestudy-block-desc{color:var(--text-muted-dark);margin:16px 0 0;font-size:16px;line-height:1.7}.casestudy-block-link{align-self:flex-start;margin-top:16px;font-size:15px}.section-dark .casestudy-block-link{color:var(--accent-on-dark)}.casestudy-tags{flex-wrap:wrap;gap:8px;margin:24px 0 0;padding:0;list-style:none;display:flex}.casestudy-tags li{border:1px solid var(--border-dark-strong);border-radius:var(--radius-pill);padding:8px 15px;font-size:13px;font-weight:600}.casestudy-block-media{border-radius:0;min-height:400px}img.casestudy-block-media{object-fit:cover;object-position:top left;width:100%;height:100%}.casestudy-process{max-width:var(--container-max);padding:96px var(--content-pad) 0;margin:0 auto}.casestudy-process-intro{max-width:680px;margin-bottom:48px}.casestudy-section-heading{font-size:44px;line-height:1.1}.casestudy-section-lead{max-width:640px;color:var(--text-muted);margin:18px 0 0;font-size:18px;line-height:1.65}.casestudy-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:0;padding:0;list-style:none;display:grid}.casestudy-step{background:var(--white);border:1px solid var(--border-light-soft);border-top:3px solid var(--accent);border-radius:var(--radius-card);padding:32px 28px}.casestudy-step-num{font-family:var(--font-serif);color:var(--accent-text);font-size:20px}.casestudy-step-title{margin:12px 0 0;font-size:23px;line-height:1.2}.casestudy-step-desc{color:var(--text-muted);margin:10px 0 0;font-size:15px;line-height:1.6}.casestudy-results{max-width:var(--container-max);padding:96px var(--content-pad) 0;margin:0 auto}.casestudy-results-inner{background:var(--ivory-dark);border-radius:var(--radius-card-lg);padding:64px 56px}.casestudy-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:44px;display:grid}.casestudy-stat{background:var(--ivory);border-radius:var(--radius-card);padding:32px 28px}.casestudy-stat-n{font-family:var(--font-serif);color:var(--accent);font-size:46px;line-height:1}.casestudy-stat-label{color:var(--text-muted);margin-top:12px;font-size:15px;line-height:1.55}.casestudy-qualitative{border-top:1px solid var(--border-light);grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:44px;padding-top:36px;display:grid}.casestudy-point{align-items:start;gap:12px;display:flex}.casestudy-point-mark{color:var(--accent-text);font-size:17px;font-weight:700}.casestudy-point-title{font-family:var(--font-sans);font-size:17px;font-weight:600}.casestudy-point-desc{color:var(--text-muted);margin:6px 0 0;font-size:15px;line-height:1.6}.casestudy-faq{margin-top:96px}.casestudy-faq-inner{max-width:var(--container-max);padding:96px var(--content-pad);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:96px;margin:0 auto;display:grid}.casestudy-faq-lead{color:var(--text-muted);margin:24px 0 0;font-size:17px;line-height:1.65}.casestudy-faq-lead a{color:var(--accent-text);font-weight:600}.casestudy-faq-list{flex-direction:column;display:flex}.casestudy-faq-item{border-bottom:1px solid var(--border-light);padding:8px 0}.casestudy-faq-item summary{cursor:pointer;padding:16px 0;font-size:18px;font-weight:600}.casestudy-faq-item p{max-width:620px;color:var(--text-muted);margin:0 0 22px;font-size:16px;line-height:1.7}.casestudy-cta-inner{max-width:var(--container-max);padding:88px var(--content-pad);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:64px;margin:0 auto;display:grid}.casestudy-cta-heading{max-width:640px;font-size:46px;line-height:1.08}.casestudy-cta-para{max-width:560px;color:var(--text-muted-dark);margin:20px 0 0;font-size:18px;line-height:1.65}.casestudy-cta-actions{flex-direction:column;align-items:flex-start;gap:16px;display:flex}@media (max-width:1024px){.casestudy-hero-grid,.casestudy-summary,.casestudy-panels,.casestudy-faq-inner{grid-template-columns:minmax(0,1fr);gap:40px}.casestudy-title{font-size:48px}.casestudy-hero-panel{padding:36px 40px}.casestudy-summary-body{font-size:21px}.casestudy-block,.casestudy-block.is-mirrored{grid-template-columns:minmax(0,1fr)}.casestudy-block.is-mirrored .casestudy-block-text{order:1}.casestudy-block.is-mirrored .casestudy-block-media{order:2}.casestudy-block-text{padding:36px 32px}.casestudy-block-media{min-height:260px}.casestudy-steps,.casestudy-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.casestudy-qualitative{grid-template-columns:minmax(0,1fr);gap:24px}.casestudy-cta-inner{grid-template-columns:minmax(0,1fr);gap:32px}}@media (max-width:640px){.casestudy-hero{padding-top:48px}.casestudy-title{font-size:34px}.casestudy-lead{font-size:18px}.casestudy-facts{padding:28px 24px}.casestudy-hero-panel{border-radius:var(--radius-card);margin-top:36px;padding:18px 20px}.casestudy-summary,.casestudy-panels,.casestudy-process,.casestudy-results{padding-top:64px}.casestudy-summary-heading{font-size:30px}.casestudy-summary-body{font-size:19px}.casestudy-panel{padding:28px 24px}.casestudy-panel-heading{font-size:26px}.casestudy-solution{margin-top:64px}.casestudy-solution-inner{padding:64px var(--content-pad)}.casestudy-solution-heading{font-size:32px}.casestudy-solution-list{gap:28px}.casestudy-block-text{padding:28px 24px}.casestudy-block-title{font-size:24px}.casestudy-section-heading{font-size:32px}.casestudy-steps{grid-template-columns:minmax(0,1fr)}.casestudy-results-inner{padding:36px 24px}.casestudy-stats{grid-template-columns:minmax(0,1fr)}.casestudy-stat-n{font-size:38px}.casestudy-faq{margin-top:64px}.casestudy-faq-inner,.casestudy-cta-inner{padding:64px var(--content-pad)}.casestudy-cta-heading{font-size:32px}}
