/* ===== LP Audyt B2B — Sawicki i Wspólnicy ===== */
:root{
  --navy:#17283f;
  --navy-deep:#0f1d31;
  --ink:#1d2733;
  --muted:#5b6b7d;
  --gold:#c0913b;
  --gold-dark:#a87c2c;
  --bg:#ffffff;
  --bg-alt:#f3f6fa;
  --line:#e2e7ee;
  --danger:#b3261e;
  --radius:8px;
  --maxw:1080px;
  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; font-family:var(--font); color:var(--ink);
  font-size:17px; line-height:1.65; background:var(--bg);
  -webkit-font-smoothing:antialiased;
}
.container{max-width:var(--maxw); margin:0 auto; padding:0 22px}
.narrow{max-width:760px; margin-left:auto; margin-right:auto}
.center{text-align:center}
h1,h2,h3{color:var(--navy); line-height:1.2; letter-spacing:-.01em}
h1{font-size:2.5rem; font-weight:800; margin:.2em 0 .4em}
h2{font-size:1.85rem; font-weight:800; margin:0 0 .6em}
h3{font-size:1.2rem; font-weight:700; margin:0 0 .5em}
p{margin:0 0 1em}
a{color:#8a6420}
strong{color:var(--navy)}
.small{font-size:.85rem; color:var(--muted)}
.emphasis{font-size:1.15rem}

/* ===== Buttons ===== */
.btn{
  display:inline-block; cursor:pointer; border:0; border-radius:var(--radius);
  font-family:inherit; font-weight:700; text-decoration:none; text-align:center;
  transition:background .15s, transform .05s; line-height:1.3;
}
.btn-primary{background:var(--gold); color:var(--navy-deep)}
.btn-primary:hover{background:var(--gold-dark); color:#fff}
.btn-primary:active{transform:translateY(1px)}
.btn-sm{padding:9px 16px; font-size:.92rem}
.btn-lg{padding:16px 28px; font-size:1.08rem}
.btn-block{display:block; width:100%}

/* ===== A11y / focus / kotwice ===== */
a:focus-visible, .btn:focus-visible, summary:focus-visible, button:focus-visible{outline:3px solid var(--gold); outline-offset:2px; border-radius:4px}
.btn-primary:focus-visible{outline-color:var(--navy-deep)}
section[id], #top{scroll-margin-top:80px}
.skip{position:absolute; left:-9999px; top:auto; background:var(--gold); color:var(--navy-deep); padding:10px 16px; font-weight:700; z-index:100}
.skip:focus{left:0; top:0}
.opt{font-weight:400; color:var(--muted); font-size:.82em}
.hint{font-size:.78rem; color:var(--muted); margin-top:4px}

/* ===== Header ===== */
.site-header{position:sticky; top:0; z-index:50; background:var(--navy); color:#fff; box-shadow:0 1px 0 rgba(0,0,0,.15)}
.header-inner{display:flex; align-items:center; justify-content:space-between; min-height:64px; gap:16px}
.brand{display:flex; flex-direction:column; line-height:1.15; text-decoration:none}
.brand-mark{color:#fff; font-weight:800; font-size:1.05rem; letter-spacing:.01em}
.brand-sub{color:#9fb0c4; font-size:.72rem; text-transform:uppercase; letter-spacing:.12em}
.header-cta{flex-shrink:0}

/* ===== Hero ===== */
.hero{background:linear-gradient(180deg,var(--navy) 0%, var(--navy-deep) 100%); color:#eef2f7; padding:64px 0 72px}
.hero-grid{display:grid; grid-template-columns:1.55fr 1fr; gap:42px; align-items:start}
.hero h1{color:#fff}
.eyebrow{color:var(--gold); font-weight:700; text-transform:uppercase; letter-spacing:.1em; font-size:.8rem; margin:0 0 .4em}
.hero .lead{font-size:1.12rem; color:#d4dce6}
.hero .lead strong, .hero-points strong{color:#fff}
.hero-points{list-style:none; padding:0; margin:1.4em 0 1.8em}
.hero-points li{position:relative; padding-left:30px; margin-bottom:.85em; color:#d4dce6}
.hero-points li::before{content:"✓"; position:absolute; left:0; top:0; color:var(--gold); font-weight:800}
.hero-trust{font-size:.9rem; color:#aebccd; margin-top:1.1em}
.hero-card{background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); border-radius:12px; padding:26px 24px; position:sticky; top:84px}
.hero-card-label{font-size:.86rem; color:#c3cedb; margin-bottom:.6em}
.hero-card-stat{font-size:2.7rem; font-weight:800; color:var(--gold); margin:.1em 0 0; line-height:1}
.hero-card-stat-alt{font-size:2rem; margin-top:.5em}
.hero-card-desc{font-size:.9rem; color:#d4dce6; margin:.2em 0 0}
.hero-card-note{font-size:.78rem; color:#93a3b6; margin-top:1.2em; font-style:italic}

/* ===== Sections ===== */
.section{padding:66px 0}
.section-alt{background:var(--bg-alt)}
.section-dark{background:var(--navy); color:#dfe6ee}
.section-dark h2, .section-dark h3{color:#fff}
.section-dark strong{color:#fff}
.section-dark a{color:var(--gold)}

.pull{border-left:4px solid var(--gold); margin:1.6em 0; padding:.3em 0 .3em 22px; font-size:1.25rem; font-weight:700; color:var(--navy)}
.note-box{background:#fff; border:1px solid var(--line); border-left:4px solid var(--gold); border-radius:var(--radius); padding:16px 20px; font-size:.95rem; color:var(--muted)}
.section-dark .note-box{background:rgba(255,255,255,.05); color:#cdd6e0}

/* steps */
.steps{margin:1.6em 0}
.step{display:flex; gap:16px; margin-bottom:16px; align-items:flex-start}
.step-num{flex-shrink:0; width:34px; height:34px; border-radius:50%; background:var(--navy); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:800}

/* ===== Cost tables ===== */
.cost-grid{display:grid; grid-template-columns:1fr 1fr; gap:32px; margin:34px 0}
.cost-table-wrap h3{margin-bottom:.7em}
.data-table{width:100%; border-collapse:collapse; font-size:.95rem; background:#fff; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden}
.section-dark .data-table{background:#fff; color:var(--ink)}
.data-table th{background:var(--navy); color:#fff; text-align:left; padding:11px 14px; font-size:.85rem}
.data-table td{padding:10px 14px; border-top:1px solid var(--line)}
.data-table td:last-child{text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums}
.data-table .row-sum td{font-weight:700; background:#faf7f0}
.data-table .row-total td{font-weight:800; background:#f3ecdd; color:var(--navy); font-size:1.02rem}
.pct{display:inline-block; margin-left:6px; color:var(--danger); font-weight:800}
.check-list{list-style:none; padding:0; margin:1.2em 0}
.check-list li{position:relative; padding-left:28px; margin-bottom:.9em}
.check-list li::before{content:"›"; position:absolute; left:6px; top:-1px; color:var(--gold); font-weight:800; font-size:1.2rem}
.section-dark .check-list li::before{color:var(--gold)}

/* ===== Pillars ===== */
.pillars{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin:34px 0}
.pillar{background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12); border-radius:10px; padding:26px 22px}
.pillar-num{display:block; font-size:1.4rem; font-weight:800; color:var(--gold); margin-bottom:.3em}
.pillar ul{padding-left:18px; margin:.6em 0 0}
.pillar li{margin-bottom:.5em}
.honest-note{background:rgba(192,145,59,.12); border:1px solid rgba(192,145,59,.35); border-radius:10px; padding:18px 22px; font-size:.96rem; margin-top:10px}

/* ===== For who ===== */
.forwho{display:grid; grid-template-columns:1fr 1fr; gap:24px; margin:30px 0}
.forwho-col{border-radius:10px; padding:24px; border:1px solid var(--line)}
.forwho-yes{background:#f1f7f1; border-color:#cfe4cf}
.forwho-no{background:#f8f1f1; border-color:#e6d2d2}
.forwho-col ul{padding-left:20px; margin:.4em 0 0}
.forwho-col li{margin-bottom:.6em}
.forwho-yes h3{color:#2f6b35}
.forwho-no h3{color:#9a3b3b}

/* ===== Experts ===== */
.experts{display:grid; grid-template-columns:1fr 1fr; gap:30px; margin:30px 0}
.expert{display:flex; gap:18px; align-items:flex-start}
.expert img{width:120px; height:120px; border-radius:10px; object-fit:cover; flex-shrink:0; border:2px solid var(--line)}
.expert-role{font-weight:500; color:var(--muted); font-size:.9rem}
.experts-firm{background:#fff; border:1px solid var(--line); border-radius:10px; padding:18px 22px; margin-top:8px}

/* ===== Cases ===== */
.cases{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:14px 0}
.case{background:var(--bg-alt); border-radius:8px; padding:18px 20px; font-size:.95rem}

/* ===== FAQ ===== */
.faq details{background:#fff; border:1px solid var(--line); border-radius:8px; margin-bottom:12px; overflow:hidden}
.faq summary{cursor:pointer; padding:16px 20px; font-weight:700; color:var(--navy); list-style:none; position:relative; padding-right:48px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+"; position:absolute; right:20px; top:14px; font-size:1.4rem; color:var(--gold); font-weight:700}
.faq details[open] summary::after{content:"–"}
.faq details[open] summary{border-bottom:1px solid var(--line)}
.faq details p{padding:14px 20px 18px; margin:0; color:var(--ink); font-size:.97rem}

/* ===== Form ===== */
.section-form{background:linear-gradient(180deg,var(--bg-alt) 0%, #e9eef5 100%)}
.deadline{background:#fff; border:1px solid var(--gold); border-radius:8px; padding:14px 18px; font-size:.96rem}
.lead-form{display:grid; grid-template-columns:1fr 1fr; gap:16px 18px; background:#fff; border:1px solid var(--line); border-radius:12px; padding:28px; margin-top:18px; box-shadow:0 6px 30px rgba(23,40,63,.07)}
.field{display:flex; flex-direction:column}
.field-full{grid-column:1 / -1}
.field label{font-weight:600; font-size:.9rem; margin-bottom:5px; color:var(--navy)}
.req{color:var(--danger)}
.field input, .field select{
  padding:11px 12px; border:1px solid #c7d0db; border-radius:6px; font-family:inherit; font-size:1rem; color:var(--ink); background:#fff;
}
.field input:focus, .field select:focus{outline:2px solid var(--gold); outline-offset:0; border-color:var(--gold)}
.field input.invalid, .field select.invalid{border-color:var(--danger); outline-color:var(--danger)}
.hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}
.consent{grid-column:1 / -1; font-size:.78rem; color:var(--muted); line-height:1.55; margin:4px 0 0}
.g-recaptcha{grid-column:1 / -1}
.lead-form .btn-block{grid-column:1 / -1; margin-top:4px}
.form-error{grid-column:1/-1; color:var(--danger); font-weight:600; font-size:.92rem; margin:0}
.form-note{grid-column:1 / -1; font-size:.82rem; color:var(--muted); margin:2px 0 0; text-align:center}

/* ===== Footer ===== */
.site-footer{background:var(--navy-deep); color:#aebccd; padding:38px 0; font-size:.85rem}
.footer-brand{color:#fff; font-weight:700; margin-bottom:.2em}
.footer-meta{margin-bottom:.8em}
.footer-links a{color:#dfe6ee; text-decoration:underline; margin:0 2px}
.footer-admin{font-size:.76rem; color:#8395a8; margin-top:1em; line-height:1.5}

/* ===== Responsive ===== */
@media(max-width:880px){
  body{font-size:16px}
  h1{font-size:2rem}
  h2{font-size:1.5rem}
  .hero{padding:44px 0 52px}
  .hero-grid{grid-template-columns:1fr; gap:28px}
  .hero-card{position:static}
  .cost-grid,.pillars,.forwho,.experts,.cases{grid-template-columns:1fr}
  .lead-form{grid-template-columns:1fr; padding:22px}
  .section{padding:48px 0}
  .cost-table-wrap{overflow-x:auto}
  .data-table{min-width:420px}
}
@media(max-width:480px){
  .header-cta{font-size:.8rem; padding:8px 12px}
  .brand-sub{display:none}
  .hero-card-stat{font-size:2.2rem}
}
