/* For organisations (partners.html). Flat fills only. Form styles live in contact.css. */

/* ---------- Hero art (night sky): three pathways meet at one sunrise ---------- */
.pt-hero-art svg { max-width: 30rem; }
.pt-ring { fill: none; stroke: var(--ivory); stroke-opacity: .18; stroke-width: 1.5; }
.pt-ring--2 { stroke-opacity: .3; }
.pt-sun { fill: var(--gold); }
.pt-horizon { stroke: var(--ivory); stroke-opacity: .45; stroke-width: 1.5; }
.pt-road { fill: none; stroke: #2d4584; stroke-width: 18; stroke-linecap: round; }
.pt-lane { fill: none; stroke: var(--gold); stroke-width: 2; stroke-dasharray: 6 9; }
.pt-dot { fill: var(--gold); stroke: var(--navy); stroke-width: 3; }
.pt-label { fill: var(--ivory); font-family: var(--font-body); font-size: 15px; font-weight: 650; letter-spacing: .12em; text-transform: uppercase; }

/* ---------- Pathways ---------- */
.pathways { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.5rem); }
.pathway { display: flex; flex-direction: column; }
.pathway h3 { font-size: var(--step-subhead); line-height: 1.2; }
.pathway dl { margin: 1.1rem 0 0; display: grid; gap: .8rem; }
.pathway dt { font-size: var(--step-micro); letter-spacing: .12em; text-transform: uppercase; font-weight: 650; color: var(--ivory); }
.pathway dd { margin: .2rem 0 0; font-size: var(--step-caption); line-height: 1.5; color: var(--navy-fg-muted); }
.pathway .text-link { margin-top: auto; padding-top: 1.25rem; align-self: flex-start; }
.pathway dl + .text-link { margin-top: auto; }
@media (max-width: 1000px) and (min-width: 861px) { .pathway dd { font-size: var(--step-micro); } }
@media (max-width: 860px) { .pathways { grid-template-columns: 1fr; } }

/* ---------- Responsible partnership ---------- */
.pt-statement { font-family: var(--font-display); font-weight: 400; font-size: clamp(2rem, 1.3rem + 2.8vw, 4.2rem); line-height: 1.1; letter-spacing: -0.02em; max-width: 22ch; margin-top: 1.5rem; font-variation-settings: "opsz" 144; }
.pt-statement span { color: var(--gold); }
.tone-dark .pillar { border-top-color: rgb(230 178 60 / 55%); }
.tone-dark .pillar p { color: var(--navy-fg-muted); }

