#__framer-badge-container,
.__framer-badge {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Never expose the retired Framer sections while hydration is starting.
   Their final Hallmann replacements keep the same reserved space, so no old
   copy flashes and the sections below do not jump when the iframe is ready. */
#main #testimonials {
  display: none !important;
}

#main #pricing:not(.hallmann-original-pricing-section) {
  min-height: 2500px !important;
  visibility: hidden !important;
  background: #f5f7f9 !important;
}

/* Project data comes from Framer's collection module. Keep each card in its
   final grid slot but reveal it only after its Hallmann image, link and copy
   have been applied, so retired project names can never flash. */
#main #projects [data-framer-name="Tittle card"] {
  visibility: hidden;
}

#main #projects [data-framer-name="Tittle card"][data-hallmann-project] {
  visibility: visible;
}

/* Reserve the embedded Hallmann block before the post-hydration mount. */
#main #hero:not(:has(+ .hallmann-original-bento-section)) #hallmann-original-hero::after {
  content: "";
  display: block;
  width: 100%;
  height: 1080px;
  background: #f6f6f5;
}

@media (max-width: 809px) {
  #main #pricing:not(.hallmann-original-pricing-section) {
    min-height: 4400px !important;
  }

  #main #hero:not(:has(+ .hallmann-original-bento-section)) #hallmann-original-hero::after {
    height: 1800px;
  }
}

/* The original portrait slider used a much taller image ratio. Hallmann's
   seals are native 4:5 artwork, so keep them compact and uncropped. */
#hallmann-original-hero [data-framer-name="Tittle card"] [data-framer-name="Tumbnail"] {
  flex: 0 0 auto !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 4 / 5 !important;
  overflow: hidden !important;
}

#hallmann-original-hero [data-framer-name="Tittle card"] [data-framer-name="Tumbnail"] img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

#hallmann-original-hero [data-framer-name="Tittle card"] {
  --hallmann-seal-accent: #4f8fff;
  --hallmann-seal-tint: rgba(79, 143, 255, 0.12);
  gap: 10px !important;
  height: auto !important;
  min-height: 320px !important;
  justify-content: flex-start !important;
}

#hallmann-original-hero [data-framer-name="Tittle card"] > [data-framer-name="Content"] {
  flex: 0 0 85px !important;
  width: 100% !important;
  height: 85px !important;
  min-height: 85px !important;
}

#hallmann-original-hero [data-framer-name="Tittle card"] > [data-framer-name="Content"] > [data-framer-name="Text"] {
  width: 100% !important;
  height: 85px !important;
  padding: 10px 12px !important;
}

#hallmann-original-hero [data-framer-name="Tittle card"] [data-framer-name="Content"] [data-framer-name="Content"],
#hallmann-original-hero [data-framer-name="Tittle card"] [data-framer-name="Column"] {
  width: 100% !important;
  height: auto !important;
}

#hallmann-original-hero [data-framer-name="Tittle card"] [data-framer-name="Column"] {
  align-items: flex-start !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 6px !important;
}

#hallmann-original-hero [data-framer-name="Tittle card"] [data-framer-name="Column"] > [data-framer-component-type="RichTextContainer"] p {
  color: #1f2021 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  --framer-text-color: #1f2021 !important;
}

#hallmann-original-hero [data-framer-name="Tittle card"] [data-framer-name="badge wrapper"] {
  min-height: 24px !important;
  padding: 4px 8px !important;
  background: var(--hallmann-seal-tint) !important;
}

#hallmann-original-hero [data-framer-name="Tittle card"] [data-framer-name="badge wrapper"] p {
  color: var(--hallmann-seal-accent) !important;
  font-weight: 700 !important;
  --framer-text-color: var(--hallmann-seal-accent) !important;
}

#hallmann-original-hero [data-framer-name="Tittle card"] [data-framer-name="badge wrapper"] svg {
  color: var(--hallmann-seal-accent) !important;
}

#hallmann-original-hero [data-hallmann-seal="digital"] {
  --hallmann-seal-accent: #3f9fff;
  --hallmann-seal-tint: rgba(63, 159, 255, 0.13);
}

#hallmann-original-hero [data-hallmann-seal="ki"] {
  --hallmann-seal-accent: #c23fe4;
  --hallmann-seal-tint: rgba(194, 63, 228, 0.13);
}

#hallmann-original-hero [data-hallmann-seal="wachstum"] {
  --hallmann-seal-accent: #69a91f;
  --hallmann-seal-tint: rgba(105, 169, 31, 0.14);
}

#hallmann-original-hero [data-hallmann-seal="ideen"] {
  --hallmann-seal-accent: #e36d2f;
  --hallmann-seal-tint: rgba(227, 109, 47, 0.13);
}

