/* APPFORGE product case studies — Penumbra editorial layer */
.case-main { overflow: hidden; }
.case-hero { padding: 148px 0 92px; border-bottom: var(--border-hairline); }
.case-breadcrumb { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin:0 0 52px; color:var(--color-on-surface-faint); font-family:var(--font-mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.case-breadcrumb a { color:var(--color-on-surface-muted); }
.case-breadcrumb a:hover { color:var(--color-on-surface); }
.case-breadcrumb span[aria-hidden="true"] { color:var(--color-border-strong); }
.case-kicker { display:flex; align-items:center; gap:14px; margin:0 0 24px; color:var(--color-on-surface-faint); font-family:var(--font-mono); font-size:10px; letter-spacing:.09em; text-transform:uppercase; }
.case-kicker::before { content:""; width:36px; height:1px; background:var(--color-border-strong); }
.case-title { margin:0; max-width:980px; font-family:var(--font-display); font-size:clamp(72px, 10vw, 146px); font-weight:400; line-height:.86; letter-spacing:-.055em; }
.case-deck { max-width:760px; margin:38px 0 0; color:var(--color-on-surface-muted); font-size:clamp(18px,2.2vw,26px); line-height:1.45; letter-spacing:-.015em; }
.case-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:38px; }
.case-meta { display:grid; grid-template-columns:1.15fr 1fr 1fr .85fr; margin-top:76px; border-top:var(--border-hairline); border-bottom:var(--border-hairline); }
.case-meta-item { min-height:112px; padding:24px 26px 24px 0; border-right:var(--border-hairline); }
.case-meta-item + .case-meta-item { padding-left:26px; }
.case-meta-item:last-child { border-right:0; }
.case-meta-label { display:block; margin-bottom:20px; color:var(--color-on-surface-faint); font-family:var(--font-mono); font-size:9px; letter-spacing:.08em; text-transform:uppercase; }
.case-meta-value { color:var(--color-on-surface); font-size:13px; line-height:1.55; }
.case-status { display:inline-flex; align-items:center; gap:8px; }
.case-status::before { content:""; width:6px; height:6px; border-radius:50%; background:var(--color-accent); box-shadow:0 0 0 4px rgba(232,229,220,.06); }
.case-section { padding:var(--space-section) 0; border-bottom:var(--border-hairline); }
.case-section-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:96px; align-items:start; }
.case-section-index { margin:0 0 24px; color:var(--color-on-surface-faint); font-family:var(--font-mono); font-size:10px; letter-spacing:.08em; }
.case-section h2 { margin:0; max-width:520px; font-family:var(--font-display); font-size:clamp(42px,5vw,72px); font-weight:400; line-height:.98; letter-spacing:-.035em; }
.case-copy { max-width:720px; }
.case-copy p { margin:0; color:var(--color-on-surface-muted); font-size:16px; line-height:1.78; }
.case-copy p + p { margin-top:24px; }
.case-principle { margin-top:38px; padding:28px 0 0; border-top:var(--border-hairline); font-family:var(--font-display); font-size:30px; line-height:1.3; letter-spacing:-.02em; color:var(--color-on-surface); }
.case-capabilities { border-top:var(--border-hairline); }
.case-capability { display:grid; grid-template-columns:56px 1fr; gap:24px; padding:25px 0; border-bottom:var(--border-hairline); }
.case-capability span { color:var(--color-on-surface-faint); font-family:var(--font-mono); font-size:10px; padding-top:4px; }
.case-capability strong { font-size:17px; font-weight:500; line-height:1.5; }
.case-system { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:var(--color-border); border:1px solid var(--color-border); }
.case-system-item { min-height:150px; padding:28px; background:var(--color-surface); }
.case-system-item span { display:block; margin-bottom:32px; color:var(--color-on-surface-faint); font-family:var(--font-mono); font-size:9px; letter-spacing:.08em; text-transform:uppercase; }
.case-system-item strong { display:block; max-width:260px; font-family:var(--font-display); font-size:25px; font-weight:400; line-height:1.25; }
.case-next-block { padding:42px; border:1px solid var(--color-border); background:var(--color-surface); }
.case-next-block .case-meta-label { margin-bottom:24px; }
.case-next-block p { margin:0; max-width:720px; color:var(--color-on-surface-muted); font-size:17px; line-height:1.7; }
.case-nav { padding:44px 0; border-bottom:var(--border-hairline); }
.case-nav-grid { display:grid; grid-template-columns:1fr auto 1fr; gap:24px; align-items:center; }
.case-nav-link { display:flex; flex-direction:column; gap:8px; padding:18px 0; color:var(--color-on-surface-muted); }
.case-nav-link:last-child { text-align:right; }
.case-nav-link span { font-family:var(--font-mono); font-size:9px; letter-spacing:.08em; text-transform:uppercase; color:var(--color-on-surface-faint); }
.case-nav-link strong { font-family:var(--font-display); font-size:26px; font-weight:400; color:var(--color-on-surface); }
.case-nav-index { color:var(--color-on-surface-faint); font-family:var(--font-mono); font-size:10px; letter-spacing:.08em; }
.case-back-row { display:flex; justify-content:center; padding:42px 0 0; }
.case-back-link { color:var(--color-on-surface-muted); font-family:var(--font-mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.case-back-link:hover { color:var(--color-on-surface); }
@media (max-width:900px){
  .case-hero{padding-top:124px}.case-meta{grid-template-columns:repeat(2,1fr)}.case-meta-item:nth-child(2){border-right:0}.case-meta-item:nth-child(n+3){border-top:var(--border-hairline)}
  .case-section-grid{grid-template-columns:1fr;gap:52px}.case-section h2{max-width:680px}
}
@media (max-width:600px){
  .case-hero{padding:108px 0 64px}.case-breadcrumb{margin-bottom:40px}.case-title{font-size:clamp(64px,22vw,92px)}.case-deck{margin-top:28px;font-size:18px}.case-actions{align-items:stretch}.case-actions .btn{width:100%}
  .case-meta{grid-template-columns:1fr;margin-top:54px}.case-meta-item,.case-meta-item + .case-meta-item{min-height:auto;padding:20px 0;border-right:0;border-top:var(--border-hairline)}.case-meta-item:first-child{border-top:0}
  .case-section-grid{gap:38px}.case-section h2{font-size:46px}.case-principle{font-size:26px}
  .case-system{grid-template-columns:1fr}.case-system-item{min-height:128px;padding:24px}.case-next-block{padding:28px 22px}
  .case-nav-grid{grid-template-columns:1fr 1fr}.case-nav-index{display:none}.case-nav-link strong{font-size:22px}
}
