/* Case study pages (/ie/case-studies/*). Builds on site.css + ie.css. */
.legal-links{color:var(--muted)}
.legal-links a{color:var(--muted)} .legal-links a:hover{color:var(--text)}

.cs-hero{padding-top:56px;padding-bottom:40px}
.cs-back{display:inline-block;color:var(--muted);font-size:14px;margin-bottom:28px}
.cs-back:hover{color:var(--text)}
.cs-hero-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:48px;align-items:center}
.cs-hero h1{font-size:clamp(32px,4.6vw,52px);letter-spacing:-.03em;line-height:1.08;margin:18px 0 18px;text-align:left;max-width:none;text-wrap:balance}
.cs-hero .subhead{text-align:left;margin:0 0 28px;max-width:620px}
.cs-hero .hero-ctas{justify-content:flex-start}

/* Their logo is dark-on-transparent, so it sits on a white tile. */
.partner-card{display:flex;flex-direction:column;gap:14px;padding:24px;border-radius:20px;border:1px solid var(--border-strong);background:var(--panel);transition:border-color .2s,transform .2s}
.partner-card:hover{border-color:rgba(251,102,24,.45);transform:translateY(-2px)}
.partner-label{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-text)}
.partner-logo{display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--border);border-radius:14px;padding:26px 28px}
.partner-logo img{width:100%;max-width:300px;height:auto}
.partner-link{color:var(--muted);font-size:14px}
.partner-card:hover .partner-link{color:var(--text)}

.cs-stats-wrap{padding:8px 0 24px}
.cs-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.stat{padding:22px 20px;border-radius:var(--radius);border:1px solid var(--border);background:var(--panel)}
.stat strong{display:block;font-size:clamp(26px,3vw,34px);font-weight:800;letter-spacing:-.03em;color:var(--navy)}
.stat span{color:var(--muted);font-size:14px}

.cs-section{padding:64px 0}
.cs-narrow{max-width:760px}
.cs-narrow h2{font-size:clamp(26px,3.6vw,38px);letter-spacing:-.03em;line-height:1.15;margin:14px 0 16px}
.cs-narrow p{color:var(--muted);margin-bottom:20px;line-height:1.65}
.cs-section a:not(.btn){color:var(--accent-text)}

.timeline{list-style:none;max-width:820px;margin:0 auto;position:relative;display:grid;gap:18px}
.timeline::before{content:"";position:absolute;left:9px;top:8px;bottom:8px;width:2px;background:linear-gradient(var(--accent-text),rgba(251,102,24,.08))}
.timeline li{position:relative;padding:20px 22px 20px 50px;border-radius:var(--radius);border:1px solid var(--border);background:var(--panel)}
.timeline li::before{content:"";position:absolute;left:3px;top:26px;width:14px;height:14px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(251,102,24,.2)}
.tl-when{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-text)}
.timeline h3{margin:6px 0 6px;font-size:18px}
.timeline p{color:var(--muted);font-size:15px;line-height:1.6}

.cs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.cs-grid h3,.sec-grid h3{font-size:18px;margin-bottom:10px}
.cs-grid p,.sec-grid p{color:var(--muted);font-size:15px;line-height:1.6}

.cs-sub{font-size:18px;margin:0 0 16px;text-align:center}
.flow{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:36px;counter-reset:none}
.flow li{position:relative;padding:20px 18px;border-radius:var(--radius);border:1px solid rgba(251,102,24,.28);background:linear-gradient(180deg,rgba(251,102,24,.1),var(--bg-elev));display:flex;flex-direction:column;gap:6px}
.flow li:not(:last-child)::after{content:"→";position:absolute;right:-13px;top:50%;transform:translateY(-50%);color:var(--accent-text);font-weight:700;z-index:1}
.flow-n{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:9px;background:var(--navy);font-weight:800;font-size:14px;color:#fff}
.flow strong{font-size:16px}
.flow span:not(.flow-n){color:var(--muted);font-size:14px;line-height:1.5}

.sec-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.sec-grid .ticks li{font-size:14.5px}


@media(max-width:960px){
  .cs-hero-grid{grid-template-columns:1fr;gap:32px}
  .cs-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .flow{grid-template-columns:repeat(2,minmax(0,1fr))}
  .flow li::after{display:none}
  .sec-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .cs-grid,.sec-grid,.flow{grid-template-columns:1fr}
  .cs-section{padding:44px 0}
  .cs-hero .hero-ctas .btn{width:100%;justify-content:center}
}
