/* Project STO uses the shared home palette and the Services page primitives. */
.project-sto-page .sv-crumb{flex-wrap:wrap;row-gap:4px}
.ps-hero{gap:clamp(32px,5vw,72px)}
.ps-hero .sv-hero-note{font-size:12px;letter-spacing:.06em}
.ps-map{position:relative;background:var(--wash);border:1px solid var(--line);padding:28px 30px}
.ps-map-heading{display:flex;justify-content:space-between;gap:12px;align-items:center}
.ps-map-heading .sv-eyebrow{font-size:10px;letter-spacing:.1em}
.ps-map h2{font-size:24px;font-weight:500;line-height:1.5;letter-spacing:-.02em;margin:14px 0 24px}
.ps-map-nodes{list-style:none;margin:0;padding:0}
.ps-map-nodes li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:18px;align-items:center;position:relative;padding:17px 0}
.ps-map-nodes li:not(:last-child):after{content:"";position:absolute;left:17px;top:54px;bottom:-17px;border-left:1px solid var(--line)}
.ps-map-number{width:36px;height:36px;border:1px solid var(--accent);background:var(--wash);display:grid;place-items:center;border-radius:50%;font:12px ui-monospace,monospace;color:var(--accent);z-index:1}
.ps-map-nodes strong{font-size:22px;font-weight:500;line-height:1.5}
.ps-map-nodes p{font-size:13px;color:var(--muted);line-height:1.7;margin-top:4px}
.ps-map-note{font-size:13px;line-height:1.9;color:var(--muted);margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}
.ps-fit-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:64px;align-items:start}
.ps-fit-grid h3{font-size:23px;line-height:1.6;font-weight:500}
.ps-fit-list{margin:20px 0 0;padding:0;list-style:none}
.ps-fit-list li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:16px;padding:20px 0;border-top:1px solid var(--line)}
.ps-fit-list li>span{color:var(--accent)}
.ps-fit-list strong{font-size:17px;font-weight:500}
.ps-fit-list p,.ps-fit-pause>p:not(.sv-eyebrow){font-size:15px;color:var(--muted);line-height:1.95;margin-top:8px}
.ps-fit-pause{padding:30px;background:var(--wash)}
.ps-fit-pause h3{margin:14px 0}.ps-fit-pause .sv-link{margin-top:20px}
.ps-route{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:40px}
.ps-route li{border-top:1px solid var(--line);padding:24px 0 32px;display:flex;flex-direction:column;min-width:0}
.ps-route-top{display:flex;justify-content:space-between;align-items:center;color:var(--accent)}
.ps-route h3{font-size:23px;line-height:1.6;font-weight:500;margin:14px 0 12px}
.ps-route p{font-size:16px;line-height:1.9;color:var(--muted);padding-bottom:20px}
.ps-route-check{font-size:13px;line-height:1.8;color:var(--accent);margin-top:auto}
.ps-relationship{padding:24px 28px;background:var(--wash);display:grid;grid-template-columns:190px minmax(0,1fr);gap:32px}
.ps-relationship strong{font-weight:500;font-size:17px;line-height:1.9}
.ps-relationship p{font-size:15px;line-height:1.95;color:var(--muted)}
.ps-phase{border-top:1px solid var(--line)}.ps-phase:last-child{border-bottom:1px solid var(--line)}
.ps-phase summary{display:grid;grid-template-columns:28px minmax(0,1.25fr) minmax(0,1fr) 24px;gap:24px;align-items:center;padding:26px 0;list-style:none;cursor:pointer}
.ps-phase summary::-webkit-details-marker,.ps-faq summary::-webkit-details-marker{display:none}
.ps-phase-title strong{display:block;font-size:23px;font-weight:500;line-height:1.6}
.ps-phase-title>span{display:block;font-size:15px;color:var(--muted);line-height:1.8;margin-top:6px}
.ps-phase-output{font-size:15px;line-height:1.9;color:var(--accent)}
.ps-phase-output small{display:block;font-size:11px;letter-spacing:.06em;color:var(--muted);margin-bottom:6px}
.ps-phase-body{display:grid;grid-template-columns:1.25fr 1fr;gap:40px;padding:0 48px 28px 52px}
.ps-phase-body h4{font-size:13px;line-height:1.8;color:var(--muted);font-weight:400;margin:0 0 10px}
.ps-phase-body p{font-size:16px;line-height:1.95}
.ps-phase[open] .ps-phase-title strong{color:var(--accent)}
.ps-phase[open] .sv-plus,.ps-faq[open] .sv-plus{transform:rotate(45deg)}
.ps-footnote{font-size:14px;line-height:1.9;color:var(--muted);margin-top:24px;max-width:78em}
.project-sto-page .sv-contact>div>.ps-footnote{font-size:13px!important}
.ps-faq-section{display:grid;grid-template-columns:1fr 1.6fr;gap:72px}
.ps-faq{border-top:1px solid var(--line)}.ps-faq:last-child{border-bottom:1px solid var(--line)}
.ps-faq summary{display:flex;gap:24px;justify-content:space-between;align-items:center;min-height:76px;padding:20px 0;list-style:none;font-size:18px;line-height:1.8;cursor:pointer}
.ps-faq .sv-plus{flex:0 0 24px;text-align:center}
.ps-faq>p{font-size:16px;line-height:1.95;color:var(--muted);padding:0 42px 24px 0}
.ps-other{padding:36px 0 64px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.4fr;gap:72px}
.ps-other h2{font-size:26px;font-weight:500;line-height:1.6;margin:12px 0}
.ps-other>div>a{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:20px 0;border-bottom:1px solid var(--line)}
.ps-other>div>a>span:last-child{color:var(--accent)}
.ps-other strong{font-size:18px;font-weight:500}.ps-other small{display:block;font-size:13px;color:var(--muted);line-height:1.8;margin-top:6px}
.ps-other a:hover strong{color:var(--accent)}
@media(max-width:1050px){.ps-map{padding:24px}.ps-map h2{font-size:22px}.ps-map-nodes strong{font-size:20px}.ps-map-heading{flex-wrap:wrap}.ps-fit-grid{gap:32px}.ps-route{column-gap:28px}.ps-phase summary{gap:20px}.ps-faq-section,.ps-other{gap:40px}}
@media(max-width:760px){.ps-map{padding:24px}.ps-map h2{font-size:23px;margin-bottom:16px}.ps-map-nodes strong{font-size:21px}.ps-fit-grid{grid-template-columns:1fr;gap:24px}.ps-fit-pause{padding:24px}.ps-route{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}.ps-route h3{font-size:21px}.ps-relationship{grid-template-columns:1fr;gap:10px;padding:24px}.ps-phase summary{grid-template-columns:24px minmax(0,1fr) 24px;gap:12px 16px;padding:22px 0}.ps-phase-title strong{font-size:22px}.ps-phase summary>.sv-serial{align-self:start;margin-top:7px}.ps-phase summary>.sv-plus{grid-column:3;grid-row:1;align-self:start}.ps-phase-output{grid-column:2;grid-row:2;font-size:14px}.ps-phase-body{grid-template-columns:1fr;gap:20px;padding:0 24px 24px 40px}.ps-phase-body p{font-size:15px}.ps-faq-section,.ps-other{grid-template-columns:1fr;gap:24px}.ps-faq-section .ps-footnote{margin-top:14px}.ps-faq summary{font-size:17px}.ps-faq>p{padding-right:24px}.ps-other{padding:32px 0 44px}.ps-other h2{font-size:24px}.ps-other>div:first-child .sv-link{display:inline-flex;border:0;padding:8px 0}.project-sto-page .sv-primary{gap:20px;max-width:100%}.ps-hero .sv-hero-note{font-size:11px;line-height:1.9}}
@media(max-width:540px){.ps-route{grid-template-columns:1fr}.ps-route li{padding:22px 0}.ps-route h3{margin-top:10px}.ps-route p{padding-bottom:12px}.ps-route-top>span:last-child{font-size:18px}}
@media(max-width:360px){.ps-map{padding:20px}.ps-map h2{font-size:21px}.ps-map-nodes li{gap:14px}.ps-map-nodes strong{font-size:20px}.ps-fit-pause{padding:20px}.ps-phase-body{padding-left:0;padding-right:0}}
