/* What We Do: scoped design; current Claude copy is preserved. */
.page-cases{--font:"Microsoft YaHei","微软雅黑",Arial,sans-serif;--wrap:100rem;--gut:clamp(1.25rem,5vw,5rem);--hdr:5.25rem;--sp:clamp(4rem,6vw,7rem);--r:.5rem;--grad:linear-gradient(110deg,#0f3193,#35b2d2);font-family:var(--font);color:#10243b}
.page-cases .hdr{position:fixed;inset:0 0 auto;background:transparent;border:0;box-shadow:none;backdrop-filter:none;transition:background .35s}
.page-cases .hdr.is-stuck{background:#21313eaa;backdrop-filter:blur(.75rem)}
.page-cases .hdr__logo img{content:url('../img/logo-white.png');height:2rem}
.page-cases .hdr__nav{gap:clamp(.75rem,1.3vw,1.5rem)}
.page-cases .hdr__nav a{font-size:1.125rem;font-weight:400;letter-spacing:0;color:white}
.page-cases .hdr__nav a::after{background:#35b2d2}
.page-cases .burger span,.page-cases .burger span::before,.page-cases .burger span::after{background:white}
.page-cases.is-menu .burger span{background:transparent}
.page-cases .btn{background:#0f3193;border-radius:.25rem;font-size:1rem;letter-spacing:0;font-weight:400;padding:0 1.75rem;height:3rem}
.page-cases .hdr__cta{font-size:1.25rem;height:2.75rem}
.page-cases .phero{background:#102c41;border:0;position:relative}
.page-cases .hero__bg{position:absolute;inset:0;background:linear-gradient(90deg,#081e32cf,#102c4144),url('../img/com-campus.jpg') center/cover;opacity:1}
.page-cases .phero__in{min-height:82svh;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding-block:calc(var(--hdr) + 3rem) 7rem;position:relative}
.page-cases .phero h1{font-size:clamp(3rem,4.5vw,5rem);font-weight:700;line-height:1.2;color:white;letter-spacing:-.02em}
.page-cases .phero p{font-size:clamp(1.25rem,2vw,2rem);color:#eef7fb;max-width:none;margin-top:1.5rem}
.page-cases .crumbs,.page-cases .crumbs a,.page-cases .crumbs .cur{font-size:.875rem;color:#e2eef4;letter-spacing:0}
.page-cases .crumbs{margin-bottom:2rem}
.page-cases .subnav{position:sticky;top:calc(var(--hdr) + .75rem);margin-top:-2rem;height:4rem;border:0;background:none;backdrop-filter:none;pointer-events:none}
.page-cases .subnav__in{width:max-content;max-width:calc(100% - 2*var(--gut));padding:0 .75rem;gap:.375rem;height:4rem;background:#fffffff2;border:.0625rem solid #dce7ef;border-radius:.5rem;box-shadow:0 .6rem 2rem #10243b12;pointer-events:auto}
.page-cases .subnav a{font-size:1rem;text-transform:none;font-weight:400;letter-spacing:0;padding:.85rem 1.1rem;border-radius:.25rem}
.page-cases .subnav a::after{display:none}
.page-cases .subnav a.is-active{color:white;background:#0f3193}
.page-cases .section{scroll-margin-top:calc(var(--hdr) + 6rem)}
.page-cases .eyebrow{font-size:1.5rem;font-weight:700;letter-spacing:0;text-transform:none;line-height:1.5}
/* Case catalogue: independent from the approved home page. */
.page-cases .hero__bg{background:linear-gradient(90deg,#071d32dc,#102c413b),url('../img/net-banner.jpg') center/cover}
.page-cases .phero__in{min-height:70svh;padding-block:calc(var(--hdr) + 3rem) 6rem}
.page-cases .phero p{max-width:35rem;line-height:1.5}
.page-cases .case-collection{background:#f3f7fa;padding:0 0 6rem;position:relative}
.page-cases .filters{position:relative;top:-2rem;margin:0 0 1rem;padding:1rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;background:white;border:.0625rem solid #dbe7ef;border-radius:.5rem;box-shadow:0 1rem 3rem #0c284110}
.page-cases .filter{padding:1rem 1.15rem;border:0;border-radius:.25rem;white-space:normal;display:flex;align-items:center;justify-content:space-between;text-align:left;gap:.75rem;font-size:1rem;font-weight:400;line-height:1.5;letter-spacing:0;text-transform:none;background:transparent;color:#37546b;transition:background .25s,color .25s}
.page-cases .filter span{font-size:.875rem;color:inherit;opacity:.75;flex:none}
.page-cases .filter:hover{background:#eef7fb;color:#0f3193}
.page-cases .filter.is-active{background:#0f3193;color:white;box-shadow:none}
.page-cases #case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;align-items:stretch}
.page-cases .case{min-width:0;position:relative;border:.0625rem solid #dce7ef;border-radius:.5rem;overflow:hidden;box-shadow:none;transition:box-shadow .35s,border-color .35s,transform .35s}
.page-cases .case:hover{transform:translateY(-.3rem);border-color:#79c6d9;box-shadow:0 1rem 2.5rem #183c5110}
.page-cases .case .shot{aspect-ratio:16/10;overflow:hidden;background:#e7eff5}
.page-cases .case .shot img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.page-cases .case:hover .shot img{transform:scale(1.04)}
.page-cases .case__bd{padding:1.75rem;gap:1.25rem}
.page-cases .case__t{font-size:1.25rem;line-height:1.5;font-weight:700;letter-spacing:0;color:#102a42}
.page-cases .case__meta{gap:.5rem}
.page-cases .case__meta li{font-size:1rem;line-height:1.6;color:#527086;gap:.625rem}
.page-cases .case__dot{width:.375rem;height:.375rem}
.page-cases .case__scope{font-size:1rem;line-height:1.7;color:#49677d;padding-top:1.25rem;border-top:.0625rem solid #e0ebf2}
.page-cases .case[hidden]{display:none!important}
.page-cases .case-empty{padding:5rem 1.5rem;text-align:center;border:.0625rem solid #d6e6ef;background:#fff;border-radius:.5rem;font-size:1.25rem;color:#527086}
.page-cases .case-more{display:flex;margin:3rem auto 0;align-items:center;gap:1.5rem;cursor:pointer}
.page-cases .case-more::after{content:'+';font-size:1.5rem;font-weight:400}
.page-cases .case-more[hidden]{display:none}
.page-cases .mmenu{visibility:hidden}.page-cases.is-menu .mmenu{visibility:visible}
.page-cases .ftr__grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1.05fr) minmax(0,1fr)}
.page-cases .ftr__grid>*{min-width:0}
.page-cases .ftr__nav a,.page-cases .ftr__addr,.page-cases .ftr__link{font-size:1rem;line-height:1.7}
.page-cases .ftr__addr{overflow-wrap:anywhere}
.page-cases :focus-visible{outline:.125rem solid #35b2d2;outline-offset:.25rem}
@media(max-width:80rem){.page-cases .hdr__nav{display:none}.page-cases .burger{display:block}.page-cases .hdr__cta{margin-left:auto}}
@media(max-width:60rem){.page-cases{--hdr:4.5rem}.page-cases #case-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.page-cases .filters{grid-template-columns:repeat(2,minmax(0,1fr))}.page-cases .ftr__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:40rem){.page-cases{--hdr:4rem}.page-cases .phero__in{min-height:32rem;padding-bottom:5rem}.page-cases .phero h1{font-size:2.75rem}.page-cases .phero p{font-size:1.25rem}.page-cases .filters{padding:.5rem;gap:.25rem}.page-cases .filter{font-size:.8125rem;padding:.75rem .5rem;gap:.3rem}.page-cases .filter span{font-size:.75rem}.page-cases #case-grid{grid-template-columns:1fr}.page-cases .case__bd{padding:1.5rem}.page-cases .case-collection{padding-bottom:4rem}.page-cases .ftr__grid{grid-template-columns:1fr}.page-cases .ftr__nav{grid-template-columns:repeat(2,minmax(0,1fr))}.page-cases .ftr__nav a{white-space:normal}}
@media(prefers-reduced-motion:reduce){.page-cases *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.page-cases .phero__in{padding-inline:var(--gut)}
.page-cases .filter::after{display:none}
/* Full-ratio hero asset, replacing the 1600x242 CTA strip. */
.page-cases .hero__bg{background:linear-gradient(90deg,#071d324d,transparent 75%),url('../img/cases-hero-campus.webp') center 55%/cover}
@media(max-width:40rem){.page-cases .hero__bg{background-position:center,62% center}}
