:root {
    --paper: #f4f8fa;
    --paper-2: #e7f0f3;
    --ink: #2b5363;
    --ink-soft: #5c7883;
    --rule: #a8c0c8;
    --accent: #d85d49;
    --accent-soft: #f2d8d3;
    --signal: #7fc3cf;
    --signal-soft: #d5edf1;
    --white: #ffffff;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    background: var(--paper);
    color: var(--ink);
    font-family: Arial, Helvetica, sans-serif;
    line-height: 1.55;
}

a {
    color: inherit;
}

img,
svg {
    max-width: 100%;
}

h1,
h2,
h3,
p,
dl,
dd,
ul,
ol {
    margin-top: 0;
}

h1,
h2 {
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 700;
    letter-spacing: -0.025em;
    line-height: 1.08;
}

h1 {
    margin-bottom: 16px;
    font-size: 40px;
}

h2 {
    margin-bottom: 14px;
    font-size: 28px;
}

h3 {
    margin-bottom: 7px;
    font-size: 18px;
    line-height: 1.25;
}

p {
    margin-bottom: 14px;
    font-size: 16px;
}

.wrap {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
}

.masthead {
    background: var(--paper);
    border-top: 7px solid var(--accent);
    border-bottom: 1px solid var(--rule);
}

.masthead-top {
    display: grid;
    grid-template-columns: 190px 1fr auto;
    align-items: center;
    min-height: 76px;
    gap: 26px;
}

.wordmark {
    display: inline-flex;
    align-items: baseline;
    gap: 7px;
    width: max-content;
    text-decoration: none;
    font-family: "Courier New", monospace;
    letter-spacing: 0.08em;
}

.wordmark span {
    font-size: 13px;
    font-weight: 700;
}

.wordmark strong {
    font-size: 28px;
    color: var(--accent);
    letter-spacing: -0.04em;
}

.primary-nav {
    display: flex;
    justify-content: center;
    gap: 30px;
}

.primary-nav a {
    position: relative;
    padding: 8px 0;
    text-decoration: none;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.primary-nav a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 100%;
    bottom: 2px;
    height: 2px;
    background: var(--accent);
    transition: right 160ms ease;
}

.primary-nav a:hover::after,
.primary-nav a:focus-visible::after,
.primary-nav a[aria-current="page"]::after {
    right: 0;
}

.masthead-actions,
.lead-actions {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}

.action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 9px 14px;
    border: 2px solid var(--ink);
    text-decoration: none;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    transition: background-color 150ms ease, color 150ms ease, border-color 150ms ease, transform 150ms ease;
}

.action:hover,
.action:focus-visible {
    transform: translateY(-2px);
}

.action-phone {
    background: var(--paper);
}

.action-phone:hover,
.action-phone:focus-visible {
    background: var(--signal-soft);
    border-color: var(--signal);
}

.action-report {
    background: var(--accent);
    border-color: var(--accent);
    color: var(--white);
}

.action-report:hover,
.action-report:focus-visible {
    background: var(--ink);
    border-color: var(--ink);
}

.masthead-rule {
    border-top: 1px solid var(--rule);
    background: var(--paper-2);
}

.masthead-meta {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0;
    min-height: 34px;
    align-items: center;
    font-family: "Courier New", monospace;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}

.masthead-meta span {
    padding: 5px 14px;
    border-left: 1px solid var(--rule);
}

.masthead-meta span:last-child {
    border-right: 1px solid var(--rule);
}

.overline {
    margin-bottom: 9px;
    color: var(--accent);
    font-family: "Courier New", monospace;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.lead-story,
.repair-cover,
.offer-cover {
    border-bottom: 1px solid var(--rule);
}

.lead-grid {
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr) 300px;
    min-height: 420px;
}

.lead-kicker {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 30px 14px 26px 0;
    border-right: 1px solid var(--rule);
}

.issue-no {
    color: var(--accent);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 50px;
    line-height: 1;
}

.issue-label {
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    font-family: "Courier New", monospace;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
}

.lead-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 34px 44px;
}

.lead-copy h1 {
    max-width: 670px;
}

.lead-text {
    max-width: 740px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 19px;
    line-height: 1.5;
}

.lead-copy .lead-actions {
    margin-top: 8px;
}

.lead-facts {
    align-self: stretch;
    padding: 32px 0 28px 28px;
    border-left: 1px solid var(--rule);
    background: var(--signal-soft);
}

