@font-face{font-family:"DM Sans";font-style:normal;font-weight:400 700;font-display:swap;src:url("/dm-sans-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:400 700;font-display:swap;src:url("/dm-sans-latin.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:500 700;font-display:swap;src:url("/space-grotesk-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:500 700;font-display:swap;src:url("/space-grotesk-latin.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
    :root{font-family:"DM Sans",sans-serif;color:#182124;background:#f4f5f1;font-size:16px;scroll-behavior:smooth}
    *{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit}
    .wrap{width:min(1220px,calc(100% - 48px));margin:auto}
    .top{background:#12191b;color:#d6dfdb;font-size:.875rem}.top .wrap{display:flex;justify-content:space-between;gap:24px;padding:9px 0}.top a{font-weight:700;color:#fff}
    header{background:#f4f5f1;position:relative;z-index:4}.nav{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:20px}
    .logo{display:flex;align-items:center}.logo img{display:block;width:190px;height:auto}
    nav{display:flex;align-items:center;gap:22px;font-weight:600;font-size:.9rem}nav a:hover,.footer a:hover{color:#237f52}
    .navcall,.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:15px 22px;border-radius:6px;background:#237f52;color:#fff;font-weight:700;white-space:nowrap;transition:transform .2s,filter .2s}.navcall:hover,.button:hover{background:#237f52;filter:brightness(1.12);transform:translateY(-2px)}
    .hero{background:#12191b;color:#fff;position:relative;isolation:isolate;overflow:hidden;min-height:640px;display:flex;align-items:center}
    .hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#12191b 0%,#12191b 28%,rgba(18,25,27,.88) 47%,rgba(18,25,27,.18) 100%),url('glowne-zdjecie-kontener.webp') center right/cover no-repeat;z-index:-1}
    .hero .wrap{padding:88px 0 100px}.eyebrow{display:flex;align-items:center;gap:11px;color:#237f52;font-size:.8rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.eyebrow:before{content:"";width:26px;height:2px;background:currentColor}
    h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:"Space Grotesk",sans-serif;letter-spacing:-.055em}h1{font-size:clamp(3.15rem,6vw,6rem);line-height:1.02;max-width:780px;margin:25px 0 25px}h1 span{color:#237f52}
    .lead{font-size:1.15rem;line-height:1.6;color:#dae1df;max-width:550px;margin-bottom:32px}.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.hero-actions .secondary{font-weight:700;border-bottom:1px solid #aab5b2;padding:12px 0}
    .facts{background:#237f52;color:#fff}.facts .wrap{display:grid;grid-template-columns:repeat(3,1fr)}.fact{padding:25px 30px;border-right:1px solid rgba(255,255,255,.3);display:flex;gap:16px;align-items:center}.fact:first-child{padding-left:0}.fact:last-child{border:0}.fact strong{font-family:"Space Grotesk",sans-serif;font-size:1.7rem;letter-spacing:-.06em}.fact span{font-size:.875rem;line-height:1.3;font-weight:600}
    section{padding:100px 0}.section-intro{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:38px}.section-intro h2{font-size:clamp(2.5rem,4.5vw,4.3rem);line-height:1.05;max-width:700px;margin:15px 0 0}.section-intro p{max-width:360px;line-height:1.6;color:#566163;margin:0}
    .services{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.card{background:#fff;border:1px solid #e1e5e1;min-height:275px;padding:31px;display:flex;flex-direction:column;align-items:flex-start;transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-4px);box-shadow:0 16px 35px #17212414}.service-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;flex:0 0 56px;border-radius:12px;color:#fff;background:#237f52;margin-bottom:24px}.service-icon svg{display:block;width:30px;height:30px}.card h3{font-size:1.55rem;line-height:1.15;margin:auto 0 12px}.card p{color:#576365;line-height:1.55;margin:0}
    .gallery{background:#f1f2f0}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.gallery figure{margin:0;background:#fff;overflow:hidden}.gallery img{display:block;width:100%;height:210px;object-fit:cover}.gallery figcaption{padding:15px 17px;color:#354345;font-size:.9rem;font-weight:600}
    .gallery figure:first-child{grid-column:span 2;grid-row:span 2}.gallery figure:first-child img{height:calc(420px + 52px)}
    .dark{background:#1b2527;color:#fff}.dark .section-intro p{color:#c2cfcc}.process{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:52px}.step{border-top:1px solid #697475;padding-top:23px}.step .service-icon{color:#fff;background:#237f52;border:1px solid #237f52;margin-bottom:0}.step h3{font-size:1.55rem;margin:28px 0 10px}.step p{line-height:1.6;color:#c5cfcc;max-width:340px}
    .area{display:grid;grid-template-columns:1fr 1.15fr;gap:64px;align-items:center}.area h2{font-size:clamp(2.5rem,4.5vw,4.3rem);line-height:1.07;margin:18px 0}.area p{line-height:1.7;color:#566163;font-size:1.05rem}.mapbox{min-height:480px;position:relative;overflow:hidden;border:1px solid #d7dcd8;background:#e9ece8;box-shadow:0 18px 45px #1721241a}.map-area{position:absolute;z-index:1;left:18px;right:18px;bottom:18px;padding:18px 20px;background:#12191bea;color:#fff;backdrop-filter:blur(7px);border-left:5px solid #237f52}.map-area strong{display:block;font-family:"Space Grotesk";font-size:1.15rem;margin-bottom:8px}.map-area span{display:block;color:#d6dfdb;font-size:.9rem;line-height:1.45}.map-area a{display:inline-block;margin-top:10px;color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:3px}
    .faq{background:#f1f2f0}.faq-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.faq article{background:#fff;padding:28px;border-top:4px solid #237f52}.faq h3{font-size:1.35rem;line-height:1.2;margin:0 0 14px}.faq p{line-height:1.6;color:#566163;margin:0}
    .reviews{background:#12191b;color:#fff}.reviews .section-intro p{color:#c2cfcc}.rating-summary{display:flex;align-items:center;gap:20px;margin:0 0 34px}.rating-score{font-family:"Space Grotesk",sans-serif;font-size:3.4rem;font-weight:700;line-height:1}.stars{color:#237f52;font-size:1.35rem;letter-spacing:.12em}.rating-meta{color:#c2cfcc;margin-top:5px}.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.review-card{background:#fff;color:#182124;padding:28px;border-top:4px solid #237f52}.review-card blockquote{font-size:1.12rem;line-height:1.55;margin:0 0 22px}.review-card footer{font-weight:700}.reviews-actions{margin-top:30px}.reviews-link{display:inline-block;background:#237f52;color:#fff;padding:15px 22px;font-weight:700}.reviews-link:hover{background:#fff;color:#182124}
    .contact{background:#237f52;color:#fff;padding:72px 0}.contact .wrap{display:flex;justify-content:space-between;align-items:center;gap:40px}.contact h2{font-size:clamp(2.3rem,4vw,4rem);line-height:1.08;margin:0 0 12px}.contact p{margin:0;font-size:1.05rem}.contact .button{background:#172124;color:#fff;font-size:1.3rem;padding:20px 28px}.contact .button:hover{background:#354347}
    .company-details{background:#fff;padding:62px 0}.company-details h2{font-size:clamp(2rem,3.5vw,3rem);margin-bottom:24px}.company-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.company-grid div{border-top:2px solid #237f52;padding-top:18px}.company-grid strong{display:block;font-size:.875rem;margin-bottom:9px;color:#566163}.company-grid a{font-weight:700;text-decoration:underline;text-underline-offset:3px}.company-grid p{line-height:1.5;margin:0}
    .footer{background:#12191b;color:#d2dcda;padding:42px 0}.footer .wrap{display:flex;justify-content:space-between;gap:30px;align-items:center;flex-wrap:wrap}.footer .logo img{filter:brightness(0) invert(1)}.footer small{font-size:.85rem;color:#aab6b2}.footer a{font-size:.9rem}
    @media(max-width:850px){nav{display:none}.hero{min-height:590px}.hero:before{background:linear-gradient(90deg,#12191b 0%,rgba(18,25,27,.9) 52%,rgba(18,25,27,.45) 100%),url('glowne-zdjecie-kontener.webp') center/cover}.services,.faq-grid,.gallery-grid{grid-template-columns:repeat(2,1fr)}.area{gap:35px}.fact{padding:22px 16px}}
    @media(max-width:600px){.wrap{width:min(100% - 36px,1220px)}.top .wrap span:nth-child(2){display:none}.nav{min-height:72px}.logo{font-size:1.5rem}.mark{width:34px;height:34px}.navcall{font-size:.85rem;padding:11px 12px}.hero{min-height:620px;align-items:end}.hero:before{background:linear-gradient(0deg,#12191b 4%,rgba(18,25,27,.93) 33%,rgba(18,25,27,.45) 100%),url('glowne-zdjecie-kontener-768.webp') center top/cover}.hero .wrap{padding:200px 0 45px}h1{font-size:clamp(3rem,13vw,4.4rem)}.lead{font-size:1rem}.facts .wrap{grid-template-columns:1fr}.fact,.fact:first-child{padding:15px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.3)}.fact:last-child{border:0}.fact strong{min-width:90px}section{padding:70px 0}.section-intro{display:block}.section-intro p{margin-top:20px}.services,.process,.area,.faq-grid,.reviews-grid,.company-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:8px}.gallery figure:first-child{grid-column:span 2;grid-row:auto}.gallery figure:first-child img{height:270px}.gallery img{height:150px}.gallery figcaption{padding:10px;font-size:.8rem}.card{min-height:235px}.process{gap:10px}.step{padding-bottom:15px}.rating-summary{align-items:flex-start}.contact .wrap{display:block}.contact .button{margin-top:28px;font-size:1.05rem}.footer .wrap{display:block}.footer small{display:block;margin:18px 0}}
    @media(max-width:600px){.logo img{width:145px}}
    [id]{scroll-margin-top:24px}a:focus-visible{outline:3px solid currentColor;outline-offset:5px}
    .hero-links{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:26px;font-size:.95rem}.hero-links a{text-decoration:underline;text-underline-offset:5px}.hero-note{font-size:.875rem;color:#dae1df;margin:22px 0 0}
    .text-link{display:block;color:#237f52;font-weight:700;line-height:1.5;margin-top:22px;text-decoration:underline;text-underline-offset:4px}.card h3{margin:0 0 12px}
    .quote-section{background:#fff;border-top:1px solid #e1e5e1}.quote-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:start}.quote-section h2{font-size:clamp(2.3rem,4vw,3.8rem);line-height:1.08;margin:18px 0 24px}.quote-section p{line-height:1.65;color:#566163}.quote-section .button{margin-top:6px;white-space:normal;text-align:center}.quote-email{display:block;margin-top:20px;color:#237f52;font-weight:700;text-decoration:underline;text-underline-offset:4px}.quote-details{padding:32px;background:#f1f2f0;border-top:4px solid #237f52}.quote-details h3{font-size:1.65rem;margin:0 0 20px}.quote-details dl{margin:0}.quote-details dl>div{padding:16px 0;border-top:1px solid #d7dcd8}.quote-details dt{font-weight:700;margin-bottom:5px}.quote-details dd{margin:0;color:#566163;line-height:1.6}.quote-details p{font-size:.875rem;margin:16px 0 0}.area-services{border-top:1px solid #d7dcd8;padding-top:22px}.area-services h3{font-size:1.25rem;letter-spacing:-.025em;margin:0 0 6px}.area-services p{font-size:1rem;margin:0 0 20px}.faq a{text-decoration:underline;text-underline-offset:3px;color:#237f52}
    .mobile-contact{display:none}
    @media(max-width:1000px){nav{gap:14px}.nav{gap:14px}.logo img{width:160px}.navcall{padding:13px 16px}}
    @media(max-width:850px){.quote-layout{gap:28px}.reviews-grid{grid-template-columns:1fr}}
    @media(max-width:600px){html{scroll-padding-bottom:100px}body{padding-bottom:calc(88px + env(safe-area-inset-bottom))}.hero{min-height:0;align-items:center}.hero .wrap{padding:56px 0 48px}h1{font-size:clamp(2.4rem,10vw,3.5rem);overflow-wrap:break-word}.hero-actions{gap:12px}.hero-actions .button{font-size:.95rem;padding:15px 16px;white-space:normal}.hero-links{gap:14px 20px}.quote-layout{grid-template-columns:1fr}.quote-details{padding:24px}.quote-email,.company-grid a{overflow-wrap:anywhere}.mobile-contact{position:fixed;z-index:10;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:12px;align-items:center;background:#fff;border-top:1px solid #d7dcd8;padding:12px 18px calc(12px + env(safe-area-inset-bottom));box-shadow:0 -4px 24px #12191b14}.mobile-contact .button{flex:1;min-width:0;white-space:normal;text-align:center;padding:14px 12px;font-size:1rem}.mobile-contact>a:last-child{flex-shrink:0;font-weight:700;color:#237f52;text-decoration:underline;text-underline-offset:4px;font-size:.95rem}}
    @media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*{transition:none!important}}

/* Accessible controls and self-hosted typography. */
[hidden]{display:none!important}
button{cursor:pointer}
button:focus-visible,summary:focus-visible{outline:3px solid currentColor;outline-offset:5px}
.skip-link{position:fixed;left:16px;top:-100px;z-index:30;background:#fff;color:#182124;padding:14px 20px;font-weight:700}
.skip-link:focus{top:12px}
.hero .eyebrow,.dark .eyebrow,.reviews .eyebrow{color:#fff;font-size:.875rem}
.menu-toggle{display:none;border:1px solid #237f52;border-radius:6px;background:transparent;color:#182124;padding:12px 14px;min-height:44px;font-weight:700}
.mapbox{min-height:480px}
.map-placeholder{padding:32px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:480px}
.map-caption{color:#237f52;font-weight:700;font-size:.875rem;letter-spacing:.08em}
.map-placeholder h3{font-size:2rem;margin:16px 0}
.map-placeholder p{font-size:1rem;line-height:1.6;margin:0 0 18px}
.map-placeholder .map-privacy{font-size:.875rem}
.map-placeholder .button{border:0;white-space:normal;text-align:center;line-height:1.5}
.map-placeholder .text-link{margin-top:20px}
.privacy-link{margin-top:18px;font-size:.875rem;text-decoration:underline;text-underline-offset:3px}
#map-frame iframe{display:block;width:100%;height:480px;border:0}
.map-close{position:absolute;left:16px;bottom:16px;border:1px solid #237f52;border-radius:6px;background:#fff;color:#182124;padding:12px 16px;font-weight:700;min-height:44px}
.reviews-note{color:#c2cfcc;line-height:1.6;max-width:760px;margin-bottom:30px}
.legal{max-width:850px;margin:auto;padding:60px 24px 80px}
.legal h1{font-size:clamp(2.4rem,5vw,3.8rem);line-height:1.1;margin:28px 0}
.legal h2{font-size:1.6rem;letter-spacing:-.025em;margin:32px 0 14px}
.legal p,.legal li{line-height:1.75}
.legal li+li{margin-top:8px}
.legal a:not(.button){text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.legal .updated{color:#566163;font-size:.875rem}
.error-page{min-height:70vh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.error-code{font-size:1rem;color:#237f52;font-weight:700}
@media(max-width:850px){
 .nav{flex-wrap:wrap;padding-top:14px;padding-bottom:14px}
 .nav>.logo{margin-right:auto}
 .menu-toggle{display:inline-flex;align-items:center;gap:8px}
 nav{display:flex;order:4;flex-basis:100%;flex-wrap:wrap;gap:0;border-top:1px solid #d7dcd8;padding-top:10px}
 nav a{display:block;padding:14px 12px;min-height:44px}
 .menu-ready nav:not(.is-open){display:none}
 .map-placeholder{padding:24px}
}
@media(max-width:600px){
 .logo img{width:135px}
 .nav{gap:10px}
 .navcall{font-size:.875rem;padding:12px}
 .menu-toggle{padding:10px 12px}
 nav{flex-direction:column;align-items:stretch}
 .mapbox,.map-placeholder{min-height:390px;height:auto}
 #map-frame iframe{height:420px}
 .map-placeholder .text-link{overflow-wrap:anywhere}
 .legal{padding-top:32px}
}
@media(max-width:370px){.navcall{order:3;flex-basis:100%}}
