/* One compact category section, independent of hero and header styling. */
.visual-scene>img{position:absolute;inset:0}
.service-categories{padding:58px var(--nova-gutter) 64px;background:var(--nova-paper);color:var(--nova-ink);font-family:Manrope,"Segoe UI",sans-serif;scroll-margin-top:84px;border-top:1px solid var(--nova-line)}
.service-categories-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}
.service-categories h2{margin:0;font:500 clamp(34px,3.3vw,54px)/1.12 Manrope,sans-serif;letter-spacing:-.055em}
.all-services{display:inline-flex;align-items:center;gap:20px;padding:10px 0;color:#344b3d;text-decoration:none;border-bottom:1px solid #45534255;font-size:13px;font-weight:600;white-space:nowrap}
.all-services span{font-size:19px}
.service-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 22px}
.service-category-card{display:block;min-width:0;text-decoration:none;border-radius:8px}
.service-category-photo{height:158px;overflow:hidden;border-radius:7px;background:#e8e5d9}
.service-category-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--card-focus,50%) 43%;transition:transform .6s cubic-bezier(.22,1,.36,1)}
.service-category-label{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 1px 0}
.service-category-label h3{margin:0;font:500 clamp(15px,1.4vw,21px)/1.35 Manrope,sans-serif;letter-spacing:-.035em}
.service-category-label>span{display:grid;place-items:center;flex:0 0 29px;height:29px;border:1px solid #45534230;border-radius:50%;color:#455342;font-size:18px;transition:background .25s,color .25s,transform .25s}
.service-category-card:hover img{transform:scale(1.045)}
.service-category-card:hover .service-category-label>span{background:#354c39;color:#fffef6;transform:rotate(5deg)}
.service-category-card:focus-visible,.all-services:focus-visible{outline:2px solid #354c39;outline-offset:6px}
@media(min-width:1800px){.service-category-photo{height:190px}}
@media(max-width:760px){
 .service-categories{padding:36px 22px 40px;scroll-margin-top:88px}
 .service-categories-heading{gap:16px;margin-bottom:23px}
 .service-categories h2{font-size:32px}
 .all-services{font-size:12px;gap:8px}
 .all-services span{font-size:17px}
 .service-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}
 .service-category-photo{height:112px;border-radius:6px}
 .service-category-label{gap:5px;padding-top:10px;align-items:flex-start}
 .service-category-label h3{font-size:14px;line-height:1.35;letter-spacing:-.035em}
 .service-category-label>span{flex-basis:23px;height:23px;font-size:15px}
}
@media(max-width:370px){.service-categories{padding-inline:18px}.service-categories-heading{flex-direction:column;align-items:flex-start;gap:6px}.service-categories h2{font-size:28px}.service-category-photo{height:100px}.service-category-label h3{font-size:13px}}
@media(prefers-reduced-motion:reduce){.service-category-photo img,.service-category-label>span{transition:none}}
.contact-invite{display:grid;grid-template-columns:1fr auto;gap:50px;align-items:center;padding:58px var(--nova-gutter);background:var(--nova-forest);color:#faf8f2;font-family:Manrope,sans-serif;border-block:1px solid #243b2e}
.contact-invite h2{margin:0;font:550 clamp(34px,3.6vw,58px)/1.08 Manrope,sans-serif;letter-spacing:-.05em}
.contact-invite>div>p{max-width:43ch;font-size:15px;line-height:1.8;color:#e3e9dc;margin:20px 0 0}
.contact-invite .nova-button{background:#faf8f2;color:#283e2f;border-color:#faf8f2;min-height:54px;font-size:14px}
.contact-invite .nova-button:hover{background:#e2e9da;border-color:#e2e9da}
.contact-invite :is(a,button):focus-visible{outline:2px solid #faf8f2;outline-offset:5px}
.invite-actions{display:flex;flex-direction:column;gap:18px;min-width:245px}
.nova-button{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;min-height:50px;padding:15px 20px;background:#354c39;color:#fffef5;border:1px solid #354c39;border-radius:7px;font:550 13px/1.4 Manrope,sans-serif;text-decoration:none;cursor:pointer;transition:background .2s}
.nova-button:hover{background:#263e2b}
.nova-button svg,.all-services svg,.service-category-label svg{width:19px;height:19px;flex:0 0 19px;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.nova-button{min-width:0}
.nova-button>span{font-size:20px;line-height:1}
.invite-phone{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:19px;font-weight:550;text-decoration:none;padding:0 2px;line-height:1.5}
.invite-phone>span:first-child{flex:0 0 100%;font-size:13px;font-weight:400;color:#e3e9dc}
.invite-phone>span:last-child{margin-left:auto}
@media(max-width:760px){.contact-invite{grid-template-columns:1fr;gap:28px;padding:38px 24px}.invite-actions{min-width:0;max-width:360px}.contact-invite p{font-size:14px}}
