

html, body { max-width: 100%; overflow-x: clip; }


/* Media and embeds never exceed their container. */
img, svg, video, canvas, iframe, embed, object, figure, picture {
   max-width: 100%;
}
img, video, canvas { height: auto; }
pre, code, kbd, samp { overflow-x: auto; max-width: 100%; }


picture { display: block; height: 100%; }


h1, h2, h3, h4, h5, h6,
[class*="lockup"], [class*="display"], [class*='headline'], [class*="title"],
[class*="hero"] h1, [class*="hero"] h2 {
   overflow-wrap: break-word;
   word-break: normal;
   hyphens: manual;
}
[class*="lockup"], [class*="lockup"] > * { white-space: normal !important; }


h1, h2, h3 { text-wrap: balance; }
td, th, time, output, data,
[class*="price"], [class*='cost'], [class*="rate"], [class*="amount"],
[class*='figure'], [class*="stat"], [class*="number"], [class*="count"] {
   font-variant-numeric: lining-nums tabular-nums;
}


p, li, dd, dt, blockquote, figcaption, address, a, span, td, th,
div, strong, b, em, i, small, label, output, time, cite, abbr, code, summary,
h1, h2, h3, h4, h5, h6 {
   overflow-wrap: break-word;
}


/* Grid and flex children may shrink below their content so a single wide
   child cannot force the whole track past the viewport. */
[class*="grid"] > *, [class*="row"] > *, [class*='flex'] > *,
[class*="cols"] > *, [class*="columns"] > * { min-width: 0; }


:not(img):not(picture):not(svg):not(video):not(canvas):only-child {
   grid-column: 1 / -1;
}


@view-transition { navigation: auto; }
::view-transition-old(root), ::view-transition-new(root) {
   animation-duration: .28s;
}
@media (prefers-reduced-motion: reduce) {
   ::view-transition-group(*),
   ::view-transition-old(*),
   ::view-transition-new(*) { animation: none !important; }
}


.besobc5 {
   overflow-x: auto;
   -webkit-overflow-scrolling: touch;
   container-type: inline-size;
}
.besobc5 > table { width: 100%; }
@media (max-width: 48rem) {
   .besobc5 > table { font-size: .94em; }
}
.besobc5 > table,
.besobc5 > table > thead, .besobc5 > table > tbody,
.besobc5 > table > tfoot, .besobc5 > table tr,
.besobc5 > table th, .besobc5 > table td { display: revert; }
.besobc5 > table th, .besobc5 > table td {
   inline-size: auto;
   min-inline-size: 0;
}



@media (max-width: 30rem) {
   :root {
      --pumo-d82: clamp(2.2rem, 9vw, 3rem);
      --pumo-3a7: clamp(2rem, 8vw, 2.7rem);
      --pumo-121: clamp(1.8rem, 7vw, 2.4rem);
      --pumo-928: clamp(1.55rem, 6vw, 2.05rem);
      --pumo-43f: clamp(1.35rem, 5vw, 1.8rem);
   }
}
@media (min-width: 30.01rem) and (max-width: 48rem) {
   :root {
      --pumo-d82: clamp(2.8rem, 8vw, 4.6rem);
      --pumo-3a7: clamp(2.5rem, 7vw, 4rem);
      --pumo-121: clamp(2.2rem, 6vw, 3.4rem);
   }
}


/* Touch targets stay usable. */
@media (pointer: coarse) {
   a.btn, button, [role='button'], .btn,
   input[type="submit"], input[type='button'] { min-height: 44px; }
}


a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, summary:focus-visible,
[tabindex]:focus-visible, [role='button']:focus-visible {
   outline: 2px solid var(--focus-ring, currentColor);
   outline-offset: 3px;
}


html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
input:not([type='checkbox']):not([type="radio"]):not([type='range']):not([type='file']):not([type="color"]),
textarea, button, [type="submit"], [type='button'] {
   -webkit-appearance: none;
   appearance: none;
}


@media (pointer: coarse) and (max-width: 767px) {
   input:not([type='checkbox']):not([type="radio"]):not([type='range']):not([type='file']):not([type="color"]),
   select, textarea { font-size: max(16px, 1em) !important; }
}


