/* Small additions for generated case-study pages; layout comes from /case-studies/case-study.css. */
.hero .crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;font-family:'JetBrains Mono',monospace;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mist);margin-bottom:22px}
.hero .crumbs li+li::before{content:'/';margin-right:6px;opacity:.5}
.hero .crumbs a:hover{color:var(--magenta)}
.entity{font-size:1.02rem;color:var(--mist);max-width:72ch}
.byline-cs{font-family:'JetBrains Mono',monospace;font-size:.66rem;letter-spacing:.06em;color:var(--moon);margin-top:14px}
.cs-h{margin:10px 0 22px}
.built{list-style:none;display:grid;gap:12px;max-width:80ch}
.built li{position:relative;padding:16px 18px 16px 44px;border:1px solid var(--line);border-radius:var(--radius);background:var(--void);color:var(--mist)}
.built li::before{content:'';position:absolute;left:18px;top:24px;width:12px;height:3px;border-radius:2px;background:var(--grad-ui)}
.callout{margin-top:22px}
.chips{margin-top:22px}
.cs-related{list-style:none;max-width:640px}
.cs-related li{border-top:1px solid var(--line)}
.cs-related a{display:flex;min-height:48px;align-items:center;font-weight:600;color:var(--paper)}
.cs-related a:hover{color:var(--magenta)}
.mr-entity{margin-top:14px;font-size:.95rem;color:var(--mist);max-width:72ch}
.hero.compact{min-height:0;padding-top:120px;padding-bottom:56px}
/* Figures: images keep their intrinsic ratio; never stretched by grid/flex. */
.mc-fig{margin:28px 0 0}
.mc-fig .grid{display:grid;gap:14px;grid-template-columns:minmax(0,1fr);align-items:start}
.mc-fig.two .grid,.mc-fig.logos .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:760px){.mc-fig.three .grid{grid-template-columns:repeat(3,minmax(0,1fr))}.mc-fig.logos .grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:560px){.mc-fig.two .grid{grid-template-columns:minmax(0,1fr)}}
.mc-fig .cell{display:block;min-width:0;border-radius:12px;overflow:hidden;border:1px solid var(--line);align-self:start}
.mc-fig img{display:block;width:100%;height:auto;max-width:100%}
.mc-fig.logos .cell{background:#f6f5f3;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;padding:14%}
.mc-fig.logos .cell img{width:100%;height:100%;object-fit:contain}
.mc-fig.phone .grid{max-width:300px;margin:0 auto}
.mc-fig.phone .cell{border-radius:28px;border:8px solid #1c1c23}
.mc-fig figcaption{margin-top:12px;font-family:'JetBrains Mono',monospace;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--moon)}
.cs-cover .mc-fig{margin-top:0}
.cs-gallery .mc-fig+.mc-fig{margin-top:18px}
.cs-note{margin-top:18px;font-family:'JetBrains Mono',monospace;font-size:.66rem;letter-spacing:.06em;color:var(--moon)}
.mc-fig.logos .cell{position:relative;padding:0}
.mc-fig.logos .cell img{position:absolute;inset:14%;width:72%;height:72%;object-fit:contain}
/* Carousel: 4:5 slides — scroll strip on phones, 4-up grid on desktop. Images keep their ratio. */
.mc-fig.carousel .grid{grid-auto-flow:column;grid-auto-columns:72%;grid-template-columns:none;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;padding-bottom:8px;overscroll-behavior-x:contain}
.mc-fig.carousel .cell{scroll-snap-align:start}
@media(min-width:900px){.mc-fig.carousel .grid{grid-auto-flow:row;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-columns:auto;overflow:visible}}
.cs-stats .stat .n{background:var(--grad-ui);-webkit-background-clip:text;background-clip:text;color:transparent;overflow-wrap:anywhere}
.cs-after{margin-top:24px;max-width:72ch}
.cs-stats .stat .n{font-size:clamp(1.55rem,3.6vw,2.7rem);white-space:normal}
