section{margin:var(--gap-section) 0}
ul,ol{padding-left:1.25rem;margin:0 0 1em}
ul li,ol li{margin-bottom:.4rem}

.breadcrumbs{margin:1rem 0 0}
.breadcrumbs ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.3rem;font-size:.86rem;color:var(--c-muted)}
.breadcrumbs li:not(:last-child)::after{content:"/";margin-left:.3rem;color:var(--c-line-2)}
.breadcrumbs a{color:var(--c-muted);text-decoration:none;border-bottom:1px solid transparent}
.breadcrumbs a:hover{color:var(--c-accent);border-bottom-color:var(--c-accent)}
.breadcrumbs [aria-current]{color:var(--c-ink);font-weight:500}

.service-grid{display:grid;gap:0;border-top:1px solid var(--c-line)}
.service-card{display:grid;grid-template-columns:auto 1fr;column-gap:1.5rem;row-gap:.4rem;padding:2rem 0;border-bottom:1px solid var(--c-line);transition:padding-left .15s ease}
.service-card:hover{padding-left:.5rem}
.service-num{font-size:.78rem;letter-spacing:.18em;color:var(--c-muted);font-weight:600;font-variant-numeric:tabular-nums;padding-top:.4rem;min-width:2.5rem}
.service-body h3{margin:0 0 .35rem;font-size:1.35rem;font-weight:700;letter-spacing:-.015em}
.service-body h3 a{color:var(--c-ink);text-decoration:none;border:none}
.service-card:hover h3 a{color:var(--c-accent)}
.service-body p{margin:0;color:var(--c-muted);font-size:1rem;line-height:1.6}
.service-body .more{display:inline-block;margin-top:.6rem;color:var(--c-accent);font-size:.92rem;font-weight:600;text-decoration:none;border:none}
.service-body .more::after{content:" →";transition:transform .15s}
.service-card:hover .service-body .more::after{transform:translateX(3px)}
@media (min-width:720px){
  .service-grid{grid-template-columns:repeat(2,1fr);column-gap:3rem}
  .service-card{padding:2rem 0}
}

.pricing-table{width:100%;border-collapse:collapse;margin:1.25rem 0;font-size:1rem}
.pricing-table th,.pricing-table td{padding:.85rem 0;text-align:left;border-bottom:1px solid var(--c-line);font-variant-numeric:tabular-nums}
.pricing-table thead th{border-bottom:2px solid var(--c-ink);font-weight:700;color:var(--c-ink);font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;padding-bottom:.65rem}
.pricing-table tbody tr:last-child td{border-bottom:1px solid var(--c-line)}
.pricing-table .price{font-weight:700;color:var(--c-ink);white-space:nowrap;text-align:right}
.pricing-table tbody th{font-weight:500;color:var(--c-muted)}

.features-cols{display:grid;gap:.5rem 2rem;grid-template-columns:1fr;margin:1.25rem 0}
@media (min-width:640px){.features-cols{grid-template-columns:repeat(2,1fr)}}
.feature-item{padding:1rem 0;border-bottom:1px solid var(--c-line)}
.feature-item h3{margin:0 0 .25rem;font-size:1.05rem;font-weight:700}
.feature-item p{margin:0;color:var(--c-muted);font-size:.95rem;line-height:1.55}

.faq{border-bottom:1px solid var(--c-line);margin:0;background:transparent}
.faq summary{padding:1.15rem 0;cursor:pointer;font-weight:600;color:var(--c-ink);list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:1.02rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.3rem;line-height:1;color:var(--c-accent);font-weight:300;transition:transform .2s;flex-shrink:0}
.faq[open] summary::after{transform:rotate(45deg)}
.faq-answer{padding:0 0 1.15rem;color:var(--c-ink-2)}
.faq-answer p{margin:0;line-height:1.65;max-width:65ch}

