/* !
Theme Name: Cmn Customer
Template: cmn
Author: Comm.On
Author URI: http://www.comm-on.nu
Description: Cmn child theme
Version: 1.0
Updated:
*/
@media (max-width: 1280px) {
  .wp-block-group.has-border-color.has-secondary-border-color.is-nowrap.is-layout-flex.wp-container-core-group-is-layout-3ca116f3.wp-block-group-is-layout-flex {
    display: none;
  }
}
.max-width-inner-1100 {
  box-sizing: border-box;
  width: 100%;
  max-width: 1100px;
  margin-inline: auto;
  overflow: visible;
  gap: var(--wp--custom--spacing--gap);
  padding-inline: clamp(16px, 4vw, var(--wp--style--root--padding-right));
}
@media (max-width: 1320px) {
  .max-width-inner-1100 {
    padding-left: var(--wp--style--root--padding-left) !important;
    padding-right: var(--wp--style--root--padding-right) !important;
  }
}
@media (max-width: 781px) {
  .max-width-inner-1100 {
    display: block;
  }
}
.max-width-inner-1100 * {
  box-sizing: border-box;
  max-width: 100%;
}
.max-width-inner-1100 .alignwide, .max-width-inner-1100 .alignfull {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  left: auto !important;
  right: auto !important;
}
.max-width-inner-1100 img, .max-width-inner-1100 svg, .max-width-inner-1100 canvas, .max-width-inner-1100 video {
  display: block;
  max-width: 100%;
  height: auto;
}

.max-width-inner-1320 {
  box-sizing: border-box;
  width: 100%;
  max-width: 1320px;
  margin-inline: auto;
  overflow: visible;
  gap: var(--wp--custom--spacing--gap);
  padding-inline: clamp(16px, 4vw, var(--wp--style--root--padding-right));
}
@media (max-width: 1320px) {
  .max-width-inner-1320 {
    padding-left: var(--wp--style--root--padding-left) !important;
    padding-right: var(--wp--style--root--padding-right) !important;
  }
}
@media (max-width: 781px) {
  .max-width-inner-1320 {
    display: block;
  }
}
.max-width-inner-1320 * {
  box-sizing: border-box;
  max-width: 100%;
}
.max-width-inner-1320 .alignwide, .max-width-inner-1320 .alignfull {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  left: auto !important;
  right: auto !important;
}
.max-width-inner-1320 img, .max-width-inner-1320 svg, .max-width-inner-1320 canvas, .max-width-inner-1320 video {
  display: block;
  max-width: 100%;
  height: auto;
}

.fifty-text {
  max-width: 50%;
}
@media (max-width: 768px) {
  .fifty-text {
    max-width: 100%;
  }
}

.seventy-text {
  max-width: 70%;
}
@media (max-width: 768px) {
  .seventy-text {
    max-width: 100%;
  }
}

.section-n-margin {
  position: relative;
  margin-top: -20vh !important;
  z-index: 1;
}

.section-n-margin-small {
  position: relative;
  margin-top: -10vh !important;
  z-index: 1;
}

.section-green-frame {
  position: relative;
  padding: 32px;
}

.section-green-frame::before,
.section-green-frame::after {
  content: "";
  position: absolute;
  width: 80%;
  height: 80%;
  border: 2px solid #C6D1D4;
  pointer-events: none;
}

.section-green-frame::before {
  top: 20px;
  right: 20px;
  border-left: 0;
  border-bottom: 0;
}

.section-green-frame::after {
  left: 20px;
  bottom: 20px;
  border-right: 0;
  border-top: 0;
}

.green-frame {
  position: relative;
}

.green-frame::before,
.green-frame::after {
  content: "";
  position: absolute;
  width: 80%;
  height: 80%;
  border: 3px solid var(--wp--preset--color--secondary);
  pointer-events: none;
}

.green-frame::before {
  top: 0px;
  right: 0px;
  border-left: 0;
  border-bottom: 0;
}

.green-frame::after {
  left: 0px;
  bottom: 0px;
  border-right: 0;
  border-top: 0;
}

.section-green-frame--outer {
  position: relative;
  padding: 0;
}

.section-green-frame--outer::before,
.section-green-frame--outer::after {
  content: "";
  position: absolute;
  width: 70%;
  height: 70%;
  border: 2px solid #C6D1D4;
  pointer-events: none;
}

.section-green-frame--outer::before {
  top: -20px;
  right: -20px;
  border-left: 0;
  border-bottom: 0;
}

.section-green-frame--outer::after {
  left: -20px;
  bottom: -20px;
  border-right: 0;
  border-top: 0;
}

.section-layered-bg {
  position: relative;
  isolation: isolate;
  --layered-bg-width: 70vw;
  z-index: 0;
}

