.pi-areas { background:#fff; }
.pi-areas .pi-area-breadcrumb { display:flex; align-items:center; flex-wrap:wrap; gap:10px; padding:0 0 37px; font-size:12px; color:#738078; }
.pi-area-breadcrumb a:hover { color:#467f25; text-decoration:underline; }
.pi-area-hero { padding:36px 0 76px; background:linear-gradient(120deg,#fff 55%,#f2f6ed); }
.pi-area-hero-grid { display:grid; grid-template-columns:1.45fr .85fr; gap:72px; align-items:center; }
.pi-areas h1 { font-size:clamp(38px,3.65vw,56px); letter-spacing:-1.9px; margin:24px 0; }
.pi-areas .pi-area-intro { max-width:730px; font-size:19px; line-height:1.65; color:#45565b; margin:0 0 22px; }
.pi-area-description { max-width:650px; color:#657176; font-size:16px; margin-bottom:28px!important; }
.pi-area-summary { padding:34px; border:1px solid #e1e8db; border-radius:12px; background:#fff; box-shadow:0 16px 50px #2732370b; }
.pi-area-summary ul { padding:0; list-style:none; margin:15px 0 22px; }
.pi-area-summary li { display:flex; flex-direction:column; gap:4px; padding:17px 0; border-bottom:1px solid #e5eadf; }
.pi-area-summary strong { color:#273237; font-size:20px; }
.pi-area-summary span { color:#657176; font-size:14px; }
.pi-area-summary p:not(.pi-eyebrow) { font-size:14px; color:#657176; }
.pi-area-summary h2 { font-size:32px; letter-spacing:-.8px; }
.pi-area-summary a { display:inline-block; margin-top:20px; font-size:23px; font-weight:700; color:#467f25; }
.pi-area-section { padding:70px 0; scroll-margin-top:120px; }
.pi-area-tinted { background:#f5f7f3; }
.pi-areas .pi-area-section h2 { font-size:36px; letter-spacing:-1px; line-height:1.2; }
.pi-area-section-lead { color:#657176; font-size:16px; margin-bottom:27px!important; }
.pi-area-locations { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:0!important; margin:26px 0 0!important; list-style:none!important; }
.pi-area-locations li { margin:0!important; padding:0!important; min-width:0; }
.pi-area-locations a { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:18px 22px; background:#fff; border:1px solid #e1e8dd; border-radius:6px; font-size:16px; font-weight:600; transition:border-color .15s,background .15s; }
.pi-area-locations a:hover { background:#edf4e6; border-color:#9cbb88; }
.pi-area-locations a span { color:#4f932a; }
.pi-area-small { font-size:14px; line-height:1.75; color:#6b777b; margin-top:22px!important; }
.pi-areas .pi-area-small a { color:#467f25; text-decoration:underline; }
.pi-area-services { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:30px; }
.pi-area-card { display:flex; flex-direction:column; padding:30px; border:1px solid #e1e8dd; border-radius:9px; background:#fff; }
.pi-areas .pi-area-card h2 { font-size:24px; letter-spacing:-.5px; line-height:1.25; margin:20px 0 18px; }
.pi-area-card > p:not(.pi-eyebrow) { font-size:15px; color:#657176; line-height:1.85; margin:0 0 20px; }
.pi-area-card .pi-text-link { align-self:flex-start; margin-top:auto; }
.pi-area-two-columns { display:grid; grid-template-columns:1fr 1fr; gap:72px; }
.pi-area-guide { padding-left:23px; color:#526268; margin:26px 0!important; }
.pi-area-guide li { padding:8px 0 8px 5px; }
.pi-area-guide li::marker { color:#4f932a; }
.pi-area-steps { counter-reset:pi-steps; padding:0; list-style:none; margin-top:26px; }
.pi-area-steps li { counter-increment:pi-steps; position:relative; padding:0 0 24px 51px; color:#657176; }
.pi-area-steps li::before { content:counter(pi-steps); position:absolute; left:0; top:0; border:1px solid #bad2a7; color:#467f25; width:32px; height:32px; border-radius:50%; text-align:center; line-height:30px; font-weight:700; }
.pi-area-steps strong,.pi-area-steps span { display:block; }
.pi-area-steps strong { color:#273237; margin-bottom:7px; }
.pi-area-steps span { font-size:15px; }
.pi-area-faq details { padding:20px 0; border-bottom:1px solid #dce5d7; }
.pi-area-faq summary { font-size:16px; font-weight:600; color:#273237; cursor:pointer; }
.pi-area-faq summary::marker { color:#467f25; }
.pi-area-faq details p { margin:14px 0 0; color:#657176; font-size:15px; line-height:1.8; }
.pi-area-faq summary:focus-visible { outline:3px solid #4f932a; outline-offset:5px; }
.pi-area-cta { padding:65px 0; background:#edf4e6; border-top:1px solid #dce8d2; }
.pi-area-cta-grid { display:grid; grid-template-columns:1.3fr 1fr; gap:60px; align-items:center; }
.pi-areas .pi-area-cta h2 { font-size:36px; }
.pi-area-cta p:not(.pi-eyebrow) { color:#657176; font-size:15px; max-width:580px; }
.pi-area-contact-links { display:flex; align-items:flex-start; flex-direction:column; gap:20px; min-width:0; }
.pi-area-contact-links a { overflow-wrap:anywhere; max-width:100%; }
.pi-area-contact-links a:not(.pi-button) { font-size:16px; }
.pi-home-area-band { padding:56px 0; background:#f5f7f3; border-top:1px solid #e3eadd; }
.pi-home-area-band .pi-area-cta-grid { grid-template-columns:1.5fr 1fr; }
.pi-home .pi-home-area-band h2 { font-size:34px; margin:16px 0; }
.pi-home-area-band p:not(.pi-eyebrow) { color:#657176; font-size:16px; }
@media(max-width:1100px) {
 .pi-area-hero-grid { gap:35px; grid-template-columns:1.25fr 1fr; }
 .pi-area-services { gap:16px; }
 .pi-area-card { padding:24px; }
 .pi-area-two-columns { gap:38px; }
}
@media(max-width:767px) {
 .pi-area-hero { padding:24px 0 45px; }
 .pi-area-hero-grid,.pi-area-two-columns,.pi-area-cta-grid,.pi-home-area-band .pi-area-cta-grid { grid-template-columns:1fr; gap:30px; }
 .pi-areas h1 { font-size:37px; letter-spacing:-1.2px; }
 .pi-areas .pi-area-intro { font-size:17px; }
 .pi-area-description { font-size:15px; }
 .pi-area-summary { padding:27px; }
 .pi-area-section { padding:45px 0; }
 .pi-areas .pi-area-section h2,.pi-areas .pi-area-cta h2 { font-size:29px; }
 .pi-area-services { grid-template-columns:1fr; gap:18px; }
 .pi-areas .pi-area-card h2 { font-size:24px; }
 .pi-area-locations { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .pi-area-locations a { font-size:14px; padding:15px 13px; gap:8px; }
 .pi-area-cta { padding:45px 0; }
 .pi-home-area-band { padding:40px 0; }
}
@media(max-width:380px) { .pi-area-locations { grid-template-columns:1fr; } }
