/* ===========================================================================
   Alerra.ai - case studies.

   The page is one argument repeated three times: what one institution holds,
   what the network holds, and what changes. The two lens panels are therefore
   identical in structure and width - the asymmetry between their contents is
   the only thing that should differ, and it is the whole point.
   ========================================================================= */

.cs-hero{padding-block:clamp(40px,6vh,76px) clamp(20px,3vh,32px)}
.cs-hero .h1{max-width:14ch}
.cs-hero .lede{max-width:62ch}

/* ---------- a case ---------- */

.cs-case{padding-block:clamp(38px,6vh,74px);border-top:1px solid var(--line)}
.cs-case:first-of-type{border-top:0;padding-top:0}
.cs-case > * + *{margin-top:clamp(18px,2.6vh,26px)}

.cs-case[data-reveal="pending"]{opacity:0;transform:translateY(14px)}
.cs-case[data-reveal="in"]{opacity:1;transform:none;
  transition:opacity .7s var(--ease),transform .7s var(--ease)}

.cs-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.cs-headline{display:flex;flex-direction:column;gap:9px;min-width:0}
.cs-num{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--mark-green)}
.cs-tagline{font-size:clamp(15px,1.7vw,19px);color:var(--dim);max-width:52ch}
.cs-intro{max-width:70ch}

/* ---------- the two lenses ---------- */

.cs-compare{display:grid;gap:12px;align-items:stretch;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
@media (max-width:860px){
  .cs-compare{grid-template-columns:1fr}
  .cs-versus{justify-self:start}
}

.cs-versus{display:grid;place-items:center;padding:0 4px}
.cs-versus span{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--dim-2);border:1px solid var(--line);border-radius:999px;padding:7px 10px}

.lens{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:6px;
  background:var(--surface);padding:clamp(16px,2.2vw,22px)}
.lens.is-local{border-color:rgba(255,189,89,.24)}
.lens.is-network{border-color:rgba(46,230,168,.28)}

.lens-title{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.15em;
  text-transform:uppercase;margin-bottom:15px}
.lens.is-local .lens-title{color:var(--gold)}
.lens.is-network .lens-title{color:var(--mark-green)}

.lens-rows{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 14px;margin:0}
.lens-rows dt{font-size:13px;color:var(--dim);padding:9px 0;border-top:1px solid var(--line);
  line-height:1.4}
.lens-rows dd{font-family:var(--mono);font-size:12.5px;color:var(--ink);padding:9px 0;
  border-top:1px solid var(--line);text-align:right;line-height:1.4}
.lens-rows dt:first-of-type,.lens-rows dd:first-of-type{border-top:0}
.lens-rows dd.is-warn{color:var(--gold)}
.lens-rows dd.is-risk{color:var(--mark-red)}

.lens-verdict{margin-top:auto;padding-top:15px;font-size:13px;line-height:1.55;
  color:var(--dim-2);font-style:italic}

/* ---------- outcome ---------- */

.cs-outcome{display:grid;gap:12px;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);
  border:1px solid var(--line);border-radius:6px;background:var(--surface-2);
  padding:clamp(16px,2.2vw,22px)}
@media (max-width:760px){.cs-outcome{grid-template-columns:1fr}}

.cs-outcome .lens-title{color:var(--mark-green)}
.cs-outcome-lines{list-style:none;display:flex;flex-wrap:wrap;gap:8px 22px}
.cs-outcome-lines li{font-size:clamp(17px,2.2vw,24px);font-weight:700;letter-spacing:-.02em;
  color:var(--ink)}

.cs-action{border-left:1px solid var(--line);padding-left:clamp(14px,2vw,20px)}
@media (max-width:760px){
  .cs-action{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:16px}
}
.cs-action-v{display:block;margin-top:8px;font-size:13px;font-weight:700;letter-spacing:.06em;
  color:var(--mark-green)}

/* ---------- timeline ---------- */

.cs-steps{list-style:none;display:grid;gap:0;grid-template-columns:repeat(4,1fr);
  border:1px solid var(--line);border-radius:6px;background:var(--surface);overflow:hidden}
@media (max-width:980px){.cs-steps{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.cs-steps{grid-template-columns:1fr}}

.cs-steps li{padding:clamp(14px,2vw,18px);border-right:1px solid var(--line);
  display:flex;flex-direction:column;gap:9px}
.cs-steps li:last-child{border-right:0}
@media (max-width:980px){
  .cs-steps li:nth-child(2n){border-right:0}
  .cs-steps li:nth-child(-n+2){border-bottom:1px solid var(--line)}
}
@media (max-width:560px){
  .cs-steps li{border-right:0;border-bottom:1px solid var(--line)}
  .cs-steps li:last-child{border-bottom:0}
}
.cs-phase{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--mark-green)}
.cs-step-t{font-size:14.5px;font-weight:700;color:var(--ink);display:block}
.cs-step-d{font-size:12.5px;line-height:1.6;color:var(--dim);margin-top:5px}

/* ---------- why it matters ---------- */

.cs-perspective{border-left:2px solid var(--cyan);background:var(--surface-3);
  border-radius:0 5px 5px 0;padding:15px clamp(14px,2vw,20px)}
.cs-perspective .eyebrow{display:block;margin-bottom:8px;color:var(--cyan)}
.cs-perspective p{font-size:clamp(14px,1.7vw,17px);line-height:1.6;color:var(--ink);
  max-width:74ch}

/* ---------- closing ---------- */

.cs-close{padding-block:clamp(46px,7vh,88px);border-top:1px solid var(--line)}
.cs-outcomes{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.cs-outcome-card{border:1px solid var(--line);border-radius:6px;background:var(--surface);
  padding:clamp(15px,2vw,20px)}
.cs-outcome-k{display:block;font-size:clamp(16px,2vw,21px);font-weight:700;
  letter-spacing:-.02em;color:var(--ink);margin-bottom:8px}
.cs-outcome-card p{font-size:13px;line-height:1.6}

@media (prefers-reduced-motion:reduce){
  .cs-case[data-reveal="pending"]{opacity:1;transform:none}
}