@container (max-width: 26rem) {
   .besobc5.suwi39f.mobu998 > table,
   .besobc5.suwi39f.mobu998 > table > tbody,
   .besobc5.suwi39f.mobu998 > table > tbody > tr,
   .besobc5.suwi39f.mobu998 > table > tbody > tr > td,
   .besobc5.suwi39f.mobu998 > table > tbody > tr > th {
      display: block;
      inline-size: auto;
      min-inline-size: 0 !important;
   }
   .besobc5.suwi39f.mobu998 > table > thead { display: none; }
   .besobc5.suwi39f.mobu998 > table > tbody > tr {
      margin-block-end: .75rem;
      padding: .2rem .25rem;
      border: 1px solid;
      border-color: color-mix(in srgb, currentColor 20%, transparent);
      border-radius: .5rem;
   }
   .besobc5.suwi39f.mobu998 > table > tbody > tr > td {
      padding-block: .4rem;
      padding-inline: .7rem;
   }
   .besobc5.suwi39f.mobu998 > table > tbody > tr > td[data-label]::before {
      content: attr(data-label);
      display: block;
      font-size: .82em;
      font-weight: 600;
      letter-spacing: .02em;
      opacity: .68;
   }
   .besobc5.suwi39f.mobu998 > table > tbody > tr > td:empty { display: none; }
}
@container (max-width: 35rem) {
   .besobc5.suwi39f.vinu546 > table,
   .besobc5.suwi39f.vinu546 > table > tbody,
   .besobc5.suwi39f.vinu546 > table > tbody > tr,
   .besobc5.suwi39f.vinu546 > table > tbody > tr > td,
   .besobc5.suwi39f.vinu546 > table > tbody > tr > th {
      display: block;
      inline-size: auto;
      min-inline-size: 0 !important;
   }
   .besobc5.suwi39f.vinu546 > table > thead { display: none; }
   .besobc5.suwi39f.vinu546 > table > tbody > tr {
      margin-block-end: .75rem;
      padding: .2rem .25rem;
      border: 1px solid;
      border-color: color-mix(in srgb, currentColor 20%, transparent);
      border-radius: .5rem;
   }
   .besobc5.suwi39f.vinu546 > table > tbody > tr > td {
      padding-block: .4rem;
      padding-inline: .7rem;
   }
   .besobc5.suwi39f.vinu546 > table > tbody > tr > td[data-label]::before {
      content: attr(data-label);
      display: block;
      font-size: .82em;
      font-weight: 600;
      letter-spacing: .02em;
      opacity: .68;
   }

   .besobc5.suwi39f.vinu546 > table > tbody > tr > td:empty { display: none; }

}
@container (max-width: 44rem) {
   .besobc5.suwi39f.pewa32c > table,
   .besobc5.suwi39f.pewa32c > table > tbody,
   .besobc5.suwi39f.pewa32c > table > tbody > tr,
   .besobc5.suwi39f.pewa32c > table > tbody > tr > td,
   .besobc5.suwi39f.pewa32c > table > tbody > tr > th {
      display: block;
      inline-size: auto;
      min-inline-size: 0 !important;
   }
   .besobc5.suwi39f.pewa32c > table > thead { display: none; }
   .besobc5.suwi39f.pewa32c > table > tbody > tr {
      margin-block-end: .75rem;
      padding: .2rem .25rem;
      border: 1px solid;
      border-color: color-mix(in srgb, currentColor 20%, transparent);
      border-radius: .5rem;
   }
   .besobc5.suwi39f.pewa32c > table > tbody > tr > td {
      padding-block: .4rem;
      padding-inline: .7rem;
   }
   .besobc5.suwi39f.pewa32c > table > tbody > tr > td[data-label]::before {
      content: attr(data-label);
      display: block;
      font-size: .82em;
      font-weight: 600;
      letter-spacing: .02em;
      opacity: .68;
   }
   .besobc5.suwi39f.pewa32c > table > tbody > tr > td:empty { display: none; }
}
@container (max-width: 52rem) {
   .besobc5.suwi39f.tcols-6 > table,
   .besobc5.suwi39f.tcols-6 > table > tbody,
   .besobc5.suwi39f.tcols-6 > table > tbody > tr,
   .besobc5.suwi39f.tcols-6 > table > tbody > tr > td,
   .besobc5.suwi39f.tcols-6 > table > tbody > tr > th {
      display: block;
      inline-size: auto;
      min-inline-size: 0 !important;
   }
   .besobc5.suwi39f.tcols-6 > table > thead { display: none; }
   .besobc5.suwi39f.tcols-6 > table > tbody > tr {
      margin-block-end: .75rem;
      padding: .2rem .25rem;
      border: 1px solid;
      border-color: color-mix(in srgb, currentColor 20%, transparent);
      border-radius: .5rem;
   }
   .besobc5.suwi39f.tcols-6 > table > tbody > tr > td {
      padding-block: .4rem;
      padding-inline: .7rem;
   }
   .besobc5.suwi39f.tcols-6 > table > tbody > tr > td[data-label]::before {
      content: attr(data-label);
      display: block;
      font-size: .82em;
      font-weight: 600;
      letter-spacing: .02em;
      opacity: .68;
   }
   .besobc5.suwi39f.tcols-6 > table > tbody > tr > td:empty { display: none; }
}
@container (max-width: 61rem) {
   .besobc5.suwi39f.tcols-7 > table,
   .besobc5.suwi39f.tcols-7 > table > tbody,
   .besobc5.suwi39f.tcols-7 > table > tbody > tr,
   .besobc5.suwi39f.tcols-7 > table > tbody > tr > td,
   .besobc5.suwi39f.tcols-7 > table > tbody > tr > th {
      display: block;
      inline-size: auto;
      min-inline-size: 0 !important;
   }
   .besobc5.suwi39f.tcols-7 > table > thead { display: none; }
   .besobc5.suwi39f.tcols-7 > table > tbody > tr {

      margin-block-end: .75rem;
      padding: .2rem .25rem;
      border: 1px solid;
      border-color: color-mix(in srgb, currentColor 20%, transparent);
      border-radius: .5rem;
   }
   .besobc5.suwi39f.tcols-7 > table > tbody > tr > td {
      padding-block: .4rem;
      padding-inline: .7rem;
   }
   .besobc5.suwi39f.tcols-7 > table > tbody > tr > td[data-label]::before {
      content: attr(data-label);
      display: block;
      font-size: .82em;
      font-weight: 600;
      letter-spacing: .02em;
      opacity: .68;
   }
   .besobc5.suwi39f.tcols-7 > table > tbody > tr > td:empty { display: none; }
}



