/* /case-studies/ (design comparison_media_blueprint/18). Same night look as evidence.css; amber = Prismatic, teal = the maker. */
.cs-hero .curator-hero-text{width:min(52%,600px)}
.cs-filter{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0 0}[data-cs-status]{margin:6px 0 0;min-height:0}[data-cs-status]:empty{display:none}
.cs-filter button{font:500 13px var(--body);color:var(--muted);background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:7px 14px;cursor:pointer}
.cs-filter button[aria-pressed="true"]{color:#1a1206;background:var(--amber);border-color:var(--amber)}
.cs-search{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:13px;color:var(--faint)}
.cs-search input{font:14px var(--body);color:var(--text);background:var(--bg2);border:1px solid var(--line2);border-radius:999px;padding:7px 14px;min-width:min(240px,60vw)}
@media(max-width:700px){.cs-search{margin-left:0;width:100%}.cs-search input{flex:1;min-width:0}}

.cs-strip{display:flex;flex-wrap:wrap;gap:4px;margin:22px 0 4px}
.cs-strip-l{flex:1 1 auto;text-align:center;font:500 11.5px var(--mono);letter-spacing:.04em;padding:9px 10px;border-radius:8px;border:1px solid var(--line);color:var(--faint);background:var(--bg2);transition:all .35s ease}
.cs-strip-l.gw{border-style:dashed}
.cs-strip-l.ours{color:var(--amber);border-color:rgba(235,164,60,.5);background:var(--amber-soft);flex-grow:2}
.cs-strip.lit .cs-strip-l.theirs.on{color:var(--teal);border-color:rgba(85,188,179,.6);background:var(--teal-soft)}
.cs-strip.lit .cs-strip-l.ours{box-shadow:0 0 0 1px var(--amber),0 0 22px rgba(235,164,60,.35)}

.cs-band{margin:44px 0 10px}
.cs-band-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;margin-bottom:16px}
.cs-band-head h2{margin:0;font:700 clamp(24px,3vw,34px)/1.1 var(--display);display:flex;align-items:center;gap:10px}
.cs-band-head p{margin:0;color:var(--muted)}
.cs-grid{display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}
.cs-grid-self-driving{grid-template-columns:1fr}
.cs-grid-space{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1000px){.cs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cs-grid-self-driving{grid-template-columns:1fr}}
@media(max-width:640px){.cs-grid,.cs-grid-space{grid-template-columns:1fr}}

/* The card: image full bleed, scrim, text over it; tilt + sheen + trace from case-studies.js variables. */
.cs-card{--rx:0deg;--ry:0deg;--mx:50%;--my:50%;position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:#06090d;
  transform:perspective(900px) rotateX(var(--rx)) rotateY(var(--ry)) translateY(0);transition:transform .25s ease,box-shadow .35s ease,border-color .35s ease;
  box-shadow:0 10px 30px rgba(0,0,0,.35);min-height:420px;display:flex}
.cs-card.big{grid-column:span 2}
@media(max-width:640px){.cs-card.big{grid-column:auto}}
.cs-card-link{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;color:inherit;text-decoration:none;z-index:1}
.cs-card-img{position:absolute;inset:0;overflow:hidden}
.cs-card-img img{width:100%;height:100%;object-fit:cover;object-position:62% 40%;transform:scale(1.001) translate(0,0);transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.cs-card-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,9,13,0) 25%,rgba(6,9,13,.72) 58%,rgba(6,9,13,.96));pointer-events:none}
.cs-card::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .3s ease;z-index:2;
  background:radial-gradient(420px circle at var(--mx) var(--my),rgba(255,236,200,.16),rgba(255,236,200,0) 45%)}
