/* ============================================================
   UNILIT — 437 Activewear case study styles
   ============================================================ */

:root {
  --437-black:    #0A0A0A;
  --437-white:    #FAFAFA;
  --437-cream:    #F5F2ED;
  --437-mid:      #888;
  --437-line:     rgba(10,10,10,.10);
}

body {
  background: var(--437-cream);
  color: var(--437-black);
}

.back-bar  { background: var(--437-cream); border-color: var(--437-line); }
.back-link { color: rgba(10,10,10,.38); }
.back-link:hover { color: var(--437-black); }

/* Hero — split: text left, image right, very clean */
.cs-hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  height: auto;
  min-height: 95vh;
  background: var(--437-black);
  align-items: unset;
}

@media (max-width: 860px) {
  .cs-hero { grid-template-columns: 1fr; min-height: auto; }
}

.cs-hero-left {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 72px 56px 72px 0;
  position: relative;
  z-index: 2;
}

@media (max-width: 860px) { .cs-hero-left { padding: 48px 24px; } }

.cs-eyebrow { color: rgba(255,255,255,.45); font-size: 11px; letter-spacing: .22em; }

.cs-hero h1 {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(96px, 16vw, 200px);
  line-height: .85;
  letter-spacing: -.06em;
  color: #fff;
  margin-bottom: 32px;
}

.brand-descriptor {
  font-family: var(--font-mono);
  font-size: 12px; letter-spacing: .22em; text-transform: uppercase;
  color: rgba(255,255,255,.38); margin-bottom: 40px;
}

.cs-meta { border-top-color: rgba(255,255,255,.10); padding-top: 28px; }
.cs-meta-item { border-right-color: rgba(255,255,255,.10); padding-right: 36px; margin-right: 36px; }
.meta-label { color: rgba(255,255,255,.32) !important; }
.meta-val   { color: #fff !important; }

.cs-hero-right { position: relative; overflow: hidden; background: #111; }
.cs-hero-right img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover; object-position: top center;
  opacity: .75; filter: grayscale(8%);
}

@media (max-width: 860px) {
  .cs-hero-right { height: 420px; }
}

/* Brand bar */
.brand-bar {
  background: var(--437-black);
  padding: 22px 0;
  border-top: 1px solid rgba(255,255,255,.08);
}

.brand-bar-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
}

.brand-bar-stat {
  font-family: var(--font-mono);
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: rgba(255,255,255,.45);
  display: flex; align-items: center; gap: 10px;
}

.brand-bar-stat strong {
  font-size: 14px; color: #fff; font-weight: 600; font-family: var(--font-display);
}

/* Celebrity strip */
.celeb-strip {
  background: #fff;
  padding: 20px 0;
  border-bottom: 1px solid var(--437-line);
  overflow: hidden;
}

.celeb-track {
  display: flex; gap: 0; white-space: nowrap;
}

.celeb-item {
  font-family: var(--font-mono);
  font-size: 12px; letter-spacing: .14em; text-transform: uppercase;
  color: rgba(10,10,10,.45);
  padding: 0 24px;
  display: inline-flex; align-items: center; gap: 24px; flex-shrink: 0;
}

.celeb-item::after { content: "·"; color: rgba(10,10,10,.2); }

/* Sections */
.cs-section { border-bottom: 1px solid var(--437-line); }
.section-label { color: var(--437-black); opacity: .45; }
.cs-section h2 { color: var(--437-black); }
.cs-section p  { color: rgba(10,10,10,.62); }

/* Deliverables */
.deliverables { background: rgba(10,10,10,.03); }
.del {
  background: #fff;
  border: 1px solid var(--437-line);
  padding: 28px 24px;
  transition: border-color .18s, transform .18s;
}
.del:hover { border-color: var(--437-black); transform: translateY(-2px); }
.del .d-num { color: rgba(10,10,10,.35); font-weight: 600; }
.del h3 { color: var(--437-black); }
.del p  { color: rgba(10,10,10,.58); }

/* Screenshots */
.screenshots { background: var(--437-cream); border-bottom: 1px solid var(--437-line); }
.shot { background: #fff; border-radius: 4px; box-shadow: 0 8px 32px rgba(10,10,10,.08); }
.shot-caption { color: rgba(10,10,10,.42); border-top-color: var(--437-line); }

/* Stack */
.stack-section { border-bottom: 1px solid var(--437-line); }
.stack-section h2 { color: var(--437-black); }
.pill {
  border: 1px solid rgba(10,10,10,.18);
  color: rgba(10,10,10,.65);
  border-radius: 2px;
}
.pill:hover { border-color: var(--437-black); color: var(--437-black); }

/* CTA */
.cs-cta { background: var(--437-black); border-top: none; }
.cs-cta h2 { color: #fff; letter-spacing: -.04em; }
.cs-cta p  { color: rgba(255,255,255,.42); }

.btn-cta-primary {
  display: inline-block;
  background: #fff; color: var(--437-black) !important;
  font-family: var(--font-mono); font-size: 13px; font-weight: 600;
  letter-spacing: .08em; text-transform: uppercase;
  padding: 14px 32px; border-radius: 2px; border: 1px solid #fff;
  transition: background .18s, transform .18s;
}
.btn-cta-primary:hover { background: var(--437-cream); transform: translateY(-1px); }

.btn-cta-ghost {
  display: inline-block; background: transparent; color: rgba(255,255,255,.58);
  font-family: var(--font-mono); font-size: 13px; font-weight: 600;
  letter-spacing: .08em; text-transform: uppercase;
  padding: 14px 32px; border-radius: 2px; border: 1px solid rgba(255,255,255,.15);
  transition: border-color .18s, color .18s;
}
.btn-cta-ghost:hover { border-color: rgba(255,255,255,.5); color: #fff; }
