/* EST final 2026. Confirmed content, independent forms, and safe image framing. */
@font-face { font-family: 'EST Source Sans Medium'; font-style: normal; font-weight: 500; font-display: swap; src: url('../SourceSans3-Medium.otf.woff2') format('woff2'); }
#ed-441425140 h4, #ed-441425152 h4 { font-family: 'EST Source Sans Medium', 'Source Sans Pro', sans-serif; font-weight: 500; font-size: calc(1rem + 1pt); }
@media (min-width: 576px) and (max-width: 975px) {
  #ed-441425140 h4, #ed-441425152 h4 { font-size: calc(.85rem + 1pt); }
}
.ed-image img { height: auto; }
.logo img { height: auto !important; }
/* Preserve the approved round badge when intrinsic image dimensions exist. */
body.index #ed-585990465 img { width: auto; }
.est-hours { margin-top: 1.1rem; }
.est-homematic-logo { padding: 1.2rem 1rem; }
.est-homematic-logo img { width: 100%; max-height: 60px; object-fit: contain; }
body.index #ed-441424954 > .inner > .boxes-box { flex-basis: calc(33.333% - 2rem); max-width: calc(33.333% - 2rem); }
.est-service-tile-link { display: flex; width: 100%; height: 100%; color: inherit; text-decoration: none !important; }
.est-service-tile-link > .inner { width: 100%; }
.est-service-tile-link:focus-visible { outline: 3px solid #ed2d35; outline-offset: 5px; }
.est-service-link-label { color: #ed2d35; text-decoration: underline; text-underline-offset: .2em; }
.boxes-box:has(.est-service-tile-link) { cursor: pointer; }
.boxes-box:has(.est-service-tile-link:hover) .est-service-link-label { color: #383838; }
body.page-8827144 .service-overlay .fup-service-prev,
body.page-8827144 .service-overlay .fup-service-next { max-width: calc(50% - 5rem); }
body.page-8827144 .service-overlay :is(.fup-service-prev-link,.fup-service-next-link) { max-width: 100%; }
body.page-8827144 .service-overlay :is(.fup-service-prev-link,.fup-service-next-link) span { min-width: 0; overflow-wrap: anywhere; hyphens: auto; }
body.page-8827141 #ed-441425350 .image-boxes-box figure.ed-image img {
  position: static !important; transform: none !important; object-position: 50% 0% !important;
}
body.page-8827141 #ed-441425350 .image-boxes-box > .inner > .ed-text p {
  min-height: 3.9em; text-wrap: pretty;
}
body.page-8957236 .fup-karriere-contact-image img {
  object-position: center top !important;
  transform: scale(1.35);
  transform-origin: 20% 35%;
}
.est-static-map { width: 100%; position: relative; }
.est-static-map > a { display: block; position: relative; }
.est-static-map img { display: block; width: 100%; height: auto; }
.est-map-cta { position: absolute; bottom: 2.5rem; left: 50%; transform: translateX(-50%); background: #fff; color: #383838; padding: .7rem 1.25rem; box-shadow: 0 2px 12px #0002; text-align: center; font-weight: 600; }
.est-static-map a:hover .est-map-cta { background: #ed2d35; color: #fff; }
.est-static-map a:focus-visible { outline: 3px solid #ed2d35; outline-offset: -3px; }
.est-form-container { width: 100%; }
.est-form { display: grid !important; grid-template-columns: 1fr 1fr; gap: 1rem; width: 100% !important; margin: 0 !important; text-align: left; position: relative; }
.est-callback-form .est-form { grid-template-columns: 1fr; }
.est-field { display: flex; flex-direction: column; min-width: 0; }
.est-field-full { grid-column: 1 / -1; }
.est-form label { color: inherit; font-size: .9rem; font-weight: 400; margin: 0 0 .35rem; }
.est-form [data-challenge-question] { font-size: calc(1em + 1pt); font-weight: 700; font-style: italic; }
.est-form input:not([type=checkbox]), .est-form textarea { display: block; width: 100%; min-height: 44px; border: 1px solid #aaa; border-radius: 0; background: #fff; color: #383838; padding: .65rem .8rem; font: inherit; font-size: 1rem; }
.est-form textarea { resize: vertical; }
.est-form :is(input,textarea,button):focus-visible { outline: 2px solid #ed2d35; outline-offset: 3px; }
.est-form .est-honeypot { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip-path: inset(50%); }
.est-form .est-consent { display: flex; gap: .7rem; align-items: flex-start; font-size: .82rem; line-height: 1.4; }
.est-form input[type=checkbox] { width: 20px; height: 20px; flex: 0 0 20px; margin-top: .15rem; accent-color: #ed2d35; }
.est-form a { color: inherit; text-decoration: underline; }
.est-form-note { font-size: .78rem; line-height: 1.4; margin: 0 !important; }
.est-form .est-submit { padding: .7rem 1.4rem; border: 1px solid #ed2d35; background: #ed2d35; color: #fff; cursor: pointer; font: inherit; min-height: 44px; }
.est-form .est-submit:disabled { opacity: .55; cursor: wait; }
.est-form .est-submit:hover:not(:disabled) { background: #383838; border-color: #383838; }
.est-form-status { margin: 0 !important; font-size: .9rem; }
.est-form-status:empty { display: none; }
.est-form-status.est-error { color: #aa0017; background: #fff; padding: .8rem; }
.est-form-success { padding: 1.5rem; background: #f8f7f5; color: #383838; border-left: 3px solid #ed2d35; text-align: left; }
.est-form-success h3 { margin-bottom: .7rem; }
.est-form-success p { margin: 0; }
.est-form-success:focus { outline: 2px solid #ed2d35; outline-offset: 4px; }
.est-legal { padding: 10rem 1.5rem 5rem; width: 100%; }
.est-legal > .inner { display: block !important; max-width: 58rem; margin: 0 auto; }
.est-legal h1 { margin-bottom: 2rem; font-size: clamp(2rem,5vw,3.5rem); overflow-wrap: anywhere; }
.est-legal h2 { margin: 2rem 0 .8rem; font-size: 1.4rem; line-height: 1.25; text-transform: none; }
.est-legal p { font-weight: 400; margin: 0 0 1rem; overflow-wrap: anywhere; }
.est-legal a { text-decoration: underline; }
@media (max-width: 975px) {
  body.index #ed-441424954 > .inner > .boxes-box { flex-basis: calc(50% - 2rem); max-width: calc(50% - 2rem); }
}
@media (max-width: 767px) {
  body.page-8827144 .service-overlay .fup-service-prev { left: 1rem; max-width: calc(50% - 1.8rem); }
  body.page-8827144 .service-overlay .fup-service-next { right: 3rem; max-width: calc(50% - 3.2rem); }
  body.page-8827144 .service-overlay :is(.fup-service-prev-link,.fup-service-next-link) { font-size: .85rem; line-height: 1.2; }
  body.page-8827144 .service-overlay > .inner { padding-top: 6rem !important; }
}
@media (max-width: 575px) {
  #ed-441425140 h4, #ed-441425152 h4 { font-size: calc(.7rem + 2pt); }
  body.index #ed-441424954 > .inner > .boxes-box { flex-basis: calc(100% - 2rem); max-width: calc(100% - 2rem); }
  .est-form { grid-template-columns: 1fr; }
  .est-static-map img { height: auto; }
  .est-map-cta { width: max-content; max-width: 90%; font-size: .9rem; }
  .est-legal { padding-top: 8rem; }
}

/* Only bytes change on phones: identical image ratio, crop and positioning. */
@media(max-width:575px){body.index #ed-447500548 #ed-447508361 .background-image-holder{background-image:url("../images/responsive/fa22aad00d67-1280.webp")!important}body.index #ed-447500569 .background-image-holder{background-image:url("../images/responsive/frontman-mobile.webp")!important}}
