.pl-hero{background:var(--stone);padding:60px 0}.pl-hero h1{font-size:clamp(42px,5vw,70px);line-height:1.08}.pl-hero .intro{max-width:800px}.pl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:35px}.pl-card{border:1px solid var(--line);padding:30px;display:flex;flex-direction:column}.pl-card h2{font-size:35px}.pl-card .text-link{margin-top:auto}.pl-small{font-size:12px}.pl-tag{display:inline-block;font-size:11px;background:#e8eee7;color:#20533f;padding:6px 10px;width:fit-content}.pl-search label{display:block;margin-bottom:10px}.pl-search>div{display:flex;gap:16px;align-items:center}.pl-search input{font:inherit;padding:13px;border:1px solid #9da89d;min-width:0;flex:1}.pl-meta{display:flex;gap:20px;flex-wrap:wrap;font-size:12px;padding-top:20px}.pl-boundary{border-top:1px solid var(--line);padding-top:20px;margin-top:20px;font-size:14px}.pl-tabs{display:flex;gap:20px;flex-wrap:wrap;padding-top:25px;padding-bottom:25px;border-bottom:1px solid var(--line);font-size:13px}.pl-profile{display:grid;grid-template-columns:250px 1fr;gap:70px;padding-top:55px;padding-bottom:50px}.pl-profile aside{font-size:14px}.pl-profile aside h2{font-size:30px}.pl-section{border-bottom:1px solid var(--line);padding-bottom:38px;margin-bottom:38px;scroll-margin-top:120px}.pl-copy{white-space:pre-line}.pl-section h2{font-size:36px}.pl-indicators{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:25px 0 45px}.pl-indicators article{padding:22px;background:var(--stone)}.pl-indicators h3{font-size:22px;margin-top:15px}.pl-value{font-size:23px;color:var(--forest)}.pl-sources{padding-left:22px}.pl-sources li{padding:20px 0;border-top:1px solid var(--line);scroll-margin-top:120px}.pl-sources h3{font-size:23px}.pl-sources a{overflow-wrap:anywhere}.pl-preview{background:#ffefb7;padding:18px;text-align:center}.pl-preview a{margin-left:20px;text-decoration:underline}@media(max-width:900px){.pl-grid{grid-template-columns:1fr}.pl-profile{grid-template-columns:1fr;gap:30px}.pl-profile aside{border-bottom:1px solid var(--line);padding-bottom:24px}}@media(max-width:600px){.pl-hero{padding:38px 0}.pl-indicators{grid-template-columns:1fr}.pl-search>div{flex-wrap:wrap}.pl-search input{flex-basis:100%}.pl-card{padding:24px}.pl-section h2{font-size:30px}}
.pl-research-table{overflow-x:auto;margin:28px 0}.pl-research-table table{width:100%;min-width:760px;border-collapse:collapse;font-size:13px}.pl-research-table th,.pl-research-table td{padding:15px 12px;text-align:left;border-bottom:1px solid var(--line)}.pl-research-table thead{background:var(--stone)}.pl-research-details{border:1px solid var(--line);padding:22px;margin:28px 0}.pl-research-details summary{cursor:pointer;font-weight:600;color:var(--forest)}.pl-research-details dl>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:10px 0}.pl-research-details dd{margin:0;white-space:nowrap}.pl-finding{padding:20px 0;border-bottom:1px solid var(--line);scroll-margin-top:110px}.pl-finding h4{font-size:18px}.pl-research-details li{margin:12px 0}
.report-tags{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 30px}.report-drivers{display:grid;grid-template-columns:1fr 1fr;gap:12px 30px;margin:22px 0 30px;padding-left:22px}@media(max-width:600px){.report-drivers{grid-template-columns:1fr}}

/* Place photography: source credits remain alongside each full report image. */
.pl-town-photo{margin-top:2rem;margin-bottom:2rem}.pl-town-photo img{display:block;width:100%;height:clamp(220px,35vw,460px);object-fit:cover;border-radius:3px}.pl-town-photo figcaption{padding:12px 0;font-size:.85rem;line-height:1.6;color:#375448}.pl-town-photo figcaption span{display:block;color:#5b6b63;font-size:.76rem}.pl-town-card{margin:0 0 1.4rem}.pl-town-card img{display:block;width:100%;height:190px;object-fit:cover;border-radius:2px}.pl-town-card a{display:block}.pl-dates{display:flex;flex-wrap:wrap;gap:12px;margin:1rem 0}.pl-dates span{font-size:.85rem;padding:8px 12px;border:1px solid #b8c5b8;background:#f4f6ef;color:#173e2d}
@media(max-width:600px){.pl-town-photo img{height:240px}.pl-town-card img{height:180px}}