.facts-title {
    padding-right: 22px;
    font-family: "Courier New", monospace;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.lead-facts dl {
    margin: 22px 0 0;
}

.lead-facts dl div {
    padding: 13px 22px 13px 0;
    border-top: 1px solid var(--rule);
}

.lead-facts dt {
    margin-bottom: 2px;
    color: var(--ink-soft);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
}

.lead-facts dd {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 18px;
    font-weight: 700;
}

.editorial-section,
.symptoms-spread,
.visit-story,
.appointment-spread,
.repair-finale,
.offer-ledger-section,
.appliance-directory,
.terms-editorial,
.offer-appointment {
    border-bottom: 1px solid var(--rule);
}

.section-grid {
    display: grid;
    grid-template-columns: 310px minmax(0, 1fr);
    column-gap: 40px;
    row-gap: 22px;
    padding: 34px 0;
}

.section-heading {
    position: relative;
    padding-left: 46px;
}

.section-heading .chapter {
    position: absolute;
    top: 0;
    left: 0;
    color: var(--accent);
    font-family: "Courier New", monospace;
    font-size: 18px;
    font-weight: 700;
}

.section-heading p:last-child {
    margin-bottom: 0;
}

.section-intro {
    align-self: end;
    max-width: 720px;
}

.device-index {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-top: 2px solid var(--ink);
    border-bottom: 1px solid var(--rule);
}

.device-index article {
    display: grid;
    grid-template-columns: 46px 1fr;
    gap: 12px;
    padding: 18px 22px 16px 0;
    border-bottom: 1px solid var(--rule);
}

.device-index article:nth-child(odd) {
    border-right: 1px solid var(--rule);
    padding-right: 28px;
}

.device-index article:nth-child(even) {
    padding-left: 28px;
}

.device-index article:nth-last-child(-n + 2) {
    border-bottom: 0;
}

.entry-no {
    color: var(--accent);
    font-family: "Courier New", monospace;
    font-size: 12px;
    font-weight: 700;
}

.device-index p,
.offer-ledger p,
.symptoms-columns p,
.visit-chapters p,
.process-rows p {
    margin-bottom: 0;
}

.editor-note {
    grid-column: 2;
    display: grid;
    grid-template-columns: 180px 1fr;
    gap: 24px;
    padding-top: 2px;
}

.editor-note strong {
    color: var(--accent);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 18px;
}

.route-feature {
    background: var(--paper-2);
}

.route-editorial {
    display: grid;
    grid-template-columns: 340px 1fr 80px;
    gap: 34px;
    align-items: stretch;
    padding: 32px 0;
}

.compact-heading {
    padding-top: 4px;
}

.route-text {
    columns: 2 260px;
    column-gap: 30px;
    column-rule: 1px solid var(--rule);
}

.route-mark {
    display: flex;
    align-items: center;
    justify-content: center;
    border-left: 1px solid var(--rule);
    color: var(--accent);
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    font-family: "Courier New", monospace;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
}

.diagnosis-editorial {
    display: grid;
    grid-template-columns: 330px minmax(0, 1fr);
    gap: 42px;
    padding: 30px 0;
    align-items: center;
}

.price-statement {
    padding: 24px 0;
    border-top: 6px solid var(--accent);
    border-bottom: 1px solid var(--rule);
}

.price-statement span {
    display: block;
    margin-bottom: 8px;
    font-family: "Courier New", monospace;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.price-statement strong {
    display: block;
    color: var(--accent);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 42px;
    line-height: 1;
}

.diagnosis-copy {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 30px;
}

.diagnosis-copy .overline,
.diagnosis-copy h2 {
    grid-column: 1 / -1;
}

.process-editorial {
    display: grid;
    grid-template-columns: 310px 1fr;
    gap: 40px;
    padding: 34px 0;
}

.process-rows {
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 2px solid var(--ink);
}

.process-rows li {
    display: grid;
    grid-template-columns: 54px 190px 1fr;
    gap: 18px;
    padding: 14px 0;
    border-bottom: 1px solid var(--rule);
}

.process-rows li > span {
    color: var(--accent);
    font-family: "Courier New", monospace;
    font-size: 13px;
    font-weight: 700;
}

.process-rows h3 {
    margin: 0;
}

.hours-contact {
    background: var(--signal-soft);
}

.hours-contact-grid {
    display: grid;
    grid-template-columns: 1fr 280px 1.1fr;
    gap: 34px;
    padding: 30px 0;
}

.hours-ledger {
    border-top: 2px solid var(--ink);
}

.hours-ledger > div {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 11px 0;
    border-bottom: 1px solid var(--rule);
    font-size: 14px;
}

.contact-copy {
    border-left: 1px solid var(--rule);
    padding-left: 30px;
}

.more-info {
    background: var(--paper);
    border-bottom: 1px solid var(--rule);
}

.more-info .wrap {
    padding: 14px 0;
}

.more-info p {
    margin: 0;
    color: var(--ink-soft);
    font-size: 16px;
}

.site-footer {
    background: var(--paper-2);
}

.footer-grid {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 74px;
    gap: 24px;
}

.footer-grid nav {
    display: flex;
    gap: 22px;
}

.footer-grid nav a {
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
}

.footer-grid nav a:hover,
.footer-grid nav a:focus-visible {
    color: var(--accent);
}

.footer-grid .privacy {
    color: var(--ink-soft);
    font-weight: 400;
}

/* Naprawa */
.repair-cover-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: 0;
    min-height: 390px;
}

.repair-title {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 34px 44px 34px 0;
}

.fault-callout {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 30px;
    border-left: 1px solid var(--rule);
    background: var(--accent-soft);
}

.callout-label,
.appointment-aside > span,
.offer-summary > span,
.offer-actions > span,
.finale-label {
    margin-bottom: 12px;
    font-family: "Courier New", monospace;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.fault-callout > strong,
.offer-summary > strong {
    margin-bottom: 10px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 27px;
    line-height: 1.15;
}

.symptoms-grid {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 40px;
    padding: 32px 0;
}

.symptoms-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-top: 2px solid var(--ink);
}

.symptoms-columns article {
    padding: 17px 22px 15px 0;
    border-bottom: 1px solid var(--rule);
}

.symptoms-columns article:nth-child(odd) {
    border-right: 1px solid var(--rule);
    padding-right: 28px;
}

.symptoms-columns article:nth-child(even) {
    padding-left: 28px;
}

.symptoms-columns article:nth-last-child(-n + 2) {
    border-bottom: 0;
}

.visit-story {
    background: var(--paper-2);
}

.visit-story-grid {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 44px;
    padding: 32px 0;
}

.visit-heading {
    padding-top: 5px;
}

.visit-chapters {
    border-top: 2px solid var(--ink);
}

.visit-chapters article {
    display: grid;
    grid-template-columns: 58px 1fr;
    gap: 16px;
    padding: 16px 0;
    border-bottom: 1px solid var(--rule);
}

.visit-no {
    color: var(--accent);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 34px;
    line-height: 1;
}

.appointment-grid {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 42px;
    padding: 32px 0;
}

.appointment-copy {
    columns: 2 260px;
    column-gap: 32px;
}

.appointment-copy .overline,
.appointment-copy h2 {
    column-span: all;
}

.appointment-aside {
    padding: 22px 0 0 26px;
    border-left: 5px solid var(--accent);
}

.appointment-aside .action {
    width: 100%;
    margin-top: 8px;
}

.repair-finale {
    background: var(--signal-soft);
}

.finale-grid {
    display: grid;
    grid-template-columns: 240px 1fr;
    gap: 36px;
    padding: 28px 0;
}

.finale-label {
    color: var(--accent);
    padding-top: 5px;
}

.finale-grid > div:last-child {
    columns: 2 280px;
    column-gap: 30px;
}

.finale-grid h2 {
    column-span: all;
}

/* Oferta */
.offer-cover-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    min-height: 350px;
}

