/* ── HERO ── */
.cases-hero{padding:clamp(var(--s12),6vw,72px) 0 clamp(var(--s8),4vw,52px);border-bottom:1px solid var(--bds)}
.cases-hero-inner{display:grid;grid-template-columns:1fr;gap:0}

/* ── FEATURED CASE ── */
.cases-featured{padding:clamp(var(--s8),5vw,56px) 0}
.feat-case{display:grid;grid-template-columns:1fr 440px;gap:0;background:var(--surf);border:1px solid var(--bd);border-radius:var(--rxl);overflow:hidden;transition:box-shadow 300ms var(--ex)}
.feat-case:hover{box-shadow:0 8px 40px oklch(16% 0.015 285 / 0.1)}
.feat-case-vis{position:relative;overflow:hidden;min-height:360px;background:linear-gradient(140deg,oklch(91% 0.055 285) 0%,oklch(86% 0.085 295) 60%,oklch(82% 0.1 275) 100%)}
.feat-case-deco1{position:absolute;width:280px;height:280px;border-radius:50%;top:-60px;right:-40px;background:oklch(86% 0.08 285);opacity:.7}
.feat-case-deco2{position:absolute;width:180px;height:180px;border-radius:50%;bottom:-30px;left:60px;background:oklch(80% 0.1 300);opacity:.4}
.feat-case-badge{position:absolute;top:var(--s6);left:var(--s6);background:var(--oa);border-radius:var(--rp);padding:5px 14px;font-size:.72rem;font-weight:700;color:var(--ac)}
.feat-case-icon{position:absolute;bottom:var(--s8);right:var(--s8);width:72px;height:72px;border-radius:var(--rxl);background:oklch(58% 0.16 285 / 0.18);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;color:var(--oa)}
.feat-case-body{padding:clamp(var(--s8),4vw,48px);display:flex;flex-direction:column;justify-content:space-between}
.feat-case-tag{display:inline-flex;align-items:center;gap:var(--s2);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ac);background:var(--acd);padding:4px 12px;border-radius:var(--rp);margin-bottom:var(--s5);width:fit-content}
.feat-case-title{font-family:var(--fd);font-size:clamp(1.4rem,2.2vw + .2rem,2rem);font-weight:700;color:var(--t);letter-spacing:-.035em;line-height:1.2;margin-bottom:var(--s4)}
.feat-case-desc{font-size:.95rem;color:var(--t2);line-height:1.75;flex:1;margin-bottom:var(--s6)}
.feat-case-meta{display:flex;flex-wrap:wrap;gap:var(--s3);margin-bottom:var(--s6)}
.feat-case-chip{display:flex;align-items:center;gap:5px;font-size:.78rem;font-weight:500;color:var(--t2);background:var(--bg-s);border:1px solid var(--bds);border-radius:var(--rp);padding:5px 12px}
.feat-case-chip svg{color:var(--ac);flex-shrink:0}
.cases-read-more{display:inline-flex;align-items:center;gap:var(--s2);font-size:.9rem;font-weight:600;color:var(--ac);transition:gap 180ms var(--ex)}
.cases-read-more:hover{gap:var(--s3)}

/* ── CASES GRID ── */
.cases-section{padding:0 0 clamp(var(--s12),6vw,72px)}
.cases-grid-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--s8)}
.cases-grid-title{font-family:var(--fd);font-size:clamp(1rem,1.4vw + .1rem,1.25rem);font-weight:700;color:var(--t);letter-spacing:-.025em}
.cases-grid-count{font-size:.82rem;color:var(--t3)}
.cases-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s6)}

.case-card{background:var(--surf);border:1px solid var(--bd);border-radius:var(--rxl);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow 280ms var(--ex),transform 280ms var(--ex)}
.case-card:hover{box-shadow:0 6px 28px oklch(16% 0.015 285 / 0.09);transform:translateY(-2px)}
.case-vis{height:190px;position:relative;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.case-vis-deco{position:absolute;width:160px;height:160px;border-radius:50%;top:-30px;right:-30px;opacity:.5}
.case-vis-icon{position:relative;z-index:1;width:64px;height:64px;border-radius:var(--rxl);display:flex;align-items:center;justify-content:center}
.case-body{padding:var(--s6);display:flex;flex-direction:column;flex:1}
.case-tag{display:inline-flex;align-items:center;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 10px;border-radius:var(--rp);margin-bottom:var(--s4);width:fit-content}
.case-title{font-family:var(--fd);font-size:.95rem;font-weight:700;color:var(--t);letter-spacing:-.025em;line-height:1.35;margin-bottom:var(--s3)}
.case-desc{font-size:.82rem;color:var(--t2);line-height:1.65;flex:1;margin-bottom:var(--s5)}
.case-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding-top:var(--s4);border-top:1px solid var(--bds)}
.case-chips{display:flex;gap:var(--s2);flex-wrap:wrap}
.case-chip{font-size:.68rem;color:var(--t3);background:var(--bg-s);border-radius:var(--rp);padding:3px 8px}
.case-arrow{width:32px;height:32px;border-radius:50%;background:var(--acd);display:flex;align-items:center;justify-content:center;color:var(--ac);flex-shrink:0;transition:background 150ms,transform 200ms var(--ex)}
.case-card:hover .case-arrow{background:var(--ac);color:var(--oa);transform:translateX(2px)}

