/* Generated bundle. Edit source files listed in includes/front-asset-map.php, then rebuild. */

/* SOURCE: assets/css/typography-master.css */
/* * One public owner for hierarchy, editorial readability and two-tone headings.
 */
.mzs-page :where(h1,h2,h3){font-family:var(--mzs-font-heading);text-wrap:balance}
.mzs-page h1{font-size:var(--mzs-h1-size);line-height:.99;letter-spacing:-.048em}
.mzs-page h2{font-size:var(--mzs-h2-size);line-height:1.05;letter-spacing:-.040em}
.mzs-page h3{font-size:var(--mzs-h3-size);line-height:1.12;letter-spacing:-.026em}
.mzs-page .mzs-title-accent{color:var(--mzs-aqua)}
.mzs-page .mzs-title-accent-underline{text-decoration-line:underline;text-decoration-skip-ink:auto}

/* Public/product hero. A real word gap protects split two-tone titles. */
.mzs-page .mzs-public-hero h1{font-weight:630;line-height:.99;letter-spacing:-.040em;word-spacing:.15em}
.mzs-page .mzs-public-hero h1.mzs-service-title{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:.18em;row-gap:.08em;max-width:min(19ch,100%);word-spacing:normal}
.mzs-page .mzs-public-hero h1.mzs-service-title>.mzs-title-base,
.mzs-page .mzs-public-hero h1.mzs-service-title>.mzs-title-accent{min-width:0}

/* Shared semantic card titles. */
.mzs-event-copy h3,.mzs-place-card h3{font-size:clamp(22px,2.2vw,28px);line-height:1.1;letter-spacing:-.026em}

/* Editorial Hub: calmer than landing-page display type. */
.mzs-page:is(.mzs-view-blog,.mzs-view-article,.mzs-view-notices,.mzs-view-notice,.mzs-view-legal) .mzs-hub-hero h1{max-width:18ch;font-size:var(--mzs-h1-size);line-height:1.05;letter-spacing:-.034em}
.mzs-page.mzs-view-blog .mzs-editorial-topic-head h2{font-size:clamp(24px,2.2vw,31px);line-height:1.14;letter-spacing:-.024em}

.mzs-page.mzs-view-article .mzs-hub-prose h2{margin-top:46px;font-size:clamp(24px,2.35vw,31px);line-height:1.18;letter-spacing:-.024em}
.mzs-page.mzs-view-article .mzs-hub-prose h3{margin-top:30px;font-size:clamp(20px,1.8vw,24px);line-height:1.22;letter-spacing:-.018em}

@media(max-width:760px){
  .mzs-event-copy h3,.mzs-place-card h3{font-size:var(--mzs-h3-size)}
  .mzs-page .mzs-public-hero h1.mzs-service-title{max-width:100%;column-gap:.16em;row-gap:.06em}
  .mzs-page:is(.mzs-view-blog,.mzs-view-article,.mzs-view-notices,.mzs-view-notice,.mzs-view-legal) .mzs-hub-hero h1{max-width:none;font-size:var(--mzs-h1-size);line-height:1.08;letter-spacing:-.030em}
  .mzs-page.mzs-view-blog .mzs-editorial-topic-head h2{font-size:clamp(26px,7.5vw,32px);line-height:1.12}
  
  .mzs-page.mzs-view-article .mzs-hub-prose h2{margin-top:36px;font-size:23px;line-height:1.22}
  .mzs-page.mzs-view-article .mzs-hub-prose h3{margin-top:24px;font-size:20px;line-height:1.26}
}

/* 3.70.0 — warstwa czytelności na telefonie.
 * Jedno miejsce dla nagłówków, minimalnych rozmiarów i rytmu podstron; ładowana
 * po stylach widoków, więc wygrywa kolejnością bez !important. */