.offer-title {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 34px 44px 34px 0;
}

.offer-summary {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 30px;
    border-left: 1px solid var(--rule);
    background: var(--signal-soft);
}

.offer-ledger-grid {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 42px;
    padding: 32px 0;
}

.offer-ledger {
    border-top: 2px solid var(--ink);
}

.offer-ledger article {
    display: grid;
    grid-template-columns: 48px 210px 1fr;
    gap: 16px;
    padding: 14px 0;
    border-bottom: 1px solid var(--rule);
}

.offer-ledger article > span {
    color: var(--accent);
    font-family: "Courier New", monospace;
    font-size: 12px;
    font-weight: 700;
}

.offer-ledger h3 {
    margin: 0;
}

.appliance-directory {
    background: var(--paper-2);
}

.appliance-directory-grid {
    display: grid;
    grid-template-columns: 360px 1fr;
    gap: 40px;
    padding: 30px 0;
}

.directory-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 2px solid var(--ink);
}

.directory-list li {
    display: grid;
    grid-template-columns: 46px 1fr;
    gap: 8px;
    padding: 10px 16px 10px 0;
    border-bottom: 1px solid var(--rule);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 17px;
    font-weight: 700;
}

.directory-list li:nth-child(odd) {
    border-right: 1px solid var(--rule);
    padding-right: 22px;
}

.directory-list li:nth-child(even) {
    padding-left: 22px;
}

.directory-list span {
    color: var(--accent);
    font-family: "Courier New", monospace;
    font-size: 11px;
}

.terms-editorial-grid {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 46px;
    padding: 32px 0;
}

.terms-columns {
    columns: 2 280px;
    column-gap: 34px;
    column-rule: 1px solid var(--rule);
}

.terms-columns p {
    break-inside: avoid;
}

.offer-appointment {
    background: var(--accent-soft);
}

.offer-appointment-grid {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 40px;
    padding: 30px 0;
}

.offer-appointment-grid > div:first-child {
    columns: 2 260px;
    column-gap: 30px;
}

.offer-appointment-grid .overline,
.offer-appointment-grid h2 {
    column-span: all;
}

.offer-actions {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-left: 28px;
    border-left: 1px solid var(--rule);
}

.offer-actions .action {
    width: 100%;
    margin-top: 8px;
}

@media (max-width: 980px) {
    .wrap {
        width: min(100% - 34px, 900px);
    }

    .masthead-top {
        grid-template-columns: 150px 1fr;
        gap: 12px 20px;
        padding: 12px 0;
    }

    .primary-nav {
        justify-content: flex-end;
        gap: 20px;
    }

    .masthead-actions {
        grid-column: 1 / -1;
        justify-content: flex-end;
        padding-top: 8px;
        border-top: 1px solid var(--rule);
    }

    .lead-grid {
        grid-template-columns: 72px 1fr 250px;
    }

    .lead-copy {
        padding: 30px;
    }

    .section-grid,
    .symptoms-grid,
    .visit-story-grid,
    .offer-ledger-grid,
    .terms-editorial-grid {
        grid-template-columns: 260px 1fr;
        gap: 28px;
    }

    .route-editorial {
        grid-template-columns: 280px 1fr;
    }

    .route-mark {
        display: none;
    }

    .diagnosis-editorial {
        grid-template-columns: 260px 1fr;
        gap: 30px;
    }

    .process-editorial {
        grid-template-columns: 260px 1fr;
        gap: 28px;
    }

    .process-rows li,
    .offer-ledger article {
        grid-template-columns: 44px 160px 1fr;
    }

    .hours-contact-grid {
        grid-template-columns: 1fr 240px;
    }

    .contact-copy {
        grid-column: 1 / -1;
        border-left: 0;
        border-top: 1px solid var(--rule);
        padding: 20px 0 0;
    }

    .repair-cover-grid {
        grid-template-columns: 1fr 320px;
    }

    .appointment-grid,
    .offer-cover-grid,
    .offer-appointment-grid {
        grid-template-columns: 1fr 300px;
        gap: 28px;
    }

    .appliance-directory-grid {
        grid-template-columns: 300px 1fr;
        gap: 28px;
    }
}

