/* Reusable case index and editorial components; existing article layouts stay intact. */
.ns-case-list{display:grid;gap:36px}
.ns-case-card{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);border:1px solid var(--line);background:var(--white)}
.ns-case-card .article-photo{margin:0;min-width:0;background:var(--surface-photo)}
.ns-case-card .article-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}
.ns-case-card figcaption{padding:12px 20px;color:var(--muted);border-top:1px solid var(--line)}
.ns-case-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:22px;padding:40px;min-width:0}
.ns-case-copy>.ns-kicker{margin-bottom:0!important}
.ns-site .ns-case-copy :is(h2,h3){font-size:clamp(1.6rem,2.5vw,2.5rem);line-height:1.2;letter-spacing:-.04em}
.ns-case-copy>p:not(.ns-kicker){color:var(--muted)}
.ns-case-copy .ns-text-link{margin-top:4px;align-self:stretch;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px}
.ns-case-card a:hover{color:var(--accent)}
.ns-all-cases{display:inline-flex;gap:48px;padding-block:20px;margin-top:12px;border-bottom:1px solid var(--accent)}
.ns-case-index{padding-bottom:70px}
.case-article{max-width:1280px;width:min(1280px,calc(100% - 96px));overflow-wrap:break-word}
.case-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.07fr);align-items:center;gap:48px;margin:20px 0 70px;padding-bottom:50px;border-bottom:1px solid var(--line)}
.case-hero .article-header{margin:0;border:0;padding:0;min-width:0}
.case-hero h1{font-size:clamp(2rem,3vw,2.9rem);line-height:1.13;margin:0 0 24px;letter-spacing:-.045em}
.case-hero .eyebrow{margin-top:0}
.case-hero .article-lead{font-size:var(--text-body);line-height:1.75;margin:0;color:var(--ink-secondary)}
.case-hero>.article-photo{margin:0;align-self:center;min-width:0;background:var(--surface-photo)}
.case-hero .article-photo img{width:100%;height:auto;max-height:none;object-fit:contain}
.case-hero figcaption{font-size:var(--text-caption);line-height:1.6;padding:16px 20px}
.case-hero-actions{margin-top:26px}
.case-hero-actions .ns-button{max-width:100%;box-sizing:border-box;text-decoration:none}
.case-hero-actions p{font-size:var(--text-caption);line-height:1.6;color:var(--muted);margin:12px 0 18px}
.case-hero .article-meta{font-size:var(--text-caption);line-height:1.6}
.case-article .article-layout{grid-template-columns:220px minmax(0,820px);gap:60px;justify-content:space-between}
.case-article .article-contents{top:125px}
.case-article :is(h2,.article-notes li){scroll-margin-top:125px}
.case-article .article-body>h2{font-size:clamp(1.65rem,2.3vw,2.2rem);line-height:1.25;letter-spacing:-.035em;margin-bottom:24px}
.article-facts{margin:30px 0 40px;border-top:1px solid var(--line)}
.article-facts>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:26px;padding:18px 0;border-bottom:1px solid var(--line)}
.article-facts dt{color:var(--muted);font-size:var(--text-small)}
.article-facts dd{margin:0;font-size:var(--text-body);line-height:1.65}
.article-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px;list-style:none;padding:0!important;margin:30px 0;counter-reset:case-step}
.article-steps>li{counter-increment:case-step;display:grid;grid-template-rows:subgrid;grid-row:span 3;gap:12px;border-top:1px solid var(--line);padding-block:24px;margin:0}
.article-steps>li:before{content:counter(case-step,decimal-leading-zero);color:var(--accent);font-size:var(--text-lead)}
.article-steps h3{font-size:var(--text-lead);margin:0!important}
.article-steps p{margin:0;color:var(--muted)}
.article-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:30px 0}
.article-gallery .article-photo{display:grid;grid-template-rows:subgrid;grid-row:span 2;gap:0;margin:0;min-width:0}
.article-gallery img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}
.article-gallery figcaption{font-size:var(--text-caption);line-height:1.65;padding:16px}
.article-contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:24px 0;margin-bottom:28px;border-block:1px solid var(--line)}
.article-contact-links a{font-weight:var(--weight-semibold);text-decoration:underline;text-underline-offset:4px}
.case-article .article-tab-list button{font-size:var(--text-small);line-height:1.5}
.case-article .article-accordion summary{font-size:var(--text-body);font-weight:var(--weight-semibold);line-height:1.6}
.case-article .article-contents a{font-size:var(--text-small);line-height:1.6}
@media(max-width:1100px){
 .case-hero{grid-template-columns:1fr;gap:32px;max-width:790px;margin-inline:auto}
 .case-hero>.article-photo{width:100%}
 .case-article .article-layout{grid-template-columns:minmax(0,1fr);gap:32px}
 .case-article .article-contents{position:static}
 .ns-case-copy{padding:28px}
}
@media(max-width:700px){
 .case-article{width:calc(100% - 40px)}
 .case-hero{margin-bottom:40px;padding-bottom:30px}
 .case-hero h1{font-size:clamp(1.9rem,7.6vw,2.7rem)}
 .case-hero .article-photo figcaption{padding:14px}
 .case-hero-actions .ns-button{width:100%;gap:14px}
 .ns-case-card{grid-template-columns:minmax(0,1fr)}
 .ns-case-copy{padding:26px 22px;gap:18px}
 .ns-case-index{padding-bottom:35px}
 .article-facts>div{grid-template-columns:1fr;gap:6px;padding-block:15px}
 .article-gallery{grid-template-columns:1fr;gap:22px}
 .article-steps{grid-template-columns:1fr}
 .article-steps>li{grid-template-rows:auto;grid-row:auto}
 .article-contact-links a{overflow-wrap:anywhere}
}
