.parking-challenges-page {
  overflow: clip;
}

.parking-challenges-page .section {
  position: relative;
}

.pc-hero__layout,
.pc-skills__layout,
.pc-awareness__layout,
.pc-diagnostic__layout,
.pc-cta__layout {
  display: grid;
  min-width: 0;
}

.pc-hero__layout {
  grid-template-columns: minmax(430px, 5fr) minmax(360px, 7fr);
  align-items: center;
  gap: clamp(2rem, 5vw, 5rem);
}

.pc-hero__copy,
.pc-hero__media,
.pc-skills__narrative,
.pc-skills__side,
.pc-awareness__rail,
.pc-awareness__units,
.pc-diagnostic__primary,
.pc-diagnostic__responses,
.pc-cta__copy,
.pc-cta__actions {
  min-width: 0;
  width: 100%;
}

.pc-hero__copy {
  position: relative;
  z-index: 1;
  max-width: 500px;
}

.pc-hero h1 {
  margin-bottom: var(--space-5);
  font-size: clamp(3.25rem, 4.5vw, 3.75rem);
}

.pc-hero__lead {
  max-width: 680px;
  margin-bottom: var(--space-4);
  font-size: var(--text-lead);
  line-height: var(--line-lead);
}

.pc-hero__independence {
  max-width: 520px;
  margin-bottom: var(--space-5);
  padding-left: var(--space-4);
  border-left: 2px solid var(--color-blue);
  color: var(--color-asphalt);
  font-size: var(--text-meta);
  line-height: var(--line-meta);
}

.pc-hero__support {
  max-width: 620px;
}

.pc-hero__actions,
.pc-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  min-width: 0;
}

.pc-hero__actions > a,
.pc-cta__actions > a {
  min-width: 0;
}

.pc-external-button span,
.pc-hero__actions .button span,
.pc-cta__actions .button span {
  display: inline-block;
  margin-left: var(--space-2);
  transition: transform var(--transition-fast);
}

.pc-external-button:hover span,
.pc-hero__actions .button:hover span,
.pc-cta__actions .button:hover span {
  transform: translateX(3px);
}

.pc-hero__media {
  position: relative;
  z-index: 1;
  aspect-ratio: 16 / 10;
  margin: 0;
  border-radius: 0;
}

.pc-hero__media img,
.pc-patterns__feature img,
.pc-reference__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pc-hero__media img {
  object-position: right center;
}

.pc-hero__media figcaption {
  margin: 0;
  padding: var(--space-3) var(--space-4);
  border-top: var(--border-technical);
  background: var(--color-white);
}

.pc-hero__trajectory {
  position: absolute;
  z-index: 0;
  top: 52%;
  left: 37%;
  width: 27%;
  height: 2px;
  background: var(--color-blue);
  opacity: 0.45;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform var(--transition-drive);
}

.pc-hero__trajectory::after {
  position: absolute;
  top: 50%;
  right: -7px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--color-red);
  content: "";
  transform: translateY(-50%);
}

.pc-reveal-line.is-revealed {
  transform: scaleX(1);
}

.pc-read__intro {
  max-width: 610px;
  margin-bottom: var(--space-7);
}

.pc-read__sequence {
  display: grid;
  grid-template-columns: minmax(0, 30fr) minmax(0, 40fr) minmax(0, 30fr);
  gap: var(--space-5);
  margin: 0;
  padding: 0;
  list-style: none;
}

.pc-read__unit {
  position: relative;
  min-width: 0;
  padding-top: var(--space-5);
  border-top: 2px solid var(--color-blue);
}

.pc-read__unit::before {
  position: absolute;
  top: -2px;
  right: 0;
  left: 0;
  height: 1px;
  background: var(--color-asphalt-line);
  content: "";
}

.pc-read__number {
  display: block;
  margin-bottom: var(--space-4);
  color: var(--color-red);
  font-family: var(--font-heading);
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: -0.05em;
  line-height: 1;
}

.pc-read__text {
  max-width: 390px;
}

.pc-read__unit h3 {
  font-size: var(--text-h4);
}