@media (max-width: 760px) {
    .wrap {
        width: min(100% - 28px, 680px);
    }

    .masthead {
        border-top-width: 5px;
    }

    .masthead-top {
        grid-template-columns: 1fr auto;
        min-height: 0;
    }

    .wordmark strong {
        font-size: 24px;
    }

    .primary-nav {
        grid-column: 1 / -1;
        grid-row: 2;
        justify-content: flex-start;
        flex-wrap: wrap;
        gap: 8px 20px;
        padding-top: 8px;
        border-top: 1px solid var(--rule);
    }

    .masthead-actions {
        grid-column: 2;
        grid-row: 1;
        padding-top: 0;
        border-top: 0;
    }

    .masthead-actions .action-report {
        display: none;
    }

    .masthead-meta {
        grid-template-columns: 1fr;
        padding: 5px 0;
    }

    .masthead-meta span {
        padding: 3px 0;
        border: 0;
    }

    .masthead-meta span:last-child {
        border: 0;
    }

    .lead-grid,
    .repair-cover-grid,
    .offer-cover-grid {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .lead-kicker {
        display: none;
    }

    .lead-copy,
    .repair-title,
    .offer-title {
        padding: 28px 0 24px;
    }

    .lead-facts,
    .fault-callout,
    .offer-summary {
        padding: 22px 0;
        border-left: 0;
        border-top: 1px solid var(--rule);
        background: transparent;
    }

    .lead-facts dl {
        display: grid;
        grid-template-columns: 1fr 1fr;
        margin-top: 12px;
    }

    .lead-facts dl div {
        padding: 10px 12px 10px 0;
    }

    .section-grid,
    .symptoms-grid,
    .visit-story-grid,
    .offer-ledger-grid,
    .terms-editorial-grid,
    .process-editorial,
    .appliance-directory-grid {
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 26px 0;
    }

    .section-heading {
        padding-left: 38px;
    }

    .section-intro,
    .editor-note {
        grid-column: 1;
    }

    .device-index,
    .symptoms-columns,
    .directory-list {
        grid-template-columns: 1fr;
    }

    .device-index article,
    .device-index article:nth-child(odd),
    .device-index article:nth-child(even),
    .symptoms-columns article,
    .symptoms-columns article:nth-child(odd),
    .symptoms-columns article:nth-child(even) {
        padding: 14px 0;
        border-right: 0;
        border-bottom: 1px solid var(--rule);
    }

    .device-index article:nth-last-child(-n + 2),
    .symptoms-columns article:nth-last-child(-n + 2) {
        border-bottom: 1px solid var(--rule);
    }

    .device-index article:last-child,
    .symptoms-columns article:last-child {
        border-bottom: 0;
    }

    .editor-note {
        grid-template-columns: 1fr;
        gap: 5px;
    }

    .route-editorial,
    .diagnosis-editorial,
    .appointment-grid,
    .offer-appointment-grid,
    .finale-grid {
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 26px 0;
    }

    .route-text,
    .diagnosis-copy,
    .appointment-copy,
    .finale-grid > div:last-child,
    .terms-columns,
    .offer-appointment-grid > div:first-child {
        columns: 1;
    }

    .price-statement {
        padding: 18px 0;
    }

    .diagnosis-copy .overline,
    .diagnosis-copy h2 {
        grid-column: auto;
    }

    .process-rows li,
    .offer-ledger article {
        grid-template-columns: 44px 1fr;
        gap: 8px 12px;
    }

    .process-rows p,
    .offer-ledger p {
        grid-column: 2;
    }

    .hours-contact-grid {
        grid-template-columns: 1fr;
        gap: 18px;
        padding: 26px 0;
    }

    .contact-copy {
        grid-column: auto;
    }

    .visit-chapters article {
        grid-template-columns: 46px 1fr;
    }

    .appointment-aside,
    .offer-actions {
        padding: 18px 0 0;
        border-left: 0;
        border-top: 5px solid var(--accent);
    }

    .directory-list li,
    .directory-list li:nth-child(odd),
    .directory-list li:nth-child(even) {
        padding: 10px 0;
        border-right: 0;
        border-bottom: 1px solid var(--rule);
    }

    .offer-appointment-grid .overline,
    .offer-appointment-grid h2,
    .appointment-copy .overline,
    .appointment-copy h2,
    .finale-grid h2 {
        column-span: none;
    }

    .footer-grid {
        align-items: flex-start;
        flex-direction: column;
        padding: 20px 0;
    }

    .footer-grid nav {
        flex-wrap: wrap;
        gap: 14px 20px;
    }
}

@media (max-width: 480px) {
    .wrap {
        width: calc(100% - 22px);
    }

    h1 {
        font-size: 40px;
    }

    h2 {
        font-size: 28px;
    }

    p {
        font-size: 16px;
    }

    .masthead-top {
        grid-template-columns: 1fr;
    }

    .masthead-actions {
        grid-column: 1;
        grid-row: 2;
        justify-content: flex-start;
    }

    .primary-nav {
        grid-row: 3;
        gap: 15px;
    }

    .masthead-actions .action-report {
        display: inline-flex;
    }

    .lead-actions .action,
    .masthead-actions .action {
        flex: 1 1 auto;
    }

    .lead-text {
        font-size: 18px;
    }

    .lead-facts dl {
        grid-template-columns: 1fr;
    }

    .process-rows li,
    .offer-ledger article {
        grid-template-columns: 34px 1fr;
    }

    .directory-list li {
        grid-template-columns: 36px 1fr;
    }
}


/* Moduł 2 — strony urządzeń */
.device-index h3 a,
.symptoms-columns h3 a,
.directory-list a {
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.device-index h3 a:hover,
.device-index h3 a:focus-visible,
.symptoms-columns h3 a:hover,
.symptoms-columns h3 a:focus-visible,
.directory-list a:hover,
.directory-list a:focus-visible {
    color: var(--accent);
}

.washer-cover,
.fridge-cover,
.dish-cover,
.oven-cover {
    border-bottom: 1px solid var(--rule);
}

.washer-cover-grid {
    display: grid;
    grid-template-columns: 130px minmax(0, 1fr) 300px;
    min-height: 410px;
}

.washer-index {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 34px 20px 30px 0;
    border-right: 1px solid var(--rule);
    font-family: "Courier New", monospace;
    font-size: 12px;
    letter-spacing: .08em;
}

.washer-index span { color: var(--accent); margin-bottom: auto; }
.washer-index strong { font-size: 12px; }

.washer-intro {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 38px 44px;
}

.washer-note {
    align-self: stretch;
    padding: 36px 0 30px 28px;
    border-left: 1px solid var(--rule);
    background: var(--signal-soft);
}

.cycle-strip,
.washer-diagnosis,
.washer-visit,
.temperature-board,
.cooling-path,
.fridge-visit,
.water-ledger,
.dish-symptoms,
.dish-diagnosis,
.dish-contact,
.heat-map,
.oven-checklist,
.oven-service {
    border-bottom: 1px solid var(--rule);
}

.cycle-strip-grid {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 42px;
    padding: 40px 0;
}

.cycle-steps {
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid var(--rule);
}

.cycle-steps li {
    display: grid;
    grid-template-columns: 50px 1fr;
    gap: 18px;
    padding: 18px 0;
    border-bottom: 1px solid var(--rule);
}

.cycle-steps li > span,
.water-flow article > span {
    color: var(--accent);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 28px;
    line-height: 1;
}

.washer-diagnosis-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
}

.washer-fault-list,
.washer-method { padding: 40px 36px 36px 0; }
.washer-method { padding-left: 36px; padding-right: 0; border-left: 1px solid var(--rule); background: var(--paper-2); }
.washer-fault-list ul,
.dish-terms ul { margin: 18px 0 0; padding-left: 20px; }
.washer-fault-list li,
.dish-terms li { margin-bottom: 10px; }
.method-label { display: inline-block; margin-bottom: 24px; color: var(--accent); font-family: "Courier New", monospace; font-size: 12px; font-weight: 700; letter-spacing: .1em; }

.washer-visit-grid {
    display: grid;
    grid-template-columns: 1fr 250px;
    gap: 0;
    padding: 40px 0;
}

.washer-price {
    grid-row: span 2;
    padding: 22px;
    border-left: 1px solid var(--rule);
    background: var(--accent-soft);
}
.washer-price span { display: block; font-family: "Courier New", monospace; font-size: 12px; font-weight: 700; letter-spacing: .08em; }
.washer-price strong { display: block; margin: 14px 0 18px; font-family: Georgia, "Times New Roman", serif; font-size: 34px; }
.washer-contact { padding-top: 18px; border-top: 1px solid var(--rule); }

.fridge-cover-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
}
.fridge-title { padding: 52px 44px 46px 0; }
.temperature-card { padding: 36px 0 30px 30px; border-left: 1px solid var(--rule); background: var(--signal-soft); }
.temperature-card .temp-label { display: block; margin-bottom: 30px; color: var(--accent); font-family: "Courier New", monospace; font-size: 12px; font-weight: 700; letter-spacing: .1em; }
.temperature-card strong { display: block; padding: 10px 0; border-bottom: 1px solid var(--rule); font-size: 16px; }
.temperature-card p { margin-top: 22px; }

