
/* Roofing Pros service-area articles. Scoped to loc-* elements. */
.loc-breadcrumb{font-size:14px;color:#51667b;padding-top:22px;padding-bottom:14px}
.loc-breadcrumb a{color:#1c5670;text-decoration:underline}
.loc-hero{background:#09283d;color:#fff;padding:40px 0 46px}
.loc-hero-grid{display:grid;grid-template-columns:minmax(0,1.32fr) minmax(270px,.85fr);gap:36px;align-items:center}
.loc-eyebrow{font-size:12px;letter-spacing:.11em;font-weight:800;color:#ffc37f}
.loc-hero h1{font-size:clamp(2.2rem,4.4vw,3.75rem);line-height:1.08;margin:13px 0 22px}
.loc-hero h1 span{color:#ffb66b;display:block}
.loc-intro{font-size:1.12rem;line-height:1.72;max-width:740px}
.loc-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:23px 0 15px}
.loc-primary-button,.loc-secondary-button{display:inline-block;padding:12px 16px;border-radius:7px;font-weight:800;text-decoration:none}
.loc-primary-button{background:#ff9c3b;color:#09283d}.loc-secondary-button{border:1px solid #cbd5df;color:white}
.loc-small{font-size:.8rem;opacity:.9;line-height:1.55}
.loc-hero figure{margin:0}.loc-hero img{width:100%;height:auto;max-height:430px;object-fit:cover;border-radius:14px}
.loc-hero figcaption{font-size:12px;margin-top:7px;color:#dbe6ef}
.loc-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:40px;padding-top:40px;padding-bottom:65px}
.loc-nav{align-self:start;position:sticky;top:15px;padding:18px;border:1px solid #d9e3eb;border-radius:10px;background:#f4f8fa;display:flex;flex-direction:column;gap:8px;font-size:.9rem}
.loc-nav strong{font-size:1rem;margin-bottom:5px}.loc-nav a{color:#16455e}
.loc-article{min-width:0;max-width:900px}.loc-quick{background:#eef5f9;border-left:4px solid #d97825;padding:17px 20px;line-height:1.65;border-radius:5px}
.loc-section{margin-top:35px;border-top:1px solid #dce5ec;padding-top:22px}
.loc-section h2,.loc-next h2{font-size:clamp(1.35rem,2.4vw,1.95rem);line-height:1.28;margin:0 0 16px;color:#0b3048}
.loc-section h3{font-size:1.16rem;line-height:1.35;margin:0 0 9px;color:#12384d}
.loc-section p,.loc-section li,.loc-next p{font-size:1rem;line-height:1.8;color:#26394b;margin:0 0 14px}
.loc-section ol{padding-left:24px;margin:17px 0}.loc-section a,.loc-next a{color:#146080;text-decoration:underline}
.loc-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0}
.loc-service{background:#f5f8fa;border:1px solid #dce5ed;border-radius:10px;padding:18px}
.loc-service p{margin-bottom:10px;font-size:.94rem}
.loc-faq{border-bottom:1px solid #dce5ec;padding:16px 0}
.loc-faq summary{cursor:pointer;font-weight:800;color:#0b3048;font-size:1rem}
.loc-faq p{padding:12px 5px 0}
.loc-sources{padding:15px;background:#f7f9fa;border:1px solid #e1e8eb;font-size:.9rem!important}
.loc-next{margin-top:36px;background:#f4f8fa;border-radius:12px;padding:25px}
.loc-directory{padding:50px 0 80px}
.loc-directory h1{font-size:clamp(2rem,4vw,3.1rem);line-height:1.15;color:#082f49;margin-bottom:16px}
.loc-directory .loc-dir-intro{max-width:900px;line-height:1.8}
.loc-dir-group{margin-top:36px}
.loc-dir-group h2{margin-bottom:15px;color:#0a3048}
.loc-dir-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.loc-dir-card{display:block;border-radius:10px;padding:20px;border:1px solid #d7e1e7;background:#f8fafb;color:#163b4e;text-decoration:none}
.loc-dir-card strong{display:block;font-size:1.14rem;margin-bottom:6px}
.loc-dir-card small{display:block;font-size:.84rem;color:#52667a}
.loc-dir-card p{margin:10px 0 0;line-height:1.55}
.loc-dir-card:hover,.loc-dir-card:focus{border-color:#da7b30;background:#fff7ef}
@media(max-width:920px){.loc-layout{grid-template-columns:1fr}.loc-nav{position:static;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.loc-nav strong{grid-column:1/-1}.loc-hero-grid{grid-template-columns:1fr}.loc-dir-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.loc-hero{padding:24px 0 30px}.loc-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.loc-dir-cards,.loc-services{grid-template-columns:1fr}.loc-directory{padding-top:32px}.loc-hero-actions>*{width:100%;text-align:center}}