.section-layered-bg::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(50% - 50vw);
  width: calc(var(--layered-bg-width) + 50vw - 50%);
  min-width: calc(var(--layered-bg-width) + 50vw - 50%);
  max-width: none;
  background: #EEEFEB;
  z-index: 0;
  pointer-events: none;
}

.section-layered-bg--right {
  position: relative;
  isolation: isolate;
  --layered-bg-width: 30vw;
  z-index: 0;
}

.section-layered-bg--right::before {
  content: "";
  position: absolute;
  top: -100%;
  bottom: -25%;
  right: 0;
  width: var(--layered-bg-width);
  min-width: var(--layered-bg-width);
  max-width: none;
  background: #221F18;
  z-index: 0;
  pointer-events: none;
}

@media (max-width: 781px) {
  .section-layered-bg {
    --layered-bg-width: 100%;
  }
  .section-layered-bg--right {
    --layered-bg-width: 100%;
  }
}
.section-layered-bg > *,
.section-layered-bg--right > * {
  position: relative;
  z-index: 1;
}

.zindex1 {
  position: relative;
  z-index: 1;
}

.fullwidth {
  width: 100%;
}

.float-left {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
@media (max-width: 450px) {
  .float-left {
    align-items: flex-start;
  }
  .float-left .has-text-align-right {
    text-align: left !important;
  }
}

@media (max-width: 1150px) {
  .hide-small-screens {
    display: none !important;
  }
}
@media (max-width: 450px) {
  .footer-row {
    flex-direction: column !important;
  }
  .footer-logo {
    margin-inline-start: 0px !important;
    float: left !important;
  }
  .sticky-header {
    padding: 0px !important;
  }
  .wp-container-core-group-is-layout-392df245 {
    margin: 0px !important;
    padding: 1rem !important;
  }
  .responsive-footer-icons {
    justify-content: space-around !important;
  }
  .responsive-footer-icons svg {
    height: 30px !important;
    width: 30px !important;
  }
}
p {
  hyphens: none !important;
}

.sticky-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 999;
}

header.wp-block-template-part,
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 999;
}

@media (max-width: 1024px) {
  .wp-block-navigation__responsive-container-open {
    display: flex !important;
  }
  .wp-block-navigation__responsive-container {
    display: none !important;
  }
  .wp-block-navigation__responsive-container.is-menu-open {
    display: block !important;
  }
  .wp-block-navigation__container {
    display: none !important;
  }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
    display: flex !important;
  }
}
@media (min-width: 1025px) {
  .wp-block-navigation__responsive-container-open {
    display: none !important;
  }
  .wp-block-navigation__responsive-container {
    display: block !important;
  }
}
#gform_wrapper_1 p.gform_required_legend,
p.gform_required_legend {
  display: none !important;
}

#gform_wrapper_1.gform_wrapper.gform-theme,
.gform_wrapper.gform-theme {
  --gf-form-gap-y: 18px;
  --gf-field-gap-y: 8px;
  --gf-form-gap-x: 20px;
  --gf-grid-gap-x: var(--gf-form-gap-x);
  --gf-grid-gap-y: 18px;
  --gf-local-font-family: var(--wp--preset--font-family--primary);
  --gf-local-font-size: 16px;
  --gf-local-label-size: 16px;
  --gf-local-input-height: 48px;
  font-family: var(--gf-local-font-family) !important;
  font-size: var(--gf-local-font-size) !important;
  line-height: var(--wp--custom--line-height--body);
}

#gform_wrapper_1.gform_wrapper.gform-theme .gform_heading,
#gform_wrapper_1.gform_wrapper.gform-theme .gform-body,
#gform_wrapper_1.gform_wrapper.gform-theme .gform_footer,
.gform_wrapper.gform-theme .gform_heading,
.gform_wrapper.gform-theme .gform-body,
.gform_wrapper.gform-theme .gform_footer {
  margin-block: 0 !important;
}

#gform_wrapper_1.gform_wrapper.gform-theme .gform_fields,
.gform_wrapper.gform-theme .gform_fields {
  row-gap: var(--gf-form-gap-y) !important;
  column-gap: var(--gf-grid-gap-x) !important;
}

#gform_wrapper_1.gform_wrapper.gform-theme .gfield,
.gform_wrapper.gform-theme .gfield {
  margin-block: 0 !important;
}

#gform_wrapper_1.gform_wrapper.gform-theme .ginput_complex,
.gform_wrapper.gform-theme .ginput_complex {
  gap: var(--gf-grid-gap-y) var(--gf-grid-gap-x) !important;
}

#gform_wrapper_1.gform-theme--foundation .gform-grid-row {
  margin-inline: 0 !important;
}