.temperature-board-grid { display: grid; grid-template-columns: 310px 1fr; gap: 42px; padding: 40px 0; }
.temperature-rows article { display: grid; grid-template-columns: 50px 210px 1fr; gap: 18px; padding: 17px 0; border-top: 1px solid var(--rule); }
.temperature-rows article:last-child { border-bottom: 1px solid var(--rule); }
.temperature-rows article > span { color: var(--accent); font-family: "Courier New", monospace; font-weight: 700; }

.cooling-path-grid { display: grid; grid-template-columns: 220px 1fr; }
.cooling-margin { padding: 38px 24px 34px 0; border-right: 1px solid var(--rule); font-family: "Courier New", monospace; font-size: 12px; }
.cooling-margin span { display: block; margin-bottom: 70px; color: var(--accent); font-weight: 700; letter-spacing: .08em; }
.cooling-copy { padding: 38px 0 34px 42px; columns: 2; column-gap: 42px; }
.cooling-copy .overline,
.cooling-copy h2 { column-span: all; }

.fridge-visit-grid { display: grid; grid-template-columns: 1fr 330px; gap: 0; padding: 40px 0; }
.fridge-service-note { padding-right: 42px; }
.fridge-facts { border-left: 1px solid var(--rule); padding-left: 28px; }
.fridge-facts dl { margin: 0; }
.fridge-facts dl div { display: flex; justify-content: space-between; gap: 18px; padding: 10px 0; border-bottom: 1px solid var(--rule); }
.fridge-facts dt { font-family: "Courier New", monospace; font-size: 12px; font-weight: 700; text-transform: uppercase; }
.fridge-facts dd { margin: 0; text-align: right; }
.fridge-call { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--rule); }
.fridge-call p { margin-bottom: 0; }

