/* planning-permission.html (T015, 2026-11-02): uses the about page header/heads (.ph2, .za2__head, .dr) plus these blocks. */
.pp { padding: var(--sp-section) 0; }
.pp + .pp { padding-top: 0; }
.pp--alt, .pp--dark { padding-top: var(--sp-section) !important; }
.pp--alt { background: var(--concrete-3); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.pp--dark { background: var(--ink); color: var(--concrete); }
.pp--dark .label, .pp--dark .label span { color: #9fb4ff; }
.pp--dark h2, .pp--dark h3 { color: #fff; }
.pp--dark .za2__head p:not(.label), .pp--dark p, .pp--dark li { color: rgba(233, 231, 225, .86); }
.pp--dark a { color: #fff; }
.pp + .pp--alt, .pp--alt + .pp, .pp--dark + .pp { margin-top: 0; }
.pp--alt + .pp, .pp--dark + .pp { padding-top: var(--sp-section); }
.pp__in { max-width: var(--max); margin: 0 auto; padding: 0 var(--gutter); }
.pp__cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(18px, 3vw, 40px); }
.pp__card { padding: clamp(22px, 3vw, 36px); background: #fff; box-shadow: var(--frame); border-top: 4px solid var(--cobalt); }
.pp__card--chk { border-top-color: #c98a1e; }
.pp__k { margin: 0 0 8px; font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.pp h3 { margin: 0 0 12px; font-size: var(--t-h3); letter-spacing: -.02em; line-height: 1.2; }
.pp__card ul, .pp__prose ul { margin: 0; padding-left: 1.1em; }
.pp__card li, .pp__prose li { margin: 0 0 8px; font-size: 16px; line-height: 1.55; color: var(--ink-2); }
.pp__prose { max-width: 46em; }
.pp__prose h3 + p { margin-top: 0; }
.pp__prose p { margin: 0 0 22px; font-size: var(--t-body); line-height: 1.6; color: var(--ink-2); }
.pp__prose h3:not(:first-child) { margin-top: 30px; }
.pp__list { margin: 0; padding: 0; list-style: none; border-top: 2px solid var(--ink); }
.pp__list li { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 14px; padding: 24px 0; border-bottom: 1px solid var(--line); }
.pp__list .mono { font-size: 13px; font-weight: 700; color: var(--cobalt); padding-top: 4px; }
.pp__list p { margin: 0; max-width: 46em; font-size: var(--t-body); line-height: 1.6; color: var(--ink-2); }
.pp__src { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; }
.pp__src li { padding: 20px 22px; background: #fff; box-shadow: var(--frame); }
.pp__src a { display: block; margin-bottom: 6px; font-weight: 600; color: var(--cobalt-2); text-underline-offset: 3px; }
.pp__src span { display: block; font-size: 15px; line-height: 1.5; color: var(--muted); }
.pp__note { margin: 26px 0 0; max-width: 46em; font-size: 15px; line-height: 1.55; color: var(--muted); }
.pp__fig { width: 100%; max-width: 340px; justify-self: end; }
.pp__plan { display: block; width: 100%; height: auto; }
.pp__fig figcaption { margin-top: 6px; font-size: 11px; color: var(--muted); }
@media (max-width: 860px) { .pp__cols, .pp__src { grid-template-columns: 1fr; } .pp__fig { max-width: 240px; justify-self: start; } }
