/* CEND case study page (ported from the approved mockup) */

.panel{position:relative;border-radius:16px;overflow:hidden;background:#E4E5EA}
.bw{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 40px 80px -30px rgba(20,22,45,.35),0 0 0 1px rgba(10,12,30,.06)}
.bw-bar{height:26px;display:flex;align-items:center;gap:6px;padding:0 12px;background:#F4F4F6;border-bottom:1px solid #E6E6EA}
.bw-bar i{width:8px;height:8px;border-radius:50%;background:#D3D4DA;display:block}
.bw-shot{display:block;width:100%;object-fit:cover;object-position:50% 0}
.ph{background:linear-gradient(160deg,#FFFFFF 0%,#EEEFF3 100%);border-radius:30px;padding:7px;box-shadow:0 40px 70px -28px rgba(20,22,45,.38),0 0 0 1px rgba(10,12,30,.08),inset 0 0 0 1px rgba(255,255,255,.9)}
.ph-s{position:relative;border-radius:23px;overflow:hidden;background:#fff;aspect-ratio:203/440}
.ph-s img,.tb-s img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 0}
.ph-s::before{content:"";position:absolute;top:7px;left:50%;transform:translateX(-50%);width:30%;height:14px;border-radius:10px;background:#F3F4F7;box-shadow:0 0 0 1px rgba(10,12,30,.06);z-index:2}
.tb{background:linear-gradient(160deg,#FFFFFF 0%,#EEEFF3 100%);border-radius:20px;padding:9px;box-shadow:0 40px 70px -28px rgba(20,22,45,.38),0 0 0 1px rgba(10,12,30,.08),inset 0 0 0 1px rgba(255,255,255,.9)}
.tb-s{border-radius:11px;overflow:hidden;background:#fff;aspect-ratio:413/551}
.scroll{animation:scrollpage 50s ease-in-out infinite alternate}
@keyframes scrollpage{0%,8%{object-position:50% 0}92%,100%{object-position:50% 100%}}
.cs .marquee{display:flex;gap:24px;width:max-content;animation:marquee 60s linear infinite}
.cs .marquee:hover{animation-play-state:paused}
.cs .card{flex:none;box-sizing:border-box;height:clamp(200px,22vw,300px);padding:clamp(14px,1.6vw,22px);border-radius:16px;background:#E4E5EA}
.cs .card img{display:block;height:100%;width:auto;border-radius:8px;box-shadow:0 12px 28px -14px rgba(20,22,45,.35)}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 12px))}}
.fade-up{animation:fadeup .9s cubic-bezier(.2,.7,.2,1) both}
@keyframes fadeup{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}

.cs .two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.cs .facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.cs .meta{display:flex;flex-wrap:wrap;gap:24px 56px;margin-bottom:40px}
.cs .panel img,.cs .bw img{max-width:none}
.cs .marquee{animation:marquee 60s linear infinite}
@media (max-width:860px){.cs .two{grid-template-columns:minmax(0,1fr)}.cs .facts{grid-template-columns:repeat(2,minmax(0,1fr))}.cs .hide-sm{display:none}}
@media (prefers-reduced-motion:reduce){.cs .scroll,.cs .marquee,.cs .fade-up{animation:none}}

/* Section tags: shared shape, per-project accent (--accent) */
.cs{--accent:#6A4CE0;--accent-soft:#ECE7FC}
.cs .tag{display:inline-flex;align-items:center;gap:10px;padding:8px 16px;border-radius:64px;background:var(--accent-soft);color:var(--accent);font-size:14px;line-height:1.3}
.cs .tag i{width:8px;height:8px;border-radius:50%;background:var(--accent);display:block}
.cs .tag.sm{padding:6px 12px;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:12px;letter-spacing:.03em;text-transform:uppercase}
.cs .cs-next{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0;padding:28px 32px;border-radius:16px;background:#F3F1EF;color:inherit;transition:background .3s}
.cs .cs-next:hover{background:#ECE8E4}
.cs .cs-next .k{margin:0 0 6px;font-size:14px;color:#888}
.cs .cs-next .v{margin:0;font-size:clamp(24px,2.6vw,34px);letter-spacing:-.02em}
.cs .cs-next img{width:clamp(120px,18vw,220px);border-radius:10px;display:block}
@media (max-width:860px){.cs .cs-next img{display:none}}
