/*
  DSK PL clean foundation.
  Scope: active Polish non-blog pages after builder/B12 cut.
  Purpose: replace shared legacy core/typography/layout CSS with owner-safe basics.
*/

@font-face {
  font-family: "DSK Inter";
  font-style: normal;
  font-weight: 400 800;
  font-display: block;
  src: url("/assets/fonts/inter-cyrillic-ext-v20.woff2") format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: "DSK Inter";
  font-style: normal;
  font-weight: 400 800;
  font-display: block;
  src: url("/assets/fonts/inter-cyrillic-v20.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "DSK Inter";
  font-style: normal;
  font-weight: 400 800;
  font-display: block;
  src: url("/assets/fonts/inter-latin-ext-v20.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "DSK Inter";
  font-style: normal;
  font-weight: 400 800;
  font-display: block;
  src: url("/assets/fonts/inter-latin-v20.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --dsk-clean-ink: #0f172a;
  --dsk-clean-muted: #475569;
  --dsk-clean-soft: #64748b;
  --dsk-clean-bg: #f8fafc;
  --dsk-clean-panel: #ffffff;
  --dsk-clean-line: rgba(15, 23, 42, 0.1);
  --dsk-clean-green: #047857;
  --dsk-clean-green-dark: #065f46;
  --dsk-clean-navy: #07111f;
  --dsk-clean-rail: min(1180px, calc(100vw - clamp(32px, 7vw, 80px)));
  --dsk-clean-copy: min(860px, calc(100vw - clamp(32px, 7vw, 80px)));
  --dsk-clean-gap: clamp(16px, 2.2vw, 24px);
  --dsk-clean-section-y: clamp(52px, 7vw, 88px);
  --dsk-clean-card-pad: clamp(18px, 2vw, 26px);
  color-scheme: light;
}

html {
  min-width: 320px;
  scroll-behavior: smooth;
  text-size-adjust: 100%;
}

:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-subpage-owner-v1,
:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-clean-foundation {
  min-width: 320px;
  margin: 0;
  background: var(--dsk-clean-bg);
  color: var(--dsk-clean-ink);
  font-family: "DSK Inter", "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.55;
  overflow-x: clip;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-subpage-owner-v1 *,
:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-subpage-owner-v1 *::before,
:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-subpage-owner-v1 *::after,
:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-clean-foundation *,
:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-clean-foundation *::before,
:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-clean-foundation *::after {
  box-sizing: border-box;
}

:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-subpage-owner-v1 :where(main, section, article, aside, footer),
:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-clean-foundation :where(main, section, article, aside, footer) {
  display: block;
}

:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-subpage-owner-v1 :where(img, picture, video, canvas, svg),
:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-clean-foundation :where(img, picture, video, canvas, svg) {
  max-width: 100%;
  height: auto;
}

:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-subpage-owner-v1 :where(a),
:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-clean-foundation :where(a) {
  color: inherit;
}

:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-subpage-owner-v1 :where(button, input, textarea, select),
:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-clean-foundation :where(button, input, textarea, select) {
  font: inherit;
}

:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-subpage-owner-v1 :where(button, a),
:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-clean-foundation :where(button, a) {
  -webkit-tap-highlight-color: transparent;
}

:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-subpage-owner-v1 :where([hidden]),
:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-clean-foundation :where([hidden]) {
  display: none;
}

:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-subpage-owner-v1 .dsk-skip-link,
:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-clean-foundation .dsk-skip-link {
  position: fixed;
  inset-block-start: 16px;
  inset-inline-start: 16px;
  z-index: 10000;
  transform: translateY(calc(-100% - 32px));
  padding: 10px 14px;
  border-radius: 999px;
  background: #07111f;
  color: #fff;
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 16px 34px rgba(7, 17, 31, 0.22);
}

:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-subpage-owner-v1 .dsk-skip-link:focus,
:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-subpage-owner-v1 .dsk-skip-link:focus-visible,
:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-clean-foundation .dsk-skip-link:focus,
:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-clean-foundation .dsk-skip-link:focus-visible {
  transform: translateY(0);
  outline: 3px solid rgba(16, 185, 129, 0.42);
  outline-offset: 3px;
}

:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-subpage-owner-v1 :where(h1, h2, h3, h4, p),
:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-clean-foundation :where(h1, h2, h3, h4, p) {
  margin-top: 0;
}

:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-subpage-owner-v1 :where(h1, h2, h3, h4),
:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-clean-foundation :where(h1, h2, h3, h4) {
  color: var(--dsk-clean-ink);
  font-weight: 800;
  letter-spacing: 0;
  text-wrap: balance;
}

:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-subpage-owner-v1 :where(h1),
:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-clean-foundation :where(h1) {
  font-size: clamp(34px, 5vw, 58px);
  line-height: 1.03;
  margin-bottom: clamp(18px, 2vw, 24px);
}

:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-subpage-owner-v1 :where(h2),
:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-clean-foundation :where(h2) {
  font-size: clamp(28px, 4vw, 46px);
  line-height: 1.08;
  margin-bottom: clamp(16px, 2vw, 22px);
}

:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-subpage-owner-v1 :where(h3),
:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-clean-foundation :where(h3) {
  font-size: clamp(20px, 2.2vw, 26px);
  line-height: 1.18;
}

:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-subpage-owner-v1 :where(p, li),
:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-clean-foundation :where(p, li) {
  color: var(--dsk-clean-muted);
  line-height: 1.62;
}

:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-subpage-owner-v1 :where(main, #main-content),
:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-clean-foundation :where(main, #main-content) {
  min-width: 0;
  overflow-x: clip;
}

:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-subpage-owner-v1 :where(.dsk-owner-container, .dsk-standard-info-rail, .dsk-service-landing__container, .dsk-section-inner),
:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-clean-foundation :where(.dsk-owner-container, .dsk-standard-info-rail, .dsk-service-landing__container, .dsk-section-inner) {
  width: var(--dsk-clean-rail);
  max-width: var(--dsk-clean-rail);
  margin-inline: auto;
}

:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-subpage-owner-v1 :where(.dsk-owner-section, .dsk-standard-info-section, .dsk-service-landing-section),
:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-clean-foundation :where(.dsk-owner-section, .dsk-standard-info-section, .dsk-service-landing-section) {
  padding-block: var(--dsk-clean-section-y);
}

:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-subpage-owner-v1 :where(.dsk-owner-row, .dsk-standard-info-row, .dsk-service-landing__row),
:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-clean-foundation :where(.dsk-owner-row, .dsk-standard-info-row, .dsk-service-landing__row) {
  min-width: 0;
}

:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-subpage-owner-v1 :where(.dsk-owner-column, .dsk-owner-column-content, .dsk-standard-info-content),
:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-clean-foundation :where(.dsk-owner-column, .dsk-owner-column-content, .dsk-standard-info-content) {
  min-width: 0;
}

:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-subpage-owner-v1 :where(.dsk-owner-section-subtitle, .dsk-owner-paragraph, .dsk-standard-info__lead, .dsk-standard-info__intro),
:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-clean-foundation :where(.dsk-owner-section-subtitle, .dsk-owner-paragraph, .dsk-standard-info__lead, .dsk-standard-info__intro) {
  max-width: var(--dsk-clean-copy);
  color: var(--dsk-clean-muted);
}

:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-subpage-owner-v1 :where(.dsk-btn, .dsk-button, .dsk-loc-btn, .dsk-cta-button, .dsk-owner-cta-wrapper a, .dsk-service-landing__cta a),
:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-clean-foundation :where(.dsk-btn, .dsk-button, .dsk-loc-btn, .dsk-cta-button, .dsk-owner-cta-wrapper a, .dsk-service-landing__cta a) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 46px;
  padding: 0 20px;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  font-weight: 800;
  text-decoration: none;
}

:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-subpage-owner-v1 :where(input, textarea, select),
:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-clean-foundation :where(input, textarea, select) {
  width: 100%;
  border: 1px solid rgba(148, 163, 184, 0.35);
  border-radius: 14px;
  background: #fff;
  color: var(--dsk-clean-ink);
}

:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-subpage-owner-v1 :where(.display-xl-font),
:is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-clean-foundation :where(.display-xl-font) {
  font: inherit;
}

@media (max-width: 767px) {
  :root {
    --dsk-clean-rail: min(100% - 32px, 1180px);
    --dsk-clean-copy: min(100% - 32px, 860px);
    --dsk-clean-section-y: 48px;
  }

  :is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-subpage-owner-v1 :where(h1),
  :is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-clean-foundation :where(h1) {
    font-size: clamp(30px, 9vw, 42px);
  }

  :is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-subpage-owner-v1 :where(h2),
  :is(html[lang="pl"], html[lang="uk"]) body.dsk-pl-clean-foundation :where(h2) {
    font-size: clamp(26px, 8vw, 36px);
  }
}

/* visual-next5-about-clean-foundation-handoff-20260601
   Local o-nas handoff fix: the clean foundation loads after the about page
   owner CSS, so the section-level bottom rhythm is scoped here. */
:is(html[lang="pl"], html[lang="uk"]) body.dsk-page-o-nas main#main-content #blog-post-template.dsk-about-owner-section{
  padding-bottom: clamp(18px, 2vw, 28px);
}

@media (max-width: 767px){
  :is(html[lang="pl"], html[lang="uk"]) body.dsk-page-o-nas main#main-content #blog-post-template.dsk-about-owner-section{
    padding-bottom: 16px;
  }
}

@media (max-width: 390px){
  :is(html[lang="pl"], html[lang="uk"]) body.dsk-page-o-nas main#main-content #blog-post-template.dsk-about-owner-section{
    padding-bottom: 14px;
  }
}
