.editorial-cards,.location-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:42px}
.editorial-card{padding:34px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper);display:flex;flex-direction:column;align-items:flex-start}
.editorial-card h3{font-size:clamp(1.5rem,2.5vw,2rem);line-height:1.18}
.editorial-card h3 a{text-decoration:none}
.editorial-card h3 a:hover{text-decoration:underline;text-underline-offset:5px}
.editorial-card>p:not(.eyebrow){margin-top:20px;color:var(--ink-soft);font-size:.94rem}
.editorial-card>.text-link{margin-top:auto;padding-top:25px}
.editorial-card .eyebrow{font-size:.7rem}
.articles-all{margin-top:32px}
.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:70px;align-items:start}
.article-body>section+section{margin-top:50px}
.article-body section p+p{margin-top:20px}
.article-body section h2{margin:0 0 24px;font-size:clamp(1.9rem,3vw,2.7rem);line-height:1.18}
.article-body>section{scroll-margin-top:110px}
.article-body .article-meta{font-size:.8rem;border-bottom:1px solid var(--line);padding-bottom:20px}
.article-toc{margin:28px 0 46px;padding:26px;background:var(--cream);border-radius:16px}
.article-toc strong{font-size:.85rem}
.article-toc ol{margin:14px 0 0;padding-left:20px}
.article-toc li{font-size:.9rem;margin-top:8px}
.article-toc a{text-underline-offset:4px}
.article-body .faq-list{margin-top:24px}
.article-body .faq-item__answer{padding-right:10px}
.article-sources{border-top:1px solid var(--line);padding-top:30px}
.article-body .article-sources h2{font-size:1.7rem}
.article-sources p,.article-sources li{font-size:.82rem}
.article-body .note{margin-top:34px;font-size:.86rem}
.regional-copy{margin-top:65px;width:100%}
.town-list{grid-template-columns:repeat(2,minmax(0,1fr));font-size:.96rem}
.contact-email{overflow-wrap:anywhere}
.address-card>p{margin-top:15px}
.hero--inner .lead{max-width:850px;color:#e0e8e2}
@media(max-width:1000px){.article-layout{gap:36px;grid-template-columns:minmax(0,1fr) 270px}}
@media(max-width:900px){.article-layout{grid-template-columns:1fr}.article-layout .sidebar-card{position:static}.hero--inner{padding:62px 0}}
@media(max-width:640px){.editorial-cards,.location-cards,.town-list{grid-template-columns:1fr}.editorial-card{padding:25px}.article-body section h2{font-size:2rem}.article-toc{padding:22px}.hero--inner h1{font-size:2.65rem}}
