.hero{position:relative;overflow:hidden;display:flex;align-items:center}.hero__inner{position:relative;z-index:3;max-width:1140px;margin:auto}.hero__title{letter-spacing:-.03em}.hero .geo{opacity:0;transition:opacity 1.2s var(--ease)}.hero.is-ready .geo{opacity:1}.dhero{min-height:auto;padding:150px 0 56px;text-align:left}
.dhero .hero__inner{text-align:left;max-width:900px;margin:0}
.dhero .hero__title{font-size:clamp(1.75rem,3vw,2.75rem);line-height:1.22;text-align:left}
.crumb{display:flex;align-items:center;gap:10px;font-size:.88rem;font-weight:600;color:#3D4C57;margin-bottom:22px}
.crumb a{transition:color .3s var(--ease)}
.crumb a:hover{color:var(--blue)}
.crumb svg{width:13px;height:13px;opacity:.6}
.crumb span[aria-current]{color:var(--blue)}
.dmeta{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px;align-items:center}

.article{background:#fff}
.article__grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:56px;align-items:start}
.article__media{border-radius:14px;overflow:hidden;aspect-ratio:16/8;background:#E4EDF5;margin-bottom:38px}
.prose{font-size:1.04rem;line-height:1.78;color:#33404A;font-weight:500;max-width:72ch}
.prose>*+*{margin-top:22px}
.prose h2{font-size:clamp(1.35rem,2vw,1.72rem);line-height:1.3;margin-top:44px;color:var(--ink)}
.prose h3{font-size:1.16rem;line-height:1.36;margin-top:34px;color:var(--ink)}
.prose ul{display:flex;flex-direction:column;gap:12px;padding-left:2px}
.prose ul li{display:flex;gap:13px;align-items:flex-start}
.prose ul li::before{
  content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--blue);margin-top:.55em;
}
.prose blockquote{
  border-left:3px solid var(--blue);background:#F5FAFD;border-radius:0 10px 10px 0;
  padding:20px 26px;font-size:1.06rem;line-height:1.66;color:#1E2932;font-weight:600;
}
.prose strong{font-weight:800;color:var(--ink)}
.prose a{color:var(--blue);font-weight:700;border-bottom:1px solid #A8CFE8}
.prose a:hover{border-color:var(--blue)}

.aside{position:sticky;top:104px;display:flex;flex-direction:column;gap:22px}
.aside__box{border:1px solid #E2EBF3;border-radius:12px;padding:22px 22px 24px;background:#fff}
.aside__t{font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#5B6B78}
.toc{margin-top:14px;display:flex;flex-direction:column;gap:11px}
.toc a{font-size:.92rem;font-weight:600;color:#33404A;padding-left:13px;border-left:2px solid #DCE7EF;transition:color .3s var(--ease),border-color .3s var(--ease)}
.toc a:hover,.toc a.is-current{color:var(--blue);border-color:var(--blue)}
.share{margin-top:14px;display:flex;gap:10px}
.share a{
  width:38px;height:38px;border-radius:50%;border:1px solid #CFE0EC;display:grid;place-items:center;
  color:var(--blue);transition:background-color .3s var(--ease),color .3s var(--ease),transform .3s var(--ease)
}
.share a svg{width:16px;height:16px}
.share a:hover{background:var(--blue);color:#fff;transform:translateY(-2px)}
.author{display:flex;gap:14px;align-items:center;margin-top:14px}
.author__av{width:48px;height:48px;border-radius:50%;overflow:hidden;flex:none;border:2px solid #CFE0EC}
.author__n{display:block;font-size:.98rem;font-weight:800}
.author__r{display:block;font-size:.82rem;color:#5B6B78;font-weight:500}

.related{background:#F7FBFD}
.next-cs{
  display:flex;align-items:center;justify-content:space-between;gap:26px;flex-wrap:wrap;
  border:1px solid #DDEAF4;border-radius:14px;padding:26px 30px;background:#fff;
  transition:border-color .4s var(--ease),box-shadow .4s var(--ease),transform .4s var(--ease);
}
.next-cs:hover{border-color:#B9D9EE;box-shadow:0 16px 34px rgba(18,58,94,.09);transform:translateY(-3px)}
.next-cs__l{font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#5B6B78}
.next-cs__t{margin-top:7px;font-size:1.24rem;line-height:1.3}

/* metric strip on the case-study detail page */
.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.metric{border:1px solid #E2EBF3;border-radius:12px;padding:26px 24px;background:#fff;text-align:center}
.metric b{display:block;font-size:clamp(1.8rem,3vw,2.5rem);font-weight:800;color:var(--blue);letter-spacing:-.03em}
.metric span{display:block;margin-top:8px;font-size:.94rem;font-weight:600;color:#313D47}

/* 404 */
.nf{min-height:70vh;display:grid;place-items:center;text-align:center;padding:170px 0 100px}
.nf__code{font-size:clamp(5rem,16vw,11rem);font-weight:800;line-height:1;letter-spacing:-.05em;
  background:linear-gradient(120deg,#2C83B9,#8FD0FF);-webkit-background-clip:text;background-clip:text;color:transparent}
.nf__t{margin-top:14px;font-size:clamp(1.5rem,3vw,2.3rem)}
.nf__p{margin:18px auto 0;max-width:52ch;color:#4B5761;font-weight:500;line-height:1.66}
.nf__cta{margin-top:32px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

@media (max-width:1024px){
  .article__grid{grid-template-columns:1fr;gap:40px}
  .aside{position:static}
  .metrics{grid-template-columns:1fr}
  .dhero{padding:132px 0 44px}
}
.article__media img{width:100%;height:100%;object-fit:cover;display:block}.aside__box p{margin-top:12px;color:#4B5761;font-size:.9rem;line-height:1.6}