@media(max-width:760px){
  .mzs-page [data-mzs-view-content] :is(h1,h2){max-width:100%}
  .mzs-page [data-mzs-view-content] h2{font-size:clamp(26px,7.4vw,30px);line-height:1.08;letter-spacing:-.032em}
  .mzs-page [data-mzs-view-content] h3{line-height:1.16}

  /* Minimalne rozmiary: nic ważnego poniżej 11 px, teksty ciągłe od 14,5 px. */
  .mzs-page [data-mzs-view-content] .mzs-eyebrow{font-size:11.5px;letter-spacing:.13em}
  .mzs-page .mzs-ecosystem-project-copy{font-size:14.5px;line-height:1.55}
  .mzs-page :is(.mzs-ecosystem-summary-short,.mzs-ecosystem-update,.mzs-ecosystem-source-note){font-size:11.5px;line-height:1.4}
  .mzs-page :is(.mzs-ecosystem-project-root-meta,.mzs-ecosystem-project-identity)>small{font-size:10.5px;letter-spacing:.1em}
  .mzs-page :is(.is-social-reach,.is-social,.is-listeners)>dd>span{font-size:11.5px;line-height:1.35}
  .mzs-page .mzs-brand-profile-hero-proof>span>small,.mzs-page .mzs-brand-google-proof small{font-size:10.5px}
  .mzs-page .mzs-brand-strength-grid>article>span,.mzs-page .mzs-brand-period>span{font-size:12.5px;line-height:1.4}
  .mzs-page .mzs-brand-strength-context{font-size:15px;line-height:1.62}
  .mzs-page .mzs-region-image-credits,.mzs-page .mzs-region-image-credits a{font-size:11px;line-height:1.5}
  .mzs-page :is(.mzs-event-meta,.mzs-public-meta)>span,.mzs-page .mzs-trust-card-copy>small{font-size:12px}
  .mzs-page .mzs-place-vote p{font-size:15px}

  /* Długi akapit czyta się od lewej krawędzi, krótkie zostają wyśrodkowane. */
  .mzs-page [data-mzs-view-content] p.mzs-long-copy{text-align:left;text-wrap:pretty}
}
@media(max-width:760px){
  /* Rytm sekcji: mniej pustych ekranów między treściami. */
  .mzs-page [data-mzs-view-content] :is(.mzs-public-section,.mzs-history-system,.mzs-history-journey,.mzs-history-expertise,.mzs-history-events,.mzs-history-visibility,.mzs-history-local){padding-block:58px}
}
@media(max-width:760px){
  /* Hero oferty, usług i realizacji ma dłuższe tytuły — nieco mniejszy krój, żeby nie zajmowały całego ekranu. */
  .mzs-page [data-mzs-view-content] .mzs-public-hero h1{font-size:clamp(30px,8.8vw,38px);line-height:1.02}
}

/* 3.77.0 — nagłówki wykorzystują dostępną szerokość (bez wysokich wąskich słupków po 2–3 słowa). */
@media(min-width:761px){
  .mzs-page.mzs-page :is(h2):not(.mzs-news-card h2){max-width:min(100%,26ch)}
  .mzs-page.mzs-page:not(.mzs-view-home) h1{max-width:min(100%,22ch)}
  .mzs-page.mzs-page :is(.mzs-event-group-heading,.mzs-action-zone-heading,.mzs-public-heading,.mzs-ecosystem-head-copy,.mzs-case-section-heading,.mzs-kb-section-head) h2{max-width:min(100%,30ch)}
  /* Artykuł: tytuł i lead w tej samej kolumnie co zdjęcie. */
  .mzs-page.mzs-view-article .mzs-hub-hero .mzs-shell{max-width:var(--mzs-read,860px)}
  .mzs-page.mzs-page.mzs-view-article .mzs-hub-hero h1{max-width:none}
  .mzs-page.mzs-view-article .mzs-hub-hero .mzs-hub-lead{max-width:none}
}

/* SOURCE: assets/css/interaction-tokens.css */
/* .
 * One restrained visual language shared by links, cards and controls.
 */