.pc-read__unit--diagram {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 280px);
  align-items: end;
  gap: var(--space-4);
}

.pc-read__unit--diagram .pc-read__number {
  grid-column: 1 / -1;
  margin-bottom: 0;
}

.pc-bay-diagram {
  position: relative;
  min-width: 0;
  min-height: 170px;
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--color-asphalt);
  background: var(--color-asphalt);
}

.pc-bay-diagram__bay {
  position: absolute;
  top: 20px;
  right: 20px;
  bottom: 20px;
  left: 44%;
  border: 2px solid var(--color-white);
}

.pc-bay-diagram__arrow {
  position: absolute;
  top: 48%;
  left: 8%;
  color: var(--color-blue-pale);
  font-size: 3rem;
  line-height: 1;
  transform: rotate(-12deg);
}

.pc-bay-diagram__target {
  position: absolute;
  top: 50%;
  right: 37px;
  width: 18px;
  height: 18px;
  border: 3px solid var(--color-white);
  background: var(--color-red);
  transform: translateY(-50%);
}

.pc-skills__intro {
  max-width: 620px;
  margin-bottom: var(--space-7);
}

.pc-skills__layout {
  grid-template-columns: minmax(0, 7fr) minmax(320px, 5fr);
  align-items: start;
  gap: var(--space-7);
}

.pc-skills__narrative {
  display: flex;
  flex-direction: column;
  gap: var(--space-7);
}

.pc-skill--primary {
  max-width: 620px;
  padding-top: var(--space-5);
  border-top: 2px solid var(--color-red);
}

.pc-skill--recovery {
  max-width: 560px;
  padding-left: var(--space-5);
  border-left: 2px solid var(--color-success);
}

.pc-skills__side {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-5);
}

.pc-pace-note {
  max-width: 330px;
  padding: var(--space-5);
  border: var(--border-subtle);
  border-top: 2px solid var(--color-blue);
  background: var(--color-paper);
}

.pc-pace-note h3,
.pc-alignment h3 {
  font-size: var(--text-h4);
}

.pc-pace-scale {
  display: flex;
  gap: var(--space-2);
  min-width: 0;
}

.pc-pace-scale span {
  display: block;
  height: 6px;
  min-width: 0;
  background: var(--color-blue);
}

.pc-pace-scale span:nth-child(1) { width: 25%; opacity: 0.35; }
.pc-pace-scale span:nth-child(2) { width: 35%; opacity: 0.65; }
.pc-pace-scale span:nth-child(3) { width: 40%; }

.pc-alignment {
  max-width: 420px;
}

.pc-alignment__diagram {
  position: relative;
  width: 100%;
  min-height: 250px;
  margin: 0 0 var(--space-4);
  overflow: hidden;
  border: var(--border-technical);
  background: var(--color-paper);
}

.pc-alignment__bay {
  position: absolute;
  left: 17%;
  width: 66%;
  height: 42%;
  border: 2px solid var(--color-blue);
}

.pc-alignment__bay--one { top: 9%; opacity: 0.45; }
.pc-alignment__bay--two { bottom: 9%; }

.pc-alignment__car {
  position: absolute;
  left: 41%;
  width: 18%;
  height: 25%;
  border: 2px solid var(--color-asphalt);
  background: var(--color-white);
}

.pc-alignment__car--before { top: 14%; transform: rotate(17deg); opacity: 0.5; }
.pc-alignment__car--after { bottom: 14%; }

.pc-alignment__end {
  position: absolute;
  right: 13%;
  bottom: 17%;
  width: 14px;
  height: 14px;
  background: var(--color-red);
}

.pc-patterns__intro {
  max-width: 600px;
  margin: 0 auto var(--space-6) 0;
}

.pc-patterns__feature {
  aspect-ratio: 16 / 10;
  margin: 0;
  border-radius: 0;
}

.pc-patterns__feature img {
  object-position: center;
}

.pc-patterns__feature figcaption {
  margin: 0;
  padding: var(--space-3) var(--space-4);
  background: var(--color-white);
}