#gform_wrapper_1.gform-theme--foundation .gform-grid-col {
  padding-inline: 0 !important;
}

#gform_wrapper_1.gform_wrapper.gform-theme label,
#gform_wrapper_1.gform_wrapper.gform-theme legend,
#gform_wrapper_1.gform_wrapper.gform-theme .gform-field-label,
.gform_wrapper.gform-theme label,
.gform_wrapper.gform-theme legend,
.gform_wrapper.gform-theme .gform-field-label {
  margin: 0 !important;
  font-family: var(--gf-local-font-family) !important;
  font-size: var(--gf-local-label-size) !important;
  font-weight: var(--wp--custom--font-weight--regular) !important;
  line-height: var(--wp--custom--line-height--body) !important;
}

#gform_wrapper_1.gform_wrapper.gform-theme .gfield_label,
#gform_wrapper_1.gform_wrapper.gform-theme .gfield_label_before_complex,
#gform_wrapper_1.gform_wrapper.gform-theme .gform-field-label,
#gform_wrapper_1.gform_wrapper.gform-theme .gfield_required,
#gform_wrapper_1.gform_wrapper.gform-theme .gfield_required_asterisk,
.gform_wrapper.gform-theme .gfield_label,
.gform_wrapper.gform-theme .gfield_label_before_complex,
.gform_wrapper.gform-theme .gform-field-label,
.gform_wrapper.gform-theme .gfield_required,
.gform_wrapper.gform-theme .gfield_required_asterisk {
  color: #fff !important;
}

#gform_wrapper_1.gform_wrapper.gform-theme .gfield_label,
#gform_wrapper_1.gform_wrapper.gform-theme .gfield_label_before_complex,
#gform_wrapper_1.gform_wrapper.gform-theme .gform-field-label--type-sub,
.gform_wrapper.gform-theme .gfield_label,
.gform_wrapper.gform-theme .gfield_label_before_complex,
.gform_wrapper.gform-theme .gform-field-label--type-sub {
  margin-block-end: var(--gf-field-gap-y) !important;
}

#gform_wrapper_1.gform_wrapper.gform-theme input[type=text],
#gform_wrapper_1.gform_wrapper.gform-theme input[type=email],
#gform_wrapper_1.gform_wrapper.gform-theme input[type=tel],
#gform_wrapper_1.gform_wrapper.gform-theme input[type=number],
#gform_wrapper_1.gform_wrapper.gform-theme input[type=url],
#gform_wrapper_1.gform_wrapper.gform-theme input[type=search],
#gform_wrapper_1.gform_wrapper.gform-theme select,
#gform_wrapper_1.gform_wrapper.gform-theme textarea,
.gform_wrapper.gform-theme input[type=text],
.gform_wrapper.gform-theme input[type=email],
.gform_wrapper.gform-theme input[type=tel],
.gform_wrapper.gform-theme input[type=number],
.gform_wrapper.gform-theme input[type=url],
.gform_wrapper.gform-theme input[type=search],
.gform_wrapper.gform-theme select,
.gform_wrapper.gform-theme textarea {
  width: 100% !important;
  min-height: var(--gf-local-input-height) !important;
  margin: 0 !important;
  padding: 12px 14px !important;
  box-sizing: border-box !important;
  font-family: var(--gf-local-font-family) !important;
  font-size: var(--gf-local-font-size) !important;
  font-weight: var(--wp--custom--font-weight--regular) !important;
  line-height: var(--wp--custom--line-height--body) !important;
}

#gform_wrapper_1.gform_wrapper.gform-theme textarea,
.gform_wrapper.gform-theme textarea {
  min-height: 160px !important;
  resize: vertical;
}

#gform_wrapper_1.gform_wrapper.gform-theme .gform_footer,
.gform_wrapper.gform-theme .gform_footer {
  padding-block-start: 22px !important;
}

.gform_wrapper.gform-theme input#gform_submit_button_1,
#gform_wrapper_1 input#gform_submit_button_1,
input#gform_submit_button_1 {
  display: inline-flex !important;
  align-items: center !important;
  align-self: center !important;
  justify-content: center !important;
  padding: 12px 20px !important;
  background-color: #1B1B1A !important;
  border: 1px solid #4E5C2C !important;
  color: #fff !important;
  text-decoration: none !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.3) !important;
  letter-spacing: 0.01em !important;
  cursor: pointer !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
  background-size: 12px 12px !important;
  transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, background-position 0.2s ease, padding 0.2s ease !important;
  font-size: 16px !important;
  font-family: var(--wp--preset--font-family--primary) !important;
  line-height: var(--wp--custom--line-height--body) !important;
}

