/* Targeted service-area and business-longevity additions to live version 3. */
.business-tenure { background: var(--forest); color: #fff; text-align: center; padding: .7rem 24px; font: 800 1.05rem/1.4 Manrope,sans-serif; letter-spacing: .025em; border-bottom: 3px solid var(--gold); }
.business-tenure strong { color: #fff; }
#site-nav { gap: clamp(.65rem,1.25vw,1.4rem); }
#site-nav > a { font-size: .86rem; }
.service-areas { background: var(--cream); border-top: 5px solid var(--gold); padding-block: 3.5rem; }
.area-heading { display: grid; grid-template-columns: 1.1fr 1fr; gap: 3rem; align-items: end; }
.area-heading h2 { font-size: clamp(2rem,3.4vw,3.25rem); max-width: 650px; }
.area-heading .eyebrow { color: #855b17; }
.area-heading > p { margin: 0; color: var(--muted); font-size: 1.02rem; }
.town-links { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .75rem; list-style: none; padding: 0; margin: 2rem 0 1.5rem; }
.town-links li { min-width: 0; }
.town-links a { display: flex; align-items: center; justify-content: space-between; gap: .7rem; min-height: 62px; background: #fff; border: 1px solid #ccd4ce; border-radius: .35rem; padding: .85rem 1rem; text-decoration: none; font-weight: 700; line-height: 1.4; color: var(--forest); }
.town-links a:hover { background: #e9eee9; border-color: var(--forest); }
.town-links a > span:last-child { color: #855b17; font-size: 1.3rem; }
.service-areas .button { min-height: 48px; }
@media (max-width: 1100px) and (min-width: 901px) { .brand small { font-size: .62rem; } .brand strong { font-size: .92rem; } .brand-logo { width: 58px; height: 58px; } .nav-cta { padding-inline: .8rem; } }
@media (max-width: 900px) { .area-heading { grid-template-columns: 1fr; gap: 1.25rem; } .town-links { grid-template-columns: repeat(3,minmax(0,1fr)); } #site-nav > a { font-size: .95rem; } }
@media (max-width: 600px) { .business-tenure { font-size: .96rem; padding-block: .65rem; } .service-areas { padding-block: 2.5rem; } .town-links { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .55rem; } .town-links a { padding: .8rem; font-size: .89rem; } .service-areas .button { width: 100%; } }
@media (max-width: 350px) { .town-links { grid-template-columns: 1fr; } }

.commercial-projects { background: var(--forest); color: #fff; display: grid; grid-template-columns: 1.3fr 1fr; gap: 4rem; align-items: center; padding-block: 3.5rem; }
.commercial-projects h2 { font-size: clamp(2rem,3.5vw,3.25rem); }
.commercial-projects p:not(.eyebrow) { color: #d6e0dc; }
@media (max-width: 900px) { .commercial-projects { grid-template-columns: 1fr; gap: 1.5rem; } }

.commercial-projects :focus-visible { outline-color: var(--gold); }