@keyframes consent-arrive { from { opacity: 0; } }
#cookie-banner {
   max-height: 30vh;
   overflow: auto;
   box-sizing: border-box;
}
html body #cookie-banner#cookie-banner {
   animation: consent-arrive .6s ease-out 1.8s backwards !important;
}
@media (min-width: 48rem) {
   html body #cookie-banner#cookie-banner {
      position: fixed !important;
      top: auto !important;
      bottom: var(--consent-bottom, 1.25rem) !important;
      left: var(--consent-left, 1.25rem) !important;
      right: auto !important;
      width: min(380px, calc(100vw - 2.5rem)) !important;
      max-width: 380px !important;
      max-height: min(60vh, 30rem) !important;
      margin: 0 !important;
      padding: 1.1rem 1.25rem !important;
      flex-direction: column !important;
      align-items: stretch !important;
      justify-content: flex-start !important;
      gap: .8rem !important;
   }
   #cookie-banner > :where(div, form, section, nav):not([hidden]) {
      display: flex !important;
      flex-direction: column !important;
      align-items: stretch !important;
      justify-content: flex-start !important;
      gap: .8rem !important;
   }
   /* A `flex: 1 1 320px` written for a row is a 320px HEIGHT in a column. */
   #cookie-banner > :not([hidden]),
   #cookie-banner > :where(div, form, section, nav):not([hidden]) > :not([hidden]) {
      flex: 0 0 auto !important;
      min-width: 0;
      width: auto !important;
      max-width: none !important;
      margin: 0 !important;
   }
   #cookie-banner :where(div, p, nav, form, section) {
      flex-wrap: wrap;
   }
}
@media (prefers-reduced-motion: reduce) {
   html body #cookie-banner#cookie-banner { animation-duration: .01s !important; }
}