.pc-patterns__panels {
  display: grid;
  grid-template-columns: minmax(0, 29fr) minmax(0, 29fr) minmax(0, 34fr);
  align-items: start;
  gap: var(--space-4);
  min-width: 0;
  margin: calc(var(--space-7) * -1) var(--space-5) 0;
  position: relative;
  z-index: 1;
}

.pc-pattern-panel {
  min-width: 0;
  padding: var(--space-5);
  border: var(--border-subtle);
  border-top: 2px solid var(--color-blue);
  background: rgb(255 255 255 / 96%);
}

.pc-pattern-panel--narrow { margin-top: var(--space-5); border-top-color: var(--color-red); }
.pc-pattern-panel--reverse { margin-top: var(--space-3); }
.pc-pattern-panel h3 { font-size: var(--text-h4); }
.pc-pattern-panel p { max-width: 330px; }
.pc-pattern-panel__prompt { margin-bottom: 0; color: var(--color-asphalt); font-size: var(--text-meta); font-weight: 600; }

.pc-awareness__layout {
  grid-template-columns: minmax(260px, 1fr) minmax(0, 2fr);
  align-items: start;
  gap: var(--space-7);
}

.pc-awareness__rail {
  max-width: 320px;
}

.pc-awareness__units {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: var(--space-5);
}

.pc-awareness__view,
.pc-awareness__input {
  min-width: 0;
  padding: var(--space-5);
  border: var(--border-subtle);
}

.pc-awareness__view { background: var(--color-blue-pale); border-top: 2px solid var(--color-blue); }
.pc-awareness__input { background: var(--color-white); border-top: 2px solid var(--color-asphalt); }
.pc-awareness__view h3,
.pc-awareness__input h3 { font-size: var(--text-h4); }
.pc-awareness__view p,
.pc-awareness__input p { max-width: 450px; }

.pc-tech-label {
  display: block;
  margin-bottom: var(--space-3);
  color: var(--color-blue);
  font-family: var(--font-heading);
  font-size: var(--text-micro);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: var(--line-micro);
  text-transform: uppercase;
}

.pc-loop__intro { max-width: 590px; margin-bottom: var(--space-7); }
.pc-loop__course { display: grid; grid-template-columns: minmax(0, 760px) minmax(0, 220px); justify-content: start; gap: var(--space-7); }
.pc-loop__steps { position: relative; display: grid; gap: var(--space-5); margin: 0; padding: 0; list-style: none; }
.pc-loop__steps::before { position: absolute; top: 24px; bottom: 24px; left: 27px; width: 2px; background: var(--color-blue); content: ""; }
.pc-loop__steps li { position: relative; z-index: 1; display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: var(--space-4); min-width: 0; }
.pc-loop__steps li > div { max-width: 540px; min-width: 0; }
.pc-loop__steps h3 { margin-bottom: var(--space-2); font-size: var(--text-h4); }
.pc-loop__number { display: grid; place-items: center; width: 48px; height: 48px; border: 2px solid var(--color-red); border-radius: 50%; background: var(--color-paper); color: var(--color-ink); font-family: var(--font-heading); font-weight: 700; }
.pc-loop__number--complete { border-color: var(--color-success); }
.pc-loop__note { align-self: center; max-width: 220px; padding-left: var(--space-4); border-left: 2px solid var(--color-blue); color: var(--color-asphalt); font-size: var(--text-meta); line-height: var(--line-meta); }

