:root{--bg:#f7f3ee;--paper:#fffaf4;--ink:#1f1a17;--muted:#6d625b;--line:#e4d9cd;--accent:#8a5b3d;--accent-dark:#563622;--dark:#16120f;--dark-soft:#241c17;--radius:24px;--shadow:0 22px 60px rgba(31,26,23,.12)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.6}img{max-width:100%;height:auto;display:block}a{color:inherit}.container{width:min(1160px,calc(100% - 40px));margin-inline:auto}.narrow{width:min(820px,calc(100% - 40px))}.section{padding:88px 0}.section-muted{background:#efe6dc}.section-dark{background:var(--dark);color:#fff}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;color:var(--accent);font-weight:800}.section-dark .eyebrow{color:#d4ad8b}h1,h2,h3{line-height:1.08;margin:0 0 18px}h1{font-size:clamp(2.4rem,6vw,5.4rem)}h2{font-size:clamp(2rem,4vw,3.4rem)}h3{font-size:1.25rem}.lead{font-size:clamp(1.05rem,2vw,1.35rem);color:var(--muted)}.section-dark .lead{color:#d9cabe}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:999px;padding:14px 22px;font-weight:800;text-decoration:none;border:1px solid transparent;cursor:pointer}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-dark)}.btn-secondary{border-color:rgba(255,255,255,.28);color:#fff}.cards{display:grid;gap:22px;margin-top:34px}.cards-3{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:0 10px 30px rgba(31,26,23,.05)}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:34px}.steps>div{background:#fff;border-radius:var(--radius);padding:26px}.steps span{display:inline-flex;width:44px;height:44px;border-radius:50%;background:var(--dark);color:#fff;align-items:center;justify-content:center;font-weight:900;margin-bottom:18px}.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:end}.link-arrow{font-weight:800;color:var(--accent)}.split{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center}.quote-card{background:var(--dark-soft);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);padding:30px}.breadcrumbs{font-size:.9rem;color:var(--muted);margin-bottom:24px}.breadcrumbs span,.breadcrumbs a{margin-right:8px}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:20px;top:20px;background:#fff;padding:10px;z-index:99}@media(max-width:850px){.cards-3,.steps,.split{grid-template-columns:1fr}.section{padding:62px 0}.section-heading{display:block}}

/* Sprint 1.3: portfolio, blog, service pages */
.page-hero { padding: 92px 0 76px; }
.service-hero { padding: 96px 0; }
.service-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 500px); gap: 48px; align-items: center; }
.service-hero-image img, .project-media img, .article-image { width: 100%; border-radius: 26px; box-shadow: 0 24px 70px rgba(0,0,0,.22); }
.two-col { display: grid; grid-template-columns: .9fr 1.1fr; gap: 42px; align-items: start; }
.feature-list { display: grid; gap: 14px; }
.feature-item { display: flex; gap: 14px; padding: 16px; border: 1px solid rgba(138,91,61,.18); border-radius: 18px; background: #fff; }
.feature-item span { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #efe3d7; color: #6d422a; flex: none; font-weight: 800; }
.faq-list { display: grid; gap: 12px; margin-top: 26px; }
.faq-list details { background: #fff; border: 1px solid rgba(0,0,0,.08); border-radius: 18px; padding: 18px 20px; }
.faq-list summary { cursor: pointer; font-weight: 800; }
.faq-list p { margin: 12px 0 0; }
.filters { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 28px; }
.filters a { padding: 10px 14px; border-radius: 999px; border: 1px solid rgba(138,91,61,.22); background: #fff; font-weight: 750; }
.realizacje-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.realizacja-card { background: #fff; border: 1px solid rgba(0,0,0,.08); border-radius: 28px; overflow: hidden; box-shadow: 0 18px 50px rgba(0,0,0,.06); }
.realizacja-image { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: #f4eee8; }
.realizacja-image img, .post-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.realizacja-card:hover img, .post-card:hover .post-thumb img { transform: scale(1.045); }
.realizacja-content, .post-card-content { padding: 22px; }
.project-layout { display: grid; grid-template-columns: minmax(0, 1.2fr) 360px; gap: 34px; align-items: start; }
.project-content { grid-column: 1 / -1; }
.project-details dl { display: grid; gap: 10px; margin: 0; }
.project-details dt { font-weight: 900; color: #16120f; }
.project-details dd { margin: 0 0 8px; color: #5f564f; }
.blog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.post-card { overflow: hidden; padding: 0; }
.post-thumb { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: #f4eee8; }
.post-meta { color: #7a6d63; font-size: .92rem; font-weight: 700; }
.article-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 40px; align-items: start; }
.article-main { max-width: 780px; }
.article-main h2 { margin-top: 36px; }
.article-sidebar { position: sticky; top: 110px; }
.narrow-content { max-width: 820px; }
@media (max-width: 960px) {
  .service-hero-grid, .two-col, .project-layout, .article-layout { grid-template-columns: 1fr; }
  .realizacje-grid, .blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .article-sidebar { position: static; }
}
@media (max-width: 680px) {
  .realizacje-grid, .blog-grid { grid-template-columns: 1fr; }
}


/* IwanQ v2.1 — szata graficzna zgodna z materiałami reklamowymi */
:root{
  --bg:#f6efe5;--paper:#fffaf2;--ink:#18130f;--muted:#6f6256;--line:#e7dac8;
  --accent:#b78543;--accent-dark:#7a4f25;--gold:#caa15d;--dark:#13100e;--dark-soft:#211913;
  --radius:26px;--shadow:0 24px 70px rgba(24,19,15,.16);
}
body{background:radial-gradient(circle at top left,#fff8ed 0,#f6efe5 38%,#efe3d2 100%);font-size:17px}
h1,h2,h3{font-family:Georgia,'Times New Roman',serif;letter-spacing:-.02em}
.section-dark{background:linear-gradient(135deg,#15110e 0%,#0f0c0a 52%,#231910 100%);color:#fff}
.section-dark .lead{color:#ebdece}
.eyebrow{color:var(--accent);font-weight:900}
.btn-primary{background:linear-gradient(135deg,#caa15d,#9c6a31);color:#16120f;border:0}
.btn-primary:hover{background:linear-gradient(135deg,#d7b16b,#a67236)}
.btn-secondary{border-color:#caa15d;color:#fff;background:rgba(255,255,255,.03)}
.btn-phone{font-size:1.05rem}
.btn-ghost{background:transparent;border-color:rgba(202,161,93,.35);color:#caa15d}
.card{background:rgba(255,250,242,.88);border:1px solid rgba(151,106,55,.22);box-shadow:0 16px 45px rgba(24,19,15,.08)}
.link-arrow{color:#8c5b2f;text-decoration:underline;text-underline-offset:3px}
.service-photo-grid{align-items:stretch}
.service-photo-card{padding:0;overflow:hidden}
.service-photo-card h3,.service-photo-card p,.service-photo-card .link-arrow{margin-left:22px;margin-right:22px}
.service-photo-card h3{font-size:1.45rem;margin-top:20px}
.service-photo-card p{min-height:78px}
.service-photo-card .link-arrow{display:inline-block;margin-bottom:24px}
.service-photo{display:block;aspect-ratio:4/3;overflow:hidden;background:#1b1511}
.service-photo img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.service-photo-card:hover .service-photo img{transform:scale(1.045)}
.service-hero{padding:98px 0;background:linear-gradient(120deg,#15110e 0%,#0e0b09 48%,#24180f 100%)}
.service-hero h1{font-size:clamp(3.2rem,7vw,6.8rem)}
.service-hero-image img{aspect-ratio:4/3;object-fit:cover;border:1px solid rgba(202,161,93,.28)}
.contact-phone-large{font-size:clamp(1.8rem,4vw,3rem);font-family:Georgia,'Times New Roman',serif;color:#caa15d;font-weight:900;text-decoration:none}
@media(max-width:850px){body{font-size:16px}.service-photo-card p{min-height:auto}}

/* IwanQ v2.2 — wersja bez galerii i bez sztucznych zdjęć marketingowych */
.hero-text-card{padding:38px;background:linear-gradient(145deg,rgba(255,250,242,.08),rgba(202,161,93,.08));border:1px solid rgba(202,161,93,.28);border-radius:34px;box-shadow:0 24px 70px rgba(0,0,0,.24);color:#fff}
.hero-text-card h2{font-size:clamp(2rem,3.8vw,3.15rem);color:#fff}
.hero-text-card p{color:#e7d8c4}.hero-checklist{margin:24px 0 0;padding:0;list-style:none;display:grid;gap:12px}.hero-checklist li{padding-left:28px;position:relative;color:#f2e7d8}.hero-checklist li:before{content:'✓';position:absolute;left:0;top:0;color:#caa15d;font-weight:900}
.service-text-grid{align-items:stretch}.service-text-card{position:relative;min-height:260px;display:flex;flex-direction:column}.service-text-card .service-number{font-family:Georgia,'Times New Roman',serif;color:#caa15d;font-size:2.2rem;line-height:1;margin:0 0 12px}.service-text-card .link-arrow{margin-top:auto}.service-text-card h3{font-size:1.55rem}.service-text-card p:not(.service-number){color:#4f453d}.service-hero-text-grid{grid-template-columns:minmax(0,1fr) minmax(300px,430px)}.service-note-card{padding:34px;border-radius:30px;background:rgba(255,250,242,.08);border:1px solid rgba(202,161,93,.28);box-shadow:0 24px 70px rgba(0,0,0,.22)}.service-note-card h2{font-size:clamp(1.8rem,3vw,2.65rem)}.service-note-card p{color:#e7d8c4}.post-card-text{padding:0;overflow:hidden}.post-card-text .post-card-content{padding:28px}.post-card-text h2{font-size:1.45rem}.section-lead{max-width:760px;color:#6f6256}.section-dark .section-lead{color:#e7d8c4}.footer-brand span,.brand-q{color:#caa15d}.contact .lead-form{border:1px solid rgba(151,106,55,.22)}
@media(max-width:960px){.service-hero-text-grid{grid-template-columns:1fr}.hero-text-card{padding:28px}}