.cta-block{background:var(--c-ink);color:#fff;padding:2.5rem 2rem;margin:var(--gap-section) 0 1.5rem;border-radius:0;position:relative}
.cta-block h2{color:#fff;margin-top:0;font-size:1.5rem}
.cta-block p{color:#c4ccd6;margin-bottom:1.25rem}
.cta-buttons{display:flex;flex-wrap:wrap;gap:.65rem;margin:1.1rem 0 .9rem}
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.35rem;border-radius:4px;text-decoration:none;font-weight:600;transition:transform .12s,background .12s;font-size:.98rem;border:none;line-height:1}
.btn-primary{background:var(--c-accent);color:#fff}
.btn-primary:hover{background:#a84500;color:#fff}
.btn-secondary{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.35)}
.btn-secondary:hover{background:rgba(255,255,255,.1);border-color:#fff;color:#fff}
.cta-address{color:#9ba6b5;font-size:.86rem;margin-top:.5rem;margin-bottom:0}

.site-footer{background:#06121f;color:#a5b3c4;margin-top:var(--gap-section);padding:3.5rem 0 1.25rem}
.site-footer h2{color:#fff;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:.95rem;font-weight:700}
.site-footer a{color:#cdd6e3;text-decoration:none}
.site-footer a:hover{color:var(--c-accent);text-decoration:underline}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer ul li{margin-bottom:.45rem;font-size:.93rem}
.site-footer address{font-style:normal;line-height:1.7;font-size:.93rem;color:#a5b3c4}
.site-footer address a{color:#fff;font-weight:500}
.footer-grid{display:grid;gap:2.25rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.footer-legal{border-top:1px solid rgba(255,255,255,.08);margin-top:2.5rem;padding-top:1.25rem;font-size:.8rem;color:#7e8a99}

.map-embed{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;margin:1.5rem 0;background:var(--c-bg-tint)}
.map-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}
.map-placeholder{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.45rem;padding:2rem;cursor:pointer;text-align:center;background:var(--c-bg-tint);color:var(--c-ink);font-weight:600;font-size:.95rem;transition:background .15s;border:1px solid var(--c-line)}
.map-placeholder:hover{background:#eef0f4}
.map-placeholder small{color:var(--c-muted);font-weight:400;font-size:.8rem}

.callout{background:var(--c-accent-soft);border-left:3px solid var(--c-accent);padding:1.1rem 1.4rem;margin:1.75rem 0;border-radius:0}
.callout strong{color:var(--c-accent)}
.callout p{margin:0}
.savings{color:var(--c-success);font-weight:700;font-variant-numeric:tabular-nums}

.tag{display:inline-block;background:var(--c-bg-tint);color:var(--c-muted);padding:.2rem .65rem;border-radius:99px;font-size:.78rem;font-weight:500}
.price-note{font-size:.85rem;color:var(--c-muted);font-style:italic;margin-top:.65rem}

.related{margin:var(--gap-section) 0 0;padding-top:2rem;border-top:1px solid var(--c-line)}
.related h2{margin-top:0;font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;color:var(--c-muted);font-weight:700}
.related-list{list-style:none;padding:0;margin:.5rem 0;display:grid;gap:0;grid-template-columns:1fr}
.related-list li{margin:0}
.related-list a{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.95rem 0;border-bottom:1px solid var(--c-line);color:var(--c-ink);text-decoration:none;font-weight:600;font-size:1rem;transition:padding-left .12s,color .12s}
.related-list a:hover{padding-left:.4rem;color:var(--c-accent)}
.related-list a::after{content:"→";color:var(--c-accent);font-weight:400;flex-shrink:0;opacity:.6;transition:opacity .12s}
.related-list a:hover::after{opacity:1}
.rel-title{flex:1;min-width:0}
.rel-note{color:var(--c-muted);font-weight:400;font-size:.88rem}
@media (min-width:720px){.related-list{grid-template-columns:repeat(2,1fr);column-gap:3rem}}

ol li{margin-bottom:.55rem;line-height:1.55}

@media (max-width:879px){
  h1{font-size:2rem}
  .header-phone .phone-number-text{display:none}
  .header-phone::after{content:"Zadzwoń"}
  .service-card{padding:1.5rem 0;grid-template-columns:1fr;row-gap:.5rem}
  .service-num{padding-top:0}
  .pricing-table{font-size:.96rem}
  .cta-buttons{flex-direction:column;align-items:stretch}
  .btn{justify-content:center}
}

@media (hover:none){.service-card:hover{padding-left:0}.related-list a:hover{padding-left:0}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01s!important;animation-duration:.01s!important}}
