body.pi-homepage { background:#fff; }
body.pi-homepage #inner-wrapper { margin-top:0; }
body.pi-homepage #footer { background:#202a2d; padding:44px 20px 28px; }
body.pi-homepage #footer-logo { margin-bottom:24px; }
body.pi-homepage #footer-logo img { max-width:320px; width:100%; background:#fff; padding:10px 14px; border-radius:6px; }
body.pi-homepage #footer-copy { padding:0; border:0; margin:0; color:#c6ced0; font-size:13px; }
.pi-home { --pi-green:#4f932a; --pi-dark:#273237; --pi-muted:#657176; --pi-line:#e4e9e4; font-family:Arial,Helvetica,sans-serif; color:var(--pi-dark); background:#fff; line-height:1.65; }
.pi-home *, .pi-home *::before, .pi-home *::after { box-sizing:border-box; }
.pi-home p,.pi-home h1,.pi-home h2,.pi-home ul { margin:0; }
.pi-home a { text-decoration:none; color:inherit; }
.pi-home a:focus-visible { outline:3px solid #4f932a; outline-offset:5px; }
.pi-wrap { width:calc(100% - 80px); max-width:1240px; margin:0 auto; }
.pi-contact-band { background:linear-gradient(180deg,#273237 0,#273237 76px,#fff 76px,#fff 100%); padding-top:32px; }
.pi-contact-strip { display:grid; grid-template-columns:.85fr 1.15fr; background:#fff; box-shadow:0 10px 36px #26332b14; border:1px solid #edf0ed; border-radius:8px; padding:26px 14px; }
.pi-contact-item { display:flex; align-items:center; gap:22px; padding:8px 30px; min-width:0; transition:background .2s; border-radius:4px; }
.pi-contact-item + .pi-contact-item { border-left:1px solid var(--pi-line); border-radius:0; }
.pi-contact-item:hover { background:#f7faf4; }
.pi-contact-item svg { width:52px; height:52px; stroke:var(--pi-dark); stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; flex:0 0 52px; }
.pi-contact-item > span:nth-child(2) { min-width:0; }
.pi-contact-label { display:block; color:#828b8e; font-size:15px; margin-bottom:5px; }
.pi-contact-item strong { display:block; font-size:clamp(16px,1.55vw,23px); line-height:1.4; font-weight:600; overflow-wrap:anywhere; }
.pi-contact-arrow { margin-left:auto; color:var(--pi-green); font-size:24px; }
.pi-services, .pi-service { scroll-margin-top:120px; }
.pi-service { padding:92px 0; }
.pi-service-first { padding-top:72px; }
.pi-service-tinted { background:#f5f7f3; }
.pi-service-grid { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center; }
.pi-service-copy { min-width:0; }
.pi-eyebrow { color:#5c822f; letter-spacing:2px; font-size:11px; font-weight:700; line-height:1.4; display:flex; align-items:center; gap:12px; }
.pi-eyebrow > span { display:inline-flex; justify-content:center; align-items:center; width:30px; height:30px; border:1px solid #bbd3a4; border-radius:50%; letter-spacing:0; }
.pi-home h1,.pi-home h2 { font-family:Arial,Helvetica,sans-serif; color:var(--pi-dark); font-weight:700; line-height:1.12; letter-spacing:-1.8px; font-size:clamp(36px,3.6vw,54px); margin:22px 0 23px; text-transform:none; }
.pi-home em { font-style:normal; color:var(--pi-green); }
.pi-home .pi-lead { font-size:20px; line-height:1.4; font-weight:600; margin:0 0 13px; color:var(--pi-dark); }
.pi-service-copy > p:not(.pi-eyebrow):not(.pi-lead) { color:var(--pi-muted); font-size:16px; line-height:1.8; max-width:510px; }
.pi-service-list { padding:0!important; margin:23px 0 29px!important; list-style:none!important; }
.pi-service-list li { font-size:14px; color:#4c5c62; margin:8px 0!important; padding-left:27px; position:relative; }
.pi-service-list li::before { content:'✓'; position:absolute; left:0; top:0; font-weight:700; color:var(--pi-green); }
.pi-actions { display:flex; flex-wrap:wrap; align-items:center; gap:18px 24px; }
.pi-home .pi-button { padding:13px 19px; display:inline-flex; align-items:center; gap:20px; border-radius:5px; background:#467f25; color:#fff; font-weight:600; font-size:14px; line-height:1.4; transition:background .2s,transform .2s; }
.pi-button:hover { background:#38691c!important; transform:translateY(-2px); }
.pi-button span { font-size:19px; }
.pi-text-link { color:#3b5338!important; font-size:13px; font-weight:600; padding:10px 0; border-bottom:1px solid #a6bba0; }
.pi-text-link:hover { color:#4f932a!important; }
.pi-text-link span { margin-left:6px; }
.pi-service-visual { min-width:0; position:relative; border-radius:10px; overflow:hidden; box-shadow:0 22px 45px #2633270e; background:#e4e9e2; }
.pi-service-visual > img { display:block; width:100%; height:auto; aspect-ratio:1.15; object-fit:cover; border:0; margin:0; }
.pi-service-first .pi-service-visual > img { object-position:64% center; }
.pi-photo-caption { position:absolute; bottom:0; left:0; right:0; display:flex; align-items:center; gap:9px; padding:16px 21px; background:#273237e8; color:#fff; font-size:10px; font-weight:600; letter-spacing:1.4px; }
.pi-photo-caption > span:last-child { margin-left:auto; color:#ced6cf; font-size:9px; letter-spacing:1px; }
.pi-status-dot { width:6px; height:6px; border-radius:100%; background:#90c65b; flex:0 0 6px; }
.pi-service-reverse .pi-service-visual { grid-column:1; grid-row:1; }
.pi-service-reverse .pi-service-copy { grid-column:2; grid-row:1; }
.pi-contact-final { padding:65px 0; background:#eef4e8; border-top:1px solid #dbe8d0; scroll-margin-top:120px; }
.pi-final-grid { display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:50px; }
.pi-contact-final h2 { font-size:34px; letter-spacing:-1px; margin:18px 0 0; }
.pi-final-links { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.pi-final-links a { display:flex; align-items:center; justify-content:space-between; gap:25px; font-size:clamp(15px,1.5vw,21px); font-weight:600; max-width:100%; overflow-wrap:anywhere; padding:8px 0; }
.pi-final-links a:first-child { font-size:30px; }
.pi-final-links span { color:var(--pi-green); }
.pi-reviews { padding:78px 0 85px; background:#fff; scroll-margin-top:120px; }
.pi-reviews-heading { text-align:center; margin-bottom:42px; }
.pi-home .pi-reviews-heading h2 { margin:0 0 20px; font-size:36px; line-height:1.25; letter-spacing:-1px; }
.pi-reviews-heading p { color:var(--pi-muted); font-size:17px; }
.pi-all-reviews { display:inline-block; margin-top:10px; }
.pi-reviews-widget { min-width:0; }
.pi-reviews-fallback { text-align:center; }
.pi-reviews .wp-gr .grw-header.rpi-flx { padding:0 0 22px!important; }
.pi-reviews .wp-gr .grw-header.rpi-flx > .grw-header-inner { padding:30px 34px!important; background:#f1f3f4!important; border-radius:16px!important; gap:20px!important; }
.pi-reviews .wp-gr .grw-header-inner > .rpi-col8 { display:grid!important; grid-template-columns:max-content 1fr; gap:10px 13px!important; align-items:center!important; }
.pi-reviews .wp-gr .grw-header .wp-google-powered { order:-1; grid-column:1 / -1; font-size:0!important; --head-logo-size:26px; line-height:1.3!important; }
.pi-reviews .wp-gr .grw-header .wp-google-powered::after { content:' Opinie'; font-size:25px; font-weight:700; color:#273237; vertical-align:middle; }
.pi-reviews .wp-gr .grw-header .rpi-stars { color:#273237!important; font-size:34px!important; font-weight:700!important; --head-star-size:24px; }
.pi-reviews .wp-gr .grw-header .wp-google-based { font-size:16px!important; color:#647078!important; }
.pi-reviews .wp-gr .wp-google-wr a { padding:16px 22px!important; border-radius:7px!important; font-size:16px!important; font-weight:600!important; }
.pi-reviews .wp-gr .wp-google-wr .rpi-logo { display:none!important; }
.pi-reviews .wp-gr .wp-google-wr a::after { content:' Google'; color:#fff!important; }
.pi-reviews .wp-gr .grw-review { --col:4!important; --gap:3!important; }
.pi-reviews .wp-gr .grw-review a.wp-google-name { color:#273237!important; }
@media(max-width:1050px) {
 .pi-reviews .wp-gr .grw-review { --col:2!important; --gap:1!important; }
}
@media(max-width:600px) {
 .pi-reviews .wp-gr .grw-review { --col:1!important; --gap:0!important; }
 .pi-reviews .wp-gr .grw-header.rpi-flx > .grw-header-inner { padding:24px!important; flex-direction:column!important; align-items:flex-start!important; }
 .pi-reviews .wp-gr .grw-header-inner > .rpi-col8 { width:100%!important; flex:0 0 auto!important; }
 .pi-reviews .wp-gr .grw-header.rpi-flx > .grw-header-inner > .wp-google-wr { align-self:flex-start!important; }
}
@media(max-width:760px) {
 .pi-reviews { padding:48px 0 55px; }
 .pi-home .pi-reviews-heading h2 { font-size:29px; }
 .pi-reviews-heading { margin-bottom:28px; }
 .pi-reviews-heading p { font-size:15px; }
}
.pi-skip { position:fixed; top:0; left:12px; padding:12px; z-index:100000; background:white; transform:translateY(-160%); }
.pi-skip:focus { transform:translateY(0); }
@media(max-width:1050px) {
 .pi-service-grid { gap:36px; }
 .pi-contact-item { padding:8px 18px; gap:15px; }
 .pi-contact-strip { padding:23px 8px; }
 .pi-contact-item svg { width:44px; height:44px; flex-basis:44px; }
 .pi-contact-arrow { display:none; }
 .pi-home h1,.pi-home h2 { font-size:40px; }
 .pi-service-visual > img { aspect-ratio:.9; }
 .pi-service { padding:65px 0; }
}
@media(max-width:760px) {
 .pi-wrap { width:calc(100% - 40px); }
 .pi-contact-band { padding-top:22px; background:linear-gradient(180deg,#273237 0,#273237 100px,#fff 100px,#fff 100%); }
 .pi-contact-strip { grid-template-columns:1fr; padding:10px 18px; }
 .pi-contact-item { padding:17px 0; gap:17px; }
 .pi-contact-item + .pi-contact-item { border-left:0; border-top:1px solid var(--pi-line); }
 .pi-contact-item strong { font-size:17px; }
 .pi-contact-label { font-size:12px; margin-bottom:4px; }
 .pi-service-grid, .pi-final-grid { grid-template-columns:1fr; gap:32px; }
 .pi-service-copy,.pi-service-reverse .pi-service-copy,.pi-service-reverse .pi-service-visual { grid-column:auto; grid-row:auto; }
 .pi-service-first { padding-top:46px; }
 .pi-service { padding-bottom:50px; }
 .pi-service-visual > img { aspect-ratio:1.35; }
 .pi-home h1,.pi-home h2 { font-size:37px; letter-spacing:-1.3px; margin:20px 0; }
 .pi-eyebrow { font-size:10px; letter-spacing:1.6px; }
 .pi-home .pi-lead { font-size:18px; }
 .pi-service-copy > p:not(.pi-eyebrow):not(.pi-lead) { font-size:15px; }
 .pi-photo-caption { padding:14px; letter-spacing:1px; }
 .pi-photo-caption > span:last-child { font-size:8px; }
 .pi-actions { gap:12px 19px; }
 .pi-home .pi-button { font-size:13px; padding:13px 16px; }
 .pi-contact-final { padding:45px 0; }
 .pi-contact-final h2 { font-size:30px; }
 .pi-final-links a { font-size:16px; }
 .pi-final-links a:first-child { font-size:28px; }
}
@media(prefers-reduced-motion:reduce) { .pi-home * { transition:none!important; } }