.mzs-page{
  --mzs-hover-link-color:var(--mzs-text);
  --mzs-hover-accent:var(--mzs-aqua);
  --mzs-hover-surface:color-mix(in srgb,var(--mzs-surface) 94%,white 6%);
  --mzs-hover-surface-soft:color-mix(in srgb,var(--mzs-surface) 96%,white 4%);
  --mzs-focus-ring:color-mix(in srgb,var(--mzs-aqua) 70%,transparent);
}

/* SOURCE: assets/css/interaction-links.css */
/* .
 * Hover is mouse-only. Focus remains keyboard-visible. Touch gets no synthetic hover state.
 */
.mzs-page.mzs-page :where(a[href]:not(.mzs-social-link)):focus-visible{
  background-color:transparent;background-image:none;color:var(--mzs-hover-link-color);box-shadow:none;text-decoration:none;text-shadow:none;filter:none
}
.mzs-page.mzs-page :where(a[href],button,[role="button"]):focus-visible :where(strong,h2,h3,h4){
  color:var(--mzs-hover-link-color);text-decoration:none
}

/* Visitor-facing text actions receive one line beneath the complete link box. */
.mzs-page.mzs-page :where(.mzs-mobile-section-link,.mzs-scroll-cue,.mzs-proof-rail-all,.mzs-contact-links a,.mzs-footer-col a,.mzs-footer-contact a,.mzs-client-login-link,.mzs-menu-footer a:not(.mzs-social-link),.mzs-history-projects a,.mzs-language-menu-list a,.mzs-case-related-links a,.mzs-case-source-list a,.mzs-service-pdf-link,.mzs-pm-text-link,.mzs-pm-brand-actions a,.mzs-pm-materials a){position:relative;text-decoration:none}
.mzs-page.mzs-page :where(
  .mzs-mobile-section-link,.mzs-scroll-cue,.mzs-builder-advance,.mzs-proof-rail-all,.mzs-contact-links a,.mzs-footer-col a,.mzs-footer-contact a,.mzs-client-login-link,.mzs-menu-footer a:not(.mzs-social-link),.mzs-history-projects a,.mzs-action-text,.mzs-language-menu-list a,.mzs-case-related-links a,.mzs-case-source-list a,.mzs-service-pdf-link,.mzs-pm-text-link,.mzs-pm-brand-actions a,.mzs-pm-materials a
)::after{
  content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;background:var(--mzs-hover-accent);transform:scaleX(0);transform-origin:left center;transition:transform .18s ease;pointer-events:none
}
.mzs-page.mzs-page :where(.mzs-mobile-section-link,.mzs-scroll-cue,.mzs-proof-rail-all,.mzs-contact-links a,.mzs-footer-col a,.mzs-footer-contact a,.mzs-client-login-link,.mzs-menu-footer a:not(.mzs-social-link),.mzs-history-projects a,.mzs-language-menu-list a,.mzs-case-related-links a,.mzs-case-source-list a,.mzs-service-pdf-link,.mzs-pm-text-link,.mzs-pm-brand-actions a,.mzs-pm-materials a):focus-visible::after{transform:scaleX(1)}
.mzs-page.mzs-page :where(.mzs-primary-link):focus-visible{background-image:none;color:var(--mzs-hover-link-color)}

@media (hover:hover) and (pointer:fine){
  .mzs-page.mzs-page :where(a[href]:not(.mzs-social-link)):hover{
    background-color:transparent;background-image:none;color:var(--mzs-hover-link-color);box-shadow:none;text-decoration:none;text-shadow:none;filter:none
  }
  .mzs-page.mzs-page :where(a[href],button,[role="button"]):hover :where(strong,h2,h3,h4){color:var(--mzs-hover-link-color);text-decoration:none}
  .mzs-page.mzs-page :where(.mzs-mobile-section-link,.mzs-scroll-cue,.mzs-proof-rail-all,.mzs-contact-links a,.mzs-footer-col a,.mzs-footer-contact a,.mzs-client-login-link,.mzs-menu-footer a:not(.mzs-social-link),.mzs-history-projects a,.mzs-language-menu-list a,.mzs-case-related-links a,.mzs-case-source-list a,.mzs-service-pdf-link,.mzs-pm-text-link,.mzs-pm-brand-actions a,.mzs-pm-materials a):hover::after{transform:scaleX(1)}
  .mzs-page.mzs-page :where(.mzs-primary-link):hover{background-image:none;color:var(--mzs-hover-link-color)}
}

