/* =============================================================================
   LP PROCUREMENT — PAGE-SPECIFIC STYLES
   Load after common.css
   ============================================================================= */

body { background-color: var(--paper); color: var(--ink); font-family: var(--font-body); font-size: 1rem; line-height: 1.75; }
h1, h2, h3 { font-family: var(--font-display); font-weight: 700; line-height: 1.2; color: var(--ink); }
h2 { font-size: clamp(1.3rem, 2.5vw, 1.8rem); letter-spacing: -0.015em; margin-bottom: var(--space-m); }
h3 { font-size: clamp(1rem, 2vw, 1.15rem); letter-spacing: -0.01em; margin-bottom: var(--space-s); }
.breadcrumb__list a, .breadcrumb__list span { font-family: var(--font-mono); font-size: 0.65rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--mid); text-decoration: none; }
.path-hero { background-color: var(--ink); color: var(--paper); padding: var(--space-xl) 0; margin-bottom: var(--space-xl); border-bottom: 3px solid var(--red); }
.path-hero__inner { display: grid; grid-template-columns: 1fr; gap: var(--space-l); align-items: center; }
@media (min-width: 800px) { .path-hero__inner { grid-template-columns: 1fr 280px; } }
.path-hero__kicker { font-family: var(--font-mono); font-size: 0.62rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--red); display: block; margin-bottom: var(--space-s); }
.path-hero__title { font-family: var(--font-display); font-size: clamp(2rem, 5vw, 3rem); font-weight: 900; letter-spacing: -0.025em; line-height: 1.05; color: var(--paper); margin-bottom: var(--space-m); }
.path-hero__standfirst { font-size: 1rem; line-height: 1.65; color: rgba(247,244,238,0.7); max-width: 55ch; }
.path-hero__meta { display: flex; flex-wrap: wrap; gap: var(--space-m); margin-top: var(--space-m); }
.path-hero__meta-item { display: flex; flex-direction: column; gap: 0.2rem; }
.path-hero__meta-label { font-family: var(--font-mono); font-size: 0.56rem; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(247,244,238,0.35); }
.path-hero__meta-value { font-family: var(--font-mono); font-size: 0.78rem; color: rgba(247,244,238,0.75); }
.path-hero__profile { border: 1px solid rgba(247,244,238,0.12); padding: var(--space-m); }
.path-hero__profile-label { font-family: var(--font-mono); font-size: 0.58rem; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(247,244,238,0.35); display: block; margin-bottom: var(--space-s); }
.path-body { display: grid; grid-template-columns: 1fr; gap: var(--space-xl); align-items: start; }
.path-body > div { min-width: 0; }
@media (min-width: 960px) { .path-body { grid-template-columns: 1fr 260px; } }
.stage-list { list-style: none; padding: 0; }
.stage { display: grid; grid-template-columns: 3.5rem 1fr; gap: 0; position: relative; }
.stage__track { display: flex; flex-direction: column; align-items: center; padding-top: var(--space-m); }
.stage__num { width: 2.2rem; height: 2.2rem; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: var(--font-mono); font-size: 0.72rem; font-weight: 500; flex-shrink: 0; z-index: 1; }
.stage--foundation .stage__num { background-color: var(--paper-tint); border: 2px solid var(--rule); color: var(--light); }
.stage--core       .stage__num { background-color: var(--paper); border: 2px solid var(--mid); color: var(--mid); }
.stage--advanced   .stage__num { background-color: var(--ink); border: 2px solid var(--ink); color: var(--paper); }
.stage--applied    .stage__num { background-color: var(--ink); border: 2px solid var(--red); color: var(--red); }
.stage__line { width: 2px; flex: 1; min-height: var(--space-m); margin-top: 4px; }
.stage--foundation .stage__line { background-color: var(--rule); }
.stage--core       .stage__line { background-color: var(--mid); opacity: 0.3; }
.stage--advanced   .stage__line { background-color: var(--ink); opacity: 0.3; }
.stage--applied    .stage__line { display: none; }
.stage__content { padding: var(--space-m) var(--space-l) var(--space-xl) var(--space-m); border-left: 1px solid transparent; min-width: 0; overflow-wrap: break-word; }
.stage--foundation .stage__content { border-left-color: var(--rule); }
.stage--core       .stage__content { border-left-color: rgba(122,112,96,0.25); }
.stage--advanced   .stage__content { border-left-color: rgba(26,26,24,0.15); }
.stage--applied    .stage__content { border-left-color: rgba(184,50,50,0.2); }
.stage__tier-label { font-family: var(--font-mono); font-size: 0.56rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--light); display: block; margin-bottom: 0.3rem; }
.stage--applied .stage__tier-label { color: var(--red); }
.stage__heading { font-family: var(--font-display); font-size: clamp(1.1rem, 2.5vw, 1.35rem); font-weight: 700; color: var(--ink); margin-bottom: var(--space-s); letter-spacing: -0.01em; line-height: 1.25; overflow-wrap: break-word; }
.stage__objective { font-size: 0.92rem; color: var(--mid); line-height: 1.65; margin-bottom: var(--space-m); max-width: 65ch; overflow-wrap: break-word; }
.stage__concepts { display: flex; flex-wrap: wrap; gap: 0.3rem; margin-bottom: var(--space-m); }
.concept-chip { font-family: var(--font-mono); font-size: 0.56rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--link); border: 1px solid var(--rule); padding: 0.15rem 0.5rem; text-decoration: none; }
.concept-chip:hover { border-color: var(--red); color: var(--red); }
.stage__reading { margin-bottom: var(--space-m); }
.stage__reading-label { font-family: var(--font-mono); font-size: 0.58rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--light); display: block; margin-bottom: var(--space-xs); }
.reading-item { display: grid; grid-template-columns: 1.4rem 1fr; gap: var(--space-xs); padding-block: var(--space-xs); border-bottom: 1px solid var(--rule); align-items: start; }
.reading-item:last-child { border-bottom: none; }
.reading-item__icon { font-family: var(--font-mono); font-size: 0.6rem; color: var(--light); padding-top: 0.2rem; }
.reading-item__text { font-size: 0.86rem; color: var(--ink); line-height: 1.55; min-width: 0; overflow-wrap: break-word; }
.reading-item__text a { font-weight: 600; }
.reading-item__note { font-size: 0.8rem; color: var(--mid); display: block; }
.stage__assessment { border: 1px solid var(--rule); border-left: 3px solid var(--paper-tint); padding: var(--space-m); background-color: var(--paper-tint); margin-top: var(--space-m); }
.stage--applied .stage__assessment { border-left-color: var(--red); background-color: rgba(184,50,50,0.04); }
.stage__assessment-label { font-family: var(--font-mono); font-size: 0.58rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--mid); display: block; margin-bottom: var(--space-s); }
.stage__assessment ol { padding-left: 1.2em; }
.stage__assessment li { font-size: 0.86rem; color: var(--ink); line-height: 1.6; margin-bottom: 0.5rem; overflow-wrap: break-word; }
.risk-matrix { border: 1px solid var(--rule); border-top: 3px solid var(--red); margin-block: var(--space-l); overflow-x: auto; }
.risk-matrix__caption { padding: var(--space-m) var(--space-l); background-color: var(--paper-tint); border-bottom: 1px solid var(--rule); }
.risk-matrix__caption-label { font-family: var(--font-mono); font-size: 0.6rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--red); display: block; margin-bottom: 0.2rem; }
.risk-matrix__caption-title { font-family: var(--font-display); font-size: 1rem; font-weight: 700; color: var(--ink); }
.risk-table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 0.84rem; }
.risk-table th { font-family: var(--font-mono); font-size: 0.58rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--mid); text-align: left; padding: var(--space-s) var(--space-m); border-bottom: 2px solid var(--rule); font-weight: 500; background-color: var(--paper-tint); }
.risk-table td { padding: var(--space-s) var(--space-m); border-bottom: 1px solid var(--rule); vertical-align: top; line-height: 1.55; }
.risk-table tr:last-child td { border-bottom: none; }
.risk-table td:first-child { font-weight: 600; font-size: 0.82rem; }
.risk-level { font-family: var(--font-mono); font-size: 0.56rem; letter-spacing: 0.1em; text-transform: uppercase; padding: 0.1rem 0.4rem; border: 1px solid; white-space: nowrap; }
.risk-level--high   { color: var(--red); border-color: var(--red); }
.risk-level--medium { color: var(--gold); border-color: var(--gold); }
.risk-level--low    { color: var(--mid); border-color: var(--rule); }
.path-sidebar { font-size: 0.88rem; }
@media (min-width: 960px) { .path-sidebar { position: sticky; top: var(--space-l); } }
.toc-list li { margin-bottom: 0.4rem; }
.toc-list a { font-family: var(--font-mono); font-size: 0.62rem; letter-spacing: 0.04em; color: var(--mid); text-decoration: none; line-height: 1.5; display: block; padding: 0.15rem 0; }
.other-path-link { border: 1px solid var(--rule); padding: var(--space-m); display: block; text-decoration: none; margin-bottom: var(--space-xs); }
.other-path-link:hover { border-color: var(--ink); text-decoration: none; }
.other-path-link__label { font-family: var(--font-mono); font-size: 0.58rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--mid); display: block; margin-bottom: 0.2rem; }
.other-path-link__title { font-family: var(--font-display); font-size: 0.95rem; font-weight: 700; color: var(--ink); display: block; }
.warning-note { border: 1px solid var(--rule); border-top: 3px solid var(--red); padding: var(--space-m); background-color: rgba(184,50,50,0.04); }
.warning-note__label { font-family: var(--font-mono); font-size: 0.58rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--red); display: block; margin-bottom: var(--space-xs); }
.warning-note p { font-size: 0.84rem; color: var(--ink); line-height: 1.6; margin-bottom: 0; }
