/* Additive styles for service-area navigation and article pages. */
.article-body { padding-top:28px; padding-bottom:70px; }
.article-body h1 { font-size:clamp(30px,4vw,48px); line-height:1.45; }
.article-body .lead { margin:22px 0; }
.article-meta, figcaption { font-size:14px; line-height:1.7; color:#606570; }
.article-body figure { margin:30px 0 42px; }
.article-body figure img { width:100%; height:auto; max-height:480px; object-fit:cover; border-radius:16px; }
.article-body figcaption { margin-top:10px; }
.article-body ul { padding-left:24px; }
.article-body aside a { text-decoration:underline; text-underline-offset:4px; }
.article-body aside h2 { margin-top:26px; }
.article-category { margin-top:48px; scroll-margin-top:110px; }
.article-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:24px; }
.article-card { border:1px solid #e0e2e6; border-radius:16px; overflow:hidden; }
.article-card>img { width:100%; height:210px; object-fit:cover; }
.article-card>div { padding:24px; }
.article-card h3 { font-size:22px; line-height:1.5; margin:12px 0; }
.article-card p { line-height:1.85; }
.article-card a:hover { color:#a64600; text-decoration:underline; }
.article-cta { border-top:1px solid #ddd; padding-top:30px; }
.article-cta .button { margin-top:20px; white-space:normal; }
.seo-content dd { margin:0 0 16px; overflow-wrap:anywhere; }
.seo-content dt { font-weight:700; }
.seo-content p,.article-card { overflow-wrap:break-word; }
@media(max-width:1100px) { #navigation { gap:14px; } #navigation>a { font-size:14px; } }
@media(max-width:900px) { .article-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .article-grid { grid-template-columns:1fr; } .article-card>img { height:auto; aspect-ratio:16/10; } }
.breadcrumb { display:flex; flex-wrap:wrap; gap:10px; padding:22px 0; font-size:14px; }
.breadcrumb a { text-decoration:underline; text-underline-offset:4px; }
.seo-hero { padding:35px 0 55px; }
.seo-hero h1 { font-size:clamp(31px,3.5vw,48px); overflow-wrap:anywhere; }
.seo-hero .feature-photo { height:400px; }
.seo-content { max-width:960px; }
.seo-block + .seo-block { margin-top:44px; }
.seo-block h2 { font-size:clamp(25px,2.5vw,33px); margin-bottom:18px; }
.seo-block > p { font-size:17px; line-height:1.95; }
.seo-links { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:20px; }
.seo-links a { min-height:44px; display:inline-flex; align-items:center; color:#a64600; text-decoration:underline; text-underline-offset:5px; }
.seo-footer-links { display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px 35px; padding:0 0 25px; }
.seo-footer-links nav { display:flex; flex-wrap:wrap; gap:8px 20px; }
.seo-footer-links a { display:inline-flex; align-items:center; min-height:44px; font-size:13px; color:#d4d6dc; }
@media(max-width:700px) { .seo-hero .feature-photo { height:300px; } .seo-block > p { font-size:16px; } .seo-links { gap:8px 18px; } }
/* Brand heritage belongs directly beneath the primary footer logo. */
.footer-brand{display:flex;flex-direction:column;align-items:flex-start;gap:16px;min-width:0}.footer-heritage{display:inline-flex;align-items:center;min-height:44px;font-size:13px;line-height:1.7;color:#bfc3ca;text-decoration:underline;text-underline-offset:4px}.footer-heritage:hover{color:#fff}.footer-heritage:focus-visible{outline:2px solid #ff6b00;outline-offset:4px}
@media(max-width:600px){.footer-brand{gap:10px}}
.footer-social{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:13px;line-height:1.6;color:#d4d6dc}.footer-social svg,.about-social svg{width:19px;height:19px;flex-shrink:0}.footer-social:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}.footer-social:focus-visible{outline:2px solid #ff6b00;outline-offset:4px}.about-social .actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.about-social .button{white-space:normal}

/* Footer: one clear contact area, primary links, then quieter local links. */
.site-footer{padding:64px 0 24px}
.site-footer .footer-main{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(220px,.8fr) minmax(260px,1fr);align-items:start;gap:clamp(28px,4vw,72px);padding-bottom:46px}
.site-footer .footer-brand{gap:14px}
.site-footer .footer-intro{margin:8px 0 0;font-size:14px;line-height:1.8;color:#bfc3ca}
.site-footer .footer-heritage{min-height:36px;text-decoration:none;color:#f0f1f3;border-bottom:1px solid #ffffff70}
.site-footer .footer-heritage:hover{border-color:#fff}
.site-footer .footer-heading{margin:0 0 14px;color:#fff;font-size:16px;font-weight:600}
.site-footer .footer-contact{display:flex;flex-direction:column;align-items:flex-start}
.site-footer .footer-contact a{display:inline-flex;align-items:center;min-height:38px;color:#d4d6dc;font-size:14px;overflow-wrap:anywhere}
.site-footer .footer-contact a:hover,.site-footer .footer-menu a:hover,.site-footer .footer-areas a:hover,.site-footer .footer-bottom a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.site-footer .footer-contact .footer-phone{font:700 24px Manrope,var(--font);color:#fff;letter-spacing:.2px;margin-bottom:8px}
.site-footer .footer-contact .footer-line{color:#ffad72;font-weight:600}
.site-footer .footer-menu{display:block;font-size:14px}
.site-footer .footer-menu>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px}
.site-footer .footer-menu a{display:inline-flex;align-items:center;min-height:42px;color:#d4d6dc;line-height:1.5}
.site-footer .footer-areas{display:flex;align-items:center;gap:28px;border-top:1px solid #ffffff1c;padding:17px 0}
.site-footer .footer-areas-title{flex-shrink:0;color:#fff;font-size:13px;font-weight:600}
.site-footer .footer-areas nav{display:flex;flex-wrap:wrap;gap:4px 22px}
.site-footer .footer-areas nav a{display:inline-flex;align-items:center;min-height:36px;color:#aeb2bb;font-size:12px}
.site-footer .footer-bottom{padding-top:18px;font-size:11px;letter-spacing:0}
.site-footer .footer-bottom a{color:#c9cbd0}
@media(max-width:900px){.site-footer .footer-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}.site-footer .footer-brand{grid-column:1/-1}.site-footer .footer-areas{align-items:flex-start;gap:12px;flex-direction:column}}
@media(max-width:600px){.site-footer{padding-top:48px}.site-footer .footer-main{grid-template-columns:1fr;gap:34px;padding-bottom:32px}.site-footer .footer-brand{grid-column:auto}.site-footer .footer-menu>div{column-gap:12px}.site-footer .footer-areas nav{gap:0 18px}.site-footer .footer-bottom{gap:10px}}