.dish-cover-inner { position: relative; padding: 58px 110px 50px; text-align: center; }
.dish-cover-inner .lead-text { margin-left: auto; margin-right: auto; max-width: 850px; }
.dish-cover-inner .lead-actions { justify-content: center; }
.dish-serial { position: absolute; left: 0; top: 34px; color: var(--accent); font-family: "Courier New", monospace; font-size: 12px; font-weight: 700; letter-spacing: .1em; }

.water-ledger-grid { display: grid; grid-template-columns: 270px 1fr; gap: 38px; padding: 40px 0; }
.water-flow { display: grid; grid-template-columns: repeat(4, 1fr); border-left: 1px solid var(--rule); }
.water-flow article { padding: 16px 18px; border-top: 1px solid var(--rule); border-right: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.water-flow article > span { display: block; margin-bottom: 38px; }

.dish-symptoms-grid { display: grid; grid-template-columns: 300px 1fr; padding: 40px 0; }
.dish-symptom-title { padding-right: 32px; }
.dish-symptom-title > span { display: block; margin-bottom: 52px; color: var(--accent); font-family: "Courier New", monospace; font-size: 12px; font-weight: 700; letter-spacing: .08em; }
.dish-symptom-rows { border-left: 1px solid var(--rule); }
.dish-symptom-rows p { margin: 0; padding: 13px 0 13px 30px; border-bottom: 1px solid var(--rule); }
.dish-symptom-rows p:first-child { border-top: 1px solid var(--rule); }

.dish-diagnosis-grid { display: grid; grid-template-columns: 1fr 320px; }
.dish-check { padding: 40px 42px 36px 0; }
.dish-terms { padding: 40px 0 36px 30px; border-left: 1px solid var(--rule); background: var(--paper-2); }
.dish-contact-grid { display: grid; grid-template-columns: 260px 1fr auto; gap: 36px; align-items: center; padding: 32px 0; }
.dish-contact-grid .lead-actions { justify-content: flex-end; }

.oven-cover-grid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; }
.oven-title { padding: 54px 48px 48px 0; }
.oven-scale { padding: 32px 0 26px 30px; border-left: 1px solid var(--rule); }
.oven-scale > span { display: block; margin-bottom: 28px; color: var(--accent); font-family: "Courier New", monospace; font-size: 12px; font-weight: 700; letter-spacing: .1em; }
.oven-scale div { display: grid; grid-template-columns: 38px 1fr; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--rule); }
.oven-scale i { color: var(--accent); font-family: Georgia, "Times New Roman", serif; font-size: 22px; font-style: normal; }
.oven-scale strong { align-self: center; font-size: 14px; text-transform: uppercase; letter-spacing: .04em; }

.heat-map-grid { display: grid; grid-template-columns: 300px 1fr; gap: 40px; padding: 40px 0; }
.heat-mark { display: block; margin-bottom: 42px; color: var(--accent); font-family: Georgia, "Times New Roman", serif; font-size: 54px; line-height: 1; }
.heat-cases { display: grid; grid-template-columns: 1fr 1fr; }
.heat-cases article { padding: 18px 22px; border-top: 1px solid var(--rule); }
.heat-cases article:nth-child(odd) { border-right: 1px solid var(--rule); }
.heat-cases article:nth-last-child(-n+2) { border-bottom: 1px solid var(--rule); }

.oven-checklist-grid { display: grid; grid-template-columns: 250px 1fr; padding: 40px 0; }
.oven-check-title { padding-right: 30px; }
.oven-check-title > span { display: block; margin-bottom: 55px; color: var(--accent); font-family: "Courier New", monospace; font-size: 12px; font-weight: 700; letter-spacing: .08em; }
.oven-check-columns { display: grid; grid-template-columns: repeat(3,1fr); border-left: 1px solid var(--rule); }
.oven-check-columns article { padding: 8px 24px; border-right: 1px solid var(--rule); }
.oven-check-columns article > span { display: block; margin-bottom: 30px; color: var(--accent); font-family: Georgia, "Times New Roman", serif; font-size: 30px; }

.oven-service-grid { display: grid; grid-template-columns: 1fr 280px; padding: 40px 0; }
.oven-service-copy { padding-right: 40px; }
.oven-hours { padding-left: 28px; border-left: 1px solid var(--rule); }
.oven-hours > span { display: block; margin-bottom: 20px; color: var(--accent); font-family: "Courier New", monospace; font-size: 12px; font-weight: 700; letter-spacing: .08em; }
.oven-hours dl div { display: flex; justify-content: space-between; gap: 18px; padding: 10px 0; border-bottom: 1px solid var(--rule); }
.oven-hours dd { margin: 0; }
.oven-final { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr auto; gap: 28px; align-items: center; margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--rule); }
.oven-final p { margin-bottom: 0; }

