.public-body{--pp-width:1120px}
.pp-page,.pp-home{max-width:var(--pp-width);margin:0 auto;padding:52px 28px 88px;color:var(--ink)}
.pp-page{min-width:0;overflow-wrap:anywhere}
.pp-heading{max-width:760px;margin:0 auto 42px}
.pp-breadcrumb{font-size:.85rem;color:var(--muted);margin:0 0 28px}
.pp-breadcrumb a{color:var(--link)}
.pp-eyebrow{font-size:.75rem;letter-spacing:.14em;color:var(--link);font-weight:700;text-transform:uppercase}
.pp-heading h1,.pp-hero h1{font-size:clamp(2.3rem,5vw,4.2rem);line-height:1.08;letter-spacing:-.04em;margin:12px 0 16px;color:var(--ink)}
.pp-heading>p:last-child,.pp-hero p{font-size:1.15rem;line-height:1.7;color:var(--muted);max-width:68ch}
.pp-article-wrap{display:grid;grid-template-columns:220px minmax(0,760px);gap:48px;justify-content:center;align-items:start}
.pp-article-wrap.pp-no-toc{display:block;max-width:760px;margin:0 auto}
.pp-article{font-size:1.04rem;line-height:1.78;max-width:76ch;min-width:0;overflow-wrap:anywhere}
.pp-article.pp-full-width{max-width:760px;margin:0 auto}
.pp-article section{padding:0 0 26px;margin:0 0 24px;border-bottom:1px solid var(--line);scroll-margin-top:24px}
.pp-article section:last-of-type{border-bottom:none}
.pp-article h2,.pp-card h2,.pp-form h2,.pp-form h3{font-size:1.35rem;line-height:1.3;margin:0 0 10px;color:var(--ink)}
.pp-article h3{font-size:1.1rem;margin:20px 0 8px}
.pp-article p,.pp-article li{margin:0 0 12px;color:var(--ink)}
.pp-article p:last-child{margin-bottom:0}
.pp-choices{margin:16px 0;padding-left:24px}
.pp-choices li{margin-bottom:16px;line-height:1.7}
.pp-toc{position:sticky;top:20px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.pp-toc summary{font-weight:700;cursor:pointer;color:var(--ink)}
.pp-toc nav{display:grid;gap:10px;margin-top:14px}
.pp-toc a{font-size:.88rem;color:var(--link);text-decoration:none}
.pp-toc a:hover{text-decoration:underline}
.pp-two-col{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:940px;margin:auto}
.pp-card,.pp-form{padding:24px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.pp-card p,.pp-card li{line-height:1.65;color:var(--ink)}
.pp-card h3{margin:24px 0 8px;font-size:1.1rem}
.pp-card ul{padding-left:20px}
.pp-faq{margin:16px 0;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}
.pp-faq summary{cursor:pointer;font-weight:600;color:var(--ink)}
.pp-faq p{margin-top:10px;font-size:.95rem;line-height:1.6}
.pp-form{display:grid;gap:18px;align-content:start}
.pp-form label{display:grid;gap:8px;font-weight:600;color:var(--ink)}
.pp-form .field{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink)}
.pp-form textarea{min-height:140px;resize:vertical;font-family:inherit}
.pp-form button{justify-self:start;min-height:44px;padding:0 24px}
.pp-help-text{font-size:.9rem;color:var(--muted);margin:-6px 0 0}
.pp-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.pp-notice{padding:12px;border-radius:8px;background:var(--soft);color:var(--ink)}
.pp-callout{margin:24px 0;padding:18px;border-left:4px solid var(--forest);background:var(--soft);line-height:1.65;color:var(--ink)}
.pp-delete-request{max-width:620px;margin-top:20px}
.pp-deletion-actions{margin-top:24px}
.pp-links{display:flex;flex-wrap:wrap;gap:12px 24px;padding-top:12px;margin-top:20px;border-top:1px solid var(--line)}
.pp-links a{color:var(--link);font-size:.92rem}
.pp-links-text{margin-top:24px;font-size:.92rem;color:var(--muted)}
.pp-links-text a{color:var(--link)}
.pp-home{padding-top:70px}
.pp-hero{min-height:420px;display:grid;grid-template-columns:1fr .8fr;align-items:center;gap:28px}
.pp-landscape{height:300px;border-radius:50% 10% 45% 15%;background:radial-gradient(circle at 75% 20%,var(--lime) 0 8%,transparent 8.5%),linear-gradient(145deg,#ad9146 0 35%,var(--forest) 35% 100%);display:grid;place-items:center;color:var(--lime);font-size:5rem}
.pp-home-points{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:42px}
.pp-home-points article{border-top:1px solid var(--line);padding:16px 4px}
.pp-home-points h2{font-size:1.2rem;margin:0 0 8px;color:var(--ink)}
.pp-home-points p{color:var(--muted);line-height:1.65;margin:0}
.public-footer{display:grid;grid-template-columns:1fr 2fr;gap:40px;padding:44px max(28px,calc((100vw - 1120px)/2));border-top:1px solid var(--line);background:var(--surface)}
.pp-footer-brand{display:grid;gap:12px;align-content:start}
.public-footer > .pp-footer-brand{display:grid;margin:0;gap:12px}
.pp-footer-brand .brand{font-weight:700;font-size:1.1rem;color:var(--ink);text-decoration:none}
.pp-footer-brand p{max-width:300px;color:var(--muted);line-height:1.6;margin:0}
.pp-footer-brand small{color:var(--muted);font-size:.85rem}
.pp-footer-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pp-footer-nav section{display:grid;align-content:start;gap:10px}
.pp-footer-nav h2{font-size:.9rem;margin:0 0 4px;font-weight:700;color:var(--ink)}
.pp-footer-nav a{color:var(--link);text-decoration:none;font-size:.9rem}
.pp-footer-nav a:hover{text-decoration:underline}
@media(max-width:760px){
.pp-page,.pp-home{padding:30px 20px 56px}
.pp-article-wrap{display:block}
.pp-toc{position:static;margin-bottom:24px}
.pp-toc:not([open]){padding:12px}
.pp-two-col,.pp-hero{grid-template-columns:1fr}
.pp-landscape{height:200px;font-size:3rem}
.pp-home-points{grid-template-columns:1fr;gap:4px}
.public-footer{grid-template-columns:1fr;gap:32px;padding:32px 20px}
.pp-footer-nav{grid-template-columns:repeat(2,1fr);gap:24px 16px}
}
@media(max-width:600px){
  .public-top nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:8px;align-items:stretch}
  .public-top nav>*{min-width:0;min-height:40px;display:flex;align-items:center;justify-content:center;text-align:center;overflow-wrap:anywhere}
  .public-top nav .language-control{grid-column:auto}
  .public-top nav .language-control select{width:100%;min-width:0;min-height:40px;box-sizing:border-box}
  .public-top nav>a[href="/projects"]{grid-column:span 2}
}