.gform_wrapper.gform-theme input#gform_submit_button_1:hover,
.gform_wrapper.gform-theme input#gform_submit_button_1:focus,
#gform_wrapper_1 input#gform_submit_button_1:hover,
#gform_wrapper_1 input#gform_submit_button_1:focus,
input#gform_submit_button_1:hover,
input#gform_submit_button_1:focus {
  padding: 12px 32px !important;
  background-image: url("/wp-content/themes/cmn-customer/media/arrow-right-solid-full.svg") !important;
  background-position: right 12px center !important;
}

.gform-field-label--type-sub {
  color: #fff !important;
}

#input_1_8 {
  display: grid !important;
  grid-template-areas: "street street" "zip city" !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: var(--gf-form-gap-y) var(--gf-form-gap-x) !important;
}

#input_1_8_1_container {
  grid-area: street !important;
  width: 100% !important;
  max-width: 100% !important;
  justify-self: stretch !important;
}

#input_1_8_5_container {
  grid-area: zip !important;
  width: 100% !important;
  max-width: 100% !important;
  justify-self: stretch !important;
}

#input_1_8_3_container {
  grid-area: city !important;
  width: 100% !important;
  max-width: 100% !important;
  justify-self: stretch !important;
}

#input_1_8_1_container input,
#input_1_8_5_container input,
#input_1_8_3_container input {
  width: 100% !important;
  box-sizing: border-box;
}

@media (max-width: 640px) {
  #input_1_8 {
    grid-template-areas: "street" "zip" "city" !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
div#gform_1_validation_container {
  background: #fff;
}

.gform-theme--framework .gfield_description:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)) {
  color: #fff !important;
}