@media (max-width: 980px) {
    .washer-cover-grid { grid-template-columns: 100px minmax(0,1fr) 250px; }
    .cycle-strip-grid,
    .temperature-board-grid,
    .water-ledger-grid,
    .heat-map-grid { grid-template-columns: 250px 1fr; }
    .temperature-rows article { grid-template-columns: 42px 170px 1fr; }
    .water-flow { grid-template-columns: 1fr 1fr; }
    .oven-checklist-grid { grid-template-columns: 210px 1fr; }
}

@media (max-width: 760px) {
    .washer-cover-grid,
    .fridge-cover-grid,
    .oven-cover-grid,
    .cycle-strip-grid,
    .washer-diagnosis-grid,
    .temperature-board-grid,
    .cooling-path-grid,
    .fridge-visit-grid,
    .water-ledger-grid,
    .dish-symptoms-grid,
    .dish-diagnosis-grid,
    .heat-map-grid,
    .oven-checklist-grid,
    .oven-service-grid { grid-template-columns: 1fr; }

    .washer-index { flex-direction: row; flex-wrap: wrap; padding: 18px 0; border-right: 0; border-bottom: 1px solid var(--rule); }
    .washer-index span { margin-bottom: 0; margin-right: auto; }
    .washer-intro { padding: 30px 0; }
    .washer-note { padding: 24px 0; border-left: 0; border-top: 1px solid var(--rule); }
    .washer-method { padding: 30px 0; border-left: 0; border-top: 1px solid var(--rule); }
    .washer-fault-list { padding: 30px 0; }
    .washer-visit-grid { grid-template-columns: 1fr; }
    .washer-price { grid-row: auto; padding: 22px 0; border-left: 0; border-top: 1px solid var(--rule); }
    .fridge-title,
    .oven-title { padding: 36px 0 30px; }
    .temperature-card,
    .oven-scale { padding: 26px 0; border-left: 0; border-top: 1px solid var(--rule); }
    .temperature-rows article { grid-template-columns: 36px 1fr; }
    .temperature-rows article p { grid-column: 2; }
    .cooling-margin { padding: 24px 0; border-right: 0; border-bottom: 1px solid var(--rule); }
    .cooling-margin span { margin-bottom: 18px; }
    .cooling-copy { padding: 30px 0; columns: 1; }
    .fridge-service-note { padding-right: 0; }
    .fridge-facts { padding: 24px 0 0; border-left: 0; border-top: 1px solid var(--rule); }
    .fridge-call { align-items: flex-start; flex-direction: column; }
    .dish-cover-inner { padding: 42px 0 36px; text-align: left; }
    .dish-cover-inner .lead-actions { justify-content: flex-start; }
    .dish-serial { position: static; display: block; margin-bottom: 20px; }
    .water-flow { grid-template-columns: 1fr 1fr; }
    .dish-symptom-title { padding-right: 0; }
    .dish-symptom-title > span { margin-bottom: 22px; }
    .dish-symptom-rows { border-left: 0; }
    .dish-symptom-rows p { padding-left: 0; }
    .dish-check { padding-right: 0; }
    .dish-terms { padding: 28px 0; border-left: 0; border-top: 1px solid var(--rule); }
    .dish-contact-grid { grid-template-columns: 1fr; gap: 12px; }
    .dish-contact-grid .lead-actions { justify-content: flex-start; }
    .heat-cases { grid-template-columns: 1fr; }
    .heat-cases article:nth-child(odd) { border-right: 0; }
    .heat-cases article { border-bottom: 1px solid var(--rule); }
    .oven-check-title { padding-right: 0; }
    .oven-check-title > span { margin-bottom: 20px; }
    .oven-check-columns { grid-template-columns: 1fr; border-left: 0; }
    .oven-check-columns article { padding: 20px 0; border-right: 0; border-top: 1px solid var(--rule); }
    .oven-check-columns article > span { margin-bottom: 12px; }
    .oven-service-copy { padding-right: 0; }
    .oven-hours { padding: 24px 0 0; border-left: 0; border-top: 1px solid var(--rule); }
    .oven-final { grid-template-columns: 1fr; gap: 14px; }
}

@media (max-width: 480px) {
    .water-flow { grid-template-columns: 1fr; }
    .cycle-steps li { grid-template-columns: 38px 1fr; }
    .heat-cases { grid-template-columns: 1fr; }
}

/* Concrete fault pages */
.fault-hero,
.fault-sequence,
.fault-analysis,
.fault-close,
.fault-thermal,
.thermal-cases,
.thermal-diagnosis,
.fault-water-start,
.water-path-check,
.water-observation {
    border-bottom: 1px solid var(--rule);
}

.fault-hero-grid {
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr) 300px;
    min-height: 390px;
}

.fault-code {
    padding: 38px 18px 30px 0;
    border-right: 1px solid var(--rule);
    color: var(--accent);
    font-family: "Courier New", monospace;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .1em;
    writing-mode: vertical-rl;
}

.fault-lead {
    align-self: center;
    padding: 44px 44px;
}

.fault-side-note {
    align-self: stretch;
    padding: 42px 0 34px 28px;
    border-left: 1px solid var(--rule);
    background: var(--signal-soft);
}

