/* Design & Planning Database: hub and borough pages. Scoped under #bt-root. */
#bt-root.bt-static--dpdb .dp-hero { text-align:center; max-width:1100px; padding-top:clamp(40px,7vw,100px); }
#bt-root .dp-title { font-size:clamp(2.25rem,1.4rem + 3.6vw,4.5rem); font-weight:500; line-height:1.12; color:var(--c-primary); margin:0 0 var(--space-6); }
#bt-root.bt-static--dpdb section + section { margin-top:var(--space-7); }
#bt-root .dp-guide { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:24px; margin-top:var(--space-6); }
#bt-root .dp-guide__item { background:var(--c-surface-alt); border-radius:var(--r-l); padding:28px; }
#bt-root .dp-guide__item h3 { font-size:1.25rem; font-weight:600; margin:0 0 var(--space-3); color:var(--c-primary); }
#bt-root .dp-guide__item p { font-size:var(--fs-body); line-height:1.6; margin:0; color:var(--c-text-80); }
#bt-root .dp-districts { background:var(--c-surface-alt); border-radius:var(--r-s); padding:16px 22px; font-size:var(--fs-body); margin:var(--space-5) 0 0; }
#bt-root .dp-more__title { font-size:2.1875rem; font-weight:500; text-align:center; margin:0 0 var(--space-6); }
#bt-root .dp-index { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:12px; justify-content:center; }
#bt-root .dp-index a { display:inline-flex; align-items:center; gap:10px; min-height:52px; padding:0 24px; border-radius:var(--r-pill); background:var(--c-surface); color:var(--c-black); text-decoration:none; font-size:1.0625rem; }
#bt-root .dp-index a:hover { background:var(--c-primary); color:#fff; }
#bt-root .dp-index span { font-size:var(--fs-xs); background:var(--c-primary); color:#fff; border-radius:var(--r-pill); padding:2px 10px; }
#bt-root .dp-index a:hover span { background:#fff; color:var(--c-primary); }
#bt-root .dp-cta { text-align:center; }
@media (max-width:900px) { #bt-root .dp-guide { grid-template-columns:1fr; gap:14px; } #bt-root .dp-index a { min-height:44px; padding:0 16px; font-size:.9375rem; } }

/* v0.27: local layer + areas we cover */
#bt-root .dp-cases { list-style:none; margin:0 0 var(--space-6); padding:0; display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
#bt-root .dp-cases a { display:block; padding:18px 22px; background:#fff; border-radius:20px; text-decoration:none; color:var(--c-black); }
#bt-root .dp-cases strong { display:block; color:var(--c-primary); font-weight:600; }
#bt-root .dp-cases span { font-size:.9375rem; color:var(--c-text-60); }
#bt-root .dp-services { list-style:none; margin:0 0 var(--space-4); padding:0; display:grid; grid-template-columns:repeat(2,1fr); gap:8px 24px; }
#bt-root .dp-services li { padding:10px 0; border-bottom:1px solid rgba(0,0,0,.08); }
#bt-root .dp-services a { color:var(--c-primary); font-weight:500; text-decoration:none; }
#bt-root .dp-services span { color:var(--c-text-60); font-size:.9375rem; }
#bt-root .dp-areas { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:16px 28px; }
#bt-root .dp-areas a { display:block; font-weight:600; color:var(--c-primary); text-decoration:none; }
#bt-root .dp-areas span { display:block; font-size:.875rem; color:var(--c-text-60); line-height:1.5; }
@media (max-width:900px) { #bt-root .dp-areas { grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px) { #bt-root .dp-cases, #bt-root .dp-services, #bt-root .dp-areas { grid-template-columns:1fr; } }
