/* v2 case studies (lane c1-site2-20260924): the approved L2 "Data cards, 4-up" + D2 "Sticky facts rail", restyled; content comes from the approved generator's pages */
.cs-tools{position:sticky;top:72px;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding:12px 0}
.cs-tools .row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.cs-tools .lab{font:600 12px/1 var(--text);letter-spacing:.05em;text-transform:uppercase;color:var(--mute);margin-right:4px}
.cs-tools .chips button{min-height:44px}
.cs-tools .srt{display:flex;gap:10px;align-items:center;margin-top:10px;flex-wrap:wrap}
.cs-tools select{min-height:44px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:0 36px 0 14px;font:500 14.5px/1 var(--text);color:var(--ink);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23667375' stroke-width='2.4'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px}
.cs-count{font:600 14px/1 var(--text);color:var(--ink2);margin-left:auto}
.cc.plan .cc-b{color:var(--ink)}.cc.plan .cc-b .fx em{background:rgba(15,29,31,.1)}.cc.plan .cc-b .ind{opacity:.8}
.cc .pl2{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.shop3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.shop3 a{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r3);padding:18px;text-decoration:none;box-shadow:var(--sh1);transition:transform .2s,box-shadow .2s}
.shop3 a:hover{transform:translateY(-3px);box-shadow:var(--sh2)}
.shop3 small{font:600 12px/1.2 var(--text);color:var(--mute);letter-spacing:.03em;text-transform:uppercase}
.shop3 b{font:600 34px/1.05 var(--disp);letter-spacing:-.015em;margin-top:8px;color:var(--teal)}
.shop3 span{font-size:13.5px;color:var(--mute);margin-top:4px}
.shop3 svg{width:100%;height:84px;margin-top:12px}
@media (max-width:900px){.shop3{grid-template-columns:1fr}}
/* detail */
.csd-hero{position:relative;overflow:hidden;color:#fff;padding:clamp(28px,4vw,48px) 0 clamp(36px,5vw,60px)}
.csd-hero.plan{color:var(--ink)}
.csd-hero .crumbs ol{color:rgba(255,255,255,.8)}.csd-hero .crumbs a{color:#fff}.csd-hero .crumbs li+li::before{color:rgba(255,255,255,.5)}
.csd-hero.plan .crumbs ol{color:var(--ink2)}.csd-hero.plan .crumbs a{color:var(--ink)}
.csd-eb{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.csd-eb span{font:600 12.5px/1 var(--text);padding:7px 10px;border-radius:8px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22)}
.csd-hero.plan .csd-eb span{background:rgba(15,29,31,.06);border-color:rgba(15,29,31,.12)}
.csd-hero h1{font:600 clamp(28px,3.4vw,46px)/1.08 var(--disp);letter-spacing:-.015em;margin:0;max-width:26ch}
.csd-dl{display:flex;flex-wrap:wrap;align-items:stretch;gap:12px;margin-top:24px}
.csd-dv{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:16px;padding:14px 16px;min-width:220px;flex:1 1 220px;max-width:340px}
.csd-hero.plan .csd-dv{background:rgba(255,255,255,.55);border-color:rgba(15,29,31,.1)}
.csd-dv small{display:block;font:500 12.5px/1.35 var(--text);opacity:.85}
.csd-dv b{display:block;font:600 clamp(28px,3vw,40px)/1 var(--disp);letter-spacing:-.015em;margin-top:8px}
.csd-dv.after{background:#fff;color:var(--ink);border-color:#fff}
.csd-dv.after b{color:var(--teal)}
.csd-pill{align-self:center;font:700 18px/1 var(--text);background:var(--yellow);color:var(--ink);border-radius:12px;padding:12px 14px}
.csd-sr{margin:14px 0 0;font-size:14px;opacity:.9}
.csd-spark{position:absolute;right:0;bottom:0;width:48%;height:70%;opacity:.35;pointer-events:none}
@media (max-width:760px){.csd-spark{width:100%;height:45%;opacity:.22}}
.csd{display:grid;grid-template-columns:300px minmax(0,1fr);gap:28px;align-items:start;padding:36px 0 72px}
@media (max-width:980px){.csd{grid-template-columns:1fr}}
.csd-rail{position:sticky;top:92px;display:flex;flex-direction:column;gap:12px;padding-bottom:4px}
@media (max-width:980px){.csd-rail{position:static}}
.csd-rail .mmcs-box{background:#fff;border:1px solid var(--line);border-radius:var(--r2);padding:14px 16px}
.csd-rail h3{font:600 12px/1 var(--text);letter-spacing:.06em;text-transform:uppercase;color:var(--mute);margin:0 0 10px}
.csd-rail dl{margin:0;display:flex;flex-direction:column;gap:8px}.csd-rail dl>div{display:grid;grid-template-columns:110px 1fr;gap:8px;font-size:14px}
.csd-rail dt{color:var(--mute)}.csd-rail dd{margin:0;font-weight:600}
.csd-rail ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:14px}
.csd-rail .mmcs-svc li{display:inline-flex;align-self:flex-start;background:var(--tealT);color:var(--teal);font-weight:600;border-radius:8px;padding:6px 9px;font-size:13px}
.csd-rail .mmcs-ms-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.csd-rail .mmcs-ms-t{flex:1 0 100%;font:600 12.5px/1.2 var(--text);color:var(--ink2)}
.csd-rail .mmcs-ms{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line2);border-radius:10px;padding:7px 9px}
.csd-rail .mmcs-ms b{font:600 13.5px/1.2 var(--mono)}.csd-rail .mmcs-ms small{font-size:12px;color:var(--mute)}
.csd-rail ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:13.5px;border-left:2px solid var(--tealM);padding-left:12px}
.csd-rail .mmcs-tl-d{display:block;font:600 12px/1.2 var(--mono);color:var(--teal)}
.csd-rail .mmcs-sources li{display:flex;flex-direction:column}.csd-rail .mmcs-sources span{font-size:12.5px;color:var(--mute)}
.csd-main{min-width:0;display:flex;flex-direction:column;gap:28px}
.csd-main .mmcs-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.csd-main .mmcs-kpi{background:#fff;border:1px solid var(--line);border-radius:var(--r2);padding:12px 14px;display:flex;flex-direction:column;gap:6px}
.csd-main .mmcs-kpi span{font-size:12.5px;color:var(--mute)}.csd-main .mmcs-kpi b{font:600 20px/1.1 var(--mono);letter-spacing:-.01em}
@media (max-width:640px){.csd-main .mmcs-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
.csd-main .mmcs-sec{scroll-margin-top:100px}
.csd-main .mmcs-kicker{font:600 12.5px/1 var(--mono);color:var(--teal);margin:0 0 8px}
.csd-main .mmcs-h2{font:600 clamp(24px,2.4vw,32px)/1.12 var(--disp);letter-spacing:-.012em;margin:0 0 16px}
.csd-main .mmcs-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}
.csd-main .mmcs-stat{background:var(--tealT);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}
.csd-main .mmcs-stat span{font-size:12px;color:var(--teal)}.csd-main .mmcs-stat b{font:600 15px/1.2 var(--mono)}
@media (max-width:640px){.csd-main .mmcs-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.csd-main details{background:#fff;border:1px solid var(--line);border-radius:var(--r2);margin-top:14px}
.csd-main summary{cursor:pointer;min-height:48px;display:flex;align-items:center;padding:0 16px;font-weight:600;list-style:none}
.csd-main summary::-webkit-details-marker{display:none}.csd-main summary::after{content:"+";margin-left:auto;color:var(--teal);font-weight:700}
.csd-main details[open] summary::after{content:"–"}
.csd-main .mmcs-scroll{overflow-x:auto;padding:0 8px 8px}
.csd-main table{width:100%;border-collapse:collapse;font:400 13.5px/1.3 var(--text);font-variant-numeric:tabular-nums}
.csd-main th,.csd-main td{padding:9px 10px;border-bottom:1px solid var(--line2);text-align:right;white-space:nowrap}
.csd-main th:first-child,.csd-main td:first-child{text-align:left}
.csd-main thead th{font:600 12px/1.2 var(--text);color:var(--mute);background:var(--paper)}
.csd-main tfoot th,.csd-main tfoot td{font-weight:700;background:var(--paper)}
.csd-main .mmcs-card{background:#fff;border:1px solid var(--line);border-radius:var(--r3);padding:18px}
.csd-main .mmcs-funnel{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.csd-main .mmcs-fn-top{display:flex;justify-content:space-between;font-size:14px;font-weight:600}
.csd-main .mmcs-fn-track{height:10px;border-radius:6px;background:var(--line2);margin-top:6px;overflow:hidden}.csd-main .mmcs-fn-bar{display:block;height:100%;background:linear-gradient(90deg,var(--teal),#2a8a93);border-radius:6px}
.csd-main .mmcs-fn-conv{display:block;font-size:12.5px;color:var(--mute);margin-top:4px}
.csd-main .mmcs-story,.csd-main .mmcs-learns{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.csd-main .mmcs-st{display:grid;grid-template-columns:40px 1fr;gap:12px}
.csd-main .mmcs-st-dot{width:40px;height:40px;border-radius:12px;background:var(--teal);color:#fff;display:grid;place-items:center;font:600 15px/1 var(--mono)}
.csd-main .mmcs-st-card{background:#fff;border:1px solid var(--line);border-radius:var(--r2);padding:14px 16px}
.csd-main .mmcs-st-phase{font:600 18px/1.2 var(--disp);margin:0 0 8px}
.csd-main .mmcs-st-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.csd-main .mmcs-st-b h4{font:600 12.5px/1 var(--text);color:var(--teal);margin:0 0 6px;text-transform:uppercase;letter-spacing:.04em}
.csd-main .mmcs-st-b p{margin:0;font-size:15px;color:var(--ink2)}
.csd-main .mmcs-st-src{margin:10px 0 0;font-size:12.5px;color:var(--mute)}
.csd-main .mmcs-learn{display:grid;grid-template-columns:44px 1fr;gap:12px;background:#fff;border:1px solid var(--line);border-radius:var(--r2);padding:14px 16px}
.csd-main .mmcs-learn span{font:600 20px/1 var(--disp);color:var(--gold)}.csd-main .mmcs-learn p{margin:0;font-size:15px}
.csd-main .mmcs-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.csd-main p{max-width:74ch}
.csd-main .prose{background:#fff;border:1px solid var(--line);border-radius:var(--r3);padding:clamp(18px,3vw,32px)}
.csd-bk .am-tw{max-height:none}.csd-bk table{min-width:0}
.csd-bk .pane{display:none}.csd-bk .pane.on{display:block}
.csd-plan-ch{background:#fff;border:1px solid var(--line);border-radius:var(--r3);padding:16px}
.csd-plan-ch svg{width:100%;height:220px}
.csd-plan-ch .lg{font-size:12.5px;color:var(--mute);margin-top:6px}

.csd-main .mmcs-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.csd-main .mmcs-tabs button{min-height:44px;padding:0 14px;border-radius:10px;border:1px solid var(--line);background:#fff;font:600 13.5px/1 var(--text);cursor:pointer;color:var(--ink2)}
.csd-main .mmcs-tabs button[aria-selected="true"]{background:var(--teal);border-color:var(--teal);color:#fff}
.csd-main .mmcs-tiers{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}
.csd-main .mmcs-tier{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px;font-size:13.5px}
.csd-main .mmcs-tier-num{font:600 16px/1 var(--mono)}.csd-main .mmcs-tier-sub{color:var(--mute)}
.csd-main .mmcs-badge{font:700 12px/1 var(--text);padding:5px 7px;border-radius:6px;background:var(--greenT);color:var(--green)}.csd-main .mmcs-b-watchlist{background:var(--goldT);color:#8a5a09}
.csd-main .mmcs-figcap{font:600 13px/1.3 var(--text);color:var(--mute);margin:0 0 8px}
/* approved L2 phone rule: two cards per row, four stats per card */
@media (max-width:560px){
#cs-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#cs-grid .cc-b{min-height:128px;padding:10px 10px 0}
#cs-grid .cc-b .ind{font-size:12px;flex-direction:column;gap:2px;letter-spacing:.02em}
#cs-grid .cc-b .fx{margin-top:8px;gap:4px}
#cs-grid .cc-b .fx b{font-size:21px}#cs-grid .cc-b .fx s{font-size:12px;flex-basis:100%}#cs-grid .cc-b .fx em{font-size:12px;padding:4px 5px}
#cs-grid .cc-b svg{height:40px;width:calc(100% + 20px);margin-left:-10px}
#cs-grid .cc-s{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px;gap:8px 6px}
#cs-grid .cc-s div:nth-child(n+5){display:none}
#cs-grid .cc-s b{font-size:13px}
#cs-grid .cc-t{padding:0 10px 10px;font-size:12px}#cs-grid .cc-t span:last-child{display:none}
}

@media (max-width:760px){.cs-tools{position:static}}
.cs-svc{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;margin:0 0 20px;color:var(--ink2);font-size:15px}
/* round 3 review (26 Sep) */
.csd-rail .mmcs-ms b,.csd-rail .mmcs-tl-d,.csd-main .mmcs-kpi b,.csd-main .mmcs-stat b,.csd-main .mmcs-tier-num{font-variant-numeric:tabular-nums lining-nums}
/* hero on the dark industry banners (teal, dark teal, slate, rust, black): the white path, with AA on rust too */
.csd-hero:not(.plan) .crumbs ol{color:#fff}
.csd-hero:not(.plan) .csd-eb span{background:rgba(13,13,13,.2);border-color:rgba(255,255,255,.3)}
.csd-hero:not(.plan) .csd-dv:not(.after){background:rgba(13,13,13,.2);border-color:rgba(255,255,255,.3)}
.csd-hero:not(.plan) .csd-dv small{opacity:1}
/* the projected/planned column labels wrap instead of pushing the last column out of the card */
.csd-main thead th{white-space:normal;vertical-align:bottom}
/* "Milestones by month" was an unstyled browser list on all 200 pages */
.csd-main .mmcs-miles{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.csd-main .mmcs-mile{background:#fff;border:1px solid var(--line);border-radius:var(--r2);padding:14px 16px}
.csd-main .mmcs-mile-p{display:block;font:600 16px/1.2 var(--disp);color:var(--teal)}
.csd-main .mmcs-mile-t{margin:6px 0 0;font-size:15px;color:var(--ink2)}
.csd-main .mmcs-mile ul{list-style:none;padding:0;margin:10px 0 0;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13.5px;color:var(--mute)}
.csd-main .mmcs-mile ul b{margin-left:4px;color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums lining-nums}
/* case-study index: "Show more" (the grid renders 24 at a time; every card stays in the HTML) */
.cs-more{display:flex;justify-content:center;margin-top:28px}.cs-more .btn[hidden]{display:none}
@media (max-width:560px){
.cs-tools .row{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:calc(-1 * var(--gut));padding-inline:var(--gut)}
.cs-tools .row::-webkit-scrollbar{display:none}
.cs-tools .row>*{flex:none}
}