.pc-diagnostic__intro { max-width: 620px; margin-bottom: var(--space-7); }
.pc-diagnostic__layout { grid-template-columns: minmax(0, 7fr) minmax(280px, 5fr); align-items: start; gap: var(--space-6); }
.pc-diagnostic__primary { padding: var(--space-6); border: var(--border-subtle); border-top: 2px solid var(--color-red); background: var(--color-paper); }
.pc-diagnostic__primary p { max-width: 500px; }
.pc-offset-diagram { position: relative; width: 100%; min-height: 230px; margin: 0 0 var(--space-5); overflow: hidden; border: 1px solid var(--color-asphalt); background: var(--color-asphalt); }
.pc-offset-diagram::before { position: absolute; inset: 18% 17%; border: 2px solid var(--color-white); content: ""; }
.pc-offset-diagram span { position: absolute; top: 30%; left: 43%; width: 18%; height: 40%; border: 2px solid var(--color-white); background: var(--color-asphalt-line); transform: rotate(14deg); }
.pc-offset-diagram i { position: absolute; right: 20%; bottom: 24%; width: 16px; height: 16px; background: var(--color-red); }
.pc-diagnostic__responses { display: flex; flex-direction: column; gap: var(--space-5); }
.pc-diagnostic__response { min-width: 0; padding: var(--space-5); border: var(--border-subtle); border-top: 2px solid var(--color-red); background: var(--color-paper); }
.pc-diagnostic__response--white { border-top-color: var(--color-success); background: var(--color-white); }
.pc-diagnostic__response h3 { font-size: var(--text-h4); }
.pc-diagnostic__response p { max-width: 320px; }

.pc-context__lead { max-width: 660px; margin-bottom: var(--space-7); }
.pc-context__reflections { display: grid; grid-template-columns: minmax(0, 5fr) minmax(120px, 2fr) minmax(0, 5fr); align-items: center; gap: var(--space-5); }
.pc-context__reflections article { min-width: 0; }
.pc-context__reflections article p { max-width: 420px; }
.pc-context__reflections article:last-child { justify-self: end; }
.pc-route-graphic { position: relative; width: 100%; min-height: 145px; margin: 0; border-left: 2px solid var(--color-blue); }
.pc-route-graphic::before { position: absolute; top: 20%; right: 18%; left: 0; height: 2px; background: var(--color-blue); content: ""; transform: rotate(-28deg); transform-origin: left center; }
.pc-route-graphic span { position: absolute; width: 16px; height: 16px; border: 2px solid var(--color-red); border-radius: 50%; background: var(--color-paper); }
.pc-route-graphic span:nth-child(1) { top: 12%; left: -9px; }
.pc-route-graphic span:nth-child(2) { top: 45%; left: 42%; }
.pc-route-graphic span:nth-child(3) { right: 13%; bottom: 15%; background: var(--color-red); }

.pc-reference h2 { margin-bottom: var(--space-6); }
.pc-reference__media { aspect-ratio: 3 / 2; margin: 0; border-radius: 0; }
.pc-reference__media img { object-position: center; }
.pc-reference__copy { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: start; gap: var(--space-7); margin-top: var(--space-5); }
.pc-reference__copy article,
.pc-reference__copy aside { min-width: 0; }
.pc-reference__copy article { max-width: 560px; }
.pc-reference__copy aside { max-width: 360px; padding-left: var(--space-5); border-left: 2px solid var(--color-red); }
.pc-reference__copy h3 { font-size: var(--text-h4); }