/* ── CTA ── */
.cases-cta{background:var(--bg-s);border-top:1px solid var(--bds);padding:clamp(var(--s12),7vw,96px) 0}
.cases-cta-inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(var(--s8),5vw,80px);align-items:center}
.cases-cta-label{font-family:var(--fd);font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ac);margin-bottom:var(--s4)}
.cases-cta-title{font-family:var(--fd);font-size:clamp(1.4rem,2.5vw + .2rem,2.4rem);font-weight:700;color:var(--t);letter-spacing:-.04em;line-height:1.15;margin-bottom:var(--s4)}
.cases-cta-title em{font-style:normal;color:var(--ac)}
.cases-cta-sub{font-size:.95rem;color:var(--t2);line-height:1.75;max-width:44ch}
.cases-cta-right{display:flex;flex-direction:column;gap:var(--s4)}
.cta-feature{display:flex;align-items:flex-start;gap:var(--s4)}
.cta-feature-icon{width:40px;height:40px;border-radius:var(--rm);background:var(--acd);display:flex;align-items:center;justify-content:center;color:var(--ac);flex-shrink:0}
.cta-feature-title{font-size:.88rem;font-weight:600;color:var(--t);margin-bottom:2px}
.cta-feature-text{font-size:.82rem;color:var(--t2);line-height:1.5}
.cases-cta-actions{display:flex;gap:var(--s3);flex-wrap:wrap;margin-top:var(--s6)}
.btn-primary{font-family:var(--fb);height:50px;padding:0 var(--s8);background:var(--ac);color:var(--oa);border:none;border-radius:var(--rp);font-size:.95rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:var(--s2);transition:background 120ms,transform 120ms}
.btn-primary:hover{background:var(--ach);transform:translateY(-1px)}
.btn-ghost{font-family:var(--fb);height:50px;padding:0 var(--s6);background:var(--surf);border:1px solid var(--bd);border-radius:var(--rp);font-size:.9rem;font-weight:500;color:var(--t2);cursor:pointer;display:inline-flex;align-items:center;gap:var(--s2);transition:border-color 150ms,color 150ms}
.btn-ghost:hover{border-color:var(--ac);color:var(--t)}

/* FOOTER */
.foot{background:oklch(13% 0.018 285)}
.foot-brand{padding:clamp(var(--s12),6vw,80px) 0 clamp(var(--s8),4vw,48px);display:grid;grid-template-columns:1fr auto;align-items:end;gap:var(--s8);border-bottom:1px solid oklch(22% 0.018 285)}
.foot-wordmark{font-family:var(--fd);font-size:clamp(2.4rem,5vw + .5rem,4.5rem);font-weight:800;color:oklch(92% 0.015 285);letter-spacing:-.05em;line-height:1;margin-bottom:var(--s3)}
.foot-tagline{font-size:.95rem;color:oklch(48% 0.018 285);line-height:1.6;max-width:38ch}
.foot-cta-btn{font-family:var(--fb);height:46px;padding:0 var(--s6);background:var(--ac);color:var(--oa);border:none;border-radius:var(--rp);font-size:.9rem;font-weight:600;cursor:pointer;transition:background 120ms;white-space:nowrap}
.foot-cta-btn:hover{background:var(--ach)}
.fg2{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(var(--s6),3vw,var(--s12));padding:clamp(var(--s8),4vw,48px) 0}
.fct{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:oklch(38% 0.015 285);margin-bottom:var(--s4)}
.flk{display:block;font-size:.85rem;color:oklch(52% 0.018 285);margin-bottom:var(--s3);text-decoration:none;transition:color 150ms;cursor:pointer}
.flk:hover{color:oklch(78% 0.025 285)}
.fsoc{display:flex;gap:var(--s3);margin-top:var(--s4)}
.fsoc-a{width:36px;height:36px;border-radius:var(--rm);background:oklch(20% 0.018 285);display:flex;align-items:center;justify-content:center;color:oklch(52% 0.018 285);text-decoration:none;transition:background 150ms,color 150ms}
.fsoc-a:hover{background:oklch(26% 0.02 285);color:oklch(80% 0.025 285)}
.fbot{border-top:1px solid oklch(20% 0.015 285);padding:var(--s5) 0;display:flex;align-items:center;justify-content:space-between;gap:var(--s4)}
.fcp{font-size:.78rem;color:oklch(32% 0.012 285)}
.flgl{display:flex;gap:var(--s6)}

/* RESPONSIVE */
@media(max-width:1000px){
  .cases-grid{grid-template-columns:repeat(2,1fr)}
  .feat-case{grid-template-columns:1fr}
  .feat-case-vis{min-height:240px}
.cases-cta-inner{grid-template-columns:1fr}
}
@media(max-width:640px){
  .cases-grid{grid-template-columns:1fr}
  .fg2{grid-template-columns:repeat(2,1fr)}
  .foot-brand{grid-template-columns:1fr}
  .fbot{flex-direction:column;gap:var(--s3);text-align:center}
  .nls{display:none}
}
