/* SCAFFOLD content components — articles & case studies.
   Used by index.html and the content pages. Relies on the brand CSS variables. */
.sc-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:3rem}
.sc-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;margin-top:3rem}
.sc-empty{grid-column:1/-1;padding:2.5rem;text-align:center;border:1px dashed var(--border);border-radius:14px;font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.06em;color:var(--steel)}
.sc-more{margin-top:2rem;display:flex;justify-content:center}
.sc-more a{text-decoration:none}

/* Article card */
.sc-article{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--border);border-radius:14px;padding:1.75rem;text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s,border-color .2s}
.sc-article:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(26,54,93,.09);border-color:rgba(26,54,93,.18)}
.sc-cat{display:inline-block;font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.12em;text-transform:uppercase;padding:4px 10px;border-radius:20px;background:rgba(26,54,93,.07);color:var(--navy)}
.sc-cat.sc-construction{background:rgba(232,68,10,.09);color:var(--orange)}
.sc-cat.sc-community{background:rgba(13,148,136,.1);color:var(--teal)}
.sc-article h3{font-family:'Syne',sans-serif;font-weight:700;font-size:18px;line-height:1.3;color:var(--ink);margin:1rem 0 .65rem}
.sc-article p{font-size:14px;line-height:1.65;color:var(--steel);flex:1}
.sc-meta{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.05em;color:var(--steel);margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border)}
.sc-link{font-family:'Syne',sans-serif;font-weight:700;font-size:13px;color:var(--orange);margin-top:.6rem}

/* Case study card */
.sc-case{position:relative;display:flex;flex-direction:column;background:var(--white);border:1px solid var(--border);border-top:3px solid var(--navy);border-radius:14px;padding:2rem;text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s}
.sc-case.sc-construction{border-top-color:var(--orange)}
.sc-case.sc-community{border-top-color:var(--teal)}
.sc-case:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(26,54,93,.09)}
.sc-case-sector{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--orange);margin-bottom:.75rem;padding-right:5.5rem}
.sc-case.sc-community .sc-case-sector{color:var(--teal)}
.sc-case h3{font-family:'Syne',sans-serif;font-weight:700;font-size:18px;line-height:1.3;color:var(--ink);margin-bottom:.6rem}
.sc-case p{font-size:14px;line-height:1.6;color:var(--steel);margin-bottom:1.25rem}
.sc-metrics{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:.75rem}
.sc-metric{background:var(--bg);border-radius:8px;padding:.75rem .85rem}
.sc-metric-val{font-family:'Syne',sans-serif;font-weight:800;font-size:19px;color:var(--ink);line-height:1.1}
.sc-metric-lbl{font-family:'DM Mono',monospace;font-size:8.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--steel);margin-top:.3rem}
.sc-outcome{border-radius:8px;padding:.85rem 1rem;background:rgba(232,68,10,.07)}
.sc-case.sc-community .sc-outcome{background:rgba(13,148,136,.08)}
.sc-outcome-lbl{font-family:'DM Mono',monospace;font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--orange)}
.sc-case.sc-community .sc-outcome-lbl{color:var(--teal)}
.sc-outcome-val{font-family:'Syne',sans-serif;font-weight:800;font-size:20px;color:var(--orange);margin-top:.2rem}
.sc-case.sc-community .sc-outcome-val{color:var(--teal)}
.sc-case-foot{display:flex;justify-content:space-between;align-items:center;margin-top:1.1rem;gap:1rem}
.sc-case-foot .sc-stage{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.06em;color:var(--steel)}
.sc-case-foot .sc-link{margin-top:0}
.sc-badge{position:absolute;top:1.6rem;right:1.6rem;font-family:'DM Mono',monospace;font-size:8px;letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;border-radius:20px;border:1px solid var(--border);color:var(--steel)}

/* Filters (listing pages) */
.sc-filters{display:inline-flex;gap:4px;padding:4px;background:var(--white);border:1px solid var(--border);border-radius:8px;margin-top:2rem}
.sc-filters button{border:none;background:transparent;padding:.5rem 1.1rem;border-radius:5px;font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--steel);cursor:pointer}
.sc-filters button.on{background:var(--navy);color:#fff}

/* Reader */
.sc-reader{max-width:760px;margin:0 auto}
.sc-reader-head{padding-bottom:2rem;margin-bottom:2.5rem;border-bottom:1px solid var(--border)}
.sc-reader-head h1{font-family:'Syne',sans-serif;font-weight:800;font-size:clamp(28px,4.2vw,44px);line-height:1.08;letter-spacing:-.02em;color:var(--ink);margin:1rem 0}
.sc-reader-head .sc-lede{font-size:18px;font-weight:300;line-height:1.7;color:var(--steel)}
.sc-reader-head .sc-meta{border-top:none;padding-top:0;margin-top:1rem}
.sc-reader-kpis{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:.75rem;margin-top:1.75rem}
.sc-prose{font-size:17px;line-height:1.8;color:var(--body)}
.sc-prose h2{font-family:'Syne',sans-serif;font-weight:700;font-size:24px;line-height:1.25;color:var(--ink);margin:2.5rem 0 1rem}
.sc-prose h3{font-family:'Syne',sans-serif;font-weight:700;font-size:19px;color:var(--ink);margin:2rem 0 .75rem}
.sc-prose p{margin-bottom:1.25rem}
.sc-prose ul,.sc-prose ol{margin:0 0 1.25rem 1.4rem}
.sc-prose li{margin-bottom:.5rem}
.sc-prose strong{color:var(--ink);font-weight:600}
.sc-prose a{color:var(--orange);text-underline-offset:3px}
.sc-prose blockquote{border-left:3px solid var(--orange);padding:.25rem 0 .25rem 1.25rem;margin:1.5rem 0;font-style:italic;color:var(--navy)}
.sc-prose hr{border:none;border-top:1px solid var(--border);margin:2.5rem 0}
.sc-prose img{max-width:100%;height:auto;border-radius:10px}
.sc-prose em{color:var(--steel)}
.sc-disclaimer{margin-top:2rem;padding:1rem 1.25rem;background:var(--bg2);border-radius:8px;font-family:'DM Mono',monospace;font-size:10px;line-height:1.6;letter-spacing:.03em;color:var(--steel)}
.sc-cta{margin-top:3.5rem;background:var(--navy);border-radius:16px;padding:2.5rem;color:#fff}
.sc-cta h3{font-family:'Syne',sans-serif;font-weight:800;font-size:24px;line-height:1.2;margin-bottom:.6rem}
.sc-cta p{font-size:15px;line-height:1.7;color:rgba(255,255,255,.65);margin-bottom:1.5rem;max-width:520px}
.sc-cta a{text-decoration:none}
.sc-related{margin-top:4rem}
.sc-related-title{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--steel)}
.sc-related .sc-grid-2{margin-top:1.25rem}

@media(max-width:960px){.sc-grid-3{grid-template-columns:1fr 1fr}}
@media(max-width:700px){
  .sc-grid-3,.sc-grid-2{grid-template-columns:1fr}
  .sc-reader-kpis{grid-template-columns:1fr 1fr}
  .sc-reader-kpis .sc-outcome{grid-column:1/-1}
  .sc-filters{flex-wrap:wrap}
}