#hallmann-original-hero [data-hallmann-seal="system"] {
  --hallmann-seal-accent: #6f8997;
  --hallmann-seal-tint: rgba(111, 137, 151, 0.15);
}

/* The Framer export contains placeholder project art in its SSR HTML. Hide
   those four sources until hallmann-projects.js swaps in the local visuals. */
#main [data-framer-name="Tittle card"] [data-framer-name="Tumbnail"] img[src*="NojXcQ5n4pQzVcBfc8RDxli2sI"],
#main [data-framer-name="Tittle card"] [data-framer-name="Tumbnail"] img[src*="FyrRYRr94jRiIzLytKBVLUEFPcE"],
#main [data-framer-name="Tittle card"] [data-framer-name="Tumbnail"] img[src*="JuJyBA6mqde6ZM9juATxBUiRrs"],
#main [data-framer-name="Tittle card"] [data-framer-name="Tumbnail"] img[src*="6pZgd6ZOZuOv0U2FhAvLZHScud4"] {
  visibility: hidden !important;
}

#hallmann-projects-extra {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  width: 100%;
  margin-top: 20px;
}

.hallmann-project-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  color: #1f2021;
  text-decoration: none;
  background: rgba(255, 255, 255, 0.8);
  border: 3px solid #fff;
  border-radius: 24px;
  box-shadow: 0 10px 30px rgba(31, 32, 33, 0.06);
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.hallmann-project-card:hover,
.hallmann-project-card:focus-visible {
  transform: translateY(-4px);
  box-shadow: 0 18px 38px rgba(31, 32, 33, 0.12);
}

.hallmann-project-card__image {
  position: relative;
  aspect-ratio: 1.64;
  overflow: hidden;
  border-radius: 20px 20px 0 0;
  background: #eef1f4;
}

.hallmann-project-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.hallmann-project-card__content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 74px;
  padding: 18px 20px;
  font-family: "Plus Jakarta Sans", "Plus Jakarta Sans Variable", system-ui, sans-serif;
}

.hallmann-project-card__content strong {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
}

.hallmann-project-card__content span {
  color: #707070;
  font-size: 12px;
  line-height: 1.35;
  text-align: right;
}

@media (max-width: 809px) {
  #hallmann-projects-extra {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: 16px;
  }
}

/* Contact block from hallmann.cards, placed as a real section immediately
   below the original hero and its seal slider. */
.hallmann-contact-section {
  position: relative;
  z-index: 2;
  width: 100%;
  overflow: hidden;
  background: transparent;
  color: #232426;
  font-family: "Plus Jakarta Sans", "Plus Jakarta Sans Variable", system-ui, sans-serif;
}

.hallmann-contact-section__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(360px, 0.82fr);
  gap: clamp(72px, 9vw, 180px);
  width: min(100%, 1440px);
  min-height: 500px;
  margin: 0 auto;
  padding: 58px clamp(40px, 5.8vw, 84px) 72px;
  box-sizing: border-box;
}

.hallmann-contact-section__copy,
.hallmann-contact-section__contact {
  min-width: 0;
}

.hallmann-contact-section__eyebrow {
  margin: 0 0 26px;
  color: #232426;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1;
  text-transform: uppercase;
}

.hallmann-contact-section h2 {
  max-width: 720px;
  margin: 0;
  color: #232426;
  font-size: clamp(34px, 3.15vw, 50px);
  font-weight: 600;
  letter-spacing: -0.06em;
  line-height: 1.08;
}

.hallmann-contact-section__button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 42px;
  min-width: 300px;
  margin-top: 68px;
  padding: 24px 30px;
  border: 1px solid #d3d3d3;
  border-radius: 999px;
  box-sizing: border-box;
  color: #17181a;
  font-size: 21px;
  font-weight: 600;
  letter-spacing: -0.04em;
  line-height: 1;
  text-decoration: none;
  transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.hallmann-contact-section__button:hover,
