/* ==========================================================================
   Artists Camp — Program Map page (patterns: program-map-*)
   Hero + CTA values ported verbatim from
   artists-camp-3.0/src/pages/ProgramMap.tsx inline styles. The map itself
   is the 10-day-masterclass-map.svg poster translated to live HTML: the
   poster's exact fills/strokes (#197a57 / #e6a100 / #d94151 strips,
   pastel day cards, ink logistics band) at half the poster's 2400px text
   scale. Owned by the mc-map pattern group.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Hero — paper page header
   -------------------------------------------------------------------------- */

.pm-hero__inner {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: clamp(44px, 7vw, 72px) clamp(16px, 4vw, 32px) clamp(24px, 4vw, 36px);
}

.pm-hero__inner > * {
  margin: 0;
}

.pm-hero__title {
  font-size: clamp(32px, 5.5vw, 52px);
  line-height: 1.02;
}

.pm-hero__lead {
  font-size: clamp(16px, 2.2vw, 18px);
  line-height: 1.55;
  color: #516078;
  max-width: 620px;
  text-wrap: pretty;
}

/* --------------------------------------------------------------------------
   Map — the poster frame (ProgramMap.tsx img styles) as a live card
   -------------------------------------------------------------------------- */

.pm-map-wrap {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 clamp(16px, 4vw, 32px) clamp(40px, 6vw, 64px);
}

.pm-map {
  background: #ffffff;
  border: 1px solid #e8ecf2;
  border-radius: 16px;
  box-shadow: 0 8px 28px rgba(17, 24, 39, 0.08);
  padding: clamp(20px, 3.5vw, 40px);
  display: flex;
  flex-direction: column;
  gap: clamp(20px, 3vw, 28px);
}

.pm-map > * {
  margin: 0;
}

/* Poster masthead. */
.pm-map__head {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.pm-map__head > * {
  margin: 0;
}

.pm-map__kicker {
  font-size: 14px;
  letter-spacing: 0.18em;
  color: #111827;
}

.pm-map__title {
  font-family: "Space Grotesk", Arial, sans-serif;
  font-weight: 500;
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.05;
}

.pm-map__sub {
  font-size: clamp(15px, 1.8vw, 17px);
  color: #111827;
}

/* Phase group: colored strip + its day cards. */
.pm-phase {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.pm-phase > * {
  margin: 0;
}

.pm-phase__strip {
  padding: 12px 17px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.pm-phase__strip > * {
  margin: 0;
}

.pm-phase__strip--direction {
  background: #197a57;
  color: #ffffff;
}

.pm-phase__strip--build {
  background: #e6a100;
  color: #111827;
}

.pm-phase__strip--capstone {
  background: #d94151;
  color: #ffffff;
}

.pm-phase__range {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.pm-phase__sub {
  font-size: 12px;
}

/* Day cards — poster fills, 3px ink stroke at half scale. */
.pm-day {
  border: 1.5px solid #111827;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.pm-day > * {
  margin: 0;
}

.pm-day--direction {
  background: #eaf4ef;
}

.pm-day--build {
  background: #f9f0d5;
}

.pm-day--finish {
  background: #e7f2f6;
}

.pm-day--capstone {
  background: #f8e5e7;
}

.pm-day__no {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #111827;
}

/* The poster sets day titles in Inter, not Space Grotesk. */
.pm-day__title {
  font-family: "Inter", Arial, sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
  color: #111827;
}

.pm-day__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 13px;
  line-height: 1.4;
  color: #111827;
}

.pm-day__list li {
  margin: 0;
}

/* Logistics band (poster's ink bar) inside an ac-panel-ink shell. */
.pm-map__band-stack {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.pm-map__band-stack > * {
  margin: 0;
}

.pm-band-line--head {
  font-size: 13.5px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #ffffff;
}

.pm-band-line {
  font-size: 13px;
  color: #cdd4df;
}

.pm-band-line--legend {
  font-size: 12px;
  letter-spacing: 0.04em;
  color: #cdd4df;
}

/* --------------------------------------------------------------------------
   Closing CTA — smaller rhythm than the shared ac-cta-band defaults
   -------------------------------------------------------------------------- */

.pm-cta__inner {
  padding: clamp(44px, 6vw, 64px) clamp(16px, 4vw, 32px);
  gap: 20px;
}

.pm-cta__title {
  font-family: "Space Grotesk", Arial, sans-serif;
  font-weight: 700;
  font-size: clamp(26px, 4.5vw, 38px);
  letter-spacing: -0.015em;
  margin: 0;
}
