/* ============================================================
   WORK.CSS — project case study pages.
   Loads after site.css.
   ============================================================ */

/* ---------- BREADCRUMB ---------- */
.crumb {
  padding:26px 0 0; font-family:'JetBrains Mono',ui-monospace,monospace;
  font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted);
}
.crumb a { color:var(--muted); }
.crumb a:hover { color:var(--amber); }
.crumb .sep { margin:0 8px; opacity:.5; }

/* ---------- CASE HERO ---------- */
.case-hero { padding:38px 0 56px; position:relative; overflow:hidden; }
.case-hero::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(720px 400px at 78% 0%, rgba(232,130,61,.13), transparent 62%),
             radial-gradient(560px 420px at 2% 96%, rgba(61,110,119,.18), transparent 60%);
}
.case-hero .inner { position:relative; }
.case-hero h1 {
  font-family:'Anton','Arial Narrow',sans-serif; font-weight:400;
  font-size:clamp(2.1rem,5vw,3.4rem); line-height:1.04;
  text-transform:uppercase; margin:14px 0 18px; max-width:18ch;
}
.case-hero .lede { color:#CFC7B8; font-size:1.06rem; max-width:60ch; }

/* the honest label — this is a demo, and the page says so */
.build-badge {
  display:block; margin-top:26px;
  background:var(--panel); border:1px solid var(--line);
  border-left:3px solid var(--teal);
  padding:11px 18px; border-radius:8px;
  font-size:.85rem; color:#CFC7B8; max-width:64ch;
}
.build-badge strong { color:var(--text); font-weight:600; }

.case-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:30px; }

/* ---------- FACT STRIP ---------- */
.facts {
  display:grid; grid-template-columns:repeat(4,1fr); gap:0;
  border:1px solid var(--line); border-radius:var(--radius);
  background:var(--panel); overflow:hidden; margin-top:44px;
}
.fact { padding:22px 24px; border-right:1px solid var(--line); }
.fact:last-child { border-right:0; }
.fact dt {
  font-family:'JetBrains Mono',ui-monospace,monospace; font-size:.6rem;
  letter-spacing:.16em; text-transform:uppercase; color:var(--muted); margin-bottom:8px;
}
.fact dd { font-size:.95rem; color:var(--text); }
.fact dd.amber { color:var(--amber); font-family:'JetBrains Mono',ui-monospace,monospace; }

/* ---------- SHOT ---------- */
.shot {
  border:1px solid var(--line); border-radius:var(--radius); overflow:hidden;
  background:var(--panel-2); box-shadow:var(--shadow); position:relative;
}
.shot img { width:100%; }
.shot figcaption {
  padding:13px 18px; border-top:1px solid var(--line);
  font-family:'JetBrains Mono',ui-monospace,monospace;
  font-size:.66rem; letter-spacing:.12em; text-transform:uppercase; color:var(--muted);
}

/* ---------- BODY LAYOUT ---------- */
.case-body-grid { display:grid; grid-template-columns:1fr 330px; gap:56px; align-items:start; }
.prose h2 {
  font-family:'Anton','Arial Narrow',sans-serif; font-weight:400;
  font-size:1.6rem; text-transform:uppercase; letter-spacing:.01em;
  margin:44px 0 16px;
}
.prose h2:first-child { margin-top:0; }
.prose h3 { font-size:1.05rem; margin:28px 0 10px; }
.prose p { color:#CFC7B8; margin-bottom:16px; max-width:68ch; }
.prose ul { list-style:none; margin:16px 0 20px; }
.prose li {
  color:#CFC7B8; font-size:.94rem; padding-left:22px; position:relative; margin:9px 0; max-width:66ch;
}
.prose li::before { content:'—'; position:absolute; left:0; color:var(--amber); }
.prose strong { color:var(--text); }

/* side rail */
.rail { position:sticky; top:96px; display:grid; gap:18px; }
.rail-card {
  background:var(--panel); border:1px solid var(--line);
  border-radius:var(--radius); padding:22px 22px 24px;
}
.rail-card h4 {
  font-family:'JetBrains Mono',ui-monospace,monospace; font-size:.62rem;
  letter-spacing:.16em; text-transform:uppercase; color:var(--muted); margin-bottom:14px;
}
.rail-card ul { list-style:none; display:grid; gap:9px; }
.rail-card li { font-size:.88rem; color:#CFC7B8; display:flex; gap:9px; }
.rail-card li::before { content:'▸'; color:var(--amber); font-size:.7rem; line-height:1.7; }
.rail .btn { width:100%; justify-content:center; }

/* ---------- MOBILE / DESKTOP PAIR ---------- */
.pair { display:grid; grid-template-columns:1.6fr 1fr; gap:24px; align-items:start; margin:30px 0 8px; }

/* ---------- BUILD NOTES ---------- */
.notes { background:var(--panel); border-block:1px solid var(--line); }
.notes-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:8px; }
.note {
  padding:24px; background:var(--panel-2);
  border:1px solid var(--line); border-radius:var(--radius);
}
.note .n {
  font-family:'JetBrains Mono',ui-monospace,monospace;
  font-size:.66rem; letter-spacing:.16em; color:var(--amber); text-transform:uppercase;
}
.note h3 { font-size:1rem; margin:12px 0 9px; }
.note p { color:var(--muted); font-size:.88rem; }

/* ---------- NEXT PROJECT ---------- */
.next-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.next-card {
  background:var(--panel); border:1px solid var(--line); border-radius:var(--radius);
  overflow:hidden; transition:border-color .2s ease, transform .2s ease;
}
.next-card:hover { border-color:var(--amber); transform:translateY(-3px); }
.next-card img { width:100%; aspect-ratio:16/10; object-fit:cover; object-position:top center; }
.next-card .t { padding:16px 18px 20px; }
.next-card .k {
  font-family:'JetBrains Mono',ui-monospace,monospace; font-size:.6rem;
  letter-spacing:.16em; text-transform:uppercase; color:var(--muted);
}
.next-card h3 { font-size:1rem; margin-top:7px; }

/* ---------- CTA BAND ---------- */
.band { border-top:1px solid var(--line); background:var(--panel); }
.band-inner {
  display:flex; align-items:center; justify-content:space-between;
  gap:30px; flex-wrap:wrap; padding:54px 0;
}
.band h2 {
  font-family:'Anton','Arial Narrow',sans-serif; font-weight:400;
  font-size:clamp(1.6rem,3.4vw,2.2rem); text-transform:uppercase; line-height:1.1;
}
.band p { color:var(--muted); margin-top:10px; max-width:48ch; }
.band-actions { display:flex; gap:14px; flex-wrap:wrap; }

/* ---------- RESPONSIVE ---------- */
@media (max-width:1000px) {
  .case-body-grid { grid-template-columns:1fr; gap:38px; }
  .rail { position:static; grid-template-columns:repeat(2,1fr); }
  .facts { grid-template-columns:repeat(2,1fr); }
  .fact:nth-child(2) { border-right:0; }
  .fact:nth-child(1), .fact:nth-child(2) { border-bottom:1px solid var(--line); }
  .notes-grid, .next-grid { grid-template-columns:1fr; }
  .pair { grid-template-columns:1fr; }
}
@media (max-width:680px) {
  .facts { grid-template-columns:1fr; }
  .fact { border-right:0; border-bottom:1px solid var(--line); }
  .fact:last-child { border-bottom:0; }
  .rail { grid-template-columns:1fr; }
  .case-hero { padding:24px 0 40px; }
}
