/* 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(45,212,191,.45);transform:translateY(-2px)}
.partner-label{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-bright)}
.partner-logo{display:flex;align-items:center;justify-content:center;background:#fff;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;background:linear-gradient(135deg,#fff,var(--teal-bright));-webkit-background-clip:text;background-clip:text;color:transparent}
.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(--teal-bright)}

.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(--teal-bright),rgba(45,212,191,.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(--teal);box-shadow:0 0 0 4px rgba(22,165,148,.2)}
.tl-when{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--teal-bright)}
.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(45,212,191,.28);background:linear-gradient(180deg,rgba(22,165,148,.1),rgba(255,255,255,.01));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(--teal-bright);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:linear-gradient(135deg,var(--teal),var(--teal-deep));font-weight:700;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}

/* Homepage "partnered with" strip */
.partner-strip{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;margin:26px auto 0;padding:16px 22px;max-width:760px;border-radius:18px;border:1px solid var(--border);background:var(--panel)}
.partner-strip .ps-label{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.partner-strip .ps-logo{display:inline-flex;background:#fff;border-radius:10px;padding:8px 14px}
.partner-strip .ps-logo img{height:34px;width:auto}
.partner-strip .ps-links{display:flex;gap:16px;font-size:14px}
.partner-strip .ps-links a{color:var(--teal-bright)}
.partner-strip .ps-links a.ps-ext{color:var(--muted)}
.partner-strip .ps-links a.ps-ext:hover{color:var(--text)}

@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}
}