/* AUTO-GENERATED. Edit files in /blocks, niet deze file. */
.cmn-article__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  align-items: stretch;
}
.cmn-article__item {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  gap: 1.5rem;
  height: 100%;
  justify-content: space-between;
}
.cmn-article.--list > .cmn-article__list {
  grid-template-columns: 1fr !important;
  gap: 1rem;
}
.cmn-article.--list .cmn-article__item {
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 2rem;
}
.cmn-article.--list .cmn-article__thumb {
  flex: 0 0 88px;
  width: 88px;
  height: 88px;
  aspect-ratio: 1/1;
  border: 1px solid rgba(0, 0, 0, 0.12);
  overflow: hidden;
}
.cmn-article.--list .cmn-article__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cmn-article.--list .cmn-article__body {
  padding: 0;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.25rem;
}
.cmn-article.--list .cmn-article__title {
  font-size: clamp(1rem, 2vw, 1.25rem);
}
.cmn-article.--list .cmn-article__excerpt {
  display: none;
}
.cmn-article.--list .cmn-article__footer {
  justify-content: flex-start;
}
.cmn-article.--list .cmn-article__title {
  margin: 0;
}
.cmn-article.--list .cmn-article__title a {
  font-weight: 600;
}
.cmn-article.--list .cmn-article__title a {
  font-size: 1rem;
  line-height: 1.25;
}
.cmn-article__thumb {
  position: relative;
  aspect-ratio: 16/9;
  overflow: hidden;
}
.cmn-article__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.cmn-article__item.cmn-article--overlay {
  display: block;
}
.cmn-article__thumb--archive {
  position: relative;
  display: block;
  aspect-ratio: 3/4;
  overflow: hidden;
}
.cmn-article__thumb--archive img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.cmn-article__overlay {
  position: absolute;
  inset: 0;
  padding: clamp(16px, 3vw, 24px);
  display: flex;
  flex-direction: column;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(0, 0, 0, 0.1) 35%, rgb(0, 0, 0) 100%);
  color: #fff;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.35);
  justify-content: flex-end;
  gap: 1rem;
}
.cmn-article .cmn-article__overlay .cmn-article__title {
  margin: 0;
  color: #fff;
  font-size: clamp(1.2rem, 2.4vw, 1.6rem);
  line-height: 1.2;
}
.cmn-article .cmn-article__overlay .cmn-article__title span {
  display: inline-block;
}
.cmn-article .cmn-article__overlay .cmn-article__overlay-excerpt {
  margin: 0 0 0.5rem;
  color: #fff;
  font-size: clamp(0.9rem, 1.6vw, 1rem);
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
.cmn-article__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  align-self: center;
  justify-content: center;
  padding: 12px;
  width: 100%;
  background-color: #1B1B1A;
  border: 1px solid #4E5C2C;
  color: #fff;
  text-decoration: none;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.3);
  letter-spacing: 0.01em;
  align-self: center;
}
.cmn-article__cta-icon {
  width: 1em;
  height: 1em;
  display: inline-block;
  color: #fff;
  background-color: currentColor;
  mask: url("/wp-content/themes/cmn-customer/media/arrow-right-solid-full.svg") center/contain no-repeat;
  -webkit-mask: url("/wp-content/themes/cmn-customer/media/arrow-right-solid-full.svg") center/contain no-repeat;
}
.cmn-article__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  justify-content: flex-start; /* footer pushes down */
}
.cmn-article__meta {
  display: inline-flex;
  gap: 0.5rem;
  align-items: center;
  font-size: 0.9rem;
  color: #70716F;
  line-height: 1;
  margin-bottom: 0.25rem;
}
.cmn-article__date {
  opacity: 0.9;
}
.cmn-article__category {
  font-weight: normal;
  text-transform: uppercase;
  color: #70716F;
}
.cmn-article h2, .cmn-article p {
  margin: 0;
}
.cmn-article__title a {
  color: var(--wp--preset--color--custom-bleu-2) !important;
  font-weight: 700;
  text-decoration: none;
  margin: 0;
}
.cmn-article__title a:hover,
.cmn-article__title a:focus {
  text-decoration: underline;
}
.cmn-article:not(.--list) .cmn-article__title a {
  display: block;
  overflow: visible;
  -webkit-line-clamp: unset;
  min-height: auto;
}
.cmn-article__excerpt {
  flex: 1 1 auto;
  margin-bottom: auto;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 6;
  overflow: hidden;
}
.cmn-article .cmn-article--equal:not(.--list) .cmn-article__body {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.cmn-article {
  /* Dynamic equal height: title + date(1) + excerpt = 7 lines total (category excluded) */
}
.cmn-article .cmn-article--equal:not(.--list) .cmn-article__excerpt {
  margin-top: auto;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.cmn-article {
  /* When date is shown (data-has-date="1"): excerpt = 6 - title_lines */
}
.cmn-article .cmn-article--equal:not(.--list) .cmn-article__item[data-has-date="1"] .cmn-article__excerpt {
  -webkit-line-clamp: 6;
}
.cmn-article .cmn-article--equal:not(.--list) .cmn-article__item[data-has-date="1"][data-title-lines="1"] .cmn-article__excerpt {
  -webkit-line-clamp: 5;
}
.cmn-article .cmn-article--equal:not(.--list) .cmn-article__item[data-has-date="1"][data-title-lines="2"] .cmn-article__excerpt {
  -webkit-line-clamp: 4;
}
.cmn-article .cmn-article--equal:not(.--list) .cmn-article__item[data-has-date="1"][data-title-lines="3"] .cmn-article__excerpt {
  -webkit-line-clamp: 3;
}
.cmn-article .cmn-article--equal:not(.--list) .cmn-article__item[data-has-date="1"][data-title-lines="4"] .cmn-article__excerpt {
  -webkit-line-clamp: 2;
}
.cmn-article .cmn-article--equal:not(.--list) .cmn-article__item[data-has-date="1"][data-title-lines="5"] .cmn-article__excerpt {
  -webkit-line-clamp: 1;
}
.cmn-article .cmn-article--equal:not(.--list) .cmn-article__item[data-has-date="1"][data-title-lines="6"] .cmn-article__excerpt {
  -webkit-line-clamp: 0;
}
.cmn-article {
  /* When date is hidden (data-has-date="0"): excerpt = 7 - title_lines */
}
.cmn-article .cmn-article--equal:not(.--list) .cmn-article__item[data-has-date="0"] .cmn-article__excerpt {
  -webkit-line-clamp: 7;
}
.cmn-article .cmn-article--equal:not(.--list) .cmn-article__item[data-has-date="0"][data-title-lines="1"] .cmn-article__excerpt {
  -webkit-line-clamp: 6;
}
.cmn-article .cmn-article--equal:not(.--list) .cmn-article__item[data-has-date="0"][data-title-lines="2"] .cmn-article__excerpt {
  -webkit-line-clamp: 5;
}
.cmn-article .cmn-article--equal:not(.--list) .cmn-article__item[data-has-date="0"][data-title-lines="3"] .cmn-article__excerpt {
  -webkit-line-clamp: 4;
}
.cmn-article .cmn-article--equal:not(.--list) .cmn-article__item[data-has-date="0"][data-title-lines="4"] .cmn-article__excerpt {
  -webkit-line-clamp: 3;
}
.cmn-article .cmn-article--equal:not(.--list) .cmn-article__item[data-has-date="0"][data-title-lines="5"] .cmn-article__excerpt {
  -webkit-line-clamp: 2;
}
.cmn-article .cmn-article--equal:not(.--list) .cmn-article__item[data-has-date="0"][data-title-lines="6"] .cmn-article__excerpt {
  -webkit-line-clamp: 1;
}
.cmn-article {
  /* Footer bottom-left like reference design */
}
.cmn-article .cmn-article__footer {
  display: flex;
  justify-content: flex-end;
  margin-top: auto;
}
.cmn-article__more {
  position: relative;
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  color: var(--wp--preset--color--secondary);
  line-height: 1.2;
}
.cmn-article__more::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-left: 0.15rem;
  background-color: var(--wp--preset--color--secondary);
  mask: url("/wp-content/themes/cmn-customer/media/arrow-right-solid-full.svg") center/contain no-repeat;
  -webkit-mask: url("/wp-content/themes/cmn-customer/media/arrow-right-solid-full.svg") center/contain no-repeat;
  transition: transform 0.18s ease;
}
.cmn-article__more:hover::after {
  transform: translateX(3px);
}
.cmn-article.--grid > .cmn-article__list {
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .cmn-article.--grid > .cmn-article__list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 992px) {
  .cmn-article.--grid > .cmn-article__list {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 1200px) {
  .cmn-article.--grid > .cmn-article__list {
    grid-template-columns: repeat(4, 1fr);
  }
}
.cmn-article.--grid > .cmn-article__list .cmn-article__title a {
  line-height: 1.3;
}
.cmn-article.--grid {
  /* Match reference: 3-line excerpt in cards */
}
@media (min-width: 768px) {
  .cmn-article.--grid.--two-up > .cmn-article__list {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
.cmn-article__pagination {
  margin-top: clamp(16px, 4vw, 32px);
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  justify-content: center;
}
.cmn-article__pagination a, .cmn-article__pagination span {
  display: inline-flex;
  min-width: 2.25rem;
  height: 2.25rem;
  align-items: center;
  justify-content: center;
  padding: 0 0.5rem;
}
.cmn-article__pagination .current {
  border-color: transparent;
}

.wp-block-cmn-cmn-icon-list {
  width: 100%;
}

.cmn-icon-list {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: var(--wp--preset--font-size--medium);
  line-height: var(--wp--custom--line-height--body);
  color: var(--wp--preset--color--contrast, var(--fp-contrast));
  --cmn-icon-list-icon-color: var(--wp--preset--color--contrast, var(--fp-contrast));
}
.cmn-icon-list__item {
  display: flex;
  align-items: center;
  gap: var(--cmn-icon-list-gap, var(--wp--preset--spacing--50));
  margin-bottom: var(--cmn-icon-list-row-gap, var(--wp--preset--spacing--40));
  color: var(--cmn-icon-list-text-color, var(--wp--preset--color--contrast, var(--fp-contrast)));
  line-height: 1.7;
}
.cmn-icon-list__item:last-child {
  margin-bottom: 0;
}
.cmn-icon-list__icon {
  flex: 0 0 var(--cmn-icon-list-icon-size, var(--wp--preset--font-size--large));
  min-width: var(--cmn-icon-list-icon-size, var(--wp--preset--font-size--large));
  min-height: var(--cmn-icon-list-icon-size, var(--wp--preset--font-size--large));
}
.cmn-icon-list__icon svg {
  display: block;
  width: var(--cmn-icon-list-icon-size, var(--wp--preset--font-size--large)) !important;
  height: var(--cmn-icon-list-icon-size, var(--wp--preset--font-size--large)) !important;
  fill: var(--cmn-icon-list-icon-color);
}
.cmn-icon-list__text {
  display: inline-block;
  font-weight: var(--wp--custom--font-weight--regular);
}
.cmn-icon-list__text--bold {
  font-weight: var(--wp--custom--font-weight--bold);
}
.cmn-icon-list__text--normal {
  font-weight: var(--wp--custom--font-weight--regular);
}
.cmn-icon-list__link {
  color: inherit;
  text-decoration: none;
}
.cmn-icon-list__link--underline {
  text-decoration: underline;
}
.cmn-icon-list__link--underline .cmn-icon-list__text {
  text-decoration: underline;
}
.cmn-icon-list__link:hover, .cmn-icon-list__link:focus-visible {
  color: var(--cmn-icon-list-hover-color, var(--wp--preset--color--primary, var(--fp-primary)));
}
.cmn-icon-list__link:hover .cmn-icon-list__text, .cmn-icon-list__link:focus-visible .cmn-icon-list__text {
  color: inherit;
}

.cmn-icon-list--disc {
  list-style: disc;
  padding-left: 1.25rem;
}
.cmn-icon-list--disc .cmn-icon-list__item {
  display: list-item;
  list-style: inherit;
}
.cmn-icon-list--disc .cmn-icon-list__icon {
  display: none;
}

.cmn-icon,
.cmn-svg {
  --cmn-icon-size: 24px;
  --cmn-icon-color: currentColor;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--cmn-icon-color);
}

.cmn-icon__svg,
.cmn-svg__svg {
  display: inline-flex;
  width: var(--cmn-icon-size);
  height: var(--cmn-icon-size);
}

.cmn-icon__svg svg,
.cmn-svg__svg svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: currentColor;
}

.wp-block-cmn-project-single {
  --cmn-ps-header-offset: clamp(80px, 10vh, 140px);
  margin-top: 0;
}
.wp-block-cmn-project-single .cmn-ps-hero {
  margin-bottom: 0;
  width: 100%;
  position: relative;
  z-index: 1;
  margin-top: calc((var(--wp--custom--spacing--gap) + var(--cmn-ps-header-offset)) * -1);
}
.wp-block-cmn-project-single .cmn-ps-hero.alignfull {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
.wp-block-cmn-project-single .section-layered-bg {
  width: 100%;
}
.wp-block-cmn-project-single .max-width-inner-1100 {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}
.wp-block-cmn-project-single .cmn-ps-side-cover {
  min-height: 320px;
  height: 100%;
}
.wp-block-cmn-project-single .cmn-ps-side-cover .wp-block-cover__image-background {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.wp-block-cmn-project-single .projects-block {
  gap: 3rem;
}
@media (max-width: 600px) {
  .wp-block-cmn-project-single .projects-block {
    gap: 2rem;
  }
}
.wp-block-cmn-project-single .cmn-ps-intro > *:first-child {
  margin-top: 0;
}
.wp-block-cmn-project-single .cmn-ps-intro > *:last-child {
  margin-bottom: 0;
}
.wp-block-cmn-project-single .cmn-ps-gallery {
  margin-top: 0;
  display: block;
  column-gap: var(--wp--preset--spacing--small);
  margin: var(--wp--preset--spacing--small) var(--wp--preset--spacing--small) var(--wp--preset--spacing--large);
  columns: 3 260px;
  padding-bottom: 100px;
}
.wp-block-cmn-project-single .cmn-ps-gallery .wp-block-image {
  break-inside: avoid;
  margin: 0 0 var(--wp--preset--spacing--small);
  width: 100%;
}
.wp-block-cmn-project-single .cmn-ps-gallery .wp-block-image a,
.wp-block-cmn-project-single .cmn-ps-gallery .wp-block-image img {
  display: block;
  width: 100%;
  height: auto;
}
@media (max-width: 900px) {
  .wp-block-cmn-project-single .cmn-ps-gallery {
    columns: 2 220px;
  }
}
@media (max-width: 600px) {
  .wp-block-cmn-project-single .cmn-ps-gallery {
    columns: 1 100%;
  }
}
.wp-block-cmn-project-single .cmn-ps-lightbox {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.85);
  z-index: 9999;
  padding: 2rem;
}
.wp-block-cmn-project-single .cmn-ps-lightbox.is-open {
  display: flex;
}
.wp-block-cmn-project-single .cmn-ps-lightbox__image {
  max-width: min(90vw, 1200px);
  max-height: 85vh;
  width: auto;
  height: auto;
  border-radius: 6px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
}
.wp-block-cmn-project-single .cmn-ps-lightbox__close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}
.wp-block-cmn-project-single .cmn-ps-lightbox__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}
.wp-block-cmn-project-single .cmn-ps-lightbox__prev {
  left: 16px;
}
.wp-block-cmn-project-single .cmn-ps-lightbox__next {
  right: 16px;
}
.wp-block-cmn-project-single .section-layered-bg .wp-block-columns {
  align-items: stretch;
}

body.cmn-ps-lightbox-open {
  overflow: hidden;
}

.cmn-swiper {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 60vh;
  display: flex;
}
.cmn-swiper.swiper {
  height: 100%;
}
.cmn-swiper .swiper-wrapper {
  display: flex !important;
  align-items: center !important;
  height: 100%;
}
.cmn-swiper .swiper-slide {
  display: flex !important;
  flex-direction: column;
  align-items: stretch !important;
  justify-content: center !important;
  flex: 0 0 100%;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  position: relative;
  z-index: 1;
}
.cmn-swiper .slide-media {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
  min-height: 0;
  position: relative;
  overflow: hidden;
}
.cmn-swiper .slide-media img {
  max-width: 100%;
  max-height: 100%;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  position: relative;
  z-index: 1;
}
.cmn-swiper .slide-content {
  padding: 1rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: 50%;
  margin: 0;
  text-align: left;
  color: #fff;
}
.cmn-swiper .swiper-button-prev,
.cmn-swiper .swiper-button-next {
  z-index: 10;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  margin-top: -22px;
}
.cmn-swiper .swiper-button-prev {
  left: 10px;
}
.cmn-swiper .swiper-button-next {
  right: 10px;
}
.cmn-swiper .swiper-pagination {
  z-index: 10;
  position: static;
  margin-top: 20px;
  display: flex;
  justify-content: center;
  gap: 8px;
}
.cmn-swiper .swiper-pagination .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background: var(--cmn-swiper-color, var(--swiper-theme-color, #000));
  opacity: 0.5;
}
.cmn-swiper .swiper-pagination .swiper-pagination-bullet-active {
  opacity: 1;
}
.cmn-swiper .autoplay-progress {
  position: absolute;
  right: 16px;
  top: 16px;
  z-index: 20;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  color: var(--swiper-theme-color);
}
.cmn-swiper .autoplay-progress svg {
  --progress: 0;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 21;
  width: 100%;
  height: 100%;
  stroke-width: 4px;
  stroke: var(--swiper-theme-color);
  fill: none;
  stroke-dashoffset: calc(125.6px * (1 - var(--progress)));
  stroke-dasharray: 125.6;
  transform: rotate(-90deg);
}

.swiper-button-next:after,
.swiper-button-prev:after {
  font-size: 20px !important;
}

.swiper-button-prev,
.swiper-button-next {
  background: #fff;
  border-radius: 50%;
}

@media (max-width: 767px) {
  .cmn-swiper {
    min-height: 50vh;
  }
  .cmn-swiper .slide-content {
    width: 80%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
  }
}
@media (min-width: 992px) {
  .cmn-swiper .slide-content {
    width: 50%;
    left: 50%;
    transform: translateY(-50%);
    text-align: left;
  }
}
.wp-block-cmn-usp-block {
  display: block;
  width: 100%;
  height: auto;
  min-height: clamp(180px, 25vw, 320px);
  align-self: stretch;
}
.wp-block-cmn-usp-block .usp-card {
  position: relative;
  display: block;
  overflow: hidden;
  text-decoration: none;
  color: var(--wp--preset--color--contrast, var(--fp-contrast));
  width: 100%;
  height: clamp(220px, 24vw, 340px);
  min-height: clamp(220px, 24vw, 340px);
  background: var(--wp--preset--color--base, var(--fp-base));
}
.wp-block-cmn-usp-block .usp-card:hover .usp-arrow {
  transform: translateX(2px);
}
.wp-block-cmn-usp-block .usp-media {
  position: absolute;
  inset: 0;
  background-image: var(--usp-bg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.wp-block-cmn-usp-block .usp-overlay {
  position: absolute;
  inset: 0;
  --usp-overlay-base: $base;
  background: radial-gradient(70% 80% at 30% 40%, color-mix(in srgb, var(--usp-overlay-base) 0%, transparent) 0%, color-mix(in srgb, var(--usp-overlay-base) 55%, transparent) 70%, color-mix(in srgb, var(--usp-overlay-base) 80%, transparent) 100%);
}
.wp-block-cmn-usp-block .usp-content {
  position: absolute;
  inset: 0;
  padding: var(--wp--preset--spacing--x-small);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: var(--wp--preset--spacing--20);
}
.wp-block-cmn-usp-block h3 {
  color: var(--wp--preset--color--base, var(--fp-base));
  margin: 0;
  text-align: center;
  text-transform: uppercase;
  font-weight: 400 !important;
}
.wp-block-cmn-usp-block .usp-arrow {
  margin-top: var(--wp--preset--spacing--20);
  align-self: flex-end;
  transition: transform 120ms ease;
}
.wp-block-cmn-usp-block .usp-arrow svg {
  width: 16px;
  height: 16px;
  display: block;
}
.wp-block-cmn-usp-block .usp-border {
  position: absolute;
  inset: 0;
  border: 1px solid var(--wp--preset--color--primary, var(--fp-primary));
  pointer-events: none;
}
.no-image .wp-block-cmn-usp-block .usp-media {
  display: none;
}

:where(.wp-block-group.is-layout-flex) .wp-block-cmn-usp-block {
  flex: 1 1 0;
  min-width: 0;
}

.wp-block-group.is-layout-flex > .wp-block-cmn-usp-block {
  flex: 1 1 0;
  width: 100%;
  max-width: 100%;
  min-width: 220px;
}

@media (min-width: 768px) {
  .wp-block-cmn-usp-block {
    display: block;
    width: 100%;
    height: clamp(220px, 34vw, 340px);
  }
  .wp-block-cmn-usp-block .usp-card {
    height: clamp(220px, 24vw, 340px);
    min-height: 100%;
  }
  .wp-block-cmn-usp-block .usp-title {
    font-size: 1.25rem;
  }
}

/*# sourceMappingURL=style.css.map */
