/* =============================================================================
   LP NEGOTIATOR — 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(--gold); }
.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(--gold); 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-hero__profile-title { font-family: var(--font-display); font-size: 0.95rem; font-weight: 700; color: var(--paper); display: block; margin-bottom: var(--space-s); }
.path-body { display: grid; grid-template-columns: 1fr; gap: var(--space-xl); align-items: start; }
@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; margin-bottom: 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(--gold); color: var(--gold); }
.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; }
.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(154,123,62,0.3); }
.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(--gold); }
.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; }
.stage__objective { font-size: 0.92rem; color: var(--mid); line-height: 1.65; margin-bottom: var(--space-m); max-width: 65ch; }
.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; }
.reading-item__text a { font-weight: 600; }
.reading-item__note { font-size: 0.8rem; color: var(--mid); display: block; }
.reading-item__tag { font-family: var(--font-mono); font-size: 0.52rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gold); border: 1px solid rgba(154,123,62,0.3); padding: 0.05rem 0.3rem; margin-left: 0.3em; vertical-align: middle; }
.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(--gold); background-color: var(--gold-tint); }
.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; }
.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; }
.progress-note { border: 1px solid var(--rule); border-top: 3px solid var(--gold); padding: var(--space-m); background-color: var(--gold-tint); }
.progress-note__label { font-family: var(--font-mono); font-size: 0.58rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--gold); display: block; margin-bottom: var(--space-xs); }
.progress-note p { font-size: 0.84rem; color: var(--ink); line-height: 1.6; margin-bottom: 0; }