/* MEASURED: the header held on one line */
/* header.site-header: the header held on one line — measured at 1920px */
header.site-header a.btn.btn-primary.btn-sm { display: none !important; }
/* header.site-header: the header held on one line — measured at 1024px, left as designed from 1440px */
@media (max-width: 1439px) { header.site-header nav.header-nav { display: none !important; } }
/* header.site-header: the header held on one line — measured at 1024px, left as designed from 1440px */
@media (max-width: 1439px) { nav.mobile-dock { display: flex !important; } }


/* MEASURED: flex rows that ran out of room and did not wrap */
@media (max-width: 767px) { div.media-break-caption { flex-wrap: wrap !important; } }
@media (max-width: 389px) { label.estimator-check-item { flex-wrap: wrap !important; } }
/* out of room at 320px, fitted at 390px */
@media (max-width: 389px) { span.estimator-check-left { flex-wrap: wrap !important; } }


/* printed 70px outside its card */
p.number-lead-explain { overflow-wrap: anywhere !important; }
/* p kept inside its card at 390px with this */
@media (max-width: 767px) { div.container-wide.page-section-split-1-2 { grid-template-columns: minmax(0, 1fr) !important; } }
div.container-wide.page-section-split-2-1 div { min-width: 0 !important; }
/* div.service-price kept inside its card at 768px with this */
div.service-price { white-space: normal !important; }
/* span.number-lead-figure kept inside its card at 320px with this */
span.number-lead-figure { overflow-wrap: anywhere !important; }


/* MEASURED: tables whose cells came out too narrow to read */
/* 4 columns measured unreadable in a 602px box, where the threshold was 35rem */
@container (max-width: 602px) {
   .besobc5.suwi39f.vinu546 > table,
   .besobc5.suwi39f.vinu546 > table > tbody,
   .besobc5.suwi39f.vinu546 > table > tbody > tr,
   .besobc5.suwi39f.vinu546 > table > tbody > tr > td,
   .besobc5.suwi39f.vinu546 > table > tbody > tr > th {
      display: block;
      inline-size: auto;
      min-inline-size: 0 !important;
   }
   .besobc5.suwi39f.vinu546 > table > thead { display: none; }
   .besobc5.suwi39f.vinu546 > table > tbody > tr {
      margin-block-end: .75rem;
      padding: .2rem .25rem;
      border: 1px solid;
      border-color: color-mix(in srgb, currentColor 20%, transparent);
      border-radius: .5rem;
   }
   .besobc5.suwi39f.vinu546 > table > tbody > tr > td {
      padding-block: .4rem;
      padding-inline: .7rem;
   }
   .besobc5.suwi39f.vinu546 > table > tbody > tr > td[data-label]::before {
      content: attr(data-label);
      display: block;
      font-size: .82em;
      font-weight: 600;
      letter-spacing: .02em;
      opacity: .68;
   }
   .besobc5.suwi39f.vinu546 > table > tbody > tr > td:empty { display: none; }
}


/* MEASURED: table columns starved by a neighbour full of prose */
table.spec-table tr > :nth-child(1) { min-width: 27ch !important; }
/* column 3 measured at the width of its longest word, holding up to 8 characters */
table.spec-table tr > :nth-child(3) { min-width: 8ch !important; }
table.spec-table tr > :nth-child(4) { min-width: 13ch !important; }


/* MEASURED: declarations the browser was shown to make squeezed copy read */
/* a read again at 768px with this; left as designed from 1024px */
@media (max-width: 1023px) { div.service-row { grid-template-columns: repeat(auto-fit, minmax(254px, 1fr)) !important; } }