.cs-card-top{position:absolute;top:14px;left:14px;right:14px;display:flex;flex-wrap:wrap;gap:6px;z-index:3}
.cs-badge{font:500 10.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;padding:3px 9px;border-radius:999px;background:rgba(6,9,13,.7);border:1px solid var(--line2);color:var(--muted);backdrop-filter:blur(4px)}
.cs-badge.horizon{color:#C9B8FF;border-color:rgba(183,166,236,.6)}
.cs-badge.ill{margin-left:auto}
.cs-card-body{position:relative;z-index:3;padding:20px 20px 52px;display:flex;flex-direction:column;gap:8px}
.cs-card-title{font:700 clamp(22px,2.2vw,28px)/1.08 var(--display);color:var(--text)}
.cs-card.big .cs-card-title{font-size:clamp(26px,3vw,38px)}
.cs-card-dist{font-family:"Playfair Display",Georgia,serif;font-style:italic;font-size:16.5px;line-height:1.4;color:#EDE6D6}
.cs-card-chips{display:flex;flex-wrap:wrap;gap:6px}.cs-card-chips .cs-chip{white-space:normal;max-width:100%;line-height:1.35}
.cs-card-more{font:600 13.5px var(--body);color:var(--amber)}
.cs-maker{position:absolute;right:16px;bottom:16px;z-index:4;font:500 12.5px var(--mono);color:var(--teal);text-decoration:none;padding:4px 10px;border-radius:999px;background:rgba(6,9,13,.75);border:1px solid rgba(85,188,179,.45)}
.cs-maker:hover,.cs-maker:focus-visible{background:var(--teal-soft);color:#BFF3EC}
.cs-trace{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;overflow:visible}
.cs-trace rect,.cs-trace line{fill:none;stroke-dasharray:1 1;stroke-dashoffset:1;transition:stroke-dashoffset 1.1s cubic-bezier(.6,.1,.2,1)}
.cs-trace .a{stroke:var(--amber);stroke-width:3}
.cs-trace .t{stroke:var(--teal);stroke-width:5;transition-delay:.25s}
.cs-card:hover,.cs-card:focus-within{transform:perspective(900px) rotateX(var(--rx)) rotateY(var(--ry)) translateY(-4px);box-shadow:0 22px 50px rgba(0,0,0,.55),0 0 0 1px rgba(235,164,60,.25);border-color:rgba(235,164,60,.45)}
.cs-card:hover::after,.cs-card:focus-within::after{opacity:1}
.cs-card:hover .cs-card-img img,.cs-card:focus-within .cs-card-img img{transform:scale(1.06) translate(calc(var(--ry) * -1.2px),calc(var(--rx) * 1.2px))}
.cs-card:hover .cs-trace rect,.cs-card:hover .cs-trace line,.cs-card:focus-within .cs-trace rect,.cs-card:focus-within .cs-trace line{stroke-dashoffset:0}
.cs-card-link:focus-visible{outline:2px solid var(--amber);outline-offset:-3px;border-radius:18px}
/* Panels: Self-driving (wide) and Space (tall). */
.cs-card.panel{min-height:440px}
.cs-grid-self-driving .cs-card.panel{min-height:460px}
.cs-grid-self-driving .cs-card-body{max-width:640px}
.cs-grid-space .cs-card.panel{min-height:540px}
.cs-card.panel:hover .cs-card-img img{animation:cs-pan 14s ease-in-out infinite alternate}
@keyframes cs-pan{from{transform:scale(1.06) translateX(1.5%)}to{transform:scale(1.12) translateX(-2.5%)}}
.cs-band-space{position:relative}
.cs-band-space::before{content:"";position:absolute;inset:-20px -16px;z-index:-1;border-radius:24px;opacity:.55;pointer-events:none;
  background-image:radial-gradient(1px 1px at 12% 20%,#fff8,transparent),radial-gradient(1px 1px at 72% 12%,#fff6,transparent),radial-gradient(1.5px 1.5px at 40% 80%,#ffd27a88,transparent),radial-gradient(1px 1px at 88% 66%,#fff7,transparent),radial-gradient(1px 1px at 25% 55%,#fff5,transparent);
  background-size:340px 260px;animation:cs-drift 60s linear infinite}
@keyframes cs-drift{to{background-position:340px 260px}}
[data-cs-reveal],.cs-card{opacity:1}
.js .cs-card.pre,.js [data-cs-reveal].pre{opacity:0;transform:translateY(16px)}
.js .cs-card.in,.js [data-cs-reveal].in{opacity:1;transition:opacity .6s ease,transform .6s ease,box-shadow .35s ease,border-color .35s ease}

/* Chips used in tables and cards. */
.cs-chip{display:inline-block;font:500 11px var(--mono);letter-spacing:.03em;padding:2px 8px;border-radius:999px;border:1px solid var(--line2);color:var(--muted);white-space:nowrap;vertical-align:baseline}
.cs-chip.theirs{color:var(--teal);border-color:rgba(85,188,179,.5);background:rgba(6,9,13,.6)}
.cs-chip.ours{color:var(--amber);border-color:rgba(235,164,60,.55);background:rgba(6,9,13,.6)}
.cs-chip.proven{color:#0b0f14;background:var(--amber);border-color:var(--amber)}
.cs-chip.live{color:var(--amber);border-color:var(--amber)}
.cs-chip.partial{color:#E8C27A;border-color:rgba(232,194,122,.5);border-style:dashed}
.cs-chip.coming,.cs-chip.notbuilt{color:var(--violet);border-color:rgba(183,166,236,.5);border-style:dashed}
.cs-chip.view{color:var(--muted)}
.cs-chip.yes{color:var(--teal);border-color:rgba(85,188,179,.6)}
.cs-chip.partly{color:#9CCFCA;border-style:dashed}
.cs-chip.nd{color:var(--faint);border-style:dotted}
.cs-chip.no{color:var(--faint)}
.evchip.ev-rep{color:#F2C46D}.evchip.ev-read{color:#C9B8FF}.evchip.ev-view{color:var(--amber)}

/* Hub: gaps + investors. */
.cs-gaps{margin:52px 0 20px;padding:clamp(20px,3vw,36px);border-radius:22px;border:1px solid rgba(235,164,60,.35);background:linear-gradient(160deg,rgba(235,164,60,.08),rgba(85,188,179,.05) 60%,transparent)}
.cs-gaps-head{display:flex;gap:16px;align-items:center;margin-bottom:12px}
.cs-gaps-head img{border-radius:50%;object-fit:cover;border:1px solid rgba(235,164,60,.5);box-shadow:0 0 20px rgba(235,164,60,.25)}
.cs-gaps-head h2{margin:0}
.cs-talk{max-width:72ch;margin:16px 0}
.cs-talk p{margin:4px 0;line-height:1.6}
.cs-talk-h b{font-size:17px}
.cs-investors{margin:28px 0}

/* Case page. */
.cs-case-hero{position:relative;border-radius:22px;overflow:hidden;border:1px solid var(--line);margin:6px 0 18px}
.cs-case-hero picture img{display:block;width:100%;height:auto}
.cs-case-hero-text{position:absolute;inset:0 auto 0 0;width:min(56%,640px);padding:clamp(20px,4vw,48px);display:flex;flex-direction:column;justify-content:flex-end;gap:10px;
  background:linear-gradient(90deg,rgba(6,9,13,.92),rgba(6,9,13,.6) 70%,rgba(6,9,13,0))}
.cs-case-hero-text h1{margin:0;font:800 clamp(30px,4.2vw,56px)/1.03 var(--display)}
.cs-case-hero-text .kicker{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0}
.cs-illus{font-size:12.5px;color:var(--faint);margin:0}
.byline{display:flex;gap:10px;align-items:center;margin:0;font-size:14px;color:var(--muted)}
.byline img{width:40px;height:40px;flex:none;border-radius:50%;object-fit:cover}
@media(max-width:700px){.cs-case-hero-text{position:static;width:auto;background:var(--panel)}}
.cs-disclosure{font-size:14px;color:var(--muted);border-left:3px solid var(--line2);padding:4px 0 4px 14px;max-width:90ch}
.cs-glance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0 28px}
.cs-glance>div{border-radius:16px;padding:16px 18px;background:var(--panel);border:1px solid var(--line)}
.cs-glance .theirs{border-color:rgba(85,188,179,.45)}.cs-glance .theirs .kicker{color:var(--teal)}
.cs-glance .ours{border-color:rgba(235,164,60,.5)}
.cs-glance .line{border-color:rgba(232,120,96,.45)}.cs-glance .line .kicker{color:#E89880}
.cs-glance p{margin:0;line-height:1.55}.cs-glance .kicker{margin-bottom:6px}
@media(max-width:820px){.cs-glance{grid-template-columns:1fr}}
.cs-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:32px;align-items:start}
.cs-toc{position:sticky;top:76px;font-size:13px}
.cs-toc summary{font:500 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--faint);cursor:pointer;margin-bottom:8px}
.cs-toc ol{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px;max-height:calc(100vh - 140px);overflow:auto}
.cs-toc a{display:block;color:var(--muted);text-decoration:none;padding:5px 10px;border-left:2px solid transparent;border-radius:0 6px 6px 0;line-height:1.35}
.cs-toc a:hover{color:var(--text)}
.cs-toc a.on{color:var(--amber);border-left-color:var(--amber);background:var(--amber-soft)}
@media(max-width:900px){.cs-layout{grid-template-columns:1fr}.cs-toc{position:static}.cs-toc ol{max-height:none}}
.cs-main{min-width:0}
.cs-context{color:var(--muted);font-size:15px;border:1px dashed var(--line2);border-radius:12px;padding:12px 16px}
.cs-panel{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:clamp(18px,2.6vw,30px);margin:0 0 18px;scroll-margin-top:80px}
.cs-panel h2{margin:0 0 12px;font:700 clamp(20px,2.2vw,27px)/1.15 var(--display)}
.cs-panel h3{font:600 17px/1.3 var(--display);margin:22px 0 8px;color:var(--text)}
.cs-panel h4{font:600 15px var(--body);margin:16px 0 6px}
.cs-panel p,.cs-panel li{line-height:1.62;color:#DCD6CB}
.cs-panel.theirs{border-color:rgba(85,188,179,.45);background:linear-gradient(180deg,rgba(85,188,179,.07),var(--panel) 40%)}
.cs-panel.boundary{border-color:rgba(232,120,96,.5);background:linear-gradient(180deg,rgba(232,120,96,.08),var(--panel) 40%)}
.cs-panel.boundary h2::before{content:"⛔ ";font-size:.85em}
.cs-panel.gaps{border-color:rgba(183,166,236,.45)}
.cs-panel.insight{border-color:rgba(235,164,60,.55);background:linear-gradient(160deg,rgba(235,164,60,.1),var(--panel) 55%)}
.cs-cite a{font:500 11.5px var(--mono);color:var(--teal);text-decoration:none;border-bottom:1px dotted rgba(85,188,179,.5)}
.cs-table-wrap{overflow-x:auto;margin:12px 0;border-radius:12px;border:1px solid var(--line)}
.cs-table{width:100%;border-collapse:collapse;font-size:14px;min-width:560px}
.cs-table th,.cs-table td{text-align:left;vertical-align:top;padding:9px 12px;border-top:1px solid var(--line);line-height:1.45}
.cs-table thead th{font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);border-top:0;background:var(--bg2)}
.cs-table thead th.pr{color:var(--amber)}
.cs-table td.pr{background:rgba(235,164,60,.04)}
.cs-table tbody th{font-weight:500;color:var(--text)}
.cs-table td .cs-chip{margin-right:4px}
.cs-asks{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:14px 0}
.cs-ask{border-radius:14px;padding:14px 16px;border:1px solid rgba(85,188,179,.45);background:rgba(85,188,179,.06)}
.cs-ask.pr{border-color:rgba(235,164,60,.6);background:rgba(235,164,60,.08)}
.cs-ask-who{font:500 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--teal);margin:0 0 6px}
.cs-ask.pr .cs-ask-who{color:var(--amber)}
.cs-ask blockquote{margin:0;font-size:16px}
.cs-timeline{list-style:none;padding:0;margin:16px 0;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(200px,1fr);gap:0;overflow-x:auto;position:relative}
.cs-timeline>li{position:relative;padding:28px 16px 6px;border-top:2px solid var(--line2)}
.cs-timeline>li::before{content:"";position:absolute;top:-7px;left:16px;width:12px;height:12px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 3px var(--bg)}
.cs-timeline>li.swap::before{background:var(--amber);border-radius:2px;transform:rotate(45deg)}
.cs-timeline>li.swap{border-top-color:var(--amber)}
.cs-tl-when{display:block;font:600 13px var(--mono);color:var(--amber);margin-bottom:6px}
@media(max-width:700px){.cs-timeline{grid-auto-flow:row}.cs-timeline>li{border-top:0;border-left:2px solid var(--line2);padding:4px 0 10px 22px}.cs-timeline>li::before{top:6px;left:-7px}}
.cs-quote{margin:16px 0;padding:14px 20px;border-left:3px solid var(--amber);font-family:"Playfair Display",Georgia,serif;font-style:italic;font-size:clamp(17px,1.6vw,21px);line-height:1.45;color:#F1EADB;
  background:radial-gradient(500px 120px at 0 50%,rgba(235,164,60,.1),transparent)}
.cs-panel.insight .cs-quote{font-size:clamp(19px,2vw,25px)}
.cs-diagram,.cs-stack{margin:14px 0;border-radius:14px;overflow-x:auto;border:1px solid var(--line);background:#070b10}
.cs-diagram pre,.cs-stack pre{margin:0;padding:16px 18px;font:13px/1.45 var(--mono);color:#BFD9D5}
.cs-stack{border-color:rgba(235,164,60,.4);background:linear-gradient(180deg,rgba(235,164,60,.10),#070b10 38%)}
.cs-stack pre{color:#E5D6BC}
.cs-leads,.cs-points,.cs-claims,.cs-see,.cs-sources,.cs-related{margin:26px 0;padding:clamp(18px,2.6vw,28px);border-radius:18px;border:1px solid var(--line);background:var(--bg2)}
.cs-leads{border-color:rgba(235,164,60,.55)}
.cs-leads li,.cs-points li,.cs-claims li{margin:8px 0;line-height:1.55}
.cs-points{border-color:rgba(235,164,60,.4);background:linear-gradient(160deg,rgba(235,164,60,.08),var(--bg2) 60%)}
.cs-points ul{list-style:none;padding:0}
.cs-src{font:500 12px var(--mono);color:var(--teal)}
.cs-see{border-color:rgba(85,188,179,.45)}
.cs-sources ol{padding-left:20px;font-size:14px}
.cs-sources li{margin:4px 0;word-break:break-word}
.cs-rel-row{display:flex;flex-wrap:wrap;gap:10px}
.cs-rel{font:500 14px var(--body);color:var(--teal);text-decoration:none;padding:8px 14px;border-radius:999px;border:1px solid rgba(85,188,179,.4)}
.cs-prevnext{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:26px 0 10px}
.cs-pn{display:flex;flex-direction:column;gap:4px;padding:14px 18px;border-radius:14px;border:1px solid var(--line);color:var(--text);text-decoration:none;background:var(--panel)}
.cs-pn span{font:500 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
.cs-pn.next{text-align:right}
.cs-pn:hover{border-color:rgba(235,164,60,.5)}
.cs-ext{display:inline-flex}
@media(max-width:560px){.cs-prevnext{grid-template-columns:1fr}.cs-pn.next{text-align:left}}

@media (prefers-reduced-motion:reduce){
  .cs-card,.cs-card-img img,.cs-trace rect,.cs-trace line{transition:none!important}
  .cs-card:hover,.cs-card:focus-within{transform:none}
  .cs-card:hover .cs-card-img img,.cs-card.panel:hover .cs-card-img img{transform:none;animation:none}
  .cs-band-space::before{animation:none}
  .js .cs-card.pre,.js [data-cs-reveal].pre{opacity:1;transform:none}
}
@view-transition{navigation:auto}
@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}
.cs-timeline ul,.cs-timeline ol{padding-left:18px;margin:6px 0}.cs-timeline blockquote{font-size:16px;padding:8px 12px;margin:8px 0}
