:root {
    --milk:#fbfbff;
    --lilac:#eeeafb;
    --mist:#dce2fa;
    --lime:#c8f06c;
    --lime2:#eaf9c5;
    --violet:#6d689d;
    --ink:#464f76;
    --quieter:#59638c;
    --line:#cbd2e8;
    --accent:#6b7c31;
    --white:#ffffff;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--milk); color:var(--ink); font-family:Arial,Helvetica,sans-serif; line-height:1.6; }
.wrap { width:min(100% - 68px,1320px); margin-inline:auto; }
header,main,footer,section,article,aside,nav { min-width:0; }
a { color:inherit; text-decoration:none; }
a:hover { color:var(--accent); }
a:focus-visible { outline:3px solid var(--violet); outline-offset:4px; }
h1,h2,h3,p { margin-top:0; overflow-wrap:break-word; }
h1 { font-size:40px; line-height:1.17; letter-spacing:-.85px; font-weight:800; }
h2 { font-size:28px; line-height:1.27; letter-spacing:-.55px; font-weight:800; }
h3 { font-size:19px; line-height:1.38; font-weight:750; }
p { font-size:16px; line-height:1.65; margin-bottom:15px; }
.site-header { background:var(--white); border-bottom:2px solid var(--mist); }
.topline { background:var(--lilac); border-bottom:1px solid var(--line); }
.topline .wrap { display:flex; justify-content:space-between; gap:18px; align-items:center; min-height:33px; }
.topline span { font-size:12px; letter-spacing:.35px; font-weight:700; color:var(--quieter); }
.headrow { display:flex; align-items:center; justify-content:space-between; gap:30px; min-height:86px; }
.identity { display:inline-flex; gap:13px; align-items:center; font-size:23px; font-weight:800; letter-spacing:-.5px; white-space:nowrap; }
.identity strong { color:var(--violet); }
.identity-sigil { position:relative; flex:none; width:49px; height:49px; border-radius:12px 12px 6px 6px; background:var(--lime); border:2px solid var(--violet); }
.identity-sigil:before { content:""; position:absolute; top:10px; left:7px; right:7px; border-top:2px solid var(--violet); }
.identity-sigil:after { content:""; position:absolute; left:11px; bottom:6px; height:19px; width:19px; border:3px solid var(--violet); border-radius:50%; background:var(--white); }
.identity-sigil i { position:absolute; top:4px; left:8px; width:4px; height:4px; border-radius:50%; background:var(--violet); }
.identity-sigil i+i { left:16px; }
.headnav { display:flex; flex-wrap:wrap; align-items:center; gap:24px; }
.headnav a { padding:10px 0; border-bottom:3px solid transparent; font-size:15px; font-weight:750; }
.headnav a[aria-current="page"] { border-color:var(--accent); color:var(--accent); }
.headnav a:hover { border-color:var(--violet); }
.trace { display:flex; gap:6px; align-items:center; margin-bottom:19px; font-size:12px; text-transform:uppercase; letter-spacing:1.5px; font-weight:800; color:var(--quieter); }
.trace:before { content:""; width:33px; height:4px; background:var(--lime); border:1px solid var(--accent); }
.open-stage { padding:46px 0 47px; background:var(--lilac); border-bottom:1px solid var(--line); }
.stage-head { margin-bottom:23px; }
.stage-head h1 { margin:0; max-width:930px; }
.lead-split { display:grid; grid-template-columns:minmax(0,2fr) minmax(280px,1fr); gap:28px; align-items:start; }
.lead-core { border-left:7px solid var(--violet); padding:24px 28px 23px; background:var(--white); }
.lead-core p:last-of-type { margin-bottom:17px; }
.actions { display:flex; flex-wrap:wrap; align-items:center; gap:11px; }
.btn { display:inline-flex; align-items:center; justify-content:center; text-align:center; min-height:49px; padding:11px 18px; border:2px solid var(--violet); font-size:15px; font-weight:800; line-height:1.25; transition:background-color .15s,color .15s,border-color .15s; }
.btn.call { background:var(--violet); color:var(--white); }
.btn.call:hover { background:var(--ink); border-color:var(--ink); color:var(--white); }
.btn.form { background:var(--lime); color:var(--ink); border-color:var(--accent); }
.btn.form:hover { background:var(--lime2); color:var(--ink); }
.panel { padding:22px 22px 20px; background:var(--lime); border:2px solid var(--violet); }
.panel-title { font-size:14px; letter-spacing:1px; font-weight:850; text-transform:uppercase; display:flex; align-items:center; justify-content:space-between; gap:10px; padding-bottom:13px; border-bottom:2px solid var(--accent); }
.indicator { width:13px; height:13px; background:var(--white); border:3px solid var(--violet); border-radius:50%; flex:none; }
.panel-screen { margin:17px auto; height:97px; border:3px solid var(--violet); border-radius:10px; background:var(--lilac); padding:13px 14px; display:flex; justify-content:space-between; align-items:center; gap:12px; }
.panel-dial { position:relative; width:69px; height:69px; flex:none; border:7px solid var(--white); outline:3px solid var(--violet); border-radius:50%; background:var(--mist); }
.panel-dial:after { content:""; position:absolute; left:28px; top:3px; width:4px; height:16px; background:var(--violet); border-radius:2px; }
.panel-bars { display:grid; flex:1; gap:8px; }
.panel-bars b { display:block; height:8px; background:var(--violet); border-radius:2px; }
.panel-bars b:nth-child(2) { width:76%; background:var(--accent); }
.panel-bars b:nth-child(3) { width:51%; background:var(--violet); }
.panel-lines { display:grid; gap:9px; }
.panel-lines div { display:flex; flex-wrap:wrap; gap:10px; justify-content:space-between; padding-bottom:9px; border-bottom:1px solid #a3cc55; font-size:14px; }
.panel-lines div:last-child { border-bottom:0; padding-bottom:0; }
.panel-lines strong { font-weight:800; text-align:right; }
.paper { padding:47px 0; }
.section-marker { display:flex; align-items:center; gap:15px; margin-bottom:25px; }
.section-marker:before { content:""; width:9px; height:39px; background:var(--lime); border:1px solid var(--accent); flex:none; }
.section-marker h2 { margin:0; }
.service-lines { border-top:2px solid var(--violet); }
.service-line { padding:19px 5px 18px; display:grid; grid-template-columns:180px 1fr; gap:25px; align-items:start; border-bottom:1px solid var(--line); }
.service-line h3 { margin:0; color:var(--violet); }
.service-line p { margin:0; }
.analysis-split { display:grid; grid-template-columns:minmax(0,2fr) minmax(280px,1fr); gap:28px; align-items:start; }
.analysis-copy { min-width:0; }
.analysis-copy p:last-child { margin-bottom:0; }
.side-note { background:var(--white); border-top:6px solid var(--violet); padding:20px 24px; box-shadow:0 0 0 1px var(--line); }
.side-note h3 { margin:0 0 13px; }
.side-note p { margin-bottom:11px; }
.side-note p:last-child { margin-bottom:0; }
.note-stack { border-top:1px solid var(--line); padding-top:12px; margin-top:12px; }
.note-stack strong { display:block; font-size:15px; }
.note-stack p { margin:3px 0 0; }
.soft-section { background:var(--mist); border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:42px 0 46px; }
.soft-section .side-note { background:var(--lime2); box-shadow:none; }
.checkflow { border-top:2px solid var(--violet); counter-reset:phase; }
.flow-line { counter-increment:phase; display:grid; grid-template-columns:55px 1fr; gap:22px; padding:18px 0; border-bottom:1px solid var(--line); }
.flow-line:before { content:counter(phase, decimal-leading-zero); font-weight:850; font-size:26px; color:var(--violet); }
.flow-line h3 { margin:0 0 7px; }
.flow-line p { margin:0; }
.end-band { border-top:2px solid var(--violet); background:var(--lime); padding:30px 0; }
.end-content { display:flex; justify-content:space-between; gap:28px; align-items:center; }
.end-content h2 { margin:0 0 6px; }
.end-content p { margin:0; }
.end-content .actions { flex:none; }
.extension { padding:16px 0; }
.extension p { margin:0; color:var(--quieter); font-size:14px; }
.site-footer { background:var(--lilac); border-top:2px solid var(--violet); padding:30px 0; }
.footrow { display:flex; align-items:center; justify-content:space-between; gap:28px; }
.foot-brand { display:flex; flex-direction:column; gap:4px; }
.foot-brand strong { font-size:20px; }
.foot-brand span { font-size:13px; color:var(--quieter); }
.foot-nav { display:flex; flex-wrap:wrap; gap:8px 22px; }
.foot-nav a { font-size:14px; font-weight:750; }
.foot-nav a.privacy { font-size:12px; font-weight:400; color:var(--quieter); }
/* Naprawy */
.repair-intro { background:var(--white); padding:45px 0; }
.repair-title { border-bottom:2px solid var(--violet); padding-bottom:18px; margin-bottom:23px; }
.repair-title h1 { margin:0; }
.repair-lead { display:grid; grid-template-columns:minmax(0,2fr) minmax(280px,1fr); gap:27px; align-items:start; }
.repair-lead-content { padding:9px 0 0; }
.repair-lead-content p:last-of-type { margin-bottom:18px; }
.signal-box { background:var(--lilac); border-left:7px solid var(--lime); padding:21px 24px; }
.signal-box h2 { margin-bottom:15px; }
.signal-box .signal { padding:10px 0; border-top:1px solid var(--line); }
.signal-box .signal strong { display:block; }
.signal-box .signal span { display:block; font-size:14px; line-height:1.45; margin-top:3px; }
.signals { padding:39px 0 45px; background:var(--lilac); border-bottom:1px solid var(--line); }
.signal-list { display:grid; grid-template-columns:1fr 1fr; gap:0 32px; border-top:2px solid var(--violet); }
.signal-item { display:grid; grid-template-columns:40px 1fr; gap:12px; border-bottom:1px solid var(--line); padding:17px 0; }
.signal-pin { width:27px; height:27px; border:7px solid var(--lime); border-radius:50%; outline:1px solid var(--accent); margin-top:3px; }
.signal-item h3 { margin:0 0 5px; }
.signal-item p { margin:0; }
/* Oferta */
.offer-head { padding:45px 0 30px; background:var(--lilac); }
.offer-head h1 { margin:0 0 23px; }
.offer-head .analysis-split { align-items:start; }
.offer-head .side-note { background:var(--lime); border-top-color:var(--accent); }
.offer-columns { display:grid; grid-template-columns:1fr 1fr; gap:30px; }
.offer-category { border-top:4px solid var(--violet); padding-top:16px; }
.offer-category h3 { margin:0 0 10px; }
.offer-category p:last-child { margin-bottom:0; }
.offer-catalog { padding:41px 0; }
.offer-list { display:grid; grid-template-columns:1fr 1fr; gap:0 32px; border-top:2px solid var(--violet); }
.offer-item { display:grid; grid-template-columns:103px 1fr; gap:14px; padding:16px 0; border-bottom:1px solid var(--line); }
.offer-item strong { color:var(--violet); font-size:16px; }
.offer-item p { margin:0; }
@media (max-width:1120px) {
    .wrap { width:calc(100% - 48px); }
    .lead-split,.analysis-split,.repair-lead { grid-template-columns:minmax(0,1.9fr) minmax(255px,1fr); gap:21px; }
    .headnav { gap:15px; }
    .service-line { grid-template-columns:155px 1fr; gap:21px; }
    .end-content { flex-wrap:wrap; }
}
@media (max-width:850px) {
    .headrow { flex-wrap:wrap; justify-content:center; padding:18px 0; gap:11px; }
    .headnav { justify-content:center; }
    .lead-split,.analysis-split,.repair-lead { display:block; }
    .lead-split .panel,.analysis-split .side-note,.repair-lead .signal-box { margin-top:21px; }
    .panel-screen { max-width:290px; }
    .signal-list,.offer-list { grid-template-columns:1fr; gap:0; }
    .end-content { align-items:flex-start; }
}
@media (max-width:560px) {
    .wrap { width:calc(100% - 32px); }
    .topline .wrap { justify-content:center; text-align:center; }
    .topline span:last-child { display:none; }
    .identity { font-size:21px; }
    .identity-sigil { width:42px; height:42px; }
    .identity-sigil:after { left:9px; bottom:4px; }
    .headnav { gap:7px 16px; }
    .headnav a { font-size:14px; padding:6px 0; }
    .open-stage,.repair-intro,.offer-head { padding:30px 0; }
    .stage-head { margin-bottom:17px; }
    .lead-core { padding:19px 17px 22px; border-left-width:5px; }
    .actions { flex-direction:column; align-items:stretch; }
    .btn { width:100%; white-space:normal; }
    .paper,.soft-section,.signals,.offer-catalog { padding:33px 0; }
    .service-line { display:block; padding:15px 0; }
    .service-line h3 { margin-bottom:7px; }
    .flow-line { grid-template-columns:41px 1fr; gap:12px; }
    .flow-line:before { font-size:23px; }
    .offer-item { grid-template-columns:1fr; gap:4px; }
    .footrow { align-items:flex-start; flex-direction:column; gap:18px; }
    .end-content { display:block; }
    .end-content .actions { margin-top:18px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .btn { transition:none; } }
