@media (max-width:900px){.wrap{width:min(100% - 32px,var(--max));}
.section{padding:72px 0;}
.topbar .wrap{justify-content:center;flex-wrap:wrap;gap:8px 18px;}
.nav{min-height:76px;}
.brand{min-width:0;}
.navlinks{display:none;position:absolute;left:0;right:0;top:100%;background:#07111c;padding:22px 24px 28px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:18px;}
.navlinks.open{display:flex;}
.navlinks a{padding:7px 0;}
.nav-cta{display:none;}
.mobile-toggle{display:block;}
.hero{align-items:flex-end;}
.hero-photo{background:linear-gradient(0deg,rgba(8,8,8,.97),rgba(8,8,8,.78) 55%,rgba(8,8,8,.42)),url("images/hero-realizacja.png") center/cover no-repeat;}
.hero:after{display:none;}
.hero-content{padding:150px 0 65px;}
.hero h1{line-height:1.1;letter-spacing:-.03em;}
.trustline .wrap{grid-template-columns:1fr;gap:14px;}
.section-head, .area-grid{grid-template-columns:1fr;gap:24px;}
.section-head{margin-bottom:32px;}
.decor-grid{grid-template-columns:repeat(2,1fr);}
.why-grid{grid-template-columns:1fr;gap:8px;}
.cta-band .wrap{align-items:flex-start;flex-direction:column;}
.footer-grid{grid-template-columns:1fr 1fr;}
.footer-grid>div:first-child{grid-column:1/-1;}
.mobile-bottom{position:fixed;z-index:30;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr;background:#030a11;border-top:1px solid var(--line);padding:8px;gap:8px;}
.mobile-bottom .btn{padding:11px 8px;min-height:42px;font-size:.68rem;}
.footer{padding-bottom:90px;}}
@media (max-width:520px){.brand-logo{width:42px;height:48px;max-width:none;flex-basis:42px;}
.brand-name{font-size:1rem;}
.brand-mark{width:32px;height:38px;}
.brand-sub{font-size:.48rem;}
.topbar{font-size:.65rem;}
.topbar .wrap{gap:5px 12px;}
.hero{min-height:620px;}
.hero-content{padding:135px 0 42px;}
.hero h1{font-size:clamp(2.15rem,8.8vw,2.8rem);line-height:1.12;letter-spacing:-.025em;margin:18px 0 20px;}
.hero p{font-size:.95rem;}
.hero-meta{flex-wrap:wrap;font-size:.62rem;letter-spacing:.12em;}
.hero-actions{flex-direction:column;align-items:stretch;}
.hero-actions .btn{width:100%;}
.decor-grid{grid-template-columns:1fr;}
.section-head h2{font-size:2.8rem;}
.footer-grid{grid-template-columns:1fr;}
.footer-grid>div:first-child{grid-column:auto;}
.footer-bottom{flex-direction:column;}
.wrap{width:calc(100% - 28px);}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}
*, *:before, *:after{transition:none!important;}}
.services-editorial{padding:94px 0 30px;background:var(--bg);overflow:hidden;}
.services-intro{display:grid;grid-template-columns:1.1fr .9fr;align-items:end;}
.services-intro h2{margin:14px 0 0;}
.services-intro-copy{padding:0 0 4px;max-width:520px;color:var(--muted);}
.services-intro-copy p{margin:0 0 18px;}
.copper-rule{display:block;width:58px;height:2px;background:var(--copper2);}
.service-feature{display:grid;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.service-feature.reverse .service-feature-photo{order:2;}
.service-feature.reverse .service-feature-copy{order:1;}
.service-feature-photo{display:block;overflow:hidden;}
.service-feature-copy{align-self:center;}
.service-feature-copy h3{max-width:530px;}
.service-feature-copy .text-link{font-size:.72rem;}
.service-more{padding-bottom:55px;}
.service-more-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:42px;}
.service-more-links a{display:flex;justify-content:space-between;gap:20px;padding:17px 0;border-bottom:1px solid var(--line);font-weight:700;}
.service-more-links a span{color:var(--copper2);transition:transform .2s;}
.service-more-links a:hover span{transform:translate(3px,-3px);}
@media (max-width:900px){.service-feature.reverse .service-feature-photo, .service-feature.reverse .service-feature-copy{order:initial;}
.service-feature-photo, .service-feature-photo img{height:auto;aspect-ratio:16/9;}
.service-feature-copy{max-width:none;}
.service-feature-copy h3{font-size:clamp(1.8rem,5vw,2.6rem);}
.service-more{padding-top:44px;}}
@media (max-width:560px){.services-editorial{padding-top:58px;}
.services-intro h2{font-size:2.55rem;}
.service-feature-copy{padding:28px 20px 34px;}
.service-feature-copy p{font-size:.94rem;}
.service-more-links{grid-template-columns:1fr;}
.service-more{padding-bottom:38px;}}
@media (prefers-reduced-motion:reduce){.service-feature-photo img, .service-more-links a span{transition:none;}}
.eyebrow{color:#d9986c!important;}
.decorative{background:#2d3032!important;}
.topbar a[href*="wa.me"]{display:inline-flex;align-items:center;justify-content:center;padding:3px 11px;border:1px solid #087f43;border-radius:999px;background:rgba(0,110,55,.22);color:#27e879!important;font-weight:700;text-decoration:none;line-height:1.2;box-shadow:0 0 7px rgba(0,210,100,.12);white-space:nowrap;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease;}
.topbar a[href*="wa.me"]:hover{background:rgba(0,145,70,.32);border-color:#16c765;box-shadow:0 0 10px rgba(0,210,100,.25);}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:100px;}
body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.6;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
button, input, textarea, select{font:inherit;}
.wrap{width:min(var(--max),calc(100% - 48px));margin-inline:auto;}
.eyebrow{font-size:.72rem;letter-spacing:.25em;text-transform:uppercase;color:var(--copper2);font-weight:800;}
.section{padding:100px 0;}
.section-head{display:grid;gap:48px;}
.section-head h2{text-transform:uppercase;margin:14px 0 0;}
.section-head p{color:var(--muted);max-width:520px;margin:0;}
.accent{color:var(--copper2);}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:15px 22px;border:1px solid var(--copper);font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;transition:.2s;min-height:48px;}
.btn-primary{background:var(--copper);color:#10151b;}
.btn:hover, .btn:focus-visible{transform:translateY(-2px);background:#e2cc91;border-color:#e2cc91;color:#07111c!important;box-shadow:0 0 0 3px rgba(216,189,122,.18);}
.btn:active{transform:translateY(0);background:#b99a5e;color:#07111c!important;}
.nav-cta{background:linear-gradient(135deg,#d8bd7a 0%,#b99a5e 52%,#a98243 100%);color:#111!important;border-color:#b99a5e;min-width:180px;}
.nav-cta:hover, .nav-cta:focus-visible, .nav-cta:active{background:#e2cc91!important;color:#07111c!important;border-color:#e2cc91!important;text-shadow:none;box-shadow:0 0 0 3px rgba(216,189,122,.2);}
.topbar{font-size:.74rem;}
.topbar .wrap{display:flex;align-items:center;justify-content:flex-end;flex-wrap:nowrap;gap:20px;padding:8px 0;white-space:nowrap;}
.topbar .wrap>a{display:inline-flex;align-items:center;gap:5px;line-height:1.25;flex:0 0 auto;}
.topbar-location{flex:0 0 auto;}
.topbar a:hover, .nav a:hover{color:var(--copper2);}
.header{position:sticky;top:0;z-index:20;}
.nav{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:88px;}
.brand{display:flex;align-items:center;gap:12px;min-width:260px;}
.brand-mark{width:42px;height:48px;border-left:5px solid var(--copper);border-right:5px solid #d8dce0;transform:skewY(-22deg);position:relative;flex:0 0 42px;}
.brand-mark:after{content:"";position:absolute;left:8px;top:6px;bottom:6px;border-left:3px solid var(--copper2);}
.brand-logo{width:54px;height:58px;max-height:58px;object-fit:contain;object-position:center;flex:0 0 54px;}
.brand .brand-mark{display:none;}
.brand-fallback{display:flex;align-items:center;gap:12px;}
.brand-name{font-size:1.2rem;letter-spacing:.12em;font-weight:800;line-height:1.1;}
.brand-name span{font-weight:400;}
.brand-sub{display:block;font-size:.55rem;letter-spacing:.16em;margin-top:6px;color:var(--muted);}
.navlinks{display:flex;align-items:center;font-weight:700;}
.nav-cta{white-space:nowrap;}
.mobile-toggle{display:none;background:none;color:white;border:1px solid var(--line);padding:9px 12px;}
.hero{align-items:center;}
.hero-photo{background:linear-gradient(90deg,#07111c 0%,rgba(7,17,28,.98) 20%,rgba(7,17,28,.84) 38%,rgba(7,17,28,.48) 58%,rgba(7,17,28,.08) 100%),linear-gradient(0deg,rgba(7,17,28,.38),transparent 48%),url("images/hero-realizacja.png") center/cover no-repeat;}
.hero:after{content:"";position:absolute;z-index:1;top:13%;bottom:13%;left:clamp(580px,57%,860px);width:1px;background:linear-gradient(transparent,rgba(216,189,122,.42),transparent);}
.hero h1{font-weight:800;}
.hero p{max-width:500px;font-size:1rem;}
.hero-meta{display:flex;gap:12px;align-items:center;font-size:.68rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;margin:22px 0 26px;}
.hero-meta span:first-child{color:var(--copper2);}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;}
.trustline .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:24px 0;}
.trustitem{display:flex;gap:14px;align-items:center;font-size:.83rem;}
.trustitem strong{display:block;font-size:.9rem;}
.trusticon{display:none;}
.text-link{display:inline-flex;gap:10px;align-items:center;color:var(--copper2);font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;width:max-content;border-bottom:1px solid rgba(169,130,67,.5);padding-bottom:5px;}
.decorative{background:#081521;}
.decor-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.decor-item{border-top:1px solid var(--copper);padding:22px 18px;background:rgba(255,255,255,.025);}
.decor-item h3{font-size:1.05rem;margin:0 0 8px;}
.decor-item p{font-size:.86rem;color:var(--muted);margin:0 0 14px;}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.why-card{padding:26px 0;border-top:1px solid var(--line);}
.why-card .num{display:none;}
.why-card h3{font-size:1.15rem;text-transform:uppercase;margin:14px 0 8px;}
.why-card p{color:var(--muted);font-size:.93rem;margin:0;}
.area-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center;}
.area h2{font-size:clamp(2.8rem,5vw,5rem);line-height:.95;text-transform:uppercase;margin:14px 0;}
.towns{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px;}
.towns span{border:1px solid var(--line);padding:9px 13px;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;}
.cta-band{padding:80px 0;}
.cta-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:35px;}
.cta-band h2{font-size:clamp(2.4rem,5vw,4.5rem);line-height:.95;text-transform:uppercase;letter-spacing:-.05em;margin:12px 0;}
.cta-band p{max-width:550px;}
.footer{padding:55px 0 20px;}
.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px;padding-bottom:40px;}
.footer h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.15em;color:var(--copper2);}
.footer p, .footer a{font-size:.85rem;color:var(--muted);}
.footer-links{display:grid;gap:8px;}
.footer-bottom{border-top:1px solid var(--line);padding-top:18px;display:flex;justify-content:space-between;gap:20px;color:#9da8b1;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;}
.mobile-bottom{display:none;}
.topbar-location{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;}
.location-flag{position:relative;width:24px;height:16px;display:inline-flex;flex-direction:column;overflow:hidden;flex:0 0 24px;clip-path:polygon(0 0,100% 3%,96% 25%,100% 50%,96% 75%,100% 97%,0 100%,4% 75%,0 50%,4% 25%);transform:translateY(-.5px) skewY(-2deg);filter:drop-shadow(0 1px 1px rgba(0,0,0,.45));}
.location-flag .flag-white, .location-flag .flag-red{display:block;width:100%;height:50%;}
.location-flag .flag-white{background:linear-gradient(100deg,#d9d9d9 0%,#fff 24%,#f8f8f8 60%,#d7d7d7 100%);}
.location-flag .flag-red{background:linear-gradient(100deg,#a90f2a 0%,#dc143c 32%,#ef294d 62%,#b20d2b 100%);}
.service-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:52px;}
.service-detail-card{padding:28px 30px;background:rgba(255,255,255,.025);border:1px solid rgba(216,189,122,.22);}
.service-detail-card h3{margin:10px 0 12px;font-size:clamp(1.3rem,2vw,1.8rem);line-height:1.2;color:#f3f1ed;}
.service-detail-card p{color:#d0cec8;margin:0;}
@media (max-width:760px){.service-detail-grid{grid-template-columns:1fr;gap:14px;margin-top:34px;}
.service-detail-card{padding:24px 22px;}}
.reviews-section{padding-top:86px;padding-bottom:92px;}
.reviews-heading{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;margin-bottom:32px;}
.reviews-title-row{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;}
.reviews-heading h2{margin:0;font-size:clamp(2rem,3.5vw,3.1rem);line-height:1.08;letter-spacing:.025em;}
.reviews-heading-rule{width:200px;height:3px;margin:3px auto 0;}
.reviews-add{display:inline-block;font-size:.95rem;font-weight:600;text-decoration:none;margin-top:2px;}
.reviews-add:hover{text-decoration:underline;text-underline-offset:4px;}
.reviews-google{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;border:1px solid rgba(216,189,122,.32);border-radius:999px;padding:10px 16px;color:var(--text);font-size:.9rem;font-weight:700;background:rgba(255,255,255,.025);transition:background .2s,border-color .2s;}
.google-g{font-weight:800;font-size:1.05rem;color:#e4b94f;text-shadow:1px 0 #4285f4,-1px 0 #34a853;}
.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;}
.review-card{min-height:310px;padding:28px 28px 24px;border:1px solid rgba(169,130,67,.42);border-radius:5px;display:flex;flex-direction:column;}
.review-stars{letter-spacing:3px;font-size:1.08rem;margin-bottom:18px;}
.review-card blockquote{margin:0 0 26px;color:#f0eeeb;font-size:1rem;line-height:1.7;font-style:italic;flex:1;}
.review-author{border-top:1px solid rgba(255,255,255,.13);padding-top:16px;font-weight:700;color:#fff;}
.reviews-bottom{text-align:center;margin-top:28px;}
.reviews-bottom .text-link{display:inline-block;}
@media (max-width:900px){.reviews-grid{grid-template-columns:1fr;gap:14px;}
.review-card{min-height:0;}
.reviews-title-row{gap:12px;}}
@media (max-width:560px){.reviews-section{padding-top:58px;padding-bottom:60px;}
.review-card{padding:22px;}
.review-card blockquote{font-size:.96rem;}}
:root{--max:1240px;}
.navlinks a:hover, .topbar a:hover{color:#d8bd7a!important;}
.eyebrow, .accent, .services-editorial .eyebrow, .service-feature-copy .eyebrow{color:#d8bd7a!important;}
.btn, .btn-primary, .nav-cta{background:linear-gradient(135deg,#d8bd7a 0%,#b99a5e 52%,#a98243 100%)!important;border-color:#b99a5e!important;color:#111!important;}
.btn:hover, .btn-primary:hover, .nav-cta:hover{background:#e2cc91!important;border-color:#e2cc91!important;color:#111!important;}
.btn-outline{background:rgba(15,16,16,.25)!important;border-color:rgba(216,189,122,.55)!important;color:#f3f1ed!important;}
.btn-outline:hover{border-color:#d8bd7a!important;color:#d8bd7a!important;}
.hero{padding:0!important;}
.hero h1{font-family:Montserrat,Arial,Helvetica,sans-serif!important;color:#f3f1ed!important;}
.hero-content>p{color:#d0cec8!important;}
.hero-meta{color:#d8bd7a!important;}
.hero .hero-photo{pointer-events:none;}
.trustitem{color:#d0cec8!important;}
.trustitem strong{color:#f3f1ed!important;}
.trusticon{color:#d8bd7a!important;}
.services-editorial, .section, .service-more{background:transparent!important;}
.services-intro h2, .section-head h2, .service-feature-copy h3{font-family:Montserrat,Arial,Helvetica,sans-serif!important;color:#f3f1ed!important;}
.services-intro-copy, .services-intro-copy p, .service-feature-copy p, .section-head p{color:#d0cec8!important;}
.service-feature{border-top-color:rgba(216,189,122,.26)!important;border-bottom-color:rgba(216,189,122,.26)!important;}
.service-feature-copy{background:rgba(25,27,28,.48)!important;}
.text-link, .service-more-links a{color:#d8bd7a!important;}
.service-more-links a{border-color:rgba(216,189,122,.26)!important;}
footer, .footer{background:rgba(9,10,10,.94)!important;border-top:1px solid rgba(216,189,122,.2)!important;}
@media (max-width:900px){.hero-content:after{content:none!important;display:none!important;}}
@media (max-width:760px){.hero h1{font-size:clamp(2.5rem,11vw,4rem)!important;}
.hero .wrap{padding-top:42px;padding-bottom:38px;}}
.hero{display:block!important;}
.hero:after{display:none!important;}
.hero .wrap{grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr)!important;gap:clamp(30px,4vw,64px)!important;}
.hero-content{grid-column:1!important;grid-row:1!important;}
.hero-content:after{content:none!important;display:none!important;}
.hero h1{font-size:clamp(2.65rem,4.3vw,4.25rem)!important;line-height:1.02!important;letter-spacing:-.05em!important;margin:20px 0 22px!important;text-transform:none!important;}
.hero h1 .accent{color:#d8bd7a!important;}
.hero-content>p{max-width:590px!important;font-size:1rem!important;line-height:1.7!important;}

@media (max-width:900px){.hero .wrap{grid-template-columns:1fr!important;gap:28px!important;}
.hero-content{grid-column:1!important;grid-row:1!important;max-width:720px!important;}

.hero h1{font-size:clamp(2.7rem,7vw,4rem)!important;max-width:720px!important;}}
@media (max-width:600px){.hero-content>p{font-size:.96rem!important;}
}
.services-editorial .services-intro{margin:0 auto;}
.services-editorial .service-feature, .services-editorial .service-feature.reverse{width:min(1240px,calc(100% - 48px));margin:0 auto 42px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);align-items:stretch;min-height:0;border:1px solid rgba(216,189,122,.18);background:rgba(20,21,21,.36);}
.services-editorial .service-feature.reverse{grid-template-columns:minmax(0,.92fr) minmax(0,1fr);}
.services-editorial .service-feature-photo{width:100%;height:clamp(260px,27vw,370px);min-height:0;overflow:hidden;background:#202121;}
.services-editorial .service-feature-photo img{width:100%;height:100%;max-height:370px;min-height:0;object-fit:cover;display:block;filter:saturate(.78) contrast(1.03);}
.services-editorial .service-feature-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(26px,3.2vw,48px);min-width:0;background:rgba(28,29,28,.62);}
.services-editorial .service-feature-copy h3{font-size:clamp(1.65rem,2.3vw,2.45rem);line-height:1.08;margin:12px 0 16px;max-width:520px;}
.services-editorial .service-feature-copy p{max-width:540px;margin:0 0 18px;line-height:1.7;}
.services-editorial .service-feature-copy .text-link{align-self:flex-start;margin-top:4px;}
@media (max-width:820px){.services-editorial .service-feature, .services-editorial .service-feature.reverse{grid-template-columns:1fr;width:calc(100% - 32px);margin-bottom:26px;}
.services-editorial .service-feature-photo{height:clamp(220px,52vw,330px);}
.services-editorial .service-feature-copy{padding:28px 26px 32px;}}
@media (max-width:480px){.services-editorial .services-intro{width:calc(100% - 32px);}
.services-editorial .service-feature-photo{height:230px;}
.services-editorial .service-feature-copy{padding:24px 20px 28px;}
.services-editorial .service-feature-copy h3{font-size:1.7rem;}}
.cta-band .eyebrow{color: var(--copper2, #d7b56d) !important;}
.cta-band h2{color: #f4f1ec !important;}
.cta-band p{color: #d0d0ce !important;}
.cta-band .btn-outline{background: rgba(20,20,20,.28) !important;border-color: rgba(255,255,255,.38) !important;}
.footer{background: #0b0c0d !important;}
@media (max-width: 760px){.cta-band{background: linear-gradient(145deg, #292c2e 0%, #202224 100%) !important;}}
:root{--pi-heading-scale: 1;}
body h1{font-size: clamp(2.65rem, 4.5vw, 4.35rem);line-height: .99;letter-spacing: -.045em;}
body h2{font-size: clamp(2rem, 3.15vw, 3rem);line-height: 1.06;letter-spacing: -.035em;}
body h3{font-size: clamp(1.25rem, 1.8vw, 1.65rem);line-height: 1.18;letter-spacing: -.02em;}
.services-intro h2{font-size: clamp(2rem, 3.1vw, 2.85rem) !important;letter-spacing: -.035em !important;}
.hero h1{font-size: clamp(2.8rem, 4.6vw, 4.4rem);line-height: .99;}
.service-feature-copy h3, .service-detail-card h3{font-size: clamp(1.2rem, 1.55vw, 1.5rem) !important;line-height: 1.2 !important;}
@media (max-width: 760px){body h1{font-size: clamp(2.35rem, 8.5vw, 3.5rem);line-height: 1.02;}
body h2, .services-intro h2{font-size: clamp(1.8rem, 6.4vw, 2.45rem) !important;line-height: 1.08 !important;}
body h3, .service-feature-copy h3, .service-detail-card h3{font-size: clamp(1.15rem, 4.4vw, 1.4rem) !important;line-height: 1.2 !important;}}
.section-head h2 .accent{white-space: normal;}
.area-grid > div:first-child h2, .area h2{font-size: clamp(2.25rem, 3.2vw, 3.15rem) !important;line-height: 1 !important;letter-spacing: -.04em !important;text-wrap: balance;}
@media (max-width: 760px){.section-head h2{font-size: clamp(2rem, 8vw, 2.65rem) !important;line-height: 1.02 !important;}
.area-grid > div:first-child h2, .area h2{font-size: clamp(2.05rem, 7.5vw, 2.7rem) !important;}}
@media (min-width: 900px){.section-head h2, .area h2, .cta-band h2{font-size: clamp(2.05rem, 3.2vw, 3.35rem) !important;line-height: 1.02 !important;letter-spacing: -.04em !important;}
.services-intro h2{font-size: clamp(2rem, 3vw, 3rem) !important;line-height: 1.08 !important;letter-spacing: -.035em !important;}
.service-feature-copy h3{font-size: clamp(1.35rem, 1.8vw, 1.8rem) !important;line-height: 1.12 !important;letter-spacing: -.025em !important;}
.hero h1{font-size: clamp(2.5rem, 4vw, 3.7rem) !important;line-height: 1.06 !important;}}
@media (min-width: 561px) and (max-width: 899px){.section-head h2, .area h2, .cta-band h2{font-size: clamp(2rem, 4.8vw, 2.8rem) !important;line-height: 1.04 !important;}
.services-intro h2{font-size: clamp(1.9rem, 4.4vw, 2.65rem) !important;line-height: 1.08 !important;}
.service-feature-copy h3{font-size: clamp(1.35rem, 3vw, 1.7rem) !important;line-height: 1.12 !important;}
.hero h1{font-size: clamp(2.3rem, 5.5vw, 3.2rem) !important;}}
@media (max-width: 560px){.section-head h2, .area h2, .cta-band h2{font-size: clamp(1.8rem, 7vw, 2.25rem) !important;line-height: 1.06 !important;letter-spacing: -.035em !important;}
.services-intro h2{font-size: clamp(1.75rem, 6.5vw, 2.15rem) !important;line-height: 1.08 !important;}
.service-feature-copy h3{font-size: 1.35rem !important;line-height: 1.15 !important;}
.hero h1{font-size: clamp(2rem, 9vw, 2.65rem) !important;line-height: 1.08 !important;}}
:root{--pi-heading-tight: -0.035em;}
main .section-head h2, main .services-intro h2, main .section h2{font-size: clamp(2rem, 3.15vw, 3.25rem) !important;line-height: 1.08 !important;letter-spacing: var(--pi-heading-tight) !important;max-width: 14ch;text-wrap: balance;}
main .section-head{gap: clamp(24px, 4vw, 56px) !important;}
main .section-head > p{max-width: 520px;line-height: 1.75 !important;}

#kontakt h2{font-size: clamp(1.8rem, 2.65vw, 2.65rem) !important;line-height: 1.12 !important;}
.why-card h3, .service-detail-card h3{font-size: clamp(1.08rem, 1.35vw, 1.35rem) !important;line-height: 1.25 !important;}
@media (min-width: 901px){.services-editorial{padding-top: 72px !important;}}
@media (max-width: 900px){main .section-head h2, main .services-intro h2, main .section h2{font-size: clamp(1.85rem, 5.6vw, 2.6rem) !important;line-height: 1.1 !important;}}
@media (max-width: 560px){main .section-head h2, main .services-intro h2, main .section h2{font-size: clamp(1.7rem, 7vw, 2.2rem) !important;}
main .section-head{gap: 18px !important;}}
.decorative .decor-grid{gap:16px;}
.decorative .decor-item{padding:clamp(20px,2.2vw,30px);border:1px solid rgba(255,255,255,.10);background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012));min-height:150px;display:flex;flex-direction:column;justify-content:flex-start;}
.decorative .decor-item h3{margin:0 0 10px;font-size:clamp(18px,1.35vw,22px);line-height:1.3;}
.decorative .decor-item p{margin:0;color:var(--muted);line-height:1.65;font-size:15px;}
@media (max-width:700px){.decorative .decor-grid{gap:12px;}
.decorative .decor-item{padding:18px;min-height:0;}}
@media (min-width: 901px){main .section{padding-top: 68px;padding-bottom: 68px;}
main .section-head{margin-bottom: 34px;}
main .section-head h2{font-size: clamp(2rem, 2.8vw, 2.8rem) !important;line-height: 1.08 !important;max-width: 14ch;}
main .section-head p{font-size: .96rem;line-height: 1.75;}
.trustline .wrap{padding-top: 20px;padding-bottom: 20px;}}
.trustline, .decorative, .area{background-color: #202224 !important;}
.area{background: #242628 !important;}
@media (max-width: 900px){main .section{padding-top: 54px;padding-bottom: 54px;}
main .section-head{margin-bottom: 28px;}}
@media (max-width: 560px){main .section{padding-top: 46px;padding-bottom: 46px;}
main .section-head h2{max-width: 15ch;}}
:root{--bg:#101010;--panel:#171717;--panel2:#202020;--text:#f4f2ee;--muted:#b8b8b8;--line:rgba(230,230,230,.14);--copper:#a98243;--copper2:#d8bd7a;}
html, body{font-family:"Montserrat",Arial,Helvetica,sans-serif!important;background-color:#101010;background:#242729!important;color:#f3f1ed!important;}
body, button, input, textarea, select{font-family:"Montserrat",Arial,Helvetica,sans-serif!important;}
body{background-repeat:no-repeat,repeat!important;}
.hero{background:transparent!important;}
.hero h1, .services-intro h2, .section-head h2, .service-feature-copy h3{font-family:"Montserrat",Arial,Helvetica,sans-serif!important;color:#f3f1ed!important;}
@media (max-width:760px){body{background-size:cover,600px auto!important;}}
:root{--pi-concrete:url("images/beton-architektoniczny-textura.webp");}
.topbar{background:linear-gradient(rgba(8,9,10,.91),rgba(8,9,10,.91)),var(--pi-concrete) center 46%/cover!important;color:#d5d1ca!important;border-bottom:1px solid rgba(218,195,143,.16)!important;}
.topbar .wrap{padding-top:7px!important;padding-bottom:7px!important;}
.header{background:linear-gradient(rgba(17,19,20,.86),rgba(17,19,20,.86)),var(--pi-concrete) center 48%/cover!important;border-bottom:1px solid rgba(218,195,143,.22)!important;backdrop-filter:blur(8px)!important;}
.header .nav{min-height:78px!important;}
.navlinks{gap:clamp(16px,2vw,30px)!important;text-transform:uppercase;letter-spacing:.045em;font-size:.72rem!important;}
body{background-color:#17191a!important;background-image:linear-gradient(rgba(19,21,22,.91),rgba(19,21,22,.91)),var(--pi-concrete)!important;background-position:center,center top!important;background-size:cover,cover!important;background-attachment:fixed,fixed!important;}
main>section:not(.hero), .services-editorial{background-color:transparent!important;background-image:linear-gradient(rgba(18,20,21,.20),rgba(18,20,21,.20))!important;}
.trustline{background:rgba(12,14,15,.82)!important;border-top:1px solid rgba(230,230,225,.08)!important;border-bottom:1px solid rgba(230,230,225,.10)!important;}
.cta-band{background:linear-gradient(110deg,rgba(31,33,34,.96),rgba(23,25,26,.96))!important;border-top:1px solid rgba(230,230,225,.12)!important;border-bottom:1px solid rgba(230,230,225,.12)!important;}
@media (max-width:760px){.header .nav{min-height:68px!important;}
body{background-attachment:scroll,scroll!important;}}
.hero{position:relative!important;isolation:isolate!important;overflow:hidden!important;min-height:570px!important;background-color:#292a29!important;background-image:url("images/beton-architektoniczny-textura.webp")!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;border-bottom:1px solid var(--line)!important;}
.hero:before, .hero:after, .hero .wrap:before, .hero .wrap:after, .hero-content:after{content:none!important;display:none!important;background:none!important;}
.hero-photo{position:absolute!important;inset:0 0 0 25%!important;z-index:0!important;opacity:1!important;pointer-events:none!important;background-color:transparent!important;background-image:url("images/hero-kuchnia-perfectinterior.jpg")!important;background-size:cover!important;background-position:center center!important;background-repeat:no-repeat!important;-webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.08) 8%,rgba(0,0,0,.45) 22%,#000 40%,#000 100%)!important;mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.08) 8%,rgba(0,0,0,.45) 22%,#000 40%,#000 100%)!important;}
.hero .wrap{position:relative!important;z-index:2!important;display:flex!important;align-items:center!important;min-height:570px!important;padding-top:54px!important;padding-bottom:54px!important;}
.hero-content{position:relative!important;z-index:2!important;width:min(790px,66%)!important;max-width:790px!important;padding:24px 0!important;}
.hero h1{max-width:790px!important;}
.hero-content>p, .hero-meta, .hero .eyebrow{text-shadow:0 1px 8px rgba(0,0,0,.35)!important;}
@media (max-width:900px){.hero{min-height:540px!important;}
.hero .wrap{min-height:540px!important;padding-top:42px!important;padding-bottom:42px!important;}
.hero-photo{inset:0 0 0 12%!important;background-position:57% center!important;}
.hero-content{width:min(740px,82%)!important;}}
@media (max-width:600px){.hero{min-height:0!important;}
.hero .wrap{min-height:0!important;width:calc(100% - 32px)!important;padding-top:36px!important;padding-bottom:34px!important;}
.hero-photo{inset:0!important;background-position:58% center!important;opacity:.56!important;-webkit-mask-image:linear-gradient(to right,rgba(0,0,0,.38),rgba(0,0,0,.72) 45%,#000 100%)!important;mask-image:linear-gradient(to right,rgba(0,0,0,.38),rgba(0,0,0,.72) 45%,#000 100%)!important;}
.hero-content{width:100%!important;max-width:100%!important;padding:20px 0!important;}
.hero h1{font-size:clamp(2.15rem,9vw,3rem)!important;}}
.hero-content{text-shadow: 0 2px 10px rgba(0,0,0,.42);}
.hero p{color:#f0f0ef;}
.hero .hero-actions a{text-shadow:none;}
.hero-content:before{content:"";position:absolute;z-index:-1;left:-34px;top:10px;bottom:10px;width:min(780px, calc(100% + 80px));pointer-events:none;background:radial-gradient(ellipse at 34% 46%, rgba(0,0,0,.28) 0%, rgba(0,0,0,.16) 48%, rgba(0,0,0,0) 78%);}
@media (max-width:700px){.hero-content:before{left:-16px;width:calc(100% + 32px);background:radial-gradient(ellipse at 35% 45%,rgba(0,0,0,.34),rgba(0,0,0,0) 82%);}
.hero h1{text-shadow:0 2px 9px rgba(0,0,0,.72);}}
.services-editorial{padding-top:82px!important;padding-bottom:44px!important;}
.services-intro{gap:clamp(28px,5vw,64px)!important;padding-bottom:38px!important;}
.services-intro h2{max-width:650px!important;line-height:1.02!important;}
.services-intro-copy{font-size:1rem!important;line-height:1.75!important;}
.service-feature{grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr)!important;min-height:340px!important;margin:0 0 24px!important;border:1px solid rgba(211,178,105,.22)!important;background:linear-gradient(120deg,rgba(255,255,255,.025),rgba(255,255,255,.008))!important;transition:border-color .25s ease,background .25s ease!important;}
.service-feature:hover{border-color:rgba(211,178,105,.48)!important;background:linear-gradient(120deg,rgba(255,255,255,.035),rgba(255,255,255,.012))!important;}
.service-feature.reverse{grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr)!important;}
.service-feature-photo{min-height:340px!important;position:relative!important;background:#171717!important;}
.service-feature-photo:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(8,8,8,.03),rgba(8,8,8,.0) 60%,rgba(8,8,8,.10));}
.service-feature-photo img{display:block;width:100%!important;height:100%!important;min-height:340px!important;object-fit:cover!important;filter:saturate(.98) contrast(1.035) brightness(1.015)!important;transition:transform .55s ease,filter .35s ease!important;}
.service-feature-photo:hover img, .service-feature-photo:focus-visible img{transform:scale(1.035)!important;filter:saturate(1.04) contrast(1.05) brightness(1.02)!important;}
.service-feature-copy{padding:clamp(28px,4.1vw,58px) clamp(26px,4.5vw,64px)!important;max-width:760px!important;}
.service-feature-copy .eyebrow{margin-bottom:2px!important;}
.service-feature-copy h3{font-size:clamp(1.75rem,2.5vw,2.45rem)!important;line-height:1.08!important;letter-spacing:-.04em!important;margin:10px 0 14px!important;}
.service-feature-copy p{font-size:.97rem!important;line-height:1.78!important;color:#d0d0d0!important;margin:0 0 19px!important;max-width:560px!important;}
.service-feature-copy .text-link{padding-bottom:5px!important;border-bottom:1px solid rgba(211,178,105,.36)!important;letter-spacing:.09em!important;transition:color .2s ease,border-color .2s ease!important;}
.service-feature-copy .text-link:hover{border-color:var(--copper2)!important;}
.service-feature:last-of-type .service-feature-photo img{object-position:center 72%!important;}
.service-more{padding-top:18px!important;}
@media (max-width:900px){.services-editorial{padding-top:62px!important;}
.services-intro{grid-template-columns:1fr!important;gap:20px!important;padding-bottom:30px!important;}
.services-intro h2{font-size:clamp(2.25rem,6vw,3.5rem)!important;}
.service-feature, .service-feature.reverse{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;min-height:300px!important;}
.service-feature-photo, .service-feature-photo img{min-height:300px!important;}
.service-feature-copy{padding:28px!important;}}
@media (max-width:640px){.services-editorial{padding-top:48px!important;padding-bottom:26px!important;}
.services-intro{padding-bottom:24px!important;}
.service-feature, .service-feature.reverse{display:flex!important;flex-direction:column!important;margin-bottom:18px!important;}
.service-feature-photo, .service-feature.reverse .service-feature-photo{order:0!important;width:100%!important;min-height:0!important;height:auto!important;aspect-ratio:4/3!important;}
.service-feature-photo img{height:100%!important;min-height:0!important;aspect-ratio:4/3!important;object-fit:cover!important;}
.service-feature-copy, .service-feature.reverse .service-feature-copy{order:1!important;padding:25px 22px 28px!important;max-width:none!important;}
.service-feature-copy h3{font-size:1.7rem!important;}
.service-feature-copy p{font-size:.94rem!important;line-height:1.72!important;}}
@media (prefers-reduced-motion:reduce){.service-feature, .service-feature-photo img, .service-feature-copy .text-link{transition:none!important;}}
.section-head{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)!important;column-gap:clamp(32px,5vw,76px)!important;align-items:end!important;margin-bottom:34px!important;}
.section-head h2{max-width:600px!important;font-size:clamp(2rem,3.15vw,3.15rem)!important;line-height:1.08!important;letter-spacing:-.035em!important;text-wrap:balance!important;}
.section-head h2 .accent{display:inline!important;}
.section-head>p{max-width:540px!important;margin:0 0 3px!important;font-size:1rem!important;line-height:1.7!important;}
.section.area h2{max-width:540px!important;font-size:clamp(2rem,3.2vw,3.2rem)!important;line-height:1.08!important;letter-spacing:-.035em!important;}
@media (max-width:760px){.section-head{grid-template-columns:1fr!important;gap:14px!important;margin-bottom:26px!important;}
.section-head h2, .section.area h2{font-size:clamp(1.8rem,7vw,2.5rem)!important;line-height:1.1!important;}
.section-head>p{font-size:.96rem!important;}}
.hero h1{text-shadow: 0 2px 3px rgba(0,0,0,.42), 0 0 9px rgba(0,0,0,.16) !important;}
.hero h1 .accent{text-shadow: 0 2px 3px rgba(0,0,0,.38), 0 0 8px rgba(0,0,0,.14) !important;}
.hero p{text-shadow: 0 1px 3px rgba(0,0,0,.72) !important;}
.hero .eyebrow, .hero .hero-meta{text-shadow: 0 1px 2px rgba(0,0,0,.45) !important;}
.services-editorial .services-intro{width: min(1240px, calc(100% - 48px)) !important;max-width: 1240px !important;margin-left: auto !important;margin-right: auto !important;box-sizing: border-box !important;}
.services-editorial > .service-feature, .services-editorial > article.service-feature, .services-editorial .service-feature, .services-editorial .service-feature.reverse{width: min(1240px, calc(100% - 48px)) !important;max-width: 1240px !important;margin-left: auto !important;margin-right: auto !important;left: auto !important;right: auto !important;transform: none !important;box-sizing: border-box !important;}
@media (max-width: 820px){.services-editorial .services-intro, .services-editorial > .service-feature, .services-editorial > article.service-feature, .services-editorial .service-feature, .services-editorial .service-feature.reverse{width: calc(100% - 32px) !important;max-width: none !important;margin-left: auto !important;margin-right: auto !important;}}
@media (min-width: 821px){.services-editorial > .service-feature .service-feature-photo, .services-editorial .service-feature .service-feature-photo{position:relative!important;display:block!important;align-self:stretch!important;height:auto!important;min-height:100%!important;overflow:hidden!important;}}
@media (max-width: 820px){.services-editorial .service-feature-photo{position:relative!important;display:block!important;height:auto!important;min-height:0!important;overflow:hidden!important;}}
@media (min-width: 821px){.services-editorial .service-feature-photo, .services-editorial .service-feature.reverse .service-feature-photo{display: block !important;position: relative !important;align-self: stretch !important;height: auto !important;min-height: 0 !important;width: 100% !important;overflow: hidden !important;}
.services-editorial .service-feature-photo img{display: block !important;position: absolute !important;inset: 0 !important;width: 100% !important;height: 100% !important;min-height: 0 !important;aspect-ratio: auto !important;object-fit: cover !important;}
.services-editorial .service-feature.reverse .service-feature-photo{order: 2 !important;}
.services-editorial .service-feature.reverse .service-feature-copy{order: 1 !important;}}
@media (max-width: 820px){.services-editorial .service-feature, .services-editorial .service-feature.reverse{display: flex !important;flex-direction: column !important;}
.services-editorial .service-feature-photo, .services-editorial .service-feature.reverse .service-feature-photo{position: relative !important;display: block !important;width: 100% !important;height: auto !important;min-height: 0 !important;aspect-ratio: 4 / 3 !important;}
.services-editorial .service-feature-photo img{position: static !important;display: block !important;width: 100% !important;height: 100% !important;min-height: 0 !important;aspect-ratio: 4 / 3 !important;object-fit: cover !important;}}
@media (min-width: 821px){.services-editorial .service-feature, .services-editorial .service-feature.reverse{display: grid !important;grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;grid-template-rows: minmax(370px, auto) !important;align-items: stretch !important;min-height: 0 !important;height: auto !important;}
.services-editorial .service-feature > .service-feature-photo, .services-editorial .service-feature.reverse > .service-feature-photo{grid-row: 1 !important;align-self: stretch !important;display: block !important;position: relative !important;width: 100% !important;height: 100% !important;min-height: 100% !important;margin: 0 !important;padding: 0 !important;overflow: hidden !important;line-height: 0 !important;}
.services-editorial .service-feature > .service-feature-photo img, .services-editorial .service-feature.reverse > .service-feature-photo img{position: absolute !important;inset: 0 !important;display: block !important;width: 100% !important;height: 100% !important;min-height: 100% !important;max-width: none !important;margin: 0 !important;padding: 0 !important;object-fit: cover !important;aspect-ratio: auto !important;}
.services-editorial .service-feature > .service-feature-copy, .services-editorial .service-feature.reverse > .service-feature-copy{grid-row: 1 !important;min-width: 0 !important;align-self: stretch !important;display: flex !important;flex-direction: column !important;justify-content: center !important;}
.services-editorial .service-feature.reverse > .service-feature-photo{grid-column: 2 !important;order: initial !important;}
.services-editorial .service-feature.reverse > .service-feature-copy{grid-column: 1 !important;order: initial !important;}
.services-editorial .service-feature:not(.reverse) > .service-feature-photo{grid-column: 1 !important;}
.services-editorial .service-feature:not(.reverse) > .service-feature-copy{grid-column: 2 !important;}}
@media (max-width: 820px){.services-editorial .service-feature, .services-editorial .service-feature.reverse{grid-template-rows: auto !important;height: auto !important;}
.services-editorial .service-feature > .service-feature-photo, .services-editorial .service-feature.reverse > .service-feature-photo{height: auto !important;min-height: 0 !important;line-height: normal !important;}}
.reviews-section{background:transparent!important;}
.reviews-heading-rule{background:linear-gradient(90deg,transparent,rgba(216,189,122,.9),transparent)!important;}
.reviews-add{color:var(--copper2,#d8bd7a)!important;}
.reviews-add:hover{color:#f1d995!important;}
.reviews-google{border-color:rgba(216,189,122,.32)!important;}
.reviews-google:hover{background:rgba(216,189,122,.08)!important;border-color:var(--copper2,#d8bd7a)!important;}
.review-card{border-color:rgba(216,189,122,.28)!important;background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(0,0,0,.12))!important;box-shadow:none!important;}
.review-stars{color:var(--copper2,#d8bd7a)!important;}
.reviews-bottom .text-link{color:var(--copper2,#d8bd7a)!important;}
.reviews-bottom .text-link:hover{color:#f1d995!important;}
@media (max-width:560px){.reviews-section{background:transparent!important;}}
/* Poprawka responsywności menu: późniejsza reguła .navlinks nie może otwierać menu na telefonie */
@media (max-width: 900px) {
  .header .navlinks:not(.open) { display: none !important; }
  .header .navlinks.open { display: flex !important; }
  .header .mobile-toggle { display: block !important; }
  .header .nav-cta { display: none !important; }
  .header .nav { position: relative; gap: 12px; }
  .header .brand { min-width: 0; }
}
@media (min-width: 901px) {
  .header .navlinks { display: flex !important; }
  .header .mobile-toggle { display: none !important; }
}

/* Dopracowanie widoku mobilnego — nadpisania ograniczone do małych ekranów */
@media (max-width: 600px) {
  html, body { max-width: 100%; overflow-x: clip; }
  .wrap { width: calc(100% - 32px) !important; max-width: 100% !important; }
  .topbar { font-size: .68rem !important; }
  .topbar .wrap { display:flex !important; justify-content:center !important; flex-wrap:wrap !important; gap:6px 12px !important; padding:7px 0 !important; white-space:normal !important; }
  .topbar .topbar-location, .topbar a[href^="mailto:"] { display:none !important; }
  .topbar .wrap > a { max-width:100%; }
  .header .nav { min-height:76px !important; gap:10px !important; padding-top:10px !important; padding-bottom:10px !important; }
  .header .brand { flex:1 1 auto !important; min-width:0 !important; gap:8px !important; }
  .header .brand-logo { width:38px !important; height:44px !important; object-fit:contain !important; flex:0 0 38px !important; }
  .header .brand-name { font-size:.88rem !important; letter-spacing:.08em !important; }
  .header .brand-sub { font-size:.52rem !important; letter-spacing:.04em !important; }
  .header .mobile-toggle { flex:0 0 auto !important; padding:10px 11px !important; min-width:68px !important; font-size:.82rem !important; }
  .hero { min-height:0 !important; }
  .hero .wrap { width:calc(100% - 32px) !important; padding-top:44px !important; padding-bottom:34px !important; }
  .hero-content { width:100% !important; max-width:100% !important; min-width:0 !important; }
  .hero .eyebrow { font-size:.62rem !important; line-height:1.5 !important; letter-spacing:.12em !important; overflow-wrap:anywhere; }
  .hero h1 { font-size:clamp(2rem, 8.4vw, 2.55rem) !important; line-height:1.08 !important; letter-spacing:-.035em !important; }
  .hero-content > p { font-size:.94rem !important; line-height:1.65 !important; }
  .hero-meta { display:flex !important; flex-wrap:wrap !important; gap:6px 9px !important; font-size:.61rem !important; line-height:1.5 !important; letter-spacing:.1em !important; margin:20px 0 24px !important; }
  
  .hero-actions { gap:10px !important; }
  .hero-actions .btn { min-height:46px !important; padding:13px 12px !important; font-size:.76rem !important; text-align:center !important; white-space:normal !important; }
  .trustline { padding-bottom:76px !important; }
  .mobile-bottom { display:grid !important; padding:8px max(8px, env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left)) !important; }
  .mobile-bottom .btn { min-height:44px !important; font-size:.72rem !important; }
  .services-editorial .services-intro, .services-editorial .service-feature, .services-editorial .service-feature.reverse, main .section, .cta-band { min-width:0 !important; }
  .services-editorial .services-intro, .services-editorial .service-feature, .services-editorial .service-feature.reverse { width:calc(100% - 32px) !important; }
  .footer-grid { grid-template-columns:1fr !important; gap:28px !important; }
  .footer-bottom { flex-wrap:wrap !important; gap:8px !important; }
}
@media (max-width: 380px) {
  .header .brand-name { font-size:.78rem !important; }
  .header .brand-sub { font-size:.47rem !important; }
  .hero h1 { font-size:2rem !important; }
  
}


/* V11: menu w kolorystyce Perfect Interior + lokalizacja obok telefonu */
@media (max-width: 900px) {
  .header .navlinks {
    background: linear-gradient(145deg, rgba(27,25,22,.985), rgba(43,36,27,.985)) !important;
    border-top: 1px solid rgba(216,189,122,.28) !important;
    border-bottom: 1px solid rgba(216,189,122,.42) !important;
    box-shadow: 0 16px 28px rgba(0,0,0,.32) !important;
  }
  .header .navlinks a { color: #f4eee2 !important; }
  .header .navlinks a:hover,
  .header .navlinks a:focus-visible { color: #e2c783 !important; }
  .header .mobile-toggle {
    border-color: rgba(216,189,122,.48) !important;
    background: rgba(216,189,122,.07) !important;
    color: #f4eee2 !important;
  }
}
@media (max-width: 600px) {
  .topbar .topbar-location {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    order: 1 !important;
    white-space: nowrap !important;
    color: #e5d4ad !important;
  }
  .topbar a[href^="tel:"] { order: 2 !important; }
  .topbar a[href*="wa.me"] { order: 3 !important; }
  .topbar .wrap { gap: 5px 10px !important; }
  .topbar .location-flag { width: 20px !important; height: 13px !important; flex-basis: 20px !important; }
}


/* V12: neutralne menu mobilne i usunięcie „przyklejonego” hovera na przycisku */
@media (max-width: 900px) {
  .header .navlinks {
    background: #101820 !important;
    border-top: 1px solid rgba(255,255,255,.12) !important;
    border-bottom: 1px solid rgba(255,255,255,.16) !important;
    box-shadow: 0 16px 28px rgba(0,0,0,.38) !important;
  }
  .header .navlinks a { color: #f3f4f5 !important; }
  .header .navlinks a:hover,
  .header .navlinks a:focus-visible { color: #ffffff !important; }
  .header .mobile-toggle {
    border-color: rgba(255,255,255,.24) !important;
    background: rgba(255,255,255,.035) !important;
    color: #f3f4f5 !important;
  }
}
@media (max-width: 600px) {
  .hero-actions .btn-outline,
  .cta-band .hero-actions .btn-outline {
    background: rgba(7,17,28,.72) !important;
    border-color: rgba(255,255,255,.42) !important;
    color: #f3f4f5 !important;
    box-shadow: none !important;
    transform: none !important;
  }
  .hero-actions .btn-outline:hover,
  .hero-actions .btn-outline:active,
  .hero-actions .btn-outline:focus-visible,
  .cta-band .hero-actions .btn-outline:hover,
  .cta-band .hero-actions .btn-outline:active,
  .cta-band .hero-actions .btn-outline:focus-visible {
    background: rgba(7,17,28,.72) !important;
    border-color: rgba(255,255,255,.42) !important;
    color: #f3f4f5 !important;
    box-shadow: none !important;
    transform: none !important;
  }
}


/* V13: neutralna szarość menu i biały napis Gniezno */
@media (max-width: 900px) {
  .header .navlinks {
    background: linear-gradient(145deg, #25282b, #34383c) !important;
    border-top: 1px solid rgba(255,255,255,.16) !important;
    border-bottom: 1px solid rgba(255,255,255,.2) !important;
    box-shadow: 0 16px 28px rgba(0,0,0,.34) !important;
  }
  .header .navlinks a { color: #f5f5f5 !important; }
  .header .navlinks a:hover,
  .header .navlinks a:focus-visible { color: #ffffff !important; background: rgba(255,255,255,.07) !important; }
}
@media (max-width: 600px) {
  .topbar .topbar-location { color: #ffffff !important; }
}


/* Poprawki sekcji „Wykończenia dekoracyjne” na telefonach */
@media (max-width: 600px) {
  .decorative { padding-top: 48px !important; padding-bottom: 48px !important; overflow: hidden !important; }
  .decorative > .wrap { width: calc(100% - 32px) !important; max-width: 100% !important; }
  .decorative .section-head { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; gap: 14px !important; align-items: start !important; margin-bottom: 24px !important; }
  .decorative .section-head > div { min-width: 0 !important; }
  .decorative .section-head h2 { max-width: 100% !important; margin: 10px 0 0 !important; font-size: clamp(1.8rem, 7vw, 2.35rem) !important; line-height: 1.08 !important; overflow-wrap: normal !important; }
  .decorative .section-head > p { max-width: 100% !important; width: auto !important; margin: 0 !important; font-size: .96rem !important; line-height: 1.65 !important; }
  .decorative .decor-grid { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; width: 100% !important; gap: 12px !important; }
  .decorative .decor-item { width: 100% !important; min-width: 0 !important; min-height: 0 !important; padding: 18px !important; }
  .decorative .decor-item h3 { font-size: 1.08rem !important; line-height: 1.3 !important; margin-bottom: 8px !important; overflow-wrap: anywhere !important; }
  .decorative .decor-item p { font-size: .9rem !important; line-height: 1.6 !important; }
}


/* V15: uporządkowanie układów wielokolumnowych na telefonach */
@media (max-width: 600px) {
  #opinie .reviews-heading { gap: 12px !important; }
  #opinie .reviews-title-row { flex-wrap: wrap !important; justify-content: center !important; gap: 12px !important; }
  #opinie .reviews-grid { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; gap: 14px !important; width: 100% !important; }
  #opinie .review-card { width: 100% !important; min-width: 0 !important; box-sizing: border-box !important; padding: 18px !important; }
  #opinie .review-card p { overflow-wrap: anywhere; }
  main section .why-grid { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; gap: 12px !important; width: 100% !important; }
  main section .why-card { width: 100% !important; min-width: 0 !important; box-sizing: border-box !important; padding: 18px !important; }
  main section.area .area-grid, main .area .area-grid { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; gap: 28px !important; align-items: start !important; }
  main section.area .area-grid > *, main .area .area-grid > * { min-width: 0 !important; width: 100% !important; box-sizing: border-box !important; }
  main section.area .towns, main .area .towns { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; }
  main section.area .towns a, main .area .towns a { max-width: 100% !important; }
  #kontakt .wrap { display: flex !important; flex-direction: column !important; align-items: flex-start !important; gap: 16px !important; }
  #kontakt .hero-actions { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; width: 100% !important; gap: 10px !important; }
  #kontakt .hero-actions .btn { width: 100% !important; box-sizing: border-box !important; justify-content: center !important; text-align: center !important; white-space: normal !important; }
}


/* Opinie: mniejsze, jednakowe karty i rozwijanie dłuższej treści */
#opinie .reviews-grid{align-items:stretch!important;}
#opinie .review-card{height:286px!important;min-height:286px!important;padding:18px!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;}
#opinie .review-card blockquote{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden!important;flex:0 1 auto!important;min-height:0!important;margin:0 0 8px!important;font-size:.9rem!important;line-height:1.55!important;}
#opinie .review-card blockquote.is-expanded{display:block!important;-webkit-line-clamp:unset!important;max-height:142px!important;overflow-y:auto!important;padding-right:4px!important;}
#opinie .review-more{align-self:flex-start;flex:0 0 auto;border:0;background:transparent;color:#d8bd7a;font:600 .76rem/1.3 inherit;cursor:pointer;padding:3px 0 8px;text-decoration:underline;text-underline-offset:3px;}
#opinie .review-more:hover,#opinie .review-more:focus-visible{color:#fff!important;outline:2px solid rgba(216,189,122,.55);outline-offset:3px;}
#opinie .review-author{margin-top:auto!important;padding-top:10px!important;font-size:.82rem!important;}
@media(max-width:900px){#opinie .review-card{height:260px!important;min-height:260px!important;padding:17px!important;}#opinie .review-card blockquote.is-expanded{max-height:120px!important;}}
@media(max-width:560px){#opinie .review-card{height:252px!important;min-height:252px!important;padding:16px!important;}#opinie .review-card blockquote{font-size:.88rem!important;line-height:1.5!important;-webkit-line-clamp:5;}#opinie .review-author{font-size:.8rem!important;}}

/* Opinie: ukrywaj „Pokaż więcej”, jeśli pełna treść mieści się w podglądzie. */
#opinie .review-more[hidden]{display:none!important;}

/* V16: właściwy poziomy slider opinii — 3 karty na desktopie, 1 na telefonie */
#opinie .reviews-carousel {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  width: 100% !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
}
#opinie .reviews-viewport {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  overflow: hidden !important;
  padding: 2px 0 !important;
}
#opinie .reviews-grid {
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: stretch !important;
  gap: 18px !important;
  width: 100% !important;
  transition: transform .42s cubic-bezier(.22,.7,.2,1) !important;
  will-change: transform;
}
#opinie .review-card {
  flex: 0 0 calc((100% - 36px) / 3) !important;
  width: calc((100% - 36px) / 3) !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
#opinie .reviews-arrow {
  position: relative !important;
  z-index: 2 !important;
  flex: 0 0 42px !important;
  width: 42px !important;
  height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid rgba(216,189,122,.65) !important;
  border-radius: 50% !important;
  background: linear-gradient(145deg,rgba(216,189,122,.13),rgba(0,0,0,.35)) !important;
  color: #e0c27a !important;
  font: 400 27px/1 Arial,sans-serif !important;
  box-shadow: 0 4px 16px rgba(0,0,0,.18) !important;
  cursor: pointer !important;
  transition: background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease !important;
}
#opinie .reviews-arrow:hover:not(:disabled),
#opinie .reviews-arrow:focus-visible {
  background: #d8bd7a !important;
  color: #151515 !important;
  border-color: #f0d99b !important;
  transform: translateY(-1px) !important;
  outline: none !important;
}
#opinie .reviews-arrow:disabled { opacity: .28 !important; cursor: default !important; box-shadow: none !important; }
#opinie .reviews-pagination {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  margin: 18px auto 0 !important;
}
#opinie .reviews-dot {
  width: 7px !important;
  height: 7px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 99px !important;
  background: rgba(255,255,255,.32) !important;
  cursor: pointer !important;
  transition: width .22s ease,background .22s ease,transform .22s ease !important;
}
#opinie .reviews-dot[aria-current="true"] { width: 22px !important; background: #d8bd7a !important; }
#opinie .reviews-dot:hover { transform: scale(1.12) !important; }
@media (max-width: 900px) {
  #opinie .reviews-carousel { gap: 10px !important; }
  #opinie .reviews-grid { display: flex !important; flex-flow: row nowrap !important; gap: 14px !important; }
  #opinie .review-card { flex: 0 0 100% !important; width: 100% !important; }
  #opinie .reviews-arrow { flex-basis: 34px !important; width: 34px !important; height: 34px !important; font-size: 23px !important; }
}
@media (max-width: 560px) {
  #opinie .reviews-section { overflow: hidden !important; }
  #opinie .reviews-carousel { gap: 7px !important; }
  #opinie .reviews-grid { gap: 12px !important; }
  #opinie .review-card { flex-basis: 100% !important; width: 100% !important; }
  #opinie .reviews-arrow { flex-basis: 30px !important; width: 30px !important; height: 30px !important; font-size: 21px !important; }
  #opinie .reviews-pagination { gap: 6px !important; margin-top: 15px !important; }
}


/* Poprawka: czytelny przycisk „Poznaj nasze usługi” także po najechaniu */
.hero-actions .btn-outline,
.hero-actions .btn-outline:visited {
  background: #d8bd7a !important;
  border-color: #d8bd7a !important;
  color: #151515 !important;
  text-shadow: none !important;
}
.hero-actions .btn-outline:hover,
.hero-actions .btn-outline:active,
.hero-actions .btn-outline:focus-visible {
  background: #f0d99b !important;
  border-color: #f0d99b !important;
  color: #111111 !important;
  text-shadow: none !important;
  box-shadow: 0 0 0 2px rgba(216, 189, 122, .22) !important;
  transform: translateY(-1px);
}


/* Responsywne zdjęcie hero: mniejszy plik na telefonach */
@media (max-width: 767px) {
  .hero-photo {
    background-image: url("images/hero-kuchnia-perfectinterior-mobile.jpg") !important;
  }
}

/* Performance fix: discover the hero image in HTML and avoid duplicate CSS background requests. */
.hero-photo {
  background-image: none !important;
  overflow: hidden;
}
.hero-photo .hero-photo-img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 57% center;
}
@media (max-width: 600px) {
  .hero-photo .hero-photo-img {
    object-position: 58% center;
  }
}


/* PageSpeed: hero image is loaded from the responsive HTML <img>, not a second CSS background. */
.hero-photo { background-image: none !important; }
.hero { background-image: none !important; }
