/* ===== Chen Digital — single project case-study template ===== */

@font-face { font-family: "Talent FS"; src: url("fonts/TalentFS-Light.woff") format("woff"); font-weight: 300; font-display: swap; }
@font-face { font-family: "Talent FS"; src: url("fonts/TalentFS-Regular.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Talent FS"; src: url("fonts/TalentFS-Medium.ttf") format("truetype"); font-weight: 500; font-display: swap; }
@font-face { font-family: "Talent FS"; src: url("fonts/TalentFS-Demibold.woff2") format("woff2"); font-weight: 600; font-display: swap; }
@font-face { font-family: "Talent FS"; src: url("fonts/TalentFS-Bold.woff2") format("woff2"); font-weight: 700; font-display: swap; }
@font-face { font-family: "Talent FS"; src: url("fonts/TalentFS-Black.woff2") format("woff2"); font-weight: 900; font-display: swap; }

body.single-project {
  --cd-gold-dark: #a7855a;
  --cd-gold: #c9ae7b;
  --cd-gold-light: #d7c4a3;
  --cd-cream: #f6f2ea;
  --cd-paper: #fbf9f5;
  --cd-ink: #1b1815;
  --cd-ink-soft: #4a443c;
  --cd-line: #e6dfd2;
  --cd-shadow: 0 30px 60px -30px rgba(27,24,21,.25);
  --cd-ease: cubic-bezier(.22,1,.36,1);
  font-family: "Talent FS", "Segoe UI", Arial, sans-serif;
  color: var(--cd-ink);
  background: var(--cd-paper);
}

body.single-project h1, body.single-project h2, body.single-project h3,
body.single-project .elementor-heading-title {
  font-family: "Talent FS", "Segoe UI", Arial, sans-serif !important;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: var(--cd-ink) !important;
}
body.single-project .elementor-widget-text-editor,
body.single-project p {
  font-family: "Talent FS", "Segoe UI", Arial, sans-serif !important;
  color: var(--cd-ink-soft);
  line-height: 1.75;
}

/* ---------- Shared boxed width ---------- */
body.single-project [class*="proj-"][class*="-inner"],
body.single-project .sec-proj-single,
body.single-project .sec-proj-image > .e-con-inner {
  max-width: 900px !important;
  margin: 0 auto !important;
  padding-left: 24px;
  padding-right: 24px;
}

/* ---------- Back link ---------- */
body.single-project .proj-back-link .elementor-button {
  background: transparent !important;
  color: var(--cd-ink-soft) !important;
  padding: 0 !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}
body.single-project .proj-back-link .elementor-button:hover { color: var(--cd-gold-dark) !important; }

/* ---------- Hero ---------- */
body.single-project .sec-proj-hero { padding: 24px 0 40px; }
body.single-project .proj-eyebrow {
  display: block;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--cd-gold-dark);
  margin-bottom: 14px;
}
body.single-project .proj-eyebrow-dot { margin: 0 10px; opacity: .5; }
body.single-project .proj-title .elementor-heading-title {
  font-size: clamp(34px, 5vw, 56px) !important;
  margin-bottom: 14px;
}
body.single-project .proj-subtitle {
  font-size: 18px;
  max-width: 640px;
  color: var(--cd-ink-soft);
  margin-bottom: 30px;
}
body.single-project .proj-meta-row {
  border-top: 1px solid var(--cd-line);
  padding-top: 20px;
  flex-wrap: wrap;
  gap: 16px;
}
body.single-project .proj-meta-label {
  display: block;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--cd-ink-soft);
  opacity: .7;
  margin-bottom: 4px;
}
body.single-project .proj-meta-value {
  display: block;
  font-size: 17px;
  font-weight: 700;
  color: var(--cd-ink);
}
body.single-project .proj-link-btn .elementor-button {
  background: var(--cd-ink) !important;
  color: var(--cd-paper) !important;
  border-radius: 100px !important;
  padding: 14px 26px !important;
  font-family: "Talent FS", sans-serif !important;
  font-weight: 700 !important;
  box-shadow: none !important;
  transition: transform .35s var(--cd-ease);
}
body.single-project .proj-link-btn .elementor-button:hover { transform: translateY(-2px); }

/* ---------- Featured image ---------- */
body.single-project .sec-proj-image { padding: 10px 0 60px; }
body.single-project .proj-featured-img,
body.single-project .proj-featured-img img {
  border-radius: 22px;
  box-shadow: var(--cd-shadow);
  width: 100%;
  object-fit: cover;
  max-height: 640px;
}

/* ---------- About ---------- */
body.single-project .sec-proj-about { background: var(--cd-cream); padding: 60px 0; }
body.single-project .proj-about-heading .elementor-heading-title { font-size: clamp(22px, 2.6vw, 30px) !important; margin-bottom: 18px; }
body.single-project .proj-about-text { font-size: 17px; max-width: 720px; }

/* ---------- Final CTA ---------- */
body.single-project .sec-proj-cta { padding: 70px 0; text-align: center; }
body.single-project .proj-cta-heading .elementor-heading-title { font-size: clamp(26px, 3.2vw, 38px) !important; }
body.single-project .proj-cta-text { max-width: 480px; margin: 10px auto 26px; }
body.single-project .proj-cta-btn .elementor-button {
  background: var(--cd-ink) !important;
  color: var(--cd-paper) !important;
  border-radius: 100px !important;
  padding: 16px 32px !important;
  font-family: "Talent FS", sans-serif !important;
  font-weight: 700 !important;
  box-shadow: none !important;
  transition: transform .35s var(--cd-ease);
}
body.single-project .proj-cta-btn .elementor-button:hover { transform: translateY(-2px); }

/* ---------- Reveal (GSAP hook) ---------- */
body.single-project .cd-reveal { opacity: 0; transform: translateY(28px); }
@media (prefers-reduced-motion: reduce) {
  body.single-project .cd-reveal { opacity: 1 !important; transform: none !important; }
}

@media (max-width: 700px) {
  body.single-project .sec-proj-hero { padding: 16px 0 30px; }
  body.single-project .proj-meta-row { flex-direction: column; align-items: flex-start !important; }
  body.single-project .proj-link-btn { width: 100%; }
  body.single-project .proj-link-btn .elementor-button { width: 100%; justify-content: center; }
}