.hallmann-contact-section__button:focus-visible {
  border-color: var(--hallmann-red, #ff2a22);
  background: var(--hallmann-red, #ff2a22);
  color: #ffffff;
  outline: none;
  transform: translateY(-2px);
}

.hallmann-contact-section__arrow {
  position: relative;
  top: -1px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--hallmann-red, #ff2a22);
  font-size: 28px;
  font-weight: 400;
  line-height: 1;
  transition: color 180ms ease, transform 180ms ease;
}

.hallmann-contact-section__button:hover .hallmann-contact-section__arrow,
.hallmann-contact-section__button:focus-visible .hallmann-contact-section__arrow {
  color: #ffffff;
  transform: translateX(4px);
}

.hallmann-contact-section__brand-row {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-top: 48px;
}

.hallmann-contact-section__brand-row span {
  color: var(--hallmann-red, #ff2a22);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1;
  text-transform: uppercase;
}

.hallmann-contact-section__brand-row i {
  display: block;
  flex: 1;
  height: 1px;
  background: #d6d6d6;
}

.hallmann-contact-section__person {
  display: flex;
  align-items: center;
  gap: 22px;
  margin-top: 84px;
}

.hallmann-contact-section__photo {
  width: 72px;
  height: 98px;
  flex: 0 0 72px;
  overflow: hidden;
  border-radius: 5px;
  background-image: url("/assets/framer/images/hallmann-contact-reference.png");
  background-repeat: no-repeat;
  background-position: -1493px -230px;
  background-size: 2048px 490px;
}

.hallmann-contact-section__person-copy {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.hallmann-contact-section__person-copy strong {
  color: #232426;
  font-size: 19px;
  font-weight: 700;
  letter-spacing: -0.045em;
  line-height: 1.1;
}

.hallmann-contact-section__person-copy span {
  color: #7a7a7a;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1.25;
  text-transform: uppercase;
}

@media (max-width: 980px) {
  .hallmann-contact-section__inner {
    grid-template-columns: 1fr 0.78fr;
    gap: 54px;
    min-height: 470px;
    padding-inline: 40px;
  }

  .hallmann-contact-section h2 {
    font-size: clamp(32px, 4.3vw, 44px);
  }

  .hallmann-contact-section__button {
    margin-top: 52px;
  }
}

@media (max-width: 720px) {
  .hallmann-contact-section__inner {
    grid-template-columns: 1fr;
    gap: 56px;
    min-height: 0;
    padding: 52px 20px 64px;
  }

  .hallmann-contact-section__eyebrow {
    margin-bottom: 22px;
  }

  .hallmann-contact-section h2 {
    font-size: clamp(30px, 8.5vw, 40px);
    line-height: 1.1;
  }

  .hallmann-contact-section__desktop-break {
    display: none;
  }

  .hallmann-contact-section__button {
    width: 100%;
    min-width: 0;
    margin-top: 40px;
    padding: 22px 26px;
    font-size: 19px;
  }

  .hallmann-contact-section__brand-row {
    margin-top: 0;
  }

  .hallmann-contact-section__person {
    margin-top: 44px;
  }
}

/* Original Hallmann bento composition. The desktop proportions follow the
   two reference rows; smaller layouts keep every card as a real component. */
.hallmann-original-bento-section {
  position: relative;
  z-index: 0;
  isolation: isolate;
  contain: paint;
  content-visibility: auto;
  contain-intrinsic-size: auto 1080px;
  width: 100%;
  min-height: 960px;
  overflow: hidden;
  background: #f6f6f5;
}

#hallmann-projects-extra,
.hallmann-contact-section--footer {
  content-visibility: auto;
  contain-intrinsic-size: auto 900px;
}

.hallmann-original-bento-frame {
  position: relative;
  z-index: 0;
  display: block;
  width: 100%;
  height: 1080px;
  margin: 0;
  border: 0;
  opacity: 0;
  background: #f6f6f5;
  transition: opacity 240ms ease;
}

#main div:has(> header[data-framer-name]) {
  z-index: 2147483646 !important;
  transform: translateZ(0) !important;
}

.hallmann-original-bento-section.is-ready {
  min-height: 0;
}

.hallmann-original-bento-section.is-ready .hallmann-original-bento-frame {
  opacity: 1;
}

@media (max-width: 809px) {
  .hallmann-original-bento-section {
    min-height: 1600px;
  }

  .hallmann-original-bento-frame {
    height: 1800px;
  }
}

/* Exact Hallmann pricing section, isolated so the original Framer layout,
   breakpoints and interactions remain intact. */
#hallmann-biedo-pricing:not(.hallmann-original-pricing-section) {
  display: none !important;
}

.hallmann-original-pricing-section {
  position: relative;
  z-index: 0;
  isolation: isolate;
  contain: paint;
  content-visibility: auto;
  contain-intrinsic-size: auto 2450px;
  width: 100%;
  min-height: 2500px;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
  overflow: hidden;
  background: #f5f7f9;
  scroll-margin-top: 112px;
}

.hallmann-original-pricing-frame {
  position: relative;
  z-index: 0;
  display: block;
  width: 100%;
  height: 2800px;
  margin: 0;
  border: 0;
  opacity: 0;
  background: #f5f7f9;
  transition: opacity 240ms ease;
}

.hallmann-original-pricing-section.is-ready {
  min-height: 0;
}

.hallmann-original-pricing-section.is-ready .hallmann-original-pricing-frame {
  opacity: 1;
}

@media (max-width: 809px) {
  .hallmann-original-pricing-section {
    min-height: 4400px;
    scroll-margin-top: 82px;
  }

  .hallmann-original-pricing-frame {
    height: 4800px;
  }
}