.fault-side-note strong,
.thermal-meter > span,
.thermal-question > span,
.water-note strong {
    display: block;
    margin-bottom: 22px;
    color: var(--accent);
    font-family: "Courier New", monospace;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.fault-sequence-grid {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 40px;
    padding: 40px 0;
}

.fault-sequence-steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-left: 1px solid var(--rule);
}

.fault-sequence-steps article {
    padding: 18px 22px;
    border-top: 1px solid var(--rule);
    border-right: 1px solid var(--rule);
    border-bottom: 1px solid var(--rule);
}

.fault-sequence-steps article > span {
    display: block;
    margin-bottom: 40px;
    color: var(--accent);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 30px;
}

.fault-analysis-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: 0;
    padding: 40px 0;
}

.fault-analysis-grid > div:first-child {
    padding-right: 42px;
}

.fault-links {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding-left: 28px;
    border-left: 1px solid var(--rule);
}

.fault-links span {
    margin-bottom: 24px;
    color: var(--accent);
    font-family: "Courier New", monospace;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .09em;
}

.fault-links a {
    padding: 12px 0;
    border-bottom: 1px solid var(--rule);
    font-weight: 700;
    text-decoration: none;
}

.fault-links a:hover,
.fault-links a:focus-visible {
    color: var(--accent);
}

.fault-close-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 42px;
    padding: 34px 0;
}

.fault-close-grid .lead-actions {
    justify-content: flex-end;
}

.fault-thermal-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
}

.fault-thermal-main {
    padding: 54px 48px 46px 0;
}

.thermal-meter {
    padding: 36px 0 30px 30px;
    border-left: 1px solid var(--rule);
    background: var(--paper-2);
}

.thermal-meter strong {
    display: block;
    padding: 14px 0;
    border-bottom: 1px solid var(--rule);
    font-size: 15px;
    text-transform: uppercase;
}

.thermal-cases-grid {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 40px;
    padding: 40px 0;
}

.thermal-cases-list {
    border-top: 1px solid var(--rule);
}

.thermal-cases-list article {
    display: grid;
    grid-template-columns: 250px 1fr;
    gap: 28px;
    padding: 17px 0;
    border-bottom: 1px solid var(--rule);
}

.thermal-diagnosis-grid {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
}

.thermal-question {
    padding: 40px 28px 34px 0;
    border-right: 1px solid var(--rule);
    background: var(--signal-soft);
}

.thermal-question + div {
    padding: 40px 0 34px 42px;
}

.fault-water-grid {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    min-height: 340px;
}

.water-start-label {
    display: flex;
    align-items: flex-end;
    padding: 30px 18px 36px 0;
    border-right: 1px solid var(--rule);
    color: var(--accent);
    font-family: "Courier New", monospace;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .1em;
}

.fault-water-grid > div:last-child {
    align-self: center;
    padding: 42px 0 42px 46px;
    max-width: 900px;
}

.water-path-grid {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 42px;
    padding: 40px 0;
}

.water-path-list {
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid var(--rule);
}

.water-path-list li {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 20px;
    padding: 16px 0;
    border-bottom: 1px solid var(--rule);
}

.water-path-list li > span {
    color: var(--accent);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 28px;
}

.water-observation-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
}

.water-observation-grid > div {
    padding: 40px 42px 34px 0;
}

.water-note {
    padding: 40px 0 34px 28px;
    border-left: 1px solid var(--rule);
    background: var(--accent-soft);
}

@media (max-width: 980px) {
    .fault-hero-grid {
        grid-template-columns: 90px minmax(0, 1fr) 250px;
    }

    .fault-sequence-grid,
    .thermal-cases-grid,
    .water-path-grid {
        grid-template-columns: 240px 1fr;
    }
}

@media (max-width: 760px) {
    .fault-hero-grid,
    .fault-sequence-grid,
    .fault-analysis-grid,
    .fault-close-grid,
    .fault-thermal-grid,
    .thermal-cases-grid,
    .thermal-diagnosis-grid,
    .fault-water-grid,
    .water-path-grid,
    .water-observation-grid {
        grid-template-columns: 1fr;
    }

    .fault-code {
        padding: 18px 0;
        border-right: 0;
        border-bottom: 1px solid var(--rule);
        writing-mode: horizontal-tb;
    }

    .fault-lead,
    .fault-thermal-main,
    .fault-water-grid > div:last-child {
        padding: 34px 0 30px;
    }

    .fault-side-note,
    .thermal-meter,
    .water-note {
        padding: 26px 0;
        border-left: 0;
        border-top: 1px solid var(--rule);
    }

    .fault-sequence-steps {
        grid-template-columns: 1fr;
        border-left: 0;
    }

    .fault-sequence-steps article {
        padding-left: 0;
        padding-right: 0;
        border-right: 0;
    }

    .fault-analysis-grid > div:first-child {
        padding-right: 0;
    }

    .fault-links {
        padding: 26px 0 0;
        border-left: 0;
        border-top: 1px solid var(--rule);
    }

    .fault-close-grid .lead-actions {
        justify-content: flex-start;
    }

    .thermal-cases-list article {
        grid-template-columns: 1fr;
        gap: 2px;
    }

    .thermal-question {
        padding: 28px 0;
        border-right: 0;
        border-bottom: 1px solid var(--rule);
    }

    .thermal-question + div {
        padding: 30px 0;
    }

    .water-start-label {
        padding: 18px 0;
        border-right: 0;
        border-bottom: 1px solid var(--rule);
    }

    .water-observation-grid > div {
        padding-right: 0;
    }
}
