/* Public pages added in the visitor round: company announcements (/rns/), single announcements, market news
   (/news/) and Learn (/learn/). Built on the Atelier tokens so both themes match the rest of the public site. */
.public-page .pp-main{max-width:1180px;margin:0 auto}
.pp-section{display:grid;gap:22px;min-width:0}
.pp-section>*{min-width:0}
.pp-crumbs{display:flex;flex-wrap:wrap;gap:8px;font:11px/1.4 'IBM Plex Mono',monospace;letter-spacing:.06em;color:var(--atelier-quiet)}
.pp-crumbs a{color:var(--atelier-muted)}.pp-crumbs a:hover{color:var(--atelier-accent)}
.pp-days{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}
.pp-days a{flex:0 0 auto;padding:7px 12px;border:1px solid var(--atelier-line);border-radius:999px;font-size:12px;color:var(--atelier-muted);white-space:nowrap}
.pp-days a[aria-current=page]{border-color:var(--atelier-accent);color:var(--atelier-accent)}
.pp-call{display:grid;gap:10px;padding:22px;border:1px solid var(--atelier-edge);border-radius:18px;background:var(--atelier-wash)}
.pp-call .public-eyebrow{margin:0}.pp-call h2{margin:0;font-size:clamp(20px,3vw,26px);line-height:1.25;text-wrap:balance}
.pp-call p{margin:0;color:var(--atelier-muted);line-height:1.6;max-width:70ch}
.pp-call a,.pp-actions a,.pp-related a,.pp-learn a{color:var(--atelier-accent)}
.pp-rns-list,.pp-news-list{list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:1px solid var(--atelier-line)}
.pp-rns{display:grid;gap:8px;padding:18px 0;border-bottom:1px solid var(--atelier-line)}
.pp-rns-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 12px;font-size:12px;color:var(--atelier-muted)}
.pp-rns-meta strong{color:var(--atelier-text);font-family:'IBM Plex Mono',monospace;margin-right:4px}
.pp-rns-meta time{font:11px 'IBM Plex Mono',monospace;color:var(--atelier-quiet)}
.pp-rns h3{margin:0;font-size:17px;line-height:1.35;font-weight:600;overflow-wrap:anywhere}
.pp-rns h3 a:hover{color:var(--atelier-accent)}
.pp-rns p{margin:0;color:var(--atelier-muted);font-size:14px;line-height:1.6;max-width:75ch}
.pp-rns-tags{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;color:var(--atelier-muted)}
.pp-rns-tags>span:not(.public-classification){padding:5px 8px;border:1px solid var(--atelier-line);border-radius:6px}
.pp-rns-tags .pp-score{font-family:'IBM Plex Mono',monospace;color:var(--atelier-text)}
.pp-rns-tags a{color:var(--atelier-accent);margin-left:auto}
.pp-empty{padding:24px 0;color:var(--atelier-muted)}
.pp-join{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;padding:26px;border:1px solid var(--atelier-line);border-radius:20px;background:var(--atelier-surface)}
.pp-join h2{margin:0 0 6px;font-size:22px}.pp-join p{margin:0;color:var(--atelier-muted);max-width:60ch;line-height:1.6}
.pp-join>a,.pp-members a,.pp-next a.primary{display:inline-flex;align-items:center;min-height:44px;padding:0 20px;border-radius:999px;background:var(--atelier-accent);color:var(--atelier-accent-ink);font-weight:700;white-space:nowrap}
.pp-article{max-width:820px}
.pp-article h1{margin:0;font-size:clamp(28px,4.4vw,44px);line-height:1.12;overflow-wrap:anywhere;text-wrap:balance}
.pp-article h1 em{display:block;margin-top:8px;font-size:.62em;line-height:1.3;font-style:normal;color:var(--atelier-muted)}
.pp-article .public-eyebrow{margin:0}
.pp-take{display:grid;gap:12px;padding:22px;border:1px solid var(--atelier-line);border-radius:18px;background:var(--atelier-surface)}
.pp-take h2{margin:0;font-size:18px}.pp-take>p{margin:0;line-height:1.7}
.pp-members{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;padding:14px 16px;border:1px dashed var(--atelier-edge);border-radius:14px;background:var(--atelier-wash)}
.pp-members p{margin:0;flex:1 1 260px;color:var(--atelier-muted);font-size:14px;line-height:1.55}
.pp-members strong{color:var(--atelier-text)}
.pp-actions{display:flex;flex-wrap:wrap;gap:10px}
.pp-actions a{display:inline-flex;align-items:center;min-height:42px;padding:0 16px;border:1px solid var(--atelier-line);border-radius:999px;font-size:14px}
.pp-related h2{margin:0 0 10px;font-size:18px}
.pp-related ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--atelier-line)}
.pp-related li{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--atelier-line);font-size:14px}
.pp-related time{flex:0 0 auto;font:11px 'IBM Plex Mono',monospace;color:var(--atelier-quiet)}
.pp-learn{margin:0;color:var(--atelier-muted);font-size:14px}
.pp-news-list li{display:grid;gap:4px;padding:14px 0;border-bottom:1px solid var(--atelier-line)}
.pp-news-list a{font-size:16px;font-weight:600;line-height:1.4;overflow-wrap:anywhere}
.pp-news-list a:hover{color:var(--atelier-accent)}
.pp-news-list p{margin:0;font:11px 'IBM Plex Mono',monospace;color:var(--atelier-quiet)}
/* Learn */
.pp-tracks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.pp-track{display:grid;gap:10px;align-content:start;padding:22px;border:1px solid var(--atelier-line);border-radius:18px;background:var(--atelier-surface)}
.pp-track h2{margin:0;font-size:20px}.pp-track>p{margin:0;color:var(--atelier-muted);font-size:14px;line-height:1.6}
.pp-track ol{margin:4px 0 0;padding:0;list-style:none;display:grid;gap:2px}
.pp-track li a{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-top:1px solid var(--atelier-line);font-size:14px}
.pp-track li a:hover{color:var(--atelier-accent)}
.pp-track li small{flex:0 0 auto;font:11px 'IBM Plex Mono',monospace;color:var(--atelier-quiet)}
.pp-track li.done a::after{content:"✓";color:var(--atelier-accent)}
.pp-lesson{max-width:760px;display:grid;gap:20px}
.pp-lesson h1{margin:0;font-size:clamp(28px,4.4vw,42px);line-height:1.15;text-wrap:balance}
.pp-lesson .pp-body{display:grid;gap:16px;font-size:17px;line-height:1.75}
.pp-lesson .pp-body p{margin:0;max-width:68ch}
.pp-lesson .pp-body h2{margin:10px 0 0;font-size:21px}
.pp-lesson .pp-body ul{margin:0;padding-left:22px;display:grid;gap:6px}
.pp-key{padding:18px 20px;border-left:3px solid var(--atelier-accent);background:var(--atelier-wash);border-radius:0 14px 14px 0}
.pp-key strong{display:block;margin-bottom:4px;font:11px 'IBM Plex Mono',monospace;letter-spacing:.12em;color:var(--atelier-accent)}
.pp-try{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;padding:18px 20px;border:1px solid var(--atelier-edge);border-radius:16px}
.pp-try p{margin:0;flex:1 1 240px;color:var(--atelier-muted);line-height:1.55}
.pp-try a{display:inline-flex;align-items:center;min-height:42px;padding:0 18px;border-radius:999px;border:1px solid var(--atelier-accent);color:var(--atelier-accent);font-weight:700;white-space:nowrap}
.pp-quiz{display:grid;gap:14px;padding:22px;border:1px solid var(--atelier-line);border-radius:18px;background:var(--atelier-surface)}
.pp-quiz h2{margin:0;font-size:18px}
.pp-quiz fieldset{margin:0;padding:0;border:0;display:grid;gap:8px}
.pp-quiz legend{margin-bottom:6px;font-weight:600}
.pp-quiz label{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--atelier-line);border-radius:12px;cursor:pointer;line-height:1.45}
.pp-quiz label.right{border-color:#64ad82;background:#64ad8214}.pp-quiz label.wrong{border-color:#ca7773;background:#ca777314}
.pp-quiz output{min-height:1.4em;color:var(--atelier-muted);font-size:14px}
.pp-next{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}
.pp-next a{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:1px solid var(--atelier-line);border-radius:999px}
.pp-glossary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.pp-entry{display:grid;gap:8px;align-content:start;padding:18px 20px;border:1px solid var(--atelier-line);border-radius:16px;background:var(--atelier-surface);scroll-margin-top:20px}
.pp-entry h2{margin:0;font-size:17px}.pp-entry p{margin:0;color:var(--atelier-muted);font-size:14px;line-height:1.6}
.pp-entry .pp-path{font:12px/1.5 'IBM Plex Mono',monospace;color:var(--atelier-text)}
.pp-entry a{justify-self:start;color:var(--atelier-accent);font-weight:600;font-size:14px}
.pp-letters{display:flex;flex-wrap:wrap;gap:6px}
.pp-letters a{display:inline-grid;place-items:center;min-width:34px;height:34px;border:1px solid var(--atelier-line);border-radius:8px;font:12px 'IBM Plex Mono',monospace}
@media(max-width:680px){
  .public-nav nav>a.public-keep{display:inline-flex;align-items:center;min-height:44px;font-size:11px;white-space:nowrap}
  .pp-tracks,.pp-glossary{grid-template-columns:minmax(0,1fr)}
  .pp-join{padding:20px}.pp-take,.pp-call{padding:18px}
  .pp-related li{flex-direction:column;gap:2px}
}
.pp-next a,.pp-next a.primary{white-space:normal;max-width:100%;padding-block:10px;line-height:1.35}
