/* Warstwa WordPress i bloki dodatkowe. Oryginalny frontend pozostaje w style.css. */
:root{--mc-blue:#2f6bff;--mc-black:#050505;--mc-beige:#d9d0c4;--mc-line:rgba(5,5,5,.22);--mc-type-h2-size:clamp(38px,10vw,54px);--mc-type-h2-line-height:1.2;--mc-type-h2-weight:500}
.page-content{min-height:60vh}.wysiwyg{font-family:loos-extended,Arial,sans-serif}:where(.wysiwyg,.entry-content)>*:first-child{margin-top:0}:where(.wysiwyg,.entry-content)>*:last-child{margin-bottom:0}
:where(.wysiwyg,.entry-content) h1,:where(.wysiwyg,.entry-content) h2,:where(.wysiwyg,.entry-content) h3,:where(.wysiwyg,.entry-content) h4,:where(.wysiwyg,.entry-content) h5,:where(.wysiwyg,.entry-content) h6{font-weight:500;line-height:1.04;letter-spacing:-.035em;margin:1.8em 0 .65em}:where(.wysiwyg,.entry-content) h1{font-size:clamp(2.7rem,8vw,5.5rem)}:where(.wysiwyg,.entry-content) h2{font-size:clamp(2.25rem,6vw,4.5rem)}:where(.wysiwyg,.entry-content) h3{font-size:clamp(1.55rem,3.5vw,2.25rem)}:where(.wysiwyg,.entry-content) h4{font-size:1.35rem}:where(.wysiwyg,.entry-content) p,:where(.wysiwyg,.entry-content) li{font-size:clamp(1rem,1.3vw,1.2rem);line-height:1.6}:where(.wysiwyg,.entry-content) p{margin:0 0 1.2em}:where(.wysiwyg,.entry-content) ul,:where(.wysiwyg,.entry-content) ol{margin:1.5em 0;padding-left:1.25em}:where(.wysiwyg,.entry-content) li+li{margin-top:.5em}:where(.wysiwyg,.entry-content) a{color:var(--mc-blue);text-decoration-thickness:1px;text-underline-offset:.18em}:where(.wysiwyg,.entry-content) blockquote{border-left:3px solid var(--mc-blue);font-size:clamp(1.35rem,3vw,2.2rem);line-height:1.35;margin:2em 0;padding:.25em 0 .25em 1em}:where(.wysiwyg,.entry-content) hr{border:0;border-top:1px solid var(--mc-line);margin:2.5rem 0}:where(.wysiwyg,.entry-content) table{border-collapse:collapse;width:100%;margin:2rem 0}:where(.wysiwyg,.entry-content) th,:where(.wysiwyg,.entry-content) td{border-bottom:1px solid var(--mc-line);padding:.8rem;text-align:left}:where(.wysiwyg,.entry-content) img{height:auto;max-width:100%}.wysiwyg--narrow{max-width:900px}
.page-title{background:var(--mc-blue);color:#fff;padding:9rem 0 4rem;position:relative;background-position:center;background-size:cover}.page-title:has([style])::before{background:linear-gradient(90deg,rgba(0,0,0,.7),rgba(0,0,0,.15));content:"";inset:0;position:absolute}.page-title__inner{position:relative}.page-title__eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.page-title h1{font-size:clamp(3.3rem,11vw,8.8rem);font-weight:500;letter-spacing:-.055em;line-height:.9;margin:1rem 0}.page-title__intro{font-size:clamp(1.05rem,2vw,1.45rem);max-width:45rem}.breadcrumbs{align-items:center;display:flex;flex-wrap:wrap;font-size:.75rem;gap:.65rem;margin-top:2.5rem}.breadcrumbs a{color:inherit}
.text-block,.media-text,.process-block,.benefits-block,.testimonials-block,.client-logos-block,.faq-block,.contact-block,.gallery-block,.map-block,.icon-columns{padding:5rem 0}.text-block+.text-block{padding-top:0}.block-header{max-width:920px;margin-bottom:3rem}.block-header h2{font-size:clamp(2.5rem,7vw,5.5rem)}
.media-text__inner{align-items:start;display:grid;gap:2.5rem}.media-text__media{align-self:start;aspect-ratio:4/3;overflow:hidden}.media-text__media img,.media-text__media video,.media-text__media iframe{height:100%;object-fit:cover;width:100%;border:0}.media-text--fit-contain .media-text__media{aspect-ratio:auto}.media-text--fit-contain .media-text__media img{display:block;height:auto;object-fit:contain;object-position:center top}.media-text--fit-contain .media-text__media video{object-fit:contain;object-position:center top}.media-text__content{align-self:start}.media-text__content>p:first-child{font-size:clamp(.85rem,1.05vw,1.05rem);font-weight:500;line-height:1.25;margin-bottom:clamp(2.25rem,4vw,4.75rem)}.media-text__content .button{margin-top:1.5rem}
.full-media figure{margin:0}.full-media img,.full-media video{display:block;height:auto;max-height:100vh;object-fit:cover;object-position:center;width:100%}.full-media figcaption{font-size:.75rem;padding:.75rem 4vw}
.process-block{background:#070707;color:#fff}.process-block__grid,.benefits-block__grid,.icon-columns__grid{display:grid;gap:1px;background:rgba(255,255,255,.25)}.process-block__grid article{background:#070707;padding:2rem}.process-block__grid article>span{color:var(--mc-blue);font-size:.8rem}.process-block__grid h3,.benefits-block__grid h3,.icon-columns__grid h3{font-size:1.5rem;margin:2rem 0 1rem}.benefits-block__grid,.icon-columns__grid{background:var(--mc-line)}.benefits-block__grid article,.icon-columns__grid article{background:#fff;padding:2rem}.benefits-block__grid img,.icon-columns__grid img{height:3.5rem;object-fit:contain;width:3.5rem}
.testimonials-block{background:var(--mc-blue);color:#fff;overflow:hidden}.testimonials-swiper{overflow:visible}.testimonials-swiper blockquote{background:#fff;color:#050505;margin:0;padding:2rem}.testimonials-swiper blockquote>p{font-size:clamp(1.4rem,3vw,2.4rem);line-height:1.35}.testimonials-swiper footer{align-items:center;display:flex;gap:1rem;margin-top:2rem}.testimonials-swiper footer img{border-radius:50%;height:3.5rem;object-fit:cover;width:3.5rem}.testimonials-swiper cite{font-style:normal}.testimonials-swiper cite small{display:block;opacity:.6}
.client-logos-block__grid{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid var(--mc-line)}.client-logos-block__grid figure{align-items:center;aspect-ratio:2/1;border:1px solid var(--mc-line);display:flex;justify-content:center;margin:0;padding:1.5rem}.client-logos-block__grid img{max-height:55%;max-width:75%;object-fit:contain}
.faq-block__inner{display:grid;gap:3rem}.faq-block__items details{border-top:1px solid #111}.faq-block__items details:last-child{border-bottom:1px solid #111}.faq-block__items summary{align-items:center;cursor:pointer;display:flex;font-size:clamp(1.15rem,2vw,1.55rem);font-weight:500;justify-content:space-between;list-style:none;padding:1.4rem 0}.faq-block__items summary::-webkit-details-marker{display:none}.faq-block__items summary span{font-size:2rem;font-weight:200;transition:transform .25s}.faq-block__items details[open] summary span{transform:rotate(45deg)}.faq-block__items details>div{padding:0 0 1.5rem;max-width:48rem}
.cta-block{padding:4.5rem 0;position:relative;overflow:hidden}.cta-block--blue{background:var(--mc-blue);color:#fff}.cta-block--black{background:#050505;color:#fff}.cta-block__inner{align-items:flex-start;display:flex;flex-direction:column;gap:2rem;position:relative}.cta-block__inner>.registered-mark{height:14rem;opacity:.25;position:absolute;right:-4rem;top:-3rem;width:17rem}.cta-block__inner .wysiwyg{max-width:900px}.cta-block__inner h2{font-size:clamp(2.6rem,7vw,6rem)}
.contact-block{background:#f3f0ec}.contact-block__inner{display:grid;gap:3rem}.contact-block__copy h2{font-size:clamp(2.8rem,7vw,6rem)}.contact-block__form{background:#fff;padding:1.5rem}.wpcf7-form{display:grid;gap:1.25rem}.wpcf7-form .form-row{display:grid;gap:1.25rem}.wpcf7-form label{display:block;font-size:.8rem;font-weight:500}.wpcf7-form input:not([type=submit]):not([type=checkbox]),.wpcf7-form select,.wpcf7-form textarea{background:transparent;border:0;border-bottom:1px solid #111;border-radius:0;color:#111;font:inherit;padding:.75rem 0;width:100%}.wpcf7-form textarea{min-height:7rem;resize:vertical}.wpcf7-form input:focus,.wpcf7-form select:focus,.wpcf7-form textarea:focus{border-color:var(--mc-blue);outline:2px solid transparent}.wpcf7-form .wpcf7-acceptance label{align-items:flex-start;display:flex;gap:.7rem;line-height:1.45}.wpcf7-form input[type=submit]{background:var(--mc-blue);border:0;color:#fff;cursor:pointer;font:inherit;font-weight:700;padding:1rem 1.5rem;text-transform:uppercase}.wpcf7-not-valid-tip{font-size:.72rem}.wpcf7-response-output{margin:0!important}.contact-block__note{font-size:.72rem;margin-top:1rem;opacity:.65}
.generic-gallery{overflow:visible}.generic-gallery figure{margin:0}.generic-gallery img{aspect-ratio:4/3;display:block;object-fit:cover;width:100%}.generic-gallery figcaption{font-size:.75rem;padding-top:.65rem}.map-block__embed{aspect-ratio:16/9;background:#e8e5df}.map-block__embed iframe{height:100%;width:100%;border:0}.map-block address{margin-top:1rem}
.hero-slider{background:#050505;color:#fff}.hero-slider__swiper,.hero-slider__swiper .swiper-slide{min-height:90svh}.hero-slider__media{inset:0;opacity:.62;position:absolute}.hero-slider__media img{height:100%;object-fit:cover;width:100%}.hero-slider__content{display:flex;flex-direction:column;justify-content:center;min-height:90svh;padding-bottom:5rem;padding-top:8rem;position:relative}.hero-slider__content h1,.hero-slider__content h2{font-size:clamp(3rem,10vw,8rem);max-width:12ch}.hero-slider__content>p{max-width:42rem}
.case-archive{background:#fff;min-height:100vh}.page-title--archive{background:#050505}.case-archive__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(4rem,10vw,7rem);padding-bottom:clamp(6rem,12vw,10rem);padding-top:clamp(5rem,10vw,8rem)}.case-archive__grid .case-card{align-self:start;grid-row:auto;min-width:0;transform:none!important;width:100%!important}.case-archive__grid .case-card__media{aspect-ratio:1.45/1}.case-archive__grid .case-card>a>p{font-size:clamp(.65rem,1vw,.8rem);margin-top:1rem}.case-card__media{position:relative}.case-card__color-overflow{background:var(--case-color);inset:auto 0 0;mix-blend-mode:color;height:0;opacity:.9;position:absolute;transition:height .5s cubic-bezier(.2,.8,.2,1)}.case-card:hover .case-card__color-overflow{height:100%}.case-card__project-logo{height:auto!important;left:50%;max-height:36%;max-width:32%;object-fit:contain!important;position:absolute;top:50%;transform:translate(-50%,-50%)!important;width:auto!important;z-index:2}.pagination{padding-bottom:5rem}.nav-links{display:flex;flex-wrap:wrap;gap:1rem}
.error-404{background:var(--mc-blue);color:#fff;min-height:100svh;overflow:hidden;padding:10rem 0 6rem;position:relative}.error-404__inner{position:relative}.error-404__code{font-size:clamp(8rem,34vw,28rem);font-weight:700;letter-spacing:-.09em;line-height:.72;margin:0;opacity:.2}.error-404 h1{font-size:clamp(2.8rem,8vw,6rem);max-width:12ch}.error-404__inner>p:not(.error-404__code){font-size:1.15rem;max-width:38rem}.error-404 .button{margin-top:2rem}.error-404__orbit{inset:auto -10rem -10rem auto;position:absolute}.error-404__orbit span{border:1px solid rgba(255,255,255,.35);border-radius:50%;display:block;height:30rem;position:absolute;right:0;bottom:0;width:30rem}.error-404__orbit span+span{height:22rem;width:22rem}.error-404__orbit svg{height:8rem;position:absolute;right:7rem;bottom:7rem;width:10rem}
.editor-media-placeholder{align-items:center;background:#ececec;color:#555;display:flex;justify-content:center;min-height:240px;padding:2rem;text-align:center}
.case-copy--white{background:#fff}.case-copy--beige{background:#d9d0c4}.case-copy--blue{background:var(--mc-blue);color:#fff}.case-identity__marks{display:grid;grid-template-columns:repeat(2,1fr)}.case-identity__marks figure{align-items:center;aspect-ratio:1;display:flex;justify-content:center;margin:0;padding:2rem}.case-identity__marks img{max-height:60%;max-width:70%;object-fit:contain}.case-social__grid{display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}.case-social__grid img{height:100%;object-fit:cover;width:100%}.case-gallery__grid{display:grid;gap:1rem}.case-gallery__grid figure{margin:0}.case-gallery__grid img{height:100%;object-fit:cover;width:100%}.case-summary__inner{display:flex;flex-direction:column;gap:2rem}
@media (max-width:600px){.media-text__inner>*,.cta-block__inner>*{max-width:100%;min-width:0}.media-text__content h2{font-size:clamp(1.9rem,8.5vw,2.1rem);overflow-wrap:anywhere}.benefits-block .block-header{max-width:100%}.benefits-block .block-header h2{font-size:clamp(2rem,9vw,2.25rem);overflow-wrap:anywhere}.cta-block__inner .wysiwyg{max-width:100%;min-width:0}.cta-block__inner h2{font-size:clamp(2rem,9vw,2.25rem);overflow-wrap:anywhere}.cta-block__inner>.registered-mark{right:-6rem}.media-text__content>p:first-child{margin-bottom:2rem}}
@media (min-width:992px){
  .media-text__inner{grid-template-columns:1fr 1fr;gap:6vw}.media-text--right .media-text__media{order:2}.media-text--outside.media-text--left .media-text__media{margin-left:calc((100vw - min(92vw,1680px))/ -2)}.media-text--outside.media-text--right .media-text__media{margin-right:calc((100vw - min(92vw,1680px))/ -2)}
  .process-block__grid{grid-template-columns:repeat(4,1fr)}.benefits-block__grid,.icon-columns__grid{grid-template-columns:repeat(3,1fr)}.client-logos-block__grid{grid-template-columns:repeat(4,1fr)}.faq-block__inner,.contact-block__inner{grid-template-columns:.8fr 1.2fr;gap:8vw}.contact-block__form{padding:3rem}.wpcf7-form .form-row{grid-template-columns:1fr 1fr}.cta-block__inner{align-items:center;flex-direction:row;justify-content:space-between}.cta-block__inner>.registered-mark{height:22rem;width:26rem}.case-identity__marks{grid-template-columns:repeat(4,1fr)}.case-social__grid{grid-template-columns:repeat(4,1fr)}.case-gallery__grid{grid-template-columns:repeat(2,1fr)}.case-gallery__wide{grid-column:1/-1}.case-summary__inner{align-items:flex-end;flex-direction:row;justify-content:space-between}
  .case-archive__grid{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(2rem,4.167vw,5rem);row-gap:clamp(7rem,10vw,12rem)}.case-archive__grid .case-card:nth-child(3n+1){grid-column:1/7}.case-archive__grid .case-card:nth-child(3n+2){grid-column:7/13;margin-top:clamp(6rem,8vw,10rem)}.case-archive__grid .case-card:nth-child(3n){grid-column:2/10}
}
@media (prefers-reduced-motion:reduce){.case-card__color-overflow{transition:none}}

/* Contact form: consistent type scale and Material-style fields. */
.contact-block__copy h2 {
  max-width: 11ch;
  font-size: clamp(38px, 10vw, 58px);
  font-weight: 700;
}

.faq-block .block-header h2 {
  font-size: clamp(38px, 10vw, 58px);
}

.contact-block__copy p {
  max-width: 42rem;
}

.contact-block__form {
  padding: clamp(1.5rem, 4vw, 3rem);
}

.contact-block__form .wpcf7-form {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.contact-block__form .wpcf7-form .form-row {
  display: block;
}

.contact-block__form .wpcf7-form p,
.contact-block__form .wpcf7-form .form-row > p {
  margin: 0;
}

.contact-block__form .wpcf7-form .form-row > p {
  display: grid;
  gap: 24px;
}

.contact-block__form .wpcf7-form > p > br {
  display: none;
}

.wpcf7-form .material-field {
  position: relative;
  display: block;
  min-width: 0;
  font-size: 1rem;
}

.wpcf7-form .material-field .wpcf7-form-control-wrap {
  display: block;
}

.wpcf7-form .material-label {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 0;
  color: rgb(5 5 5 / 58%);
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 1;
  pointer-events: none;
  transform: translateY(-50%);
  transform-origin: left top;
  transition: color 220ms ease, font-size 220ms ease, top 220ms ease, transform 220ms ease;
}

.wpcf7-form .material-field--textarea .material-label {
  top: 28px;
}

.wpcf7-form .material-field:focus-within .material-label,
.wpcf7-form .material-field.is-filled .material-label,
.wpcf7-form .material-field--select .material-label {
  top: 7px;
  color: var(--mc-blue);
  font-size: 10px;
  transform: none;
}

.wpcf7-form .material-field input:not([type=submit]),
.wpcf7-form .material-field select,
.wpcf7-form .material-field textarea {
  display: block;
  height: 58px;
  padding: 21px 0 7px;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.25;
}

.wpcf7-form .material-field textarea {
  height: auto;
  min-height: 142px;
  padding-top: 25px;
}

.wpcf7-form .material-field select {
  padding-right: 28px;
}

.wpcf7-form .material-underline {
  display: block;
  width: 100%;
  height: 2px;
  margin-top: -2px;
  background: var(--mc-blue);
  pointer-events: none;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 240ms ease;
}

.wpcf7-form .material-field:focus-within .material-underline {
  transform: scaleX(1);
}

.wpcf7-form .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #b42318;
  font-family: Inter, Arial, sans-serif;
  font-size: 11px;
}

.wpcf7-form .wpcf7-form-control-wrap[data-name="consent"] {
  display: block;
  margin: 6px 0 28px;
}

.wpcf7-form .wpcf7-acceptance,
.wpcf7-form .wpcf7-acceptance .wpcf7-list-item {
  display: block;
  margin: 0;
}

.wpcf7-form .wpcf7-acceptance label {
  align-items: flex-start;
  justify-content: flex-start;
  gap: 12px;
  max-width: 48rem;
  margin: 0;
  text-align: left;
}

.wpcf7-form .wpcf7-acceptance input[type="checkbox"] {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin: 2px 0 0;
  accent-color: var(--mc-blue);
}

.wpcf7-form .wpcf7-acceptance .wpcf7-list-item-label {
  font-family: Inter, Arial, sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.45;
}

.wpcf7-form input[type="submit"] {
  align-self: flex-start;
  min-width: 210px;
  margin: 0;
}

.contact-block__note {
  margin: 18px 0 0;
}

@media (min-width: 992px) {
  .contact-block__copy h2,
  .faq-block .block-header h2 {
    font-size: 3.375rem;
  }

  .contact-block__form .wpcf7-form .form-row > p {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: clamp(28px, 3vw, 48px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .wpcf7-form .material-label,
  .wpcf7-form .material-underline {
    transition: none;
  }
}

/* Global H2 rhythm — one value across designed sections and WYSIWYG content. */
h2 {
  line-height: var(--mc-type-h2-line-height) !important;
}

/*
 * Reusable ACF blocks share one H2 scale regardless of page or block order.
 * Bespoke home and case-study sections keep their design-specific sizing.
 */
:is(
  .text-block,
  .media-text,
  .process-block,
  .benefits-block,
  .testimonials-block,
  .client-logos-block,
  .faq-block,
  .contact-block,
  .gallery-block,
  .map-block,
  .icon-columns,
  .cta-block
) h2 {
  font-size: var(--mc-type-h2-size) !important;
  font-weight: var(--mc-type-h2-weight);
  line-height: var(--mc-type-h2-line-height) !important;
  letter-spacing: -.035em;
}

.contact-block__copy h2 {
  font-weight: 700;
}

.mc-fancybox-trigger {
  display: block;
  height: 100%;
  cursor: zoom-in;
}

.mc-fancybox-trigger > img {
  display: block;
}

:is(.case-copy, .case-social, .case-summary) .wysiwyg h2 {
  font-size: var(--mc-type-h2-size) !important;
  font-weight: var(--mc-type-h2-weight) !important;
  line-height: var(--mc-type-h2-line-height) !important;
  letter-spacing: -.035em;
  overflow-wrap: anywhere;
}

:is(.case-copy, .case-social, .case-summary) .wysiwyg :is(h3, h4) {
  font-size: clamp(24px, 4vw, 32px);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -.025em;
}

:is(.case-hero__columns, .case-copy, .case-social, .case-summary) .wysiwyg :is(p, li) {
  font-family: Inter, Arial, sans-serif;
  font-size: clamp(15px, 1.1vw, 18px);
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: normal;
}

:is(.case-hero__columns, .case-copy, .case-social, .case-summary) .wysiwyg :is(p, li) strong {
  font-weight: 500;
}

.case-copy__label,
.full-media figcaption {
  font-family: Inter, Arial, sans-serif;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: normal;
}

.case-copy__label {
  font-family: loos-extended, Arial, sans-serif;
}

/* Restore semantic list markers removed by the navigation-oriented global reset. */
:where(.wysiwyg, .entry-content) ul {
  list-style: disc outside;
}

:where(.wysiwyg, .entry-content) ol {
  list-style: decimal outside;
}

:where(.wysiwyg, .entry-content) :is(ul, ol) :is(ul, ol) {
  margin-block: .5em;
}

:where(.wysiwyg, .entry-content) ul ul {
  list-style-type: circle;
}

:where(.wysiwyg, .entry-content) ol ol {
  list-style-type: lower-alpha;
}

.case-social__heading {
  margin-bottom: clamp(32px, 4vw, 60px);
}

@media (max-width: 600px) {
  .case-page {
    --gutter: 20px;
  }

  .case-page .site-header__logo {
    left: var(--gutter);
  }

  .case-page .menu-toggle {
    right: var(--gutter);
  }

  .case-copy__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    min-height: 0;
    padding-block: 50px;
  }

  :is(.case-copy--process, .case-copy--solution, .case-copy--effect) .case-copy__grid {
    min-height: 0;
  }

  .case-social__grid {
    padding-inline: 0;
  }

  .case-summary .case-shell {
    padding-inline: var(--gutter);
  }
}