.pc-cta { background: var(--color-asphalt); color: var(--color-white); }
.pc-cta__layout { grid-template-columns: minmax(0, 7fr) minmax(240px, 5fr); align-items: center; gap: var(--space-7); }
.pc-cta__copy { max-width: 520px; }
.pc-cta__copy h2 { color: var(--color-white); }
.pc-cta__copy .eyebrow { color: #e7edf0; }
.pc-cta__copy p { color: #e7edf0; }
.pc-cta__actions { flex-direction: column; align-items: flex-end; }
.pc-cta__actions .button { min-width: 190px; }
.pc-cta__actions .button--secondary,
.pc-cta__actions .button--secondary:visited { border-color: var(--color-blue-pale); background: transparent; color: var(--color-white); }
.pc-cta__actions .button--secondary:hover { background: var(--color-blue-pale); color: var(--color-blue-dark); }

@media (max-width: 68.75rem) {
  .pc-loop__course { grid-template-columns: minmax(0, 760px); }
  .pc-loop__note { display: none; }
}

@media (max-width: 61.25rem) {
  .pc-read__sequence { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pc-read__unit--diagram { grid-column: 1 / -1; grid-template-columns: minmax(0, 1fr) minmax(220px, 280px); }
  .pc-patterns__panels { grid-template-columns: repeat(2, minmax(0, 1fr)); margin: var(--space-5) 0 0; }
  .pc-pattern-panel { margin-top: 0; }
  .pc-pattern-panel--reverse { grid-column: 1 / -1; max-width: 52%; }
}

@media (max-width: 56.25rem) {
  .pc-hero__layout { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .pc-hero__copy { max-width: 680px; }
  .pc-hero__media { max-width: 720px; }
  .pc-hero__trajectory { display: none; }
  .pc-skills__layout { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .pc-skills__side { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
  .pc-pace-note { max-width: none; }
  .pc-alignment { max-width: none; }
}

@media (max-width: 52.5rem) {
  .pc-awareness__layout { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .pc-awareness__rail { max-width: 610px; }
  .pc-diagnostic__layout { grid-template-columns: minmax(0, 1fr); }
  .pc-diagnostic__responses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; }
  .pc-diagnostic__response p { max-width: none; }
  .pc-context__reflections { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .pc-context__reflections article:last-child { justify-self: start; }
  .pc-route-graphic { min-height: 90px; max-width: 340px; }
  .pc-reference__copy { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .pc-reference__copy aside { max-width: 560px; }
}

@media (max-width: 47.5rem) {
  .pc-cta__layout { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .pc-cta__actions { align-items: flex-start; }
}

@media (max-width: 43.75rem) {
  .pc-hero h1 { font-size: clamp(2.25rem, 10vw, 3rem); }
  .pc-hero__media,
  .pc-patterns__feature,
  .pc-reference__media { aspect-ratio: 4 / 3; }
  .pc-hero__media img { object-position: right center; }
  .pc-read__intro,
  .pc-skills__intro,
  .pc-patterns__intro,
  .pc-loop__intro,
  .pc-diagnostic__intro,
  .pc-context__lead { margin-bottom: var(--space-5); }
  .pc-read__sequence { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); padding-left: 32px; border-left: 2px solid var(--color-blue); }
  .pc-read__unit,
  .pc-read__unit--diagram { display: block; grid-column: auto; padding-top: 0; border-top: 0; }
  .pc-read__unit::before { display: none; }
  .pc-read__number { position: relative; left: -49px; width: 34px; margin-bottom: -28px; color: var(--color-red); font-size: 1.4rem; }
  .pc-read__text { max-width: none; }
  .pc-bay-diagram { width: 100%; min-height: 210px; margin-top: var(--space-4); }
  .pc-skills__side { grid-template-columns: minmax(0, 1fr); }
  .pc-skill--recovery { padding-left: var(--space-4); }
  .pc-alignment__diagram { min-height: 260px; }
  .pc-patterns__panels { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
  .pc-pattern-panel--reverse { grid-column: auto; max-width: none; }
  .pc-awareness__units { grid-template-columns: minmax(0, 1fr); }
  .pc-loop__steps { gap: var(--space-5); }
  .pc-loop__steps::before { left: 19px; }
  .pc-loop__steps li { grid-template-columns: 40px minmax(0, 1fr); gap: var(--space-3); }
  .pc-loop__number { width: 36px; height: 36px; }
  .pc-loop__steps li > div { max-width: none; }
  .pc-diagnostic__primary { padding: var(--space-5); }
  .pc-diagnostic__responses { display: grid; grid-template-columns: minmax(0, 1fr); }
  .pc-offset-diagram { min-height: 220px; }
  .pc-reference__copy aside { padding-left: var(--space-4); }
  .pc-hero__actions,
  .pc-cta__actions { flex-direction: column; align-items: stretch; }
  .pc-hero__actions .button,
  .pc-cta__actions .button { width: 100%; min-width: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .pc-hero__trajectory,
  .pc-reveal-line.is-revealed,
  .pc-external-button span,
  .pc-hero__actions .button span,
  .pc-cta__actions .button span {
    transform: none;
  }
}
