/* ── CASE STUDY PAGES ── */
.cs-hero {
  background: var(--dark);
  padding: 8rem 5% 4rem;
  position: relative; overflow: hidden;
}
.cs-hero::before {
  content: ''; position: absolute; inset: 0;
  background-image: repeating-linear-gradient(45deg,rgba(201,169,110,0.03) 0,rgba(201,169,110,0.03) 1px,transparent 1px,transparent 40px);
}
.cs-hero-inner { position: relative; max-width: var(--container); margin: 0 auto; }
.cs-breadcrumb { font-size:0.7rem;letter-spacing:0.15em;text-transform:uppercase;color:rgba(255,255,255,0.3);margin-bottom:1.5rem;font-weight:300; }
.cs-breadcrumb a { color:var(--gold);text-decoration:none; }
.cs-hero-tag { font-size:0.68rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem;display:block; }
.cs-hero h1 { font-family:var(--serif);font-size:clamp(2rem,4vw,3.2rem);color:var(--white);font-weight:400;line-height:1.2;margin-bottom:1rem; }
.cs-hero h1 em { color:var(--gold);font-style:italic; }
.cs-hero-sub { font-size:0.95rem;color:rgba(255,255,255,0.5);font-weight:300;max-width:560px;line-height:1.8;margin-bottom:2rem; }
.cs-meta { display:flex;gap:2rem;flex-wrap:wrap; }
.cs-meta-item { font-size:0.75rem;color:rgba(255,255,255,0.4);font-weight:300;letter-spacing:0.05em; }
.cs-meta-item strong { color:var(--gold);font-weight:400;display:block;margin-bottom:0.15rem;font-size:0.85rem; }

/* HERO IMAGE */
.cs-hero-image {
  width:100%;max-width:var(--container);margin:0 auto;
  height:460px;object-fit:cover;display:block;
}
.cs-hero-image-placeholder {
  width:100%;max-width:var(--container);margin:0 auto;
  height:460px;background:var(--cream-dk);
  display:flex;align-items:center;justify-content:center;
  border-bottom:1px solid var(--border);
}
.cs-hero-image-placeholder p { font-size:0.85rem;color:var(--muted);font-weight:300;text-align:center;line-height:1.7; }

/* CONTENT */
.cs-content { max-width:var(--container);margin:0 auto;padding:4rem 5%; }
.cs-grid { display:grid;grid-template-columns:1fr 320px;gap:4rem;align-items:start; }
.cs-body h2 { font-family:var(--serif);font-size:1.5rem;color:var(--dark);font-weight:400;margin:2.5rem 0 1rem;line-height:1.3; }
.cs-body h2:first-child { margin-top:0; }
.cs-body p { font-size:0.95rem;color:var(--text);line-height:1.85;font-weight:300;margin-bottom:1.25rem; }
.cs-divider { width:48px;height:2px;background:var(--gold);margin:2rem 0; }

/* CHALLENGE/SOLUTION CARDS */
.cs-cards { display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);margin:2rem 0; }
.cs-card { background:var(--white);padding:2rem; }
.cs-card-label { font-size:0.65rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem;font-weight:400; }
.cs-card h3 { font-family:var(--serif);font-size:1.05rem;color:var(--dark);margin-bottom:0.75rem;font-weight:500; }
.cs-card ul { list-style:none; }
.cs-card ul li { font-size:0.88rem;color:var(--muted);padding:0.5rem 0;border-bottom:1px solid var(--border);font-weight:300;display:flex;gap:0.6rem;line-height:1.6; }
.cs-card ul li::before { content:'◈';color:var(--gold);font-size:0.55rem;margin-top:0.45rem;flex-shrink:0; }

/* PHOTO GRID */
.cs-photo-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:1.5px;background:var(--border);margin:2rem 0; }
.cs-photo-item { aspect-ratio:4/3;background:var(--cream-dk);overflow:hidden;position:relative; }
.cs-photo-item.tall { grid-row:span 2; aspect-ratio:auto; }
.cs-photo-item img { width:100%;height:100%;object-fit:cover; }
.cs-photo-placeholder {
  width:100%;height:100%;min-height:180px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:var(--cream-dk);
}
.cs-photo-placeholder span { font-size:2rem;opacity:0.2; }
.cs-photo-placeholder p { font-size:0.72rem;color:var(--muted);font-weight:300;margin-top:0.5rem;text-align:center;padding:0 1rem; }

/* RESULTS */
.cs-results { display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1px;background:var(--border);margin:2rem 0; }
.cs-result { background:var(--white);padding:1.5rem;text-align:center; }
.cs-result-num { font-family:var(--serif);font-size:2rem;color:var(--gold);line-height:1; }
.cs-result-lbl { font-size:0.68rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);margin-top:0.4rem; }

/* QUOTE */
.cs-quote { background:var(--dark);padding:2.5rem;margin:2rem 0;border-left:4px solid var(--gold); }
.cs-quote p { font-family:var(--serif);font-size:1.1rem;color:rgba(255,255,255,0.85);line-height:1.8;font-style:italic;margin:0; }
.cs-quote-attr { font-size:0.78rem;color:var(--gold);margin-top:1rem;font-weight:400;letter-spacing:0.05em; }

/* SIDEBAR */
.cs-sidebar {}
.cs-cta-card { background:var(--dark);padding:2rem;margin-bottom:1.5rem;text-align:center; }
.cs-cta-card .label { color:var(--gold); }
.cs-cta-card h3 { font-family:var(--serif);font-size:1.1rem;color:var(--white);margin:0.5rem 0 0.5rem;font-weight:400;line-height:1.4; }
.cs-cta-card p { font-size:0.8rem;color:rgba(255,255,255,0.4);font-weight:300;margin-bottom:1.5rem;line-height:1.6; }
.cs-info-card { background:var(--white);border:1px solid var(--border);padding:1.75rem;margin-bottom:1.5rem; }
.cs-info-title { font-size:0.68rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold);margin-bottom:1.25rem;font-weight:400; }
.cs-spec { display:flex;justify-content:space-between;padding:0.6rem 0;border-bottom:1px solid var(--border);font-size:0.85rem; }
.cs-spec:last-child { border-bottom:none; }
.cs-spec-label { color:var(--muted);font-weight:300; }
.cs-spec-value { color:var(--dark);font-weight:500;text-align:right; }
.cs-related-links { list-style:none; }
.cs-related-links li { margin-bottom:0.6rem; }
.cs-related-links a { font-size:0.85rem;color:var(--text);text-decoration:none;font-weight:300;transition:color 0.2s;display:flex;gap:0.5rem;align-items:flex-start;line-height:1.5; }
.cs-related-links a::before { content:'→';color:var(--gold);flex-shrink:0;font-size:0.75rem;margin-top:0.2rem; }
.cs-related-links a:hover { color:var(--gold); }

/* BEFORE/AFTER NOTE */
.cs-ba-note { background:var(--cream-dk);border:1px solid var(--border);padding:1.25rem;margin:1.5rem 0;font-size:0.82rem;color:var(--muted);font-weight:300;line-height:1.7;text-align:center; }

@media(max-width:768px){
  .cs-grid { grid-template-columns:1fr; }
  .cs-sidebar { order:-1; }
  .cs-cards { grid-template-columns:1fr; }
  .cs-photo-grid { grid-template-columns:1fr 1fr; }
  .cs-photo-item.tall { grid-row:span 1; }
}