@media (max-width: 1439px) { button.chat-launcher { bottom: 76px !important; } }
/* button#consent-accept stood clear at 1024px with this; left as designed from 1440px */
@media (max-width: 1439px) { div.cookie-bar.is-visible { --consent-bottom: 76px !important; } }
@media (max-width: 1439px) { div.cookie-bar.is-visible { bottom: 76px !important; } }


/* MEASURED: text that could not be read on its own background */
/* measured 3.6:1 — rgb(25, 128, 142) on rgb(222, 229, 233), floor 4.5:1 */
a.mawae08-link.is-active { color: #156C78 !important; }
/* measured 4.2:1 — rgb(25, 128, 142) on rgb(238, 244, 247), floor 4.5:1 */
div.service-price { color: #177885 !important; }
/* measured 4.2:1 — rgb(25, 128, 142) on rgb(238, 244, 247), floor 4.5:1 */
span.legal-sec-tag { color: #177885 !important; }
/* measured 4.2:1 — rgb(25, 128, 142) on rgb(238, 244, 247), floor 4.5:1 */
span.number-lead-unit { color: #177885 !important; }
/* measured 3.6:1 — rgb(25, 128, 142) on rgb(222, 229, 233), floor 4.5:1 */
article.master-card span.master-role { color: #156C78 !important; }
/* measured 3.6:1 — rgb(25, 128, 142) on rgb(222, 229, 233), floor 4.5:1 */
div.hero-ledger-ticker span.ticker-val { color: #156C78 !important; }
/* measured 4.2:1 — rgb(25, 128, 142) on rgb(238, 244, 247), floor 4.5:1 */
div.service-grid-card span.service-card-price { color: #177885 !important; }
header.site-header a.nav-link { color: #177885 !important; }
/* measured 4.2:1 — rgb(25, 128, 142) on rgb(238, 244, 247), floor 4.5:1 */
label.estimator-check-item span.estimator-check-right { color: #177885 !important; }
nav.mobile-dock span.dock-label { color: #156C78 !important; }
/* measured 4.2:1 — rgb(25, 128, 142) on rgb(238, 244, 247), floor 4.5:1 */
section.page-hero span.number-lead-unit { color: #177885 !important; }
/* measured 3.6:1 — rgb(25, 128, 142) on rgb(222, 229, 233), floor 4.5:1 */
section.page-section.page-section-alt span.number-lead-unit { color: #156C78 !important; }


/* MEASURED: display sizes that hold the longest word on one line */
/* div.aside-fact-figure broke "Бактерицидний" at 1024px; 27.8px holds it */
@media (min-width: 1024px) and (max-width: 1439px) { div.aside-fact-figure { font-size: clamp(27.8px, 2.71vw, 31px) !important; } }
/* div.aside-fact-figure broke "office@kuklapink.click" at 1440px; 26.5px holds it */
@media (min-width: 1440px) and (max-width: 1919px) { div.aside-fact-figure { font-size: clamp(26.5px, 1.84vw, 31px) !important; } }
/* div.aside-fact-figure broke "office@kuklapink.click" at 1920px; 27.2px holds it */
@media (min-width: 1920px) { div.aside-fact-figure { font-size: clamp(27.2px, 1.42vw, 31px) !important; } }
/* div.number-lead-figure broke "900–1700UAH" at 320px; 41.7px holds it */
@media (max-width: 389px) { div.number-lead-figure { font-size: clamp(41.7px, 13.03vw, 48px) !important; } }
/* h2 broke "Триступеневий" at 320px; 35.3px holds it */
@media (max-width: 389px) { div.section-prose h2 { font-size: clamp(35.3px, 11.03vw, 40px) !important; } }
/* span.number-lead-figure broke "100%відкритість" at 320px; 36.6px holds it */
@media (max-width: 389px) { span.number-lead-figure { font-size: clamp(36.6px, 11.44vw, 48px) !important; } }
/* span.number-lead-figure broke "100%відкритість" at 390px; 45.3px holds it */
@media (min-width: 390px) and (max-width: 767px) { span.number-lead-figure { font-size: clamp(45.3px, 11.62vw, 50px) !important; } }
