/* Start custom CSS */:root{--room:#17171C;--room-deep:#0B0B0E;--room-glow:#33333B;--paper:#FAFAF7;--ink:#141412;--chalk:#F4F3EE;--muted:#75756e;--line:#E3E3DC;--pop:#D97E4A;--font-display:'Polin','Heebo',Arial,sans-serif;--font-body:'Heebo','Segoe UI',Arial,sans-serif;--font-mono:'Courier New',monospace;--ease-out-soft:cubic-bezier(0.22,1,0.36,1);--radius-card:16px;--radius-media:15px;--radius-pill:100px;}
.spk-proj{background:var(--paper);color:var(--ink);font-family:var(--font-display);font-size:17px;line-height:1.65;overflow-x:hidden;}
.spk-proj .container{width:100%;max-width:1440px;margin:0 auto;padding:0 clamp(22px,5.5vw,80px);}
.spk-proj .spk-btn{display:inline-block;border-radius:var(--radius-pill);padding:14px 32px;font-family:var(--font-body);font-weight:400;font-size:15px;text-align:center;text-decoration:none;cursor:pointer;}
.spk-proj .spk-btn--pink{background:var(--pop);color:#fff;border:0;transition:transform 200ms var(--ease-out-soft),filter 200ms;}
.spk-proj .spk-btn--pink:hover{transform:translateY(-2px);filter:brightness(1.08);}
.spk-proj .cs-hero{position:relative;height:min(70vh,680px);overflow:hidden;background:var(--room-deep);}
.spk-proj .cs-hero__media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.spk-proj .cs-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,11,14,0.28) 0%,rgba(11,11,14,0.10) 45%,rgba(11,11,14,0.30) 100%);}
.spk-proj .cs-idwrap{position:relative;z-index:6;}
.spk-proj .cs-idcard{background:var(--paper);max-width:1160px;margin:min(-13vh,-128px) auto 0;padding:clamp(30px,4vw,56px);box-shadow:0 40px 90px -50px rgba(20,20,18,0.45);}
.spk-proj .cs-idcard__eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--muted);margin-bottom:18px;}
.spk-proj .cs-idcard__eyebrow i{font-style:normal;color:var(--pop);}
.spk-proj .cs-idcard h1{font-family:var(--font-display);font-weight:900;letter-spacing:-0.025em;line-height:0.98;font-size:clamp(34px,4.4vw,64px);}
.spk-proj .cs-idcard__sub{font-family:var(--font-body);font-weight:300;font-size:clamp(16px,1.4vw,19px);line-height:1.6;color:#4a4a44;margin-top:14px;max-width:40ch;}
.spk-proj .cs-idcard__meta{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:clamp(30px,3.5vw,44px);padding-top:30px;border-top:1px solid var(--line);}
.spk-proj .cs-idcard__meta dt{font-family:var(--font-mono);font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted);margin-bottom:11px;}
.spk-proj .cs-idcard__meta dd{font-family:var(--font-display);font-weight:700;font-size:clamp(15px,1.3vw,19px);line-height:1.4;letter-spacing:-0.01em;margin:0;}

/* The decision note. Same two-column idiom the other cases use for concept
   text: a short label holds the left rail, the reasoning runs beside it. */
.spk-proj .cs-note{display:grid;grid-template-columns:minmax(160px,240px) 1fr;gap:clamp(24px,5vw,80px);align-items:start;margin-top:clamp(60px,7vw,110px);}
.spk-proj .cs-note__k{font-family:var(--font-mono);font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--pop);padding-top:6px;}
.spk-proj .cs-note__b p{font-family:var(--font-body);font-weight:300;font-size:clamp(16px,1.35vw,19px);line-height:1.7;color:#3d3d38;margin:0 0 18px;max-width:62ch;}

/* Screens. Three station captures, each already framed in its own device
   shot, so the grid stays flat and lets the images carry the depth. */
.spk-proj .cs-shots{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,26px);margin-top:clamp(50px,6vw,90px);}
.spk-proj .cs-shots figure{margin:0;}
.spk-proj .cs-shots img{display:block;width:100%;height:auto;border-radius:var(--radius-media);}
.spk-proj .cs-shots figcaption{font-family:var(--font-mono);font-size:11px;letter-spacing:0.14em;color:var(--muted);margin-top:12px;}
.spk-proj .cs-wide{margin-top:clamp(28px,3vw,44px);}
.spk-proj .cs-wide img{display:block;width:100%;height:auto;border-radius:var(--radius-media);}
.spk-proj .cs-cap{font-family:var(--font-body);font-weight:300;font-size:15px;color:var(--muted);margin-top:14px;max-width:56ch;}

.spk-proj .cs-facts{margin-top:clamp(50px,6vw,90px);}
.spk-proj .cs-facts dl{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin:0;padding-top:30px;border-top:1px solid var(--line);}
.spk-proj .cs-facts dt{font-family:var(--font-mono);font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;}
.spk-proj .cs-facts dd{font-family:var(--font-display);font-weight:700;font-size:clamp(22px,2.4vw,34px);line-height:1.1;margin:0;font-variant-numeric:tabular-nums;}

.spk-proj .works-cta{margin-top:clamp(56px,7vw,110px);padding-bottom:clamp(60px,8vw,120px);}
.spk-proj .works-cta .spk-btn{margin-top:20px;}

@media(max-width:1024px){
  .spk-proj .cs-shots{grid-template-columns:1fr 1fr;}
  .spk-proj .cs-facts dl{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:800px){
  .spk-proj .cs-hero{height:56vh;}
  .spk-proj .cs-idcard{margin-top:-90px;}
  .spk-proj .cs-idcard__meta{grid-template-columns:1fr;gap:20px;}
  .spk-proj .cs-note{grid-template-columns:1fr;gap:16px;}
  .spk-proj .cs-shots{grid-template-columns:1fr;}
}
.spk-proj .cs-idcard__meta dd,.spk-proj .cs-facts dd{font-weight:700!important;}/* End custom CSS */