/* New visual direction. This layer follows site.css and integration.css. */
:root {
  --paper: #ffffff;
  --white: #ffffff;
  --ink: #101820;
  --muted: #5b6772;
  --cobalt: #3f4df5;
  --cobalt-hover: #2837d5;
  --copper: #3f4df5;
  --line: #d6dde4;
  --surface: #edf1f5;
  --font: 'Inter', Arial, sans-serif;
  --serif: 'Inter Tight', 'Inter', Arial, sans-serif;
  --heading: 'Inter Tight', 'Inter', Arial, sans-serif;
  --header: 84px;
  --gutter: clamp(24px, 4vw, 72px);
  --content: 1440px;
}

body { background: #fff; color: #101820; font-family: var(--font); font-size: 17px; line-height: 1.7; font-weight: 400; }
h1, h2, h3, h4 { font-family: var(--heading); font-style: normal; font-weight: 650; letter-spacing: -.035em; }
h1 { font-size: clamp(48px, 5.8vw, 88px); line-height: .99; }
h2 { font-size: clamp(36px, 4.2vw, 62px); line-height: 1.04; }
h3 { font-size: 28px; line-height: 1.17; font-weight: 600; letter-spacing: -.025em; }
.serif, h1 em, h2 em, h3 em, h4 em { font-family: inherit; font-style: normal; font-weight: inherit; letter-spacing: inherit; color: inherit; }
.display { font-family: var(--heading); font-size: clamp(52px, 6.2vw, 96px); line-height: .98; font-weight: 700; letter-spacing: -.04em; }
button, input, select, textarea { font-family: var(--font); }
::selection { color: #fff; background: #3f4df5; }
:focus-visible { outline: 3px solid #3f4df5; outline-offset: 5px; }
.section { padding-block: 88px; }
.section-white { background: #fff; }
.section-tint { background: #f0f3f6; }
.section-dark { background: #101820; color: #fff; }
.eyebrow { font-family: var(--font); font-size: 11px; line-height: 1.6; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #4e5e6d; margin-bottom: 23px; }
.eyebrow::before { display: none; }
.section-dark .eyebrow { color: #aebdd1; }
.section-head { gap: 56px; margin-bottom: 36px; }
.section-head h2 { max-width: 21ch; }
.section-head > p, .section-head > div > p:not(.eyebrow) { color: #536371; font-size: 17px; line-height: 1.75; max-width: 43ch; }
.lead, .lede { color: #536371; font-size: 20px; line-height: 1.7; }
.missing-material, .article-content .missing-material { color: #b03030; font-size: 12px; line-height: 1.8; }
.section-dark .missing-material { color: #ffb1a9; }

/* Wordmark, navigation and controls now have the weight of a product brand. */
.site-header { background: #fff; backdrop-filter: none; border-bottom: 1px solid #dbe1e7; }
.header-inner { min-height: var(--header); gap: 28px; }
.brand { gap: 13px; }
.brand-symbol { height: 48px; width: 48px; }
.brand-name { font-family: var(--font); font-size: 12px; line-height: 1.25; font-weight: 750; letter-spacing: .07em; }
.brand-sub { font-family: var(--font); font-size: 9px; font-weight: 500; letter-spacing: .16em; margin-top: 5px; }
.main-nav { gap: 25px; font-size: 13px; font-weight: 550; }
.main-nav > a, .nav-dropdown > summary { min-height: 48px; font-size: 13px; font-weight: 550; line-height: 1.5; }
.nav-dropdown > summary { padding-block: 12px; gap: 9px; }
.nav-dropdown > summary > span { font-size: 14px; }
.main-nav > a:hover, .nav-dropdown > summary:hover { color: #3f4df5; }
.nav-panel { top: calc(100% + 9px); left: -24px; width: 316px; padding: 12px 23px; border: 1px solid #d5dde5; box-shadow: 0 15px 40px #10182014; background: #fff; }
.nav-panel a { font-size: 13px; font-weight: 500; padding: 15px 0; border-color: #e3e8ed; }
.nav-panel a:hover { color: #3f4df5; }
.nav-dropdown[open] > .nav-panel { opacity: 1; visibility: visible; transform: none; pointer-events: auto; }
.header-cta { min-height: 47px; padding: 13px 18px; background: #3f4df5; color: #fff; font-size: 12px; font-weight: 650; line-height: 1.45; gap: 25px; }
.header-cta:hover { background: #2837d5; }
.button { min-height: 56px; padding: 16px 23px; font-family: var(--font); font-size: 14px; font-weight: 650; line-height: 1.5; border-radius: 0; gap: 30px; }
.button-primary { color: #fff; background: #3f4df5; border-color: #3f4df5; }
.button-primary:hover { background: #2837d5; border-color: #2837d5; }
.button-secondary { color: #101820; border-color: #b5c0ca; background: transparent; }
.button-secondary:hover { color: #fff; border-color: #101820; background: #101820; }
.button-light { color: #101820; background: #fff; border-color: #fff; }
.button-light:hover { background: #e6ecf2; border-color: #e6ecf2; }
.button > span { font-size: 22px; }
.text-link { font-family: var(--font); font-size: 14px; font-weight: 600; line-height: 1.5; gap: 20px; border-color: #94a2af; }
.text-link:hover { color: #3f4df5; border-color: #3f4df5; }
.section-dark .text-link { color: #fff; border-color: #60748a; }
.section-dark .text-link:hover { color: #adb7ff; border-color: #adb7ff; }
.button-row { gap: 16px 24px; }
.image-label { background: #fffffff0; color: #334454; padding: 9px 12px; font-family: var(--font); font-size: 11px; line-height: 1.5; letter-spacing: 0; }

/* Subpage openings: a stronger headline and a full, clean image. */
.breadcrumbs { padding-block: 25px 12px; color: #687685; font-size: 11px; font-weight: 450; gap: 11px; }
.breadcrumbs a:hover { color: #3f4df5; }
.page-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr); align-items: center; gap: 56px; padding-block: 48px 72px; }
.page-hero h1 { font-family: var(--heading); font-size: clamp(48px, 5.5vw, 82px); line-height: 1.02; font-weight: 650; letter-spacing: -.04em; max-width: 17ch; }
.page-hero .eyebrow { margin-bottom: 23px; }
.page-hero p:not(.eyebrow), .page-hero .lead { font-size: 17px; line-height: 1.75; color: #536371; margin-top: 25px; max-width: 45ch; }
.page-hero figure { min-width: 0; }
.page-hero figure > img { width: 100%; height: auto; aspect-ratio: 1.2; object-fit: cover; }
.page-hero figure > .image-label { left: 14px; right: 14px; bottom: 14px; width: fit-content; max-width: calc(100% - 28px); font-size: 10px; line-height: 1.6; }
.page-hero .button-row { margin-top: 28px; gap: 14px 20px; }
.page-hero .button-row .button { font-size: 13px; padding-inline: 19px; gap: 24px; }
.page-hero .button-row .text-link { font-size: 13px; }
.page-intro { max-width: 1120px; padding-top: 62px; padding-bottom: 0; margin-left: max(var(--gutter), calc((100vw - var(--content))/2)); }
.page-intro h1 { font-family: var(--heading); font-weight: 650; font-size: clamp(48px, 5.8vw, 86px); line-height: 1.02; letter-spacing: -.04em; max-width: 21ch; }
.page-intro .lead { font-size: 19px; line-height: 1.75; max-width: 59ch; margin-top: 26px; }

.product-grid { gap: 40px 28px; }
.product-grid.asymmetric { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px; }
.product-grid.asymmetric .product-card:nth-child(even) { margin-top: 0; }
.product-image { background: #edf1f4; }
.product-image img, .product-image > img, .product-grid.asymmetric .product-image img { aspect-ratio: 1.3; object-fit: cover; }
.product-image .image-label { font-size: 10px; background: #fffffff0; padding: 8px 11px; }
.product-info { padding: 23px 0 22px; border-bottom: 1px solid #ccd6df; }
.product-tag { color: #3f4df5; font-size: 10px; font-weight: 650; letter-spacing: .06em; }
.product-info h2, .product-info h3 { font-family: var(--heading); font-size: 31px; line-height: 1.1; font-weight: 650; letter-spacing: -.03em; }
.product-info p { font-size: 15px; line-height: 1.8; color: #5b6975; margin-top: 14px; }
.product-info .text-link { font-size: 13px; font-weight: 600; margin-top: 16px; }
.product-facts { font-size: 12px; color: #5b6975; }
.feature-split { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 72px; }
.feature-copy h2 { max-width: 20ch; }
.feature-copy > p:not(.eyebrow) { font-size: 17px; line-height: 1.8; color: #536371; margin-top: 25px; }
.feature-copy .button, .feature-copy .text-link { margin-top: 27px; }
.feature-image { background: #edf1f4; }
.feature-image img { aspect-ratio: 1.12; object-fit: cover; }
.feature-image .image-label { font-size: 10px; }
.feature-points { margin-top: 27px; border-color: #c7d2dc; }
.feature-points li { border-color: #c7d2dc; font-size: 14px; line-height: 1.75; color: #425363; padding-block: 15px; }
.feature-points li::before { color: #3f4df5; }
.section-dark .feature-copy > p:not(.eyebrow) { color: #bac9d8; }
.section-dark .feature-image { background: #182632; }

/* Consistent, larger photographs; documentary captions stay legible. */
.gallery-grid { gap: 27px; }
.gallery-item img { background: #e7edf1; }
.gallery-item figcaption { font-size: 12px; line-height: 1.7; font-weight: 450; color: #4f5e6c; padding-top: 13px; }
body[data-page="Realizacje"] .gallery-grid { columns: 3; column-gap: 27px; }
body[data-page="Realizacje"] .gallery-item { break-inside: avoid; margin-bottom: 31px; }
body[data-page="Realizacje"] .gallery-item img { aspect-ratio: auto; height: auto; }
.filter-bar { gap: 9px; padding-bottom: 22px; margin-bottom: 21px; border-bottom: 1px solid #d6dfe7; }
.filter-button { min-height: 44px; padding: 11px 17px; border-color: #bdc8d2; font-size: 12px; font-weight: 600; color: #465664; }
.filter-button[aria-pressed="true"], .filter-button.is-active { color: #fff; background: #101820; border-color: #101820; }
.filter-button:hover { border-color: #3f4df5; }
.gallery-count { font-size: 12px; color: #63717e; }
.lightbox { background: #101820; }
.lightbox img { background: #101820; }
.lightbox::backdrop { background: #080e14ed; backdrop-filter: blur(6px); }
.lightbox figcaption, .lightbox .lightbox-caption { color: #cdd9e5; font-size: 12px; line-height: 1.7; }
.lightbox-close { color: #101820; background: #fff; border: 0; }
.lightbox-controls { gap: 14px; padding: 14px 24px 21px; }
.lightbox-controls .button { min-height: 46px; padding: 11px 22px; font-family: var(--font); }

/* Technical material is presented as a product specification. */
.tech-visual { background: #1c2b37; padding: 30px; }
.tech-grid { gap: 35px; margin-top: 44px; }
.tech-item { border-top: 1px solid #516577; padding-top: 24px; }
.tech-number { color: #a9bbce; font-size: 11px; font-weight: 600; letter-spacing: .02em; margin-bottom: 23px; }
.tech-item h3 { color: #fff; font-family: var(--heading); font-size: 30px; font-weight: 600; line-height: 1.12; }
.tech-item p { font-size: 15px; line-height: 1.8; color: #b8c9d9; margin-top: 17px; }
.diagram-caption { color: #b0c0d0; font-size: 11px; line-height: 1.8; border-color: #4d6376; }
.content-block { margin-top: 54px; overflow-x: auto; }
.content-block h3 { font-size: 29px; margin-bottom: 25px; }
.spec-table { width: 100%; font-family: var(--font); font-size: 14px; line-height: 1.75; border-top: 1px solid #c2ced9; margin-top: 28px; }
.spec-table th, .spec-table td { padding: 17px 19px; border-bottom: 1px solid #d3dce5; }
.spec-table th { color: #465765; font-weight: 600; width: 40%; padding-right: 25px; }
.spec-table td { color: #101820; font-weight: 450; }
.spec-table tbody tr:nth-child(odd) { background: #f1f4f7; }
.spec-table thead { background: #e8eef4; }
.spec-table thead th { color: #101820; font-weight: 650; }
.section-dark .spec-table { border-color: #516577; }
.section-dark .spec-table th, .section-dark .spec-table td { color: #f0f5fa; border-color: #465b6c; }
.section-dark .spec-table th { color: #bdcedd; }
.section-dark .spec-table tbody tr:nth-child(odd) { background: #1b2a36; }
.section-dark .spec-table thead { background: #213543; }
.content-block .spec-table { min-width: 540px; }
.product-detail-grid { gap: 62px; grid-template-columns: minmax(0, 1.35fr) minmax(0, .75fr); }
.product-detail-grid .section-head h2 { max-width: 21ch; }
.product-detail-grid > div > p { color: #536371; font-size: 17px; line-height: 1.8; }
.product-inquiry { top: calc(var(--header) + 27px); background: #eef2f6; border-top: 3px solid #3f4df5; padding: 30px; }
.product-inquiry h3 { font-size: 32px; line-height: 1.1; }
.product-inquiry > p:not(.eyebrow) { font-size: 15px; line-height: 1.8; color: #526371; margin-block: 20px; }
.product-inquiry .button { width: 100%; margin: 17px 0; font-size: 13px; }
.product-inquiry .missing-material { font-size: 11px; line-height: 1.8; }
.product-summary { top: calc(var(--header) + 26px); }
.product-summary h2 { font-size: 38px; font-weight: 650; }
.product-summary p { color: #536371; font-size: 16px; }

.process-grid { gap: 0; margin-top: 37px; }
.process-step { padding-top: 25px; border-top: 2px solid #101820; }
.process-step + .process-step { border-left: 1px solid #d6dee6; }
.process-step > span { font-family: var(--heading); font-size: 21px; font-weight: 650; line-height: 1; color: #3f4df5; margin-bottom: 27px; }
.process-step h3 { font-size: 27px; font-weight: 650; line-height: 1.13; }
.process-step p { font-size: 15px; color: #536371; line-height: 1.8; margin-top: 18px; }
.quote-grid { gap: 32px; }
.quote-card { border-top: 2px solid #101820; padding-top: 23px; }
.quote-card > span { display: none; }
.quote-card blockquote { font-family: var(--font); font-size: 17px; line-height: 1.75; font-style: normal; font-weight: 450; letter-spacing: -.01em; }
.quote-card figcaption { font-size: 13px; font-weight: 650; margin-top: 25px; }
.quote-card figcaption small { color: #657481; font-size: 11px; font-weight: 400; margin-top: 5px; }

/* Substantial, straightforward long-form typography. */
.article-content, .content-article { max-width: 900px; }
.article-content h1 { font-size: clamp(42px, 5vw, 76px); font-weight: 650; line-height: 1.04; margin-bottom: 33px; }
.article-content h2, .content-article h2 { font-family: var(--heading); font-size: 38px; line-height: 1.12; font-weight: 650; letter-spacing: -.025em; margin-top: 44px; margin-bottom: 23px; max-width: 28ch; }
.article-content h3, .content-article h3 { font-size: 28px; font-weight: 650; margin-top: 32px; margin-bottom: 18px; }
.article-content p, .article-content li, .content-article p, .content-article li { font-family: var(--font); color: #4c5e6d; font-size: 17px; line-height: 1.85; }
.article-content p { margin-block: 21px; }
.article-content ul { padding-left: 22px; }
.article-content li { padding-block: 5px; }
.article-content a:not(.button), .content-article a:not(.button) { color: #2c40d1; }
.article-content .missing-material { color: #b03030; font-size: 12px; }
.article-toc a { font-size: 13px; line-height: 1.7; color: #526777; border-color: #d1dce5; padding-block: 14px; }
.faq-list details { border-color: #bdcbd6; }
.faq-list summary { min-height: 79px; padding-block: 24px; font-size: 18px; font-weight: 550; line-height: 1.55; color: #152632; }
.faq-list summary::after { content: '+'; font-family: var(--font); font-size: 27px; line-height: 1; color: #435567; flex-shrink: 0; }
.faq-list summary:has(> span)::after { display: none; }
.faq-list details[open] summary::after { content: '−'; }
.faq-list details > div { padding: 0 36px 25px 0; }
.faq-list details > div > p, .faq-list details > p, .faq-list .faq-answer { color: #536675; font-size: 16px; line-height: 1.8; padding: 0; max-width: 79ch; }
.faq-list details > p, .faq-list .faq-answer { padding-bottom: 25px; }

/* A form that reads like a clear project brief. */
.form-layout { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 75px; }
.form-layout > aside { top: calc(var(--header) + 34px); }
.form-layout > aside h2 { font-size: clamp(37px, 3.6vw, 54px); font-weight: 650; line-height: 1.05; max-width: 17ch; }
.form-layout > aside p:not(.eyebrow) { color: #536371; font-size: 16px; line-height: 1.8; }
.form-layout > aside .contact-phone { font-family: var(--heading); font-size: 30px; font-weight: 650; line-height: 1.3; color: #101820; }
#quote-form { padding: 31px; background: #f1f4f7; border: 1px solid #d4dee7; }
.form-progress { display: inline-flex; width: fit-content; color: #fff; background: #3f4df5; border: 0; padding: 9px 13px; font-size: 11px; line-height: 1.4; font-weight: 650; letter-spacing: .06em; margin-bottom: 17px; }
.form-context { color: #263caa; background: #e4e9ff; border-left: 2px solid #3f4df5; font-size: 13px; font-weight: 500; line-height: 1.7; padding: 13px 16px; margin-bottom: 20px; }
.form-step legend { font-family: var(--heading); font-size: 32px; font-weight: 650; line-height: 1.1; letter-spacing: -.025em; margin: 14px 0 27px; }
.choice-grid { gap: 12px; }
.choice { min-height: 76px; padding: 17px 16px; border: 1px solid #bfcdd9; background: #fff; gap: 13px; font-size: 14px; font-weight: 550; line-height: 1.5; }
.choice:hover { border-color: #778da2; }
.choice:has(input:checked) { color: #202fbd; border-color: #3f4df5; background: #edf0ff; box-shadow: inset 0 0 0 1px #3f4df5; }
.choice input { width: 18px; height: 18px; accent-color: #3f4df5; }
.field { gap: 10px; font-size: 13px; font-weight: 550; color: #3d5365; margin-top: 23px; }
.field input, .field select, .field textarea { min-height: 54px; padding: 13px 14px; border: 1px solid #aebfce; color: #101820; background: #fff; border-radius: 0; font-size: 16px; font-weight: 400; line-height: 1.65; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: #3f4df5; background: #fff; }
.field textarea { min-height: 135px; }
.field input::placeholder, .field textarea::placeholder { color: #708392; opacity: 1; }
.form-help { color: #526879; font-size: 12px; font-weight: 400; line-height: 1.8; margin-top: 17px; }
.form-actions { margin-top: 27px; gap: 13px; }
.form-actions .button { min-height: 55px; font-size: 13px; gap: 22px; padding-inline: 20px; }
.form-actions .form-prev { flex: 0 0 auto; }
.form-actions .form-next, .form-actions .form-submit { flex: 1; }
.consent { font-family: var(--font); color: #526879; font-size: 12px; line-height: 1.8; gap: 12px; margin-top: 27px; }
.consent input { width: 19px; height: 19px; accent-color: #3f4df5; margin-top: 3px; }
.form-error { color: #b03030; font-family: var(--font); font-size: 13px; line-height: 1.7; }
.form-status, [data-form-status], #copy-status { font-size: 12px; line-height: 1.8; color: #385868; }
#quote-result { padding-top: 42px; }
#quote-result h2 { font-family: var(--heading); font-size: 43px; font-weight: 650; line-height: 1.05; }
#quote-result > p { color: #536879; font-size: 15px; line-height: 1.8; margin-top: 20px; }
#quote-summary { font: 400 14px/1.85 var(--font); color: #304555; background: #eef2f6; border-left: 3px solid #3f4df5; padding: 25px; }

.contact-grid { gap: 70px; }
.contact-details h2 { font-family: var(--heading); font-size: clamp(39px, 4.3vw, 64px); font-weight: 650; line-height: 1.02; }
.contact-details > p:not(.eyebrow) { font-size: 17px; line-height: 1.8; color: #536675; }
.contact-details a[href^="tel:"], .contact-phone { font-family: var(--heading); font-size: 35px; font-weight: 650; line-height: 1.3; letter-spacing: -.025em; color: #101820; }
.contact-details a[href^="mailto:"] { font-size: 17px; font-weight: 450; line-height: 1.6; border-color: #93a8b8; }
.contact-directory { gap: 28px; border-top: 1px solid #d5dfe7; padding-top: 31px; }
.contact-directory h3 { font-size: 27px; font-weight: 650; }
.contact-directory p:not(.eyebrow) { color: #536675; font-size: 14px; line-height: 1.85; margin-top: 17px; }
.location-map { background: #eaf0f5; }
.map-screen { height: 435px; background: #eaf0f5; }
.map-placeholder { padding: 36px; gap: 22px; }
.map-placeholder h3 { font-family: var(--heading); font-size: 34px; line-height: 1.12; font-weight: 650; }
.map-placeholder p { color: #536b7b; font-size: 14px; line-height: 1.75; }
.map-placeholder small { color: #5c7484; font-size: 11px; }
.map-controls { padding: 4px 0; background: #fff; gap: 20px; }
.map-controls .text-link { font-size: 12px; }
.location-map iframe { filter: none; }
/* Export is an informative illustration, without country controls or hover states. */
.export-section { padding-block: clamp(60px, 6vw, 84px); }
.export-section .export-layout { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(32px, 4vw, 58px); align-items: center; }
.export-section .export-copy { min-width: 0; }
.export-section .export-copy h2 { max-width: 14ch; }
.export-section .export-copy > p:not(.eyebrow):not(.map-credit) { color: #5b6772; font-size: 15px; line-height: 1.85; max-width: 37ch; margin-top: 24px; }
.export-section .export-map-frame { min-width: 0; width: 100%; margin: 0; }
.export-section .export-map { display: block; width: 100%; height: auto; max-height: none; padding: 0; background: transparent; pointer-events: none; user-select: none; }
.export-section .map-country,
.export-section .map-country:is(:hover, :focus, .is-active) { fill: #e1e8ee; stroke: #fff; stroke-width: 1.1px; vector-effect: non-scaling-stroke; transition: none; }
.export-section .map-country.is-market,
.export-section .map-country.is-market:is(:hover, :focus, .is-active) { fill: #ced9e6; }
.export-section .map-country[data-country="PL"],
.export-section .map-country[data-country="PL"]:is(:hover, :focus, .is-active) { fill: #a9bfd2; }
.export-section .map-route,
.export-section .map-route-flow,
.export-section .map-route:is(:hover, :focus, :focus-visible, .is-active),
.export-section .map-route-flow:is(:hover, :focus, :focus-visible, .is-active) { fill: none; stroke: #3f4df5; stroke-width: 1.05px; vector-effect: non-scaling-stroke; stroke-linecap: round; stroke-linejoin: round; transition: none; pointer-events: none; }
.export-section .map-route { opacity: .56; }
.export-section .map-route-flow { stroke-dasharray: 1; stroke-dashoffset: 1; animation: mx-export-route-flow 6s cubic-bezier(.38, 0, .22, 1) infinite; animation-delay: var(--route-delay, 0s); }
.export-section .map-destination { fill: #3f4df5; stroke: #fff; stroke-width: .7px; vector-effect: non-scaling-stroke; }
.export-section .map-point { fill: #3f4df5; stroke: #fff; stroke-width: 2px; vector-effect: non-scaling-stroke; }
.export-section .map-home-label { font: 650 10px/1 var(--font); letter-spacing: .035em; fill: #263e50; paint-order: stroke fill; stroke: #fff; stroke-width: 3px; stroke-linejoin: round; }
.export-section .map-credit { max-width: 54ch; font-size: 9px !important; line-height: 1.7 !important; margin-top: 16px !important; color: #74818c !important; }
@keyframes mx-export-route-flow {
  0%, 8% { stroke-dashoffset: 1; opacity: 0; }
  12% { opacity: .9; }
  72%, 82% { stroke-dashoffset: 0; opacity: .9; }
  100% { stroke-dashoffset: 0; opacity: 0; }
}
@media (max-width: 760px) {
  .export-section { padding-block: 54px; }
  .export-section .export-layout { display: grid; grid-template-columns: 1fr; gap: 25px; align-items: start; }
  .export-section .export-copy > p:not(.eyebrow):not(.map-credit) { max-width: 45ch; font-size: 14px; margin-top: 21px; }
  .export-section .export-map-frame { margin-inline: auto; max-width: 580px; }
  .export-section .export-map { padding: 0; }
  .export-section .map-credit { margin-top: 12px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .export-section .map-route-flow { display: none; animation: none; }
  .export-section .map-route { opacity: .7; }
}

.company-video { max-width: 380px; }
.company-video video { background: #101820; max-height: 620px; }
.site-footer { background: #101820; color: #d7e0e8; padding-block: 64px 27px; }
.footer-grid { grid-template-columns: minmax(0, 1.3fr) repeat(3, minmax(0, .8fr)); gap: 46px; padding-bottom: 43px; }
.site-footer .brand-name { font-size: 13px; font-weight: 700; }
.site-footer .brand-sub { font-size: 9px; font-weight: 500; }
.site-footer h2 { color: #fff; font-family: var(--heading); font-size: 37px; font-weight: 650; line-height: 1.06; margin: 25px 0; }
.footer-grid h3 { color: #e9f1f7; font-family: var(--font); font-size: 13px; font-weight: 650; line-height: 1.5; margin-bottom: 19px; letter-spacing: 0; }
.footer-grid nav, .footer-grid ul { gap: 8px; }
.footer-grid nav a, .footer-grid li a { color: #adbecc; font-family: var(--font); font-size: 13px; font-weight: 400; line-height: 1.65; min-height: 27px; }
.footer-grid nav a:hover, .footer-grid li a:hover { color: #fff; }
.footer-grid p, .footer-grid nav p { color: #aabcca; font-size: 13px; line-height: 1.8; }
.footer-grid a[href^="tel:"] { color: #fff; font-family: var(--heading); font-size: 26px; font-weight: 600; line-height: 1.4; letter-spacing: -.02em; }
.footer-grid a[href^="mailto:"] { color: #b4c5d3; font-size: 13px; }
.footer-bottom { border-color: #3c4d5b; padding-top: 24px; color: #9cb0c1; font-size: 11px; line-height: 1.7; }
.mobile-contact:not([hidden]) { background: #101820fa; border-color: #5b7085; }
.mobile-contact a:last-child { color: #fff; background: #3f4df5; border-color: #3f4df5; }

@media (max-width: 1200px) {
  .header-inner { gap: 20px; }
  .main-nav { gap: 19px; }
  .main-nav > a, .nav-dropdown > summary { font-size: 12px; }
  .header-cta { padding-inline: 15px; gap: 18px; }
  .page-hero { gap: 38px; }
  .page-hero h1 { font-size: clamp(48px, 5.6vw, 67px); }
  .feature-split { gap: 50px; }
  .product-detail-grid { gap: 42px; }
  .form-layout { gap: 47px; }
  #quote-form { padding: 27px; }
  .contact-grid { gap: 45px; }
  .footer-grid { gap: 30px; }
}
@media (max-width: 1024px) {
  :root { --header: 78px; }
  .site-header .brand-symbol { width: 44px; height: 44px; }
  .main-nav { background: #fff; border-color: #d4dee7; padding-top: 10px; padding-bottom: 24px; }
  .main-nav > a, .nav-dropdown > summary { font-size: 15px; min-height: 52px; font-weight: 550; }
  .nav-dropdown > summary { display: flex; justify-content: space-between; padding-block: 15px; border-bottom: 1px solid #d6e0e8; }
  .nav-dropdown[open] > .nav-panel { position: static; width: 100%; box-shadow: none; border: 0; padding: 6px 0 9px 18px; background: #f1f5f8; }
  .nav-panel a { font-size: 13px; padding: 14px 17px 14px 0; }
  .section { padding-block: 72px; }
  h2 { font-size: 45px; }
  .page-hero h1 { font-size: 52px; }
  .page-hero p:not(.eyebrow), .page-hero .lead { font-size: 16px; }
  .page-hero .button-row { align-items: flex-start; gap: 12px; }
  .page-hero figure > img { aspect-ratio: 1; }
  .page-intro h1 { font-size: 63px; }
  .page-intro .lead { font-size: 18px; }
  .product-info h2, .product-info h3 { font-size: 30px; }
  .feature-split { gap: 37px; }
  .feature-copy > p:not(.eyebrow) { font-size: 16px; }
  .feature-image img { aspect-ratio: .98; }
  .tech-grid { gap: 26px; }
  .tech-item h3 { font-size: 27px; }
  .tech-item p { font-size: 14px; }
  .process-step h3 { font-size: 24px; }
  .process-step p { font-size: 14px; }
  .product-detail-grid { grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 33px; }
  .product-inquiry { padding: 25px; }
  .product-inquiry h3 { font-size: 29px; }
  .product-inquiry .button { font-size: 12px; padding-inline: 16px; gap: 17px; }
  .spec-table { font-size: 13px; }
  .spec-table th, .spec-table td { padding: 15px; }
  .form-layout { grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); gap: 32px; }
  .form-layout > aside h2 { font-size: 39px; }
  #quote-form { padding: 24px; }
  .form-step legend { font-size: 29px; }
  .choice { font-size: 13px; min-height: 76px; padding: 15px 14px; }
  .contact-grid { gap: 37px; }
  .contact-details h2 { font-size: 47px; }
  .contact-details a[href^="tel:"] { font-size: 29px; }
  .contact-details a[href^="mailto:"] { font-size: 15px; }
  .map-placeholder { padding: 29px; }
  .map-placeholder h3 { font-size: 30px; }
  .map-controls { flex-wrap: wrap; gap: 4px 17px; }
  .footer-grid { grid-template-columns: 1.2fr .8fr .8fr 1fr; gap: 26px; }
  .footer-grid nav a { font-size: 12px; }
  .footer-grid a[href^="tel:"] { font-size: 22px; }
  .footer-grid a[href^="mailto:"] { font-size: 12px; }
  .site-footer h2 { font-size: 32px; }
}
@media (max-width: 900px) {
  body[data-page="Realizacje"] .gallery-grid { columns: 2; column-gap: 22px; }
  body[data-page="Realizacje"] .gallery-item { margin-bottom: 27px; }
}
@media (max-width: 760px) {
  :root { --gutter: 24px; --header: 74px; }
  body { font-size: 16px; line-height: 1.7; }
  h1 { font-size: 44px; line-height: 1.04; }
  h2 { font-size: 37px; line-height: 1.08; }
  h3 { font-size: 27px; line-height: 1.15; }
  .display { font-size: 48px; line-height: 1.02; }
  .section { padding-block: 57px; }
  .eyebrow { font-size: 10px; font-weight: 700; letter-spacing: .08em; margin-bottom: 21px; }
  .section-head { margin-bottom: 28px; }
  .section-head > p, .section-head > div > p:not(.eyebrow) { font-size: 16px; line-height: 1.8; margin-top: 22px; }
  .lead, .lede { font-size: 18px; line-height: 1.75; }
  .header-inner { gap: 12px; }
  .site-header .brand-symbol { width: 41px; height: 41px; }
  .site-header .brand { gap: 9px; }
  .site-header .brand-name { font-size: 11px; font-weight: 750; letter-spacing: .06em; }
  .site-header .brand-sub { font-size: 8px; font-weight: 500; letter-spacing: .13em; margin-top: 4px; }
  .header-cta { font-size: 11px; min-height: 42px; padding: 11px 13px; gap: 14px; }
  .header-cta > span { font-size: 18px; }
  .menu-toggle { width: 34px; height: 43px; }
  .main-nav > a, .nav-dropdown > summary { font-size: 15px; min-height: 51px; }
  .nav-dropdown[open] > .nav-panel { padding-left: 17px; background: #f1f5f8; }
  .nav-panel a { font-size: 13px; }
  .button { min-height: 55px; padding: 15px 19px; font-size: 13px; font-weight: 650; gap: 25px; }
  .text-link { font-size: 13px; font-weight: 600; gap: 18px; }
  .button-row { gap: 14px 21px; margin-top: 25px; }
  .missing-material, .article-content .missing-material { font-size: 11px; line-height: 1.8; }
  .breadcrumbs { font-size: 10px; line-height: 1.7; gap: 8px; padding-block: 21px 12px; }
  .page-hero { grid-template-columns: 1fr; padding-block: 30px 43px; gap: 31px; }
  .page-hero h1 { font-size: clamp(43px, 9vw, 55px); line-height: 1.04; letter-spacing: -.035em; max-width: 18ch; }
  .page-hero .eyebrow { margin-bottom: 21px; }
  .page-hero p:not(.eyebrow), .page-hero .lead { font-size: 16px; line-height: 1.8; max-width: 45ch; margin-top: 23px; }
  .page-hero .button-row { margin-top: 25px; gap: 12px 20px; }
  .page-hero .button-row .button { font-size: 13px; padding-inline: 19px; gap: 25px; }
  .page-hero .button-row .text-link { font-size: 13px; }
  .page-hero figure { margin-inline: -24px; }
  .page-hero figure > img { aspect-ratio: 1.24; width: 100%; height: auto; }
  .page-hero figure > .image-label { font-size: 9px; line-height: 1.6; padding: 8px 11px; left: 12px; right: 12px; bottom: 12px; max-width: calc(100% - 24px); }
  .page-intro { padding-top: 34px; margin-inline: auto; }
  .page-intro h1 { font-size: clamp(44px, 9vw, 57px); line-height: 1.04; letter-spacing: -.035em; max-width: 21ch; }
  .page-intro .lead { font-size: 17px; line-height: 1.8; margin-top: 24px; max-width: 45ch; }
  .product-grid, .product-grid.asymmetric { gap: 32px; }
  .product-grid.asymmetric { grid-template-columns: 1fr; }
  .product-image img, .product-image > img, .product-grid.asymmetric .product-image img { aspect-ratio: 1.22; }
  .product-image .image-label { font-size: 9px; line-height: 1.6; left: 10px; right: 10px; bottom: 10px; padding: 7px 9px; }
  .product-info { padding-top: 21px; padding-bottom: 23px; }
  .product-info h2, .product-info h3 { font-size: 30px; line-height: 1.1; }
  .product-info p { font-size: 15px; line-height: 1.8; margin-top: 14px; }
  .product-info .text-link { font-size: 13px; margin-top: 16px; }
  .product-tag { font-size: 9px; }
  .feature-split { gap: 30px; }
  .feature-copy > p:not(.eyebrow) { font-size: 16px; line-height: 1.8; margin-top: 23px; }
  .feature-image img { aspect-ratio: 1.12; }
  .feature-image .image-label { font-size: 9px; }
  .feature-points li { padding-block: 14px; font-size: 14px; line-height: 1.8; }
  .gallery-item figcaption { font-size: 11px; line-height: 1.75; }
  .filter-bar { gap: 8px; margin-bottom: 20px; padding-bottom: 20px; }
  .filter-button { font-size: 11px; font-weight: 600; min-height: 44px; padding: 11px 14px; }
  .gallery-count { font-size: 11px; }
  .lightbox-controls { padding: 12px 18px 17px; }
  .lightbox .lightbox-caption { font-size: 11px; line-height: 1.7; }
  .tech-visual { padding: 20px; }
  .tech-grid { margin-top: 31px; gap: 27px; }
  .tech-number { font-size: 10px; margin-bottom: 18px; }
  .tech-item h3 { font-size: 29px; line-height: 1.1; }
  .tech-item p { font-size: 15px; line-height: 1.8; margin-top: 15px; }
  .diagram-caption { font-size: 10px; line-height: 1.8; }
  .content-block { margin-top: 38px; }
  .content-block h3 { font-size: 28px; }
  .product-detail-grid { display: block; }
  .product-detail-grid > div > p { font-size: 16px; line-height: 1.8; }
  .product-inquiry { position: static; margin-top: 30px; padding: 27px 24px; }
  .product-inquiry h3 { font-size: 31px; }
  .product-inquiry > p:not(.eyebrow) { font-size: 15px; line-height: 1.8; }
  .product-inquiry .button { font-size: 13px; }
  .spec-table { font-size: 12px; line-height: 1.8; margin-top: 25px; }
  .spec-table th, .spec-table td { padding: 14px 13px; }
  .spec-table th { width: 39%; padding-right: 15px; }
  .content-block .spec-table { min-width: 510px; }
  .process-grid { margin-top: 31px; gap: 28px 0; }
  .process-step { padding-top: 21px; }
  .process-step > span { font-size: 20px; margin-bottom: 22px; }
  .process-step h3 { font-size: 25px; line-height: 1.12; }
  .process-step p { font-size: 14px; line-height: 1.8; margin-top: 16px; }
  .quote-card { padding-top: 22px; }
  .quote-card blockquote { font-size: 16px; line-height: 1.8; }
  .quote-card figcaption { font-size: 12px; margin-top: 22px; }
  .quote-card figcaption small { font-size: 10px; }
  .article-content h1 { font-size: 43px; line-height: 1.05; margin-bottom: 28px; }
  .article-content h2, .content-article h2 { font-size: 31px; line-height: 1.13; margin-top: 34px; margin-bottom: 22px; }
  .article-content h3, .content-article h3 { font-size: 26px; margin-top: 27px; margin-bottom: 18px; }
  .article-content p, .article-content li, .content-article p, .content-article li { font-size: 16px; line-height: 1.85; }
  .article-content p { margin-block: 20px; }
  .article-toc a { font-size: 12px; line-height: 1.75; }
  .faq-list summary { font-size: 16px; line-height: 1.55; font-weight: 550; min-height: 75px; padding-block: 22px; gap: 22px; }
  .faq-list summary::after { font-size: 25px; }
  .faq-list details > div { padding: 0 8px 23px 0; }
  .faq-list details > div > p, .faq-list details > p, .faq-list .faq-answer { font-size: 15px; line-height: 1.8; }
  .form-layout { grid-template-columns: 1fr; gap: 33px; }
  .form-layout > aside { position: static; }
  .form-layout > aside h2 { font-size: 37px; line-height: 1.08; }
  .form-layout > aside p:not(.eyebrow) { font-size: 16px; line-height: 1.8; }
  .form-layout > aside .contact-phone { font-size: 28px; }
  #quote-form { padding: 24px; }
  .form-progress { font-size: 10px; padding: 9px 12px; margin-bottom: 15px; }
  .form-context { font-size: 12px; padding: 13px 14px; margin-bottom: 20px; }
  .form-step legend { font-size: 30px; line-height: 1.12; margin: 12px 0 24px; }
  .choice-grid { grid-template-columns: 1fr; gap: 10px; }
  .choice { min-height: 66px; padding: 16px; font-size: 14px; line-height: 1.5; }
  .field { font-size: 13px; font-weight: 550; gap: 10px; margin-top: 22px; }
  .field input, .field select, .field textarea { font-size: 16px; min-height: 53px; padding: 13px; }
  .field textarea { min-height: 127px; }
  .form-help { font-size: 12px; line-height: 1.8; margin-top: 16px; }
  .form-actions { gap: 12px; margin-top: 25px; }
  .form-actions .button { font-size: 12px; min-height: 54px; padding: 14px 15px; gap: 14px; }
  .form-actions .button > span { font-size: 20px; }
  .consent { font-size: 11px; line-height: 1.85; margin-top: 24px; }
  #quote-result { padding-top: 34px; }
  #quote-result h2 { font-size: 36px; line-height: 1.08; }
  #quote-result > p { font-size: 14px; line-height: 1.8; }
  #quote-summary { padding: 21px; font-size: 13px; line-height: 1.85; }
  #quote-result .button-row { align-items: stretch; gap: 12px; }
  .contact-grid { gap: 31px; }
  .contact-details h2 { font-size: 41px; line-height: 1.05; }
  .contact-details > p:not(.eyebrow) { font-size: 16px; line-height: 1.8; }
  .contact-details a[href^="tel:"] { font-size: 31px; }
  .contact-details a[href^="mailto:"] { font-size: 16px; }
  .contact-directory { gap: 29px; padding-top: 27px; }
  .contact-directory h3 { font-size: 28px; }
  .contact-directory p:not(.eyebrow) { font-size: 14px; line-height: 1.85; }
  .map-screen { height: 420px; }
  .map-placeholder { padding: 27px; gap: 20px; }
  .map-placeholder h3 { font-size: 30px; line-height: 1.12; }
  .map-placeholder p { font-size: 13px; line-height: 1.8; }
  .map-placeholder small { font-size: 10px; }
  .map-controls .text-link { font-size: 11px; }
  .company-video { max-width: 350px; }
  .company-video video { max-height: 580px; }
  .site-footer { padding-block: 45px calc(25px + env(safe-area-inset-bottom)); }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 31px 24px; padding-bottom: 33px; }
  .site-footer h2 { font-size: 34px; line-height: 1.05; margin: 23px 0; }
  .site-footer .brand-name { font-size: 12px; }
  .site-footer .brand-sub { font-size: 9px; }
  .footer-grid h3 { font-size: 13px; font-weight: 650; margin-bottom: 17px; }
  .footer-grid nav a { font-size: 12px; min-height: 28px; }
  .footer-grid a[href^="tel:"] { font-size: 27px; }
  .footer-grid a[href^="mailto:"] { font-size: 13px; }
  .footer-grid nav p { font-size: 12px; line-height: 1.85; }
  .footer-bottom { font-size: 10px; line-height: 1.8; gap: 13px; padding-top: 22px; }
  .mobile-contact:not([hidden]) { padding: 9px 16px calc(9px + env(safe-area-inset-bottom)); }
  .mobile-contact a { font-size: 12px; min-height: 46px; font-weight: 550; }
}
@media (max-width: 540px) {
  body[data-page="Realizacje"] .gallery-grid { columns: 1; }
  .page-hero .button-row { align-items: flex-start; flex-direction: column; gap: 12px; }
}
@media (max-width: 380px) {
  .header-inner { gap: 9px; }
  .site-header .brand-symbol { width: 37px; height: 37px; }
  .site-header .brand-name { font-size: 10px; }
  .site-header .brand-sub { font-size: 7px; }
  .header-cta { font-size: 10px; padding-inline: 11px; gap: 11px; }
  .process-step h3 { font-size: 23px; }
  .process-step p { font-size: 13px; }
  .form-actions .button { font-size: 11px; padding-inline: 13px; gap: 11px; }
  .form-step legend { font-size: 28px; }
}
@media (max-width: 340px) {
  :root { --gutter: 20px; --header: 70px; }
  .site-header .brand-name { display: none; }
  .header-inner { gap: 12px; }
  .header-cta { font-size: 11px; padding-inline: 12px; }
  h2 { font-size: 34px; }
  .page-hero h1, .page-intro h1 { font-size: 40px; }
  .page-hero figure { margin-inline: -20px; }
  .product-info h2, .product-info h3 { font-size: 28px; }
  .product-inquiry { padding-inline: 21px; }
  .product-inquiry h3 { font-size: 29px; }
  .spec-table th, .spec-table td { padding-inline: 10px; }
  .article-content h1 { font-size: 39px; }
  .article-content h2, .content-article h2 { font-size: 29px; }
  #quote-form { padding: 20px; }
  .form-step legend { font-size: 27px; }
  .form-actions .button { font-size: 11px; padding-inline: 11px; gap: 9px; }
  .form-actions .button > span { font-size: 18px; }
  .contact-details h2 { font-size: 37px; }
  .contact-details a[href^="tel:"] { font-size: 28px; }
  .contact-details a[href^="mailto:"] { font-size: 14px; }
  .map-placeholder { padding: 23px; }
  .map-placeholder h3 { font-size: 28px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
  html { scroll-behavior: auto; }
}
@media print {
  body { background: #fff; color: #111; }
  h1, h2, h3, h4, em, .serif { font-family: 'Inter', Arial, sans-serif; font-style: normal; }
  .section-dark { background: #fff; color: #111; }
  .section-dark p, .section-dark .spec-table th, .section-dark .spec-table td { color: #333; }
  .section-dark .spec-table tbody tr:nth-child(odd) { background: #f1f4f7; }
  .page-hero { display: block; }
  .page-hero h1 { font-size: 40px; }
  #quote-form, .site-footer, .site-header { display: none; }
}