@media (prefers-reduced-motion:reduce){
  .mzs-page.mzs-page :where(.mzs-mobile-section-link,.mzs-scroll-cue,.mzs-proof-rail-all,.mzs-contact-links a,.mzs-footer-col a,.mzs-footer-contact a,.mzs-client-login-link,.mzs-menu-footer a:not(.mzs-social-link),.mzs-history-projects a,.mzs-language-menu-list a,.mzs-case-related-links a,.mzs-case-source-list a,.mzs-service-pdf-link,.mzs-pm-text-link,.mzs-pm-brand-actions a,.mzs-pm-materials a)::after{transition:none}
}

/* SOURCE: assets/css/interaction-surfaces.css */
/* .
 * Mouse hover exists only on devices that actually support hover.
 * Touch uses explicit active/open/selected states; keyboard keeps focus-visible.
 */


/* One underline beneath a card title block,never a decoration on every wrapped line. */
.mzs-page.mzs-page :where(.mzs-strength-node,.mzs-why-board button,.mzs-event-card>a,.mzs-portfolio-index a,.mzs-trust-card>a) :where(strong,h2,h3){position:relative;width:fit-content;max-width:100%;text-decoration:none}
.mzs-page.mzs-page :where(
  .mzs-diagnosis-option,
  .mzs-builder-step,
  
  .mzs-strength-node,
  .mzs-why-board button,
  
  .mzs-event-card>a,
  .mzs-offer-document,
  .mzs-portfolio-index a,
  .mzs-trust-card>a
) :where(strong,h2,h3)::after{
  content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;background:var(--mzs-hover-accent);
  transform:scaleX(0);transform-origin:left center;transition:transform .18s ease;pointer-events:none
}
.mzs-page.mzs-page :where(.mzs-strength-node,.mzs-why-board button,.mzs-event-card>a,.mzs-portfolio-index a,.mzs-trust-card>a):focus-visible :where(strong,h2,h3)::after{transform:scaleX(1)}

/* Keyboard focus remains visible regardless of input modality. */
.mzs-page.mzs-page :where(a,button,[role="button"]):focus-visible{outline:1px solid var(--mzs-focus-ring);outline-offset:3px}

@media (hover:hover) and (pointer:fine){
  .mzs-page.mzs-page :where(button:not([disabled]):not(.mzs-scroll-top):not(.mzs-language-menu-current),[role="button"]:not([aria-disabled="true"]):not(.mzs-scroll-top)):hover{
    background-color:var(--mzs-hover-surface-soft);background-image:none;border-color:transparent;color:var(--mzs-text);box-shadow:none;text-shadow:none;filter:none;text-decoration:none
  }
  
  .mzs-page.mzs-page :where(
    .mzs-diagnosis-option,.mzs-builder-step,.mzs-strength-node,.mzs-why-board button,.mzs-event-card>a,.mzs-offer-document,.mzs-portfolio-index a,.mzs-trust-card>a
  ):hover :where(strong,h2,h3)::after{transform:scaleX(1)}
}

@media (prefers-reduced-motion:reduce){
  .mzs-page.mzs-page :where(.mzs-strength-node,.mzs-why-board button,.mzs-event-card>a,.mzs-portfolio-index a,.mzs-trust-card>a) :where(strong,h2,h3)::after{transition:none}
}

/* Small Google-source mark shared by search proof and Preferred Source CTA. */
.mzs-google-mark{display:inline-grid;place-items:center;width:18px;height:18px;flex:0 0 18px;border:1px solid rgba(66,133,244,.22);border-radius:6px;background:#fff;color:#4285f4;font:900 12px/1 "DejaVu Sans","Noto Sans","Open Sans",sans-serif;letter-spacing:-.08em;box-shadow:0 2px 8px rgba(0,0,0,.05)}
