/* Dopracowanie istniejącej strony: kolory aplikacji, mniej dekoracji, te same układy. */
:root {
  --navy-950: #08101e;
  --navy-900: #101c2e;
  --navy-850: #162339;
  --blue-600: #0a6cff;
  --blue-500: #287cff;
  --green-500: #12b76a;
  --green-400: #43d799;
  --radius-xl: 22px;
  --radius-lg: 16px;
  --radius-md: 10px;
  --shadow-soft: 0 3px 14px rgba(9, 25, 48, .05);
  --shadow-md: 0 8px 28px rgba(9, 25, 48, .1);
}
.hero, .product-section, .tech-section, .cta-section { background: var(--navy-950); }
.hero { padding-bottom: 120px; }
.hero-bg { opacity: .3; background-image: linear-gradient(#40516a 1px, transparent 1px), linear-gradient(90deg, #40516a 1px, transparent 1px); background-size: 84px 84px; }
.hero::after, .hero-device-glow, .showcase-glow, .desktop-preview::before,
.desktop-preview::after, .feature-card::before, .model-card::before, .step::before,
.usecase-card::after, .journey-branch::after, .journey-track::before { display: none; }
.pulse-dot, .pulse-dot::before, .pulse-dot::after { animation: none; }
.pulse-dot::before, .pulse-dot::after { display: none; }
.hero-copy h1 { font-size: clamp(2.75rem, 5.7vw, 4.8rem); letter-spacing: -.055em; line-height: 1.02; }
.hero-insight { background: #132239; border: 1px solid #334158; border-radius: 10px; box-shadow: 0 8px 20px #0003; }
.hero-insight span { color: #94a6be; }
.hero-insight strong { font-weight: 600; }
.desktop-preview { border-radius: 14px; border: 1px solid #40506a; background: #101c2e; }
.desktop-preview-top { background: #152238; border-bottom: 1px solid #33435d; }
.btn, .nav-cta { border-radius: 9px; }
.btn-primary { background: var(--blue-600); box-shadow: none; border: 1px solid #468bff; }
.btn-primary:hover { background: #075be0; box-shadow: none; }
.tab { border-radius: 8px; }
.feature-card, .model-card, .step, .usecase-card, .layer-card,
.tech-value-board article { border-radius: 12px; box-shadow: none; }
.feature-card:hover, .model-card:hover, .step:hover, .usecase-card:hover { transform: none; box-shadow: none; border-color: #a3b3c7; }
.icon { border-radius: 8px; }
.tech-section .tech-value-board article { background: #111e31; border-color: #2c3b51; }
.product-layer-panel { border-radius: 16px; background: #101c2e; box-shadow: none; }
.product-layer-grid .layer-card { background: #142238; border-color: #2c3b51; }
.layer-card-new { border-left: 3px solid var(--green-500) !important; }
.new-badge { border-radius: 5px; box-shadow: none; }
/* Schemat zachowuje ciemną paletę i kontrast tekstu niezależnie od tła sekcji. */
.journey-strip { background: #081522; scroll-margin-top: 80px; }
.journey-heading h2 { font-size: clamp(2rem, 3.5vw, 3.5rem); line-height: 1.1; letter-spacing: -.045em; }
.journey-tree { background: #101e30; border: 1px solid #304158; border-radius: 18px; box-shadow: none; }
.journey-branch, .journey-trunk { background: transparent; box-shadow: none; }
.journey-track-copy strong { color: #f4f7fc; font-weight: 650; }
.journey-steps li > div { background: #192b41; border-color: #354960; border-radius: 12px; box-shadow: none; backdrop-filter: none; }
.journey-steps li.is-shared > div { background: #142f36; border-color: #34595c; }
.journey-steps strong { color: #f4f7fc; }
.journey-steps p { color: #c0ccdc; }
.journey-steps li > span { background: #173c64; border-color: #426e9c; border-radius: 9px; box-shadow: none; font-weight: 700; }
.journey-trunk-steps li > span { background: #174338; border-color: #38836a; box-shadow: none; }
.journey-fiber-channel { stroke: #58748b; stroke-width: 2px; }
.journey-fiber-signal { stroke: #64e8b0; stroke-width: 2px; opacity: .9; filter: drop-shadow(0 0 5px #43d79955); }
@media (max-width: 640px) {
  .journey-heading { gap: 12px; }
  .journey-heading h2 { font-size: 2rem; }
}
@media (prefers-reduced-motion: reduce) {
  .journey-fiber-signal { animation: none; display: none; }
}

.model-card-available { background: #fff; border-top: 3px solid var(--green-500); }
.model-card-upcoming { background: #f7f8fa; }
.section-kicker { letter-spacing: .08em; text-transform: uppercase; font-size: .76rem; }
.text-keyword { font-weight: 600; }
.data-evidence { background: #101c2e; color: #fff; border-top: 1px solid #2b394f; padding: 46px 0 38px; }
.data-evidence-heading { display: flex; align-items: baseline; gap: 18px 30px; flex-wrap: wrap; }
.data-evidence-heading h2 { flex: 1; margin: 0; font-size: 1.6rem; line-height: 1.2; letter-spacing: -.025em; }
.data-evidence-heading > p:last-child { color: #a6b5cb; font-size: .76rem; margin: 0; }
.data-evidence-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 30px 0 20px; border-top: 1px solid #354155; border-bottom: 1px solid #354155; }
.data-evidence-grid > div { position: relative; display: flex; flex-direction: column; padding: 28px 20px; border-right: 1px solid #354155; }
.data-evidence-grid > div:first-child { padding-left: 0; }
.data-evidence-grid > div:last-child { border-right: 0; }
.data-evidence-grid dt { order: 2; font-size: .88rem; margin-top: 8px; color: #ecf1f9; }
.data-evidence-grid dd { order: 1; margin: 0; font-size: clamp(1.7rem, 3vw, 2.65rem); font-weight: 600; letter-spacing: -.05em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.data-evidence-grid dd span { font-size: .55em; color: #9bacbf; font-weight: 400; }
.data-evidence-grid .data-stat-source { order: 3; margin: 8px 0 0; color: #9bacbf; font-size: .75rem; font-weight: 400; letter-spacing: 0; }
.data-evidence-note { max-width: 800px; font-size: .78rem; line-height: 1.6; color: #acbad0; margin-bottom: 16px; }
.data-source-link { display: inline-flex; align-items: center; gap: 18px; font-size: .86rem; font-weight: 600; color: #65dfaa; text-underline-offset: 5px; text-decoration: underline; }
.data-source-link:hover { color: #fff; }
.population-preview { grid-column: 2; grid-row: 1 / span 3; border: 1px solid #d4deeb; background: #f3f7fb; border-radius: 12px; padding: 18px; align-self: center; width: 100%; }
.population-preview > span { display: block; font-size: .65rem; color: #5f6e80; }
.population-preview > strong { display: block; font-size: 2.8rem; font-weight: 600; letter-spacing: -.05em; padding-top: 12px; }
.population-preview small { font-size: 1rem; font-weight: 400; }
.population-grid { margin-top: 18px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 3px; }
.population-grid i { aspect-ratio: 1; background: #bfd5f6; }
.population-grid i:nth-child(3n) { background: #0a6cff; }
.population-grid i:nth-child(4n) { background: #609cff; }
/* Mniejszy kontrast dekoracji, zachowana obsługa zgód i formularza. */
.cookie-consent { background: #08101ebd; backdrop-filter: none; }
.cookie-consent-card { background: #132239; border-radius: 16px; box-shadow: 0 12px 40px #0003; }
html.cookie-consent-open .site-header, html.cookie-consent-open main, html.cookie-consent-open .site-footer { filter: none; }
.method-document { max-width: 900px; margin: 0 auto; }
.method-document h1 { max-width: 650px; }
.method-document .lead { font-size: 1.1rem; line-height: 1.75; }
.method-document .formula { font-family: ui-monospace, monospace; padding: 18px; border-left: 3px solid #0a6cff; background: #f1f5fa; overflow-x: auto; margin: 22px 0; font-size: .95rem; }
.method-document h2 { margin-top: 52px; padding-top: 24px; border-top: 1px solid #dce4ed; scroll-margin-top: 100px; }
.method-document .table-scroll { overflow-x: auto; }
.method-document table { width: 100%; border-collapse: collapse; min-width: 580px; font-size: .86rem; }
.method-document td, .method-document th { padding: 14px 12px; text-align: left; vertical-align: top; border-bottom: 1px solid #dce4ed; line-height: 1.5; }
.method-document th { background: #edf2f8; }
.method-document td:first-child { font-weight: 600; }
.method-document .method-summary { padding: 22px; background: #f3f6fa; border-left: 3px solid #12b76a; }
@media (max-width: 860px) {
  .hero { padding-bottom: 70px; }
  .data-evidence-heading { display: block; }
  .data-evidence-heading h2 { margin: 12px 0; }
  .data-evidence-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .data-evidence-grid > div { padding: 24px 18px; }
  .data-evidence-grid > div:nth-child(odd) { padding-left: 0; }
  .data-evidence-grid > div:nth-child(2) { border-right: 0; }
  .data-evidence-grid > div:nth-child(-n+2) { border-bottom: 1px solid #354155; }
  .data-evidence-grid dd { font-size: clamp(1.65rem, 4.8vw, 2.5rem); }
}
@media (max-width: 640px) {
  .hero-copy h1 { font-size: clamp(2.5rem, 10.5vw, 3.4rem); }
  .data-evidence { padding: 34px 0; }
  .data-evidence-heading h2 { font-size: 1.4rem; }
  .data-evidence-grid dt { font-size: .77rem; }
  .population-preview { max-width: 150px; padding: 12px; }
  .method-document { padding: 24px 18px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
.audience-section { margin-top: 0; padding-top: 52px; }
.audience-panel { border-radius: 18px; background: #fff; box-shadow: 0 5px 24px #09203909; }
.hero-bg { opacity: .12; }
.data-evidence { scroll-margin-top: 72px; }
.header-actions, .header-actions .btn, .header-actions .btn-primary { border-radius: 9px; box-shadow: none; }
.header-actions { padding: 0; background: none; border: 0; }
.header-actions .btn-primary { background: var(--blue-600); border: 1px solid #468bff; }
.language-option.is-active { background: #233c5e; }