/* ---------- Signature: path to a programme ---------- */
.pp__grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: center; }
.pp__scene { margin: 0; border-radius: var(--radius-card); overflow: hidden; background: #122549; color: var(--ivory); border: 1px solid rgb(230 178 60 / 26%); }
.pp__scene svg { width: 100%; height: auto; }
.pp__road { fill: none; stroke: rgb(242 239 230 / 30%); stroke-width: 2; stroke-dasharray: 3 8; }
.pp__lit { fill: none; stroke: var(--gold); stroke-width: 3.5; stroke-linecap: round; }
.pp__sun { fill: var(--gold); }
.pp__station circle { fill: #122549; stroke: rgb(242 239 230 / 55%); stroke-width: 2; transition: fill 400ms, stroke 400ms; }
.pp__station.on circle { fill: var(--gold); stroke: var(--gold); }
.pp__station text { fill: var(--ivory); font-family: var(--font-body); font-size: 15px; font-weight: 650; letter-spacing: .1em; opacity: .5; transition: opacity 400ms; }
.pp__station.on text { opacity: 1; fill: var(--gold); }
.pp__ring { fill: none; stroke: var(--gold); stroke-width: 1.2; opacity: .55; }
.pp__walker { fill: var(--gold); }
.pp__now { display: flex; align-items: baseline; gap: 1rem; padding: 1rem clamp(1.1rem, 2.5vw, 1.6rem) 1.2rem; border-top: 1px solid rgb(230 178 60 / 24%); }
.pp__now span:first-child { font-family: var(--font-display); font-size: 2rem; line-height: 1; color: var(--gold); font-variant-numeric: tabular-nums; }
.pp__now span:last-child { font-family: var(--font-display); font-size: var(--step-subhead); }
.pp__hint { font-size: var(--step-caption); color: var(--navy-fg-muted); margin-bottom: .75rem; }
.pp__steps { list-style: none; margin: 0; padding: 0; display: grid; gap: .3rem; }
.pp__steps button {
  display: grid; grid-template-columns: 2.6rem minmax(0, 1fr); gap: .75rem; align-items: start; width: 100%;
  padding: .8rem 1rem; border: 1px solid transparent; border-radius: 12px; background: transparent;
  color: var(--ivory); font: inherit; text-align: left; cursor: pointer;
  transition: background-color 400ms, border-color 400ms;
}
.pp__steps button:hover { border-color: rgb(242 239 230 / 26%); }
.pp__steps button:not(.on) .pp__n { color: var(--navy-fg-muted); }
.pp__steps button[aria-current="step"] { background: rgb(242 239 230 / 8%); border-color: rgb(230 178 60 / 34%); }
.pp__n { font-family: var(--font-display); font-size: 1.5rem; line-height: 1.1; color: var(--gold); font-variant-numeric: tabular-nums; transition: color 400ms; }
.pp__t strong { display: block; font-family: var(--font-display); font-weight: 600; font-size: var(--step-subhead); line-height: 1.2; }
.pp__t span { display: block; margin-top: .25rem; font-size: var(--step-caption); line-height: 1.5; color: var(--navy-fg-muted); }
@media (max-width: 860px) {
  .pp__grid { grid-template-columns: 1fr; }
  .pp__steps button { padding: .6rem .75rem; }
}
@media (max-width: 760px) { .pp__now { display: none; } } /* the highlighted list item carries the current step on phones */

/* ---------- Safeguards: is / is not ---------- */
.pt-isnot { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.5rem); margin-top: clamp(1rem, 2vw, 1.5rem); }
.pt-isnot > div { padding: clamp(1.25rem, 2.5vw, 1.75rem); border-radius: var(--radius-card); border: 1px solid rgb(230 178 60 / 26%); background: rgb(242 239 230 / 6%); }
.pt-isnot > div:first-child { background: var(--navy); color: var(--ivory); border-color: rgb(230 178 60 / 40%); }
.pt-isnot h3 { font-size: var(--step-subhead); }
.pt-isnot > div:first-child h3 { color: var(--gold); }
.pt-isnot ul { list-style: none; margin: .9rem 0 0; padding: 0; display: grid; gap: .55rem; font-size: var(--step-caption); }
.pt-isnot li { display: flex; gap: .7rem; align-items: baseline; }
.pt-isnot li::before { content: ""; flex: none; width: .5rem; height: .5rem; border-radius: 2px; background: var(--gold); }
.pt-isnot > div:last-child li::before { width: .6rem; height: 2px; border-radius: 0; background: var(--ivory); transform: translateY(-.2rem); }
.pt-isnot > div:last-child li { color: var(--ivory-dim); }
.pt-isnot > div:first-child li { color: var(--ivory-dim); }
@media (max-width: 860px) { .pt-isnot { grid-template-columns: 1fr; } }

/* ---------- What you get / what we ask ---------- */
.pt-offer .card { padding: clamp(1.5rem, 3vw, 2.5rem); }
.pt-offer .card--navy { border: 1px solid rgb(230 178 60 / 34%); } /* navy card on the dawn sky keeps a visible edge */
.pt-list { list-style: none; padding: 0; margin: 1.5rem 0 0; display: grid; gap: .8rem; }
.pt-list li, .pt-offer .card--gold li { display: flex; gap: .7rem; align-items: baseline; font-size: var(--step-caption); line-height: 1.5; }
.pt-list li { color: var(--ivory-dim); }
.pt-list li::before { content: ""; flex: none; width: .55rem; height: .55rem; border-radius: 2px; background: var(--gold); transform: translateY(-.05rem); }
.pt-list b, .pt-offer .card--gold b { font-weight: 650; color: inherit; }
.pt-list b { color: var(--ivory); }
.pt-offer .card--gold ul { margin: 1.5rem 0 1.75rem; }

/* ---------- Evidence ---------- */
.pt-evp { margin-top: 1.25rem; max-width: 48ch; color: var(--paper-fg-muted); }
.pt-fine { font-size: var(--step-micro); line-height: 1.55; color: var(--navy-fg-muted); }
/* Sunrise (gold) evidence section: muted text sits over darker hills on phones, so it goes navy. */
.tone-gold .pt-evp, .tone-gold .note { color: var(--navy-700); }
.tone-gold .note { border-left-color: var(--navy); }
