:root {
    --paper: #f2faf9;
    --white: #ffffff;
    --ink: #38536e;
    --muted: #5d7587;
    --blue: #5064bd;
    --blue-soft: #e8edff;
    --aqua: #168e91;
    --aqua-soft: #e2f5f2;
    --coral: #df765b;
    --coral-soft: #fff0eb;
    --line: #bfdbdd;
    --max: 1160px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: "Trebuchet MS", "Segoe UI", Arial, sans-serif; line-height: 1.62; }
a { color: inherit; }
strong { font-weight: 800; color: #3c659b; }
p { margin: 0 0 15px; font-size: 16px; line-height: 1.68; }
h1, h2, h3 { margin: 0; font-weight: 800; line-height: 1.18; letter-spacing: -.025em; }
h1 { font-size: 40px; }
h2 { font-size: 28px; }
h3 { font-size: 21px; }
.shell { width: min(calc(100% - 52px), var(--max)); margin: 0 auto; }
.site-top { background: var(--white); border-bottom: 3px solid var(--aqua); }
.site-top .shell { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 88px; }
.identity { display: flex; gap: 12px; align-items: center; text-decoration: none; white-space: nowrap; color: var(--blue); font-size: 24px; line-height: 1; font-weight: 900; letter-spacing: -.05em; }
.logo-chassis { width: 40px; height: 40px; border: 3px solid var(--blue); border-radius: 7px; position: relative; background: var(--blue-soft); flex: 0 0 auto; }
.logo-chassis:before { content: ""; position: absolute; width: 19px; height: 19px; border: 3px solid var(--aqua); border-radius: 50%; left: 7px; top: 10px; }
.logo-chassis:after { content: ""; position: absolute; width: 5px; height: 5px; background: var(--coral); border-radius: 50%; left: 7px; top: 5px; }
.top-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.top-nav a { display: inline-block; padding: 9px 13px; color: var(--ink); text-decoration: none; font-size: 14px; font-weight: 750; border: 1px solid transparent; border-radius: 5px; }
.top-nav a:hover, .top-nav a:focus-visible, .top-nav a[aria-current="page"] { color: var(--blue); background: var(--blue-soft); border-color: #d3dcff; }
.opening { background: var(--blue-soft); border-bottom: 1px solid var(--line); }
.opening-grid { display: grid; grid-template-columns: minmax(0, 1.38fr) minmax(280px, .8fr); align-items: stretch; gap: 42px; padding: 66px 0 63px; }
.opening-copy { min-width: 0; }
.serial { display: inline-block; color: var(--aqua); border-bottom: 3px solid var(--coral); letter-spacing: .14em; text-transform: uppercase; font-size: 12px; font-weight: 900; line-height: 2.1; margin-bottom: 22px; }
.opening h1 { color: var(--blue); margin-bottom: 26px; }
.opening p { max-width: 68ch; }
.action-line { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.action { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 11px 22px; text-decoration: none; font-weight: 900; font-size: 15px; line-height: 1.25; border-radius: 3px; border: 2px solid transparent; box-shadow: 4px 4px 0 #c9d5e5; transition: transform .15s, box-shadow .15s; }
.action:hover, .action:focus-visible { transform: translate(2px, 2px); box-shadow: 2px 2px 0 #c9d5e5; }
.action-call { color: var(--white); background: var(--blue); border-color: var(--blue); }
.action-online { color: var(--ink); background: var(--white); border-color: var(--aqua); }
.instrument-board { min-width: 0; border: 2px solid #a3b8e2; border-radius: 9px; background: var(--white); position: relative; padding: 18px; align-self: stretch; display: flex; flex-direction: column; justify-content: space-between; box-shadow: 12px 12px 0 #d0def6; }
.instrument-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 2px solid #d4e4ed; padding: 0 0 12px; color: var(--blue); font-size: 12px; text-transform: uppercase; font-weight: 900; letter-spacing: .12em; }
.signal { display: inline-flex; gap: 5px; }
.signal span { display: block; width: 10px; height: 10px; background: var(--aqua); border-radius: 50%; }
.signal span:nth-child(2) { background: var(--coral); }
.signal span:nth-child(3) { background: #b0c6d0; }
.appliance-art { display: grid; grid-template-columns: 1fr .8fr; gap: 15px; padding: 26px 8px 24px; align-items: center; align-content: center; flex: 1; }
.drum-case { position: relative; width: 100%; aspect-ratio: 1 / 1.25; max-width: 186px; border: 6px solid var(--blue); background: #e9f5fb; border-radius: 8px; }
.drum-case:before { content: ""; width: 65%; aspect-ratio: 1; border: 9px solid var(--aqua); border-radius: 50%; position: absolute; top: 28%; left: 50%; transform: translateX(-50%); background: repeating-conic-gradient(from 8deg, #d4edf4 0deg 30deg, #edf8fb 30deg 60deg); box-shadow: 0 0 0 4px #8ccbd1; }
.drum-case:after { content: ""; width: 12px; height: 12px; background: var(--coral); border-radius: 50%; position: absolute; top: 8%; right: 10%; box-shadow: -30px 0 0 #c2d7e6; }
.hob-case { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; align-content: center; padding: 13px; aspect-ratio: 1 / 1.1; border: 5px solid var(--aqua); background: #e3f6f3; border-radius: 8px; }
.hob-case span { display: block; aspect-ratio: 1; border: 5px double var(--blue); border-radius: 50%; background: #f6fcfd; }
.instrument-foot { border-top: 2px solid #d4e4ed; padding-top: 15px; display: grid; gap: 9px; }
.instrument-foot div { display: flex; justify-content: space-between; gap: 12px; font-size: 13px; }
.instrument-foot strong { color: var(--blue); font-size: 13px; }
.instrument-foot span { color: var(--muted); }
.local-grid { padding: 36px 0 41px; display: grid; grid-template-columns: minmax(190px, .32fr) 1fr; gap: 30px; align-items: start; }
.local-title { border-left: 6px solid var(--coral); padding-left: 17px; }
.local-title h2 { color: var(--blue); }
.local-title span { display: block; margin-bottom: 8px; text-transform: uppercase; font-size: 11px; font-weight: 850; letter-spacing: .16em; color: var(--aqua); }
.local-details { column-count: 2; column-gap: 40px; }
.local-details p { break-inside: avoid; }
.local-scope { border-bottom: 1px solid var(--line); }
.matrix-section { padding: 68px 0 75px; background: var(--white); }
.section-lead { display: flex; align-items: baseline; gap: 17px; margin-bottom: 26px; }
.section-counter { font-size: 13px; color: var(--aqua); font-weight: 900; letter-spacing: .15em; }
.repair-matrix { border-top: 3px solid var(--blue); }
.repair-row { display: grid; grid-template-columns: 58px 230px minmax(0,1fr); gap: 20px; align-items: start; padding: 23px 0 21px; border-bottom: 1px solid var(--line); }
.repair-row:nth-child(2n) { background: #f7fbfe; }
.repair-number { display: block; font-size: 18px; font-weight: 900; color: var(--coral); padding-left: 10px; }
.repair-row h3 { color: var(--blue); padding-top: 2px; }
.repair-row p { margin-bottom: 0; padding-right: 14px; }
.inline-link { text-decoration: none; color: var(--blue); font-weight: inherit; border-bottom: 1px dotted var(--aqua); }
.inline-link:hover, .inline-link:focus-visible { color: var(--aqua); border-bottom-style: solid; }
.procedure { padding: 62px 0 65px; background: var(--aqua-soft); border-block: 1px solid #b4d9d8; }
.procedure h2 { color: var(--blue); margin-bottom: 27px; }
.procedure-line { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 4px solid var(--aqua); gap: 24px; }
.procedure-unit { min-width: 0; padding-top: 20px; }
.procedure-unit .unit-mark { display: inline-block; padding: 4px 12px; border: 2px solid var(--aqua); color: var(--aqua); background: var(--white); font-weight: 900; font-size: 15px; margin-bottom: 13px; }
.procedure-unit h3 { font-size: 20px; color: var(--blue); margin-bottom: 12px; }
.procedure-unit p { margin-bottom: 0; }
.terms { padding: 67px 0; }
.terms-layout { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); gap: 22px; align-items: stretch; }
.terms-copy { background: var(--white); padding: 30px 34px; border: 1px solid var(--line); }
.terms-copy h2 { color: var(--blue); margin-bottom: 20px; }
.terms-table { background: var(--blue); color: var(--white); padding: 31px 30px; display: flex; flex-direction: column; justify-content: center; gap: 14px; }
.terms-table h3 { margin-bottom: 8px; color: #e7f7f3; }
.terms-table div { display: flex; justify-content: space-between; gap: 15px; border-bottom: 1px solid #9caadd; padding-bottom: 13px; }
.terms-table span { color: #e6edff; }
.terms-table strong { color: var(--white); white-space: nowrap; }
.closing { padding: 47px 0 53px; color: var(--white); background: var(--aqua); border-top: 7px solid var(--coral); }
.closing-content { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 25px; }
.closing h2 { color: var(--white); margin-bottom: 12px; }
.closing p { max-width: 72ch; margin: 0; color: #e7fcfa; }
.closing .action-line { margin-top: 0; }
.closing .action-call { background: var(--white); color: var(--blue); border-color: var(--white); }
.closing .action-online { border-color: var(--white); background: var(--blue); color: var(--white); }
.site-footer { padding: 25px 0; background: var(--white); border-top: 1px solid var(--line); }
.footer-inner { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.footer-inner b { color: var(--blue); font-size: 18px; }
.footer-nav { display: flex; flex-wrap: wrap; gap: 18px; }
.footer-nav a { font-size: 14px; font-weight: 700; color: var(--ink); text-decoration: none; }
.footer-nav a:hover, .footer-nav a:focus-visible { color: var(--aqua); }
.footer-nav .private { font-size: 12px; color: var(--muted); font-weight: 400; }

/* Naprawa: niezależna kompozycja */
.repair-hero { background: var(--aqua-soft); padding: 64px 0 65px; border-bottom: 1px solid var(--line); }
.repair-hero .shell { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 50px; align-items: center; }
.repair-hero h1 { color: var(--blue); margin-bottom: 22px; }
.repair-faults { margin: 0; padding: 22px 25px; background: var(--white); border: 2px solid var(--aqua); box-shadow: 10px 10px 0 #b7e3dc; align-self: stretch; display: flex; flex-direction: column; justify-content: space-between; }
.repair-faults h2 { color: var(--blue); border-bottom: 1px solid var(--line); padding-bottom: 14px; margin-bottom: 13px; }
.repair-faults div { display: grid; grid-template-columns: 28px 1fr; gap: 10px; padding: 8px 0; font-size: 15px; border-bottom: 1px dashed var(--line); }
.repair-faults div:last-child { border-bottom: none; }
.repair-faults span { color: var(--coral); font-weight: 900; }
.repair-content { padding: 65px 0; background: var(--white); }
.repair-content h2 { color: var(--blue); margin-bottom: 26px; }
.fault-group { display: grid; grid-template-columns: 200px minmax(0,1fr); gap: 32px; align-items: start; padding: 27px 0; border-top: 2px solid var(--line); }
.fault-group h3 { color: var(--aqua); font-size: 23px; }
.fault-group p:last-child { margin-bottom: 0; }
.repair-band { padding: 52px 0; background: var(--blue-soft); }
.repair-band h2 { color: var(--blue); margin-bottom: 20px; }
.repair-band-inner { columns: 2; column-gap: 50px; }
.repair-band-inner p { break-inside: avoid; }

/* Oferta: układ dyspozycji technicznej */
.offer-head { background: var(--white); border-bottom: 1px solid var(--line); padding: 64px 0 54px; }
.offer-head .shell { display: grid; grid-template-columns: minmax(0,1fr) minmax(260px,.7fr); gap: 48px; align-items: center; }
.offer-head h1 { color: var(--blue); margin-bottom: 22px; }
.dispatch-box { padding: 25px; border: 2px solid var(--blue); background: var(--blue-soft); align-self: stretch; display: flex; flex-direction: column; justify-content: center; }
.dispatch-box h2 { color: var(--blue); margin-bottom: 20px; }
.dispatch-box p { margin-bottom: 13px; border-left: 4px solid var(--coral); padding-left: 14px; }
.dispatch-box p:last-child { margin-bottom: 0; }
.offer-register { background: var(--paper); padding: 61px 0 70px; }
.offer-register h2 { color: var(--blue); margin-bottom: 28px; }
.offer-line { display: grid; grid-template-columns: 85px minmax(190px,.42fr) minmax(0,1fr); gap: 23px; border-top: 2px solid var(--line); padding: 23px 0 21px; }
.offer-line:last-child { border-bottom: 2px solid var(--line); }
.offer-line .num { color: var(--coral); font-size: 27px; font-weight: 900; }
.offer-line h3 { color: var(--aqua); }
.offer-line p { margin-bottom: 0; }
.offer-detail { background: var(--white); padding: 58px 0 67px; }
.offer-detail h2 { color: var(--blue); margin-bottom: 24px; }
.offer-detail-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 35px; }
.offer-detail-layout > div { border-top: 4px solid var(--aqua); padding-top: 19px; }
.offer-detail-layout h3 { color: var(--blue); margin-bottom: 14px; }
.offer-detail-layout p:last-child { margin-bottom: 0; }

@media (max-width: 1000px) {
    .opening-grid { grid-template-columns: 1fr 310px; gap: 25px; }
    .opening-grid p { line-height: 1.6; }
    .repair-row { grid-template-columns: 40px 185px minmax(0,1fr); gap: 15px; }
    .closing-content { grid-template-columns: 1fr; }
    .repair-hero .shell { gap: 32px; }
    .offer-head .shell { gap: 30px; }
}
@media (max-width: 760px) {
    .shell { width: min(calc(100% - 34px), var(--max)); }
    .site-top .shell { flex-wrap: wrap; justify-content: center; padding: 17px 0; gap: 14px; }
    .top-nav { justify-content: center; }
    .opening-grid, .repair-hero .shell, .offer-head .shell { grid-template-columns: 1fr; }
    .opening-grid { padding: 43px 0 45px; }
    .instrument-board { width: min(100%, 420px); margin: 0 auto; }
    .local-grid { grid-template-columns: 1fr; gap: 20px; padding: 34px 0; }
    .local-details { column-count: 1; }
    .matrix-section, .terms, .repair-content, .offer-register, .offer-detail { padding: 45px 0; }
    .repair-row { grid-template-columns: 38px minmax(0,1fr); gap: 12px; }
    .repair-row p { grid-column: 2; padding-right: 0; }
    .procedure-line { grid-template-columns: 1fr; gap: 0; border-top: 0; }
    .procedure-unit { border-top: 3px solid var(--aqua); padding: 19px 0 23px; }
    .terms-layout, .offer-detail-layout { grid-template-columns: 1fr; gap: 0; }
    .repair-band-inner { columns: 1; }
    .repair-hero { padding: 43px 0; }
    .fault-group { grid-template-columns: 1fr; gap: 12px; }
    .offer-head { padding: 44px 0; }
    .offer-line { grid-template-columns: 49px minmax(0,1fr); gap: 10px 14px; }
    .offer-line p { grid-column: 2; }
    .offer-detail-layout { gap: 22px; }
}
@media (max-width: 460px) {
    h1 { font-size: 40px; }
    h2 { font-size: 28px; }
    p { font-size: 16px; }
    .identity { font-size: 21px; }
    .top-nav { gap: 1px; }
    .top-nav a { font-size: 13px; padding: 9px 8px; }
    .action-line { flex-direction: column; }
    .action { width: 100%; }
    .terms-copy, .terms-table { padding: 22px; }
    .footer-inner { flex-direction: column; align-items: flex-start; }
    .closing { padding: 36px 0 42px; }
    .section-lead { flex-direction: column; gap: 4px; }
    .instrument-board { box-shadow: 6px 6px 0 #d0def6; }
}
